- •Глава 1 Знакомство со средой программирования Delphi. Первая программа
- •Задача
- •Вопросы для самоконтроля
- •Глава 2 Разработка линейных программ
- •Практика
- •Рекомендуемый интернет–ресурс
- •Вопросы для самоконтроля
- •Глава 3. Стандартные и библиотечные функции в линейных программах
- •Теория
- •Рекомендуемый интернет–ресурс
- •Вопросы для самоконтроля
- •Задачи для самостоятельного решения
- •Глава 4. Программы с разветвлениями
- •Теория
- •Практика
- •Рекомендуемый интернет-ресурс
- •Вопросы для самоконтроля
- •Задачи для самостоятельного решения
- •Глава 5. Циклы
- •Теория
- •Практика
- •Рекомендуемый интернет-ресурс
- •Вопросы для самоконтроля
- •Задачи для самостоятельного решения
- •Глава 6. Использование массивов в программах. Компонент Memo для ввода данных в массив
- •Теория
- •Практика
- •Рекомендуемый интернет-ресурс
- •Вопросы для самоконтроля
- •Задачи для самостоятельного решения
- •Теория
- •Практика
- •Рекомендуемый интернет-ресурс
- •Задачи для самостоятельного решения
- •Глава 8. Процедуры и функции, разрабатываемые программистом
- •Практика
- •Рекомендуемый интернет-ресурс
- •Вопросы для самоконтроля
- •Задачи для самостоятельного решения
- •Глава 9. Внешние файлы
- •Теория
- •Практика
- •Вопросы для самоконтроля
- •Задачи для самостоятельного решения
- •Приложение1. Основные свойства базовых компонентов
- •Приложение 3. Сообщения компилятора Delphi об ошибках
- •Интернет-портал по программированию для начинающих
Часть II. Delphi
procedure TForm1.Button2Click(Sender: TObject);
Var I:Integer;// индекс элемента массива
j : Integer; //индекс элемента массива, с которого // начинается поиск максимального элемента
buf: Extended; // буфер для обмена местами элементов // массива
St:String;// строковое сообщение, содержащее результат begin
//ввод количества элементов в массиве
N:=StrToInt(Edit1.Text);
//ввод массива действительных чисел
For I:=1 To N do Massiv[I]:=StrToFloat(Memo1.Lines[I]);
//поиск максимального элемента массива методом прямого выбора
//алгоритм аналогичен поиску минимального элемента.
//отличие состоит в знаке сравнения
For I:=1 to N-1 do For j:=I+1 to N do
if Massiv[j] > Massiv[i] then begin
buf:=Massiv[I];
Massiv[I]:=Massiv[j];
Massiv[j]:=buf
end;
end;
//вывод результатов сортировки
st:= 'Отсортированный по убыванию массив'+#13; For I:=1 to N do
st:= st+IntToStr(i)+ ' '+FloatToStrF(Massiv[I],Fffixed,10,2)+#13; ShowMessage(st);
end;
end.
Рекомендуемый интернет-ресурс
http://www.youtube.com/watch? v=QVtwWA283to&list=PLDDB9D4A0E37B4953&index=6
Часть II. Delphi
Вопросы для самоконтроля
1.Дайте определение массиву.
2.Что хранит индекс массива?
3.Как объявить массив в программе?
4.Как использовать компонент Memo для чтения из него элементов массива?
5.Как использовать компонент Memo для записи в него элементов массива?
6.Опишите алгоритм программы "Анализ массива".
7.Сколько раз выполнится цикл в программе "Анализ массива"?
8 Какая переменная хранит количество нулей в программе "Анализ массива"?
9.Опишите алгоритм сортировки методом прямого выбора.
10.Для чего используется переменная buf в программе "Сортировка массива"?
Задачи для самостоятельного решения
Часть II. Delphi
Группа А
№6.1 Дан массив действительных чисел. Найти сумму и произведение элементов массива.
№6.2 Дан массив действительных чисел. Найти сумму квадратов отрицательных элементов массива.
№6.3 Дан массив действительных чисел. Найти модуль суммы и сумму модулей элементов массива.
№6.4 Дан массив действительных чисел. Найти наибольший элемент массива.
№6.5 Дан массив действительных чисел. Найти наименьший из элементов массива
снечетными индексами.
№6.6 Дан массив действительных чисел. Найти среднее арифметическое из элементов массива. Сколько чисел в массиве меньше среднего арифметического? Сколько нулей в массиве?
№6.7 Дан массив действительных чисел. Найти среднее арифметическое из элементов массива. Сколько чисел в массиве, больше среднего арифметического? Есть ли отрицательные числа в массиве и сколько?
№6.8 Дан массив действительных чисел. Найти наибольший элемент массива и его индекс.
№6.9 Написать программу для вычисления среднего гармонического
Mn = n / (1/a1+ 1/a2+...+ 1/an), где ai 0.
№ 6.10 Дан массив целых чисел. Подсчитать количество четных и нечетных элементов массива.
Группа Б
№ 6.11Написать программу для обработки результатов N–кратного измерения величины L. Программа должна вычислять
Среднее:
Часть II. Delphi
где Li — результат i–го измерения.
Среднюю квадратическую погрешность отдельного измерения:
где
L2 1 N
m |
N (L2 ( |
L |
)2 ) |
, |
|
|
|
||
|
N 1 |
N
L2i .
i 1
Среднюю квадратическую погрешность арифметической середины
M m / N .
Предельную абсолютную погрешность измерений L 3M . Количество измерений произвольно в пределах от 2 до 15.
В программе предусмотреть также проверку условия N<2. Если это условие выполняется, выдавать сообщение ОДНО ИЗМЕРЕНИЕ НЕДОПУСТИМО и осуществить переход к оператору ввода N.
Форма выдачи результатов: УСРЕДНЕННЫЙ РЕЗУЛЬТАТ= значение СКП ОТДЕЛЬНОГО ИЗМЕРЕНИЯ= значение СКП СРЕДНЕГО= значение
ПРЕДЕЛЬНАЯ АБСОЛЮТНАЯ ПОГРЕШНОСТЬ= значение
№ 6.12 Написать программу для определения суммарной площади земельных участков:
SS1 S2 ... S N
Исреднюю квадратическую погрешность определения этой суммы:
Здесь Si — площадь i–го участка; Mi — средняя квадратическая погрешность определения этой площади. Общее количество участков произвольно, но не более 255.
Форма вывода результатов: СУММАРНАЯ ПЛОЩАДЬ= значение S СКП= значение M
№ 6.13 Написать программу для вычисления среднего арифметического:
Часть II. Delphi
Среднего геометрического:
G N| X 1 X 2 ... X N |
Среднего гармонического:
N
H
1/ X1 1/ X 2 ... 1/ X N
И среднего квадратичного:
B X12 X 22 ... X N2
для N — чисел. N — произвольное число, но не более 100. (Указание N A A1/ N
).
Форма вывода результатов:
СРЕДНЕЕ АРИФМЕТИЧЕСКОЕ= значение СРЕДНЕЕ ГЕОМЕТРИЧЕСКОЕ= значение СРЕДНЕЕ ГАРМОНИЧЕСКОЕ= значение СРЕДНЕЕ КВАДРАТИЧЕСКОЕ= значение
№ 6.14 Написать программу для вычисления средних арифметических:
|
|
1 |
N |
1 |
N |
|
P1 |
|
X1i, P2 |
X 2i, |
|||
N |
N |
|||||
|
|
i 1 |
i 1 |
и средних квадратических отклонений
1 X12 P12 , 2 X 22 P22
здесь
|
|
1 |
N |
|
|
1 |
N |
|
|
|
|||||
X12 |
|
|
X12i , X 22 |
|
X 22i |
||
|
|
||||||
|
|
N i 1 |
N i 1 |
для двух массивов чисел, а также коэффициента корреляции между этими массивами:
здесь
№ 6.15 Дана информация о среднесуточной температуре месяца по Цельсию. Подсчитать среднемесячную температуру. Были ли дни, когда столбик термометра опускался ниже нуля? Сколько дней среднесуточная температура держалась выше 8
Часть II. Delphi
градусов.
№ 6.16 Написать программу для определения суммы горизонтальных проложений между точками с указанными координатами:
N 1
S (Xi 1 Xi )2 (Yi 1 Yi )2
i 1
Общее количество точек произвольно, но не более 20. Форма вывода результата:
CУММА ГОРИЗОНТАЛЬНЫХ ПРОЛОЖЕНИЙ= значение S.
№ 6.17 Написать программу для определения суммарного расстояния между точками с заданными координатами и значениями вертикального угла, под которым из данной точки видна следующая точка:
|
N 1 (X |
i 1 |
X |
) |
2 (Y |
Y )2 |
|
S |
|
|
i |
|
i 1 |
i |
|
|
|
cos i |
|
||||
|
i 1 |
|
|
Общее количество точек произвольно, но не более 25. Форма вывода результата:
СУММАРНОЕ РАССТОЯНИЕ = значение S.
№6.18 Дана информация о багаже нескольких пассажиров. Багаж каждого пассажира характеризуется двумя числами: количеством вещей и общим весом вещей. Выяснить, имеется ли пассажир, багаж которого превышает багаж каждого из остальных пассажиров и по числу вещей, и по весу.
№6.19 Дана информация о багаже нескольких пассажиров. Багаж каждого пассажира характеризуется двумя числами: количеством вещей и общим весом вещей. Определить, имеются ли два пассажира, багажи которых совпадают по числу вещей и различаются по весу не более чем на 0,5 кг.
№6.20 Дана информация о багаже нескольких пассажиров. Багаж каждого пассажира характеризуется двумя числами: количеством вещей и общим весом вещей. Выяснить, имеется ли пассажир, багаж которого состоит из одной вещи весом не менее 30 кг.