- •Министерство образования и науки российской федерации
- •Основные операторы языка программирования
- •If (выражение) оператор1; else оператор2;
- •2. Определение и использование массивов
- •8. Рекомендуемая технология работы с проектом
- •9.1 Общие положения
- •9.2 Автоматический компонент tForm (форма)
- •9.4 Компонент tLabel
- •12. Преобразование типов
- •13. Организация ввода данных в приложениях Windows
- •13.1 Использование компонент с редактируемым полем
- •13.2 Использование специальных диалоговых окон
- •14. Примеры решения задач
- •14.1 Пример программирования итерационных задач
- •14.2 Пример решения задачи поиска в неупорядоченной последовательности
- •1)Вывод данных в файл
- •2) Ввод данных из файла
- •3) Обмен структурными объектами
- •14.6 Пример создания приложения в визуальной среде (калькулятор)
- •14.7 Пример создания приложения с размещением рисунков на форме
- •14.8 Пример создания приложения с основным и контекстным меню на форме
- •14.9 Создание многомодульного приложения. Вывод графических объектов
- •Визуальное программирование с использованием массивов
- •14.11 Визуальное программирование с использованием структур
- •4.1. Файл Unit1.H
- •4.2. Файл Unit1.Cpp
- •1) Определение элементов связанного списка
- •2) Удаление элемента х из списка
Визуальное программирование с использованием массивов
Программирование с использованием одномерных массивов.
Задание 1. Дан массив целых чисел: х0,х1,х2, . . . , хn-1. Написать программу вычисления среднеарифметического элементов массива.
А) Выбор внутренней структуры данных.
x[n] – массив целых чисел;
sr– среднеарифметическое элементов массива;
s– сумма элементов массива;
n– количество элементов в массиве.
Б) Проект интерфейса программы.
В) Функциональное описание.
Ввести значение размерности массива n. При изменении значения поля объектаEdit1 запускается соответствующий обработчик событияOnChange, который формирует динамический массив х размерностьюnи приводит в соответствие размерность визуального массиваStringGrid1.
Заполнить элементы визуального массива целыми значениями.
Нажать кнопку «Вычислить». Запускается обработчик события OnClick, который обеспечивает вычисление среднеарифметического и вывод его на экран.
Г) Создание интерфейса.
Создать на форме объекты: StringGrig1,Edit1,Edit2,Button1.
Настроить объект StringGrid1:
выделить объект StringGrid1;
перейти на вкладку Propotiesинспектора объектов;
установить значение trueподсвойстваgoEditingмножественного свойстваOptions;
установить свойства:
DefaultRowHeght= 15
DefaultColWidth = 32.
FixedCols = 0
FixedRows = 0
Разместить комментарии к визуальным компонентам.
Д) Программирование
Глобальные объекты (их определение размещается вне функций до их первого использования):
int*p; // Указатель на массив целых чисел
intn;
Обработчик события OnChangeдля объектаEdit1:
Выделить объект Edit1. Перейти на вкладкуIventsинспектора объектов, дважды щелкнуть мышью на белом поле событияOnChange. В теле созданного обработчика события ввести следующий код:
n = StrToInt( Edit1 -> Text ); p = new int[n]; StringGrid1 -> ColCount = n;
Обработчик события OnClickдля объектаButton1:
Выделить объект Button1. Перейти на вкладкуIventsинспектора объектов, дважды щелкнуть мышью на белом поле событияOnClick. В теле созданного обработчика события ввести следующий код.
int s = 0; float sr;
for(inti= 0;i<n;i++) // Ввод исходных данных в массив р и вычисление суммы
{ p[i] = StrToInt(StringGrid1 -> Cells[i][0]); s += p[i]; }
sr=float(s)/n; // Вычисление среднего арифметического
Edit2 ->Text=FloatToStr(sr); // Вывод результатов
Программирование с использованием двухмерных массивов.
Задание 2.Дана матрица размерностьюn*n. Написать программу обнуления элементов, лежащих выше главной диагонали.
А) Выбор внутренней структуры данных.
x– двухмерный массив размерностьюn*n.
n- размерность одного измерения матрицы.
Двумерный массив создать в динамической области памяти.
Б) Проект интерфейса программы.
|
|
|
|
|
|
|
|
|
|
|
|
В) Функциональное описание.
Ввести значение размерности матрицы в поле объекта Edit1.
Заполнить элементы визуального массива целыми значениями.
Нажать кнопку «Выполнить». Запускается обработчик события OnClick, который обеспечивает решение задачи и вывод результатов на экран.
Г) Создание интерфейса.
Создать на форме объекты: StringGrig1,Button1,Edit1.
2. Настроить объект StringGrid1:
выделить объект StringGrid1;
перейти на вкладку Propotiesинспектора объектов;
установить значение trueподсвойстваgoEditingмножественного свойстваOptions;
установить свойства:
DefaultRowHeght= 15
DefaultColWidth = 32.
FixedCols= 0
FixedRows= 0
Разместить комментарии к визуальным компонентам.
Д) Программирование
Глобальные объекты (их определение размещается вне функций до их первого использования):
int**p; // Указатель на матрицу
intn;
Обработчик события OnChangeдля объектаEdit1:
Выделить объект Edit1. Перейти на вкладкуIventsинспектора объектов, дважды щелкнуть мышью на белом поле событияOnChange. В теле созданного обработчика события ввести следующий код:
n = StrToInt( Edit1 -> Text );
p = new int *[n];
for(int i=0; i<n; i++) p[i] = new int[n];
StringGrid1 -> ColCount = n;
StringGrid1 -> RowCount = n;
3. Обработчик события OnClickдля объектаButton1:
Выделить объект Button1. Перейти на вкладкуIventsинспектора объектов, дважды щелкнуть мышью на белом поле событияOnClick. В теле созданного обработчика события ввести следующий код.
int i, j;
for(i = 0; i<5; i++)
for(j = 0; j<5; j++)
p[i][j] = StrToInt(StringGrid1 -> Cells[j][i]);
for( i = 0; i<4;i++)
for( j = i+1; j < n; j++)
{ x[i][j] = 0; StringGrid1 -> Cells[j][i] = IntToStr( x