Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Типовые алгоритмы обработки массива

Читайте также:
  1. Алгоритмы для мобильных хостов
  2. Алгоритмы метода Монте-Карло для решения интегральных уравнений второго рода.
  3. Анализ технологических процессов механической обработки (10-12с)
  4. Аналитический расчет режимов обработки
  5. Виды абразивной обработки
  6. Задание № 7. Файлы. Использование файлов для обработки и хранения данных.
  7. Зуборезный инструмент для обработки конических колес. Виды, особенности конструкций.

Цель работы. Изучение типовых алгоритмов обработки массивов.

Продолжительность работы. 4 часа.

Создадим новый проект с именем Задача2_ЛР6. В нём единствен­ное окно следующего вида (рис. 16). В окне - 16 объектов label и один объект textBoxl с установленным многострочным режимом (свойство MultiLine = true). В объектах label с 10 по 16 будут ото­бражаться значения в соответствии с надписями в объектах. В объект textBoxl пользователь будет набирать значения элемен­тов массива. Кнопка обеспечивает запуск алгоритма вычислений. Порядок работы пользователя прост. Сначала он вводит значения в массив, затем нажимает кнопку и получает результаты сразу всех вычислений.

Рис. 16. Окно задачи № 2

При нажатии на кнопку возникает событие Click, которое обра­батывается соответствующим обработчиком. Его легко построить, дважды кликнув по кнопке. В модуль Form1.cs добавится заготовка:

private void button1_Click(object sender, EventArgs e)

{ }

Подключать этот обработчик к событию нет необходимости - это сделает сама система. Откройте модуль Form1.Designer.cs и убедитесь. Теперь вопрос об алгоритмах. Все характеристики массива (сумма, среднее и прочие) вычисляются по собственным алгорит­мам. Это типовые алгоритмы работы с массивами. Исключение - количество чисел, которые делятся на сумму своих цифр. Это не­большая задача на использование цикла. Все алгоритмы должны быть записаны внутри обработчика.

До нажатия кнопки данные хранятся в объекте textBox1. Для хранения значений этот объект имеет коллекцию строк Lines. Это обычный массив типа string. Работать с ним при вычислении сум­мы и прочего не очень удобно, поэтому для начала преобразуем элементы этого массива из строковых значений в численные и со­храним эти значения в специально созданном целочисленном массиве. Будем считать, что пользователь задаёт в одной строке толь­ко одно число.

Итак: int[] m = new int[1000];

Тысячи элементов достаточно. Затем вычислим количество чисел (строк) в коллекции:

int n = textBox1.Lines.Length; Объявим переменную цикла - индекс текущего значения: int i; Объявляем переменную, в которой будет храниться количество значений в массиве: int k = 0;

Напишем цикл, формирующий массив m путём преобразования строковых значений из коллекции:

for (i = 0; i < n; i++)

{ m[k] = Convert.ToInt32(textBox1.Lines[i]); k++; }

При добавлении значения увеличиваем счётчик чисел на единицу.

Теперь проверим работу программы. Набираем несколько чи­сел. При нажатии на кнопку ничего не происходит, если числа на­браны верно - цифровыми символами. Однако, если где-то слу­чайно вместо цифры попала буква или одна из строк коллекции оказалась пустой, то программа завершается аварийно. Это выра­ботано исключение при выполнении метода ToInt32.

Задания для самостоятельной работы

1. Обработайте исключение. Если в строке некорректное значе­ние (не цифра или строка пуста), то по такой строке ничего де­лать не надо - никакое значение в массив не включается.

2. Запишите алгоритм выдачи на экран количества чисел в массиве.

3. Запишите алгоритм выдачи на экран суммы элементов массива.

4. Обработайте исключение. Если в строке некорректное значе­ние (не цифра или строка пуста), то по такой строке ничего де­лать не надо - никакое значение в массив не включается.

5. Запишите алгоритм выдачи на экран количества чисел в массиве.

6. Запишите алгоритм выдачи на экран суммы элементов массива.

7. Запишите алгоритм выдачи на экран произведения элементов массива.

8. Запишите алгоритм выдачи на экран среднего арифметическо­го элементов массива.

9.Запишите алгоритм выдачи на экран минимального элемента массива.

10. Запишите алгоритм выдачи на экран максимального элемента массива.

11. Запишите алгоритм подсчета количества чисел, которые де­лятся нацело на сумму своих цифр.

12. Доработайте программу. Выдайте на экран номера строк, ко­торые имеют ошибки ввода и не включены в вычисления. Вывод выполнить одним окном MessageBox.

Указание. Сохраните номера строк в отдельном массиве.


Дата добавления: 2015-08-09; просмотров: 553 | Нарушение авторских прав


Читайте в этой же книге: Среда Visual Studio. Консольное приложение | Начало работы | Имя и место размещения приложения | Набор текста программы | Создание Windows-приложения | Организация класса Form1 | События, связанные с окном | Решение проблемы ввода данных | ЧАСТЬ 1. Разработка алгоритма программы | ЧАСТЬ 2. Выделение функций |
<== предыдущая страница | следующая страница ==>
Доработка и устранение ошибок ввода| Задание для самостоятельного выполнения

mybiblioteka.su - 2015-2024 год. (0.006 сек.)