- •Раздел 3 Программирование
- •1 Структура программы на языке Pascal
- •2 Операторы языка Pascal
- •2.2 Операторы ввода данных
- •2.3 Операторы вывода данных
- •3 Стандартные функции Pascal
- •3.1 Примеры составления линейной программы
- •4 Контрольные вопросы
- •5 Задание
- •1 Условный оператор if
- •2 Оператор варианта case
- •3 Контрольные вопросы
- •4 Задание
- •4.1 Задание по условному оператору
- •4.2 Задание по оператору варианта
- •5 Содержание отчета
- •1 Оператор цикла с постусловием
- •2 Оператор цикла с предусловием
- •3 Оператор цикла с параметром
- •4 Контрольные вопросы
- •5 Задание
- •6 Содержание отчета
- •1 Итерационные циклы
- •2 Программа итерационного цикла
- •3 Контрольные вопросы
- •4 Задание
- •5 Содержание отчета
- •1 Краткая теория
- •1 Программа "цикл в цикле"
- •2 Программа "цикл и ветвление"
- •3 Программа "цикл в цикле и ветвление"
- •4 Контрольные вопросы
- •5 Задания
- •6 Содержание отчета
- •1 Одномерные и многомерные массивы
- •2 Обработка массивов
- •3 Контрольные вопросы
- •4 Задания
- •5 Содержание отчета
- •1 Описание функций
- •2 Параметры функции
- •2.1 Параметры-значения
- •2.2 Параметры-переменные
- •3 Контрольные вопросы
- •4 Задание
- •5 Содержание отчета
- •1 Формат описания процедуры
- •2 Параметры процедуры
- •3 Контрольные вопросы
- •4 Задание
- •5 Содержание отчета
- •1 Средства и методы отладки программ
- •1.1 Понятие отладки
- •1.2 Разновидности ошибок
- •1.2.1 Ошибки этапа компиляции
- •1.2.2 Ошибки этапа выполнения
- •1.2.3 Логические ошибки
- •2 Выполнение программы по шагам и трассировка
- •2.1 Выполнение по шагам и трассировка
- •2.2 Остановка выполнения
- •2.3 Отслеживание и модификация
- •2.4 Понятие отладочного шага
- •2.5 Выполнение программы по шагам
- •2.6 Трассировка программы
- •2.7 Выполнение больших фрагментов
- •2.8 Повторное выполнение
- •3.2.2 Редактирование просматриваемых выражений
- •3.3 Вычисление и модификация
- •3.3.1 Вычисление выражений
- •3.3.2 Модификация переменных
- •3.4 Использование точек останова
- •3.5 Задание точек останова
- •3.6 Отмена точки останова
- •3.7 Модификация точек останова
- •3.8 Создание условной точки останова
- •5.2 Установка точек останова
- •6 Содержание отчета
2 Обработка массивов
Задача 2.1 Найти сумму элементов массива
const
N = 5;
var
A: array[1..N] of Integer;
I, Sum: Integer;
begin
{ввод элементов}
for I:=1 to N do
begin
Write(‘Введите ’,I,’-й элемент массива: ’);
ReadLn(A[I]);
end;
Sum:=0;
for I:=1 to N do
Sum:=Sum+A[I];
Writeln(‘Сумма равна ’,Sum);
end.
В программе определяется константа N=5 – наибольший индекс (номер) элемента в массиве А, затем задаётся тип (целый) для массива А размерностью от 1 до N, номера элемента I, и суммы Sum. В основном блоке с помощью оператора for перебираются и вводятся все элементы (оператором read), затем задаётся начальное значение суммы Sum:=0, затем в цикле for от 1 до N все элементы массива прибавляются к начальной сумме Sum:=Sum +A[I]. После вывода суммы на экран программа завершается.
157
Задача 2.2 Вывести номера строк матрицы А, которые содержат нулевой элемент и произведение элементов 4-го столбца, больших 2..
Const
P:=1
var
A: array[1..5,1..7] of Byte;
I, J: Byte;
begin
{инициализация генератора случайных чисел}
Randomize;
{заполнение и печать матрицы}
for I:=1 to 5 do
begin
for J:=1 to 7 do
begin
A[I,J]:=Random(15);
Write(A[I,J]:4);
end;
WriteLn;
end;
WriteLn;
for I:=1 to 5 do
for J:=1 to 7 do
if A[I,J]=0 then
begin
Write('I=',I);
Break;
end;
if A[I,4]>2 then
begin
P:=P*A[I,4];
end;
Write('P[I,4] =',P);
WriteLn;
end.
Описание программы
Генератор случайных чисел использован в программе для заполнения элементов двумерного массива A[I,J] случайными числами. Для этого организованы циклы по I и J для перебора всех элементов
158
массива и каждому функция Random(15) присваивает случайное число в диапазоне 0 …15, которое распечатывается на экране четырьмя знаками. Оператор WriteLn выводит пустую строку.
Во вложенном цикле for перебираются все сочетания номеров строк I и столбцов J матрицы, а проверка if A[I,J]=0 определяет и выводит через Write('I=',I)номер строки (I) матрицы, в которой имеется нулевой элемент.
Во вложенном цикле for перебираются все сочетания номеров строк I и столбцов J матрицы, а проверка if A[I,4]>2 определяет элемент 4-го столбца, больший 2, он умножается на Р и по завершении цикла итоговое произведение таких элементов выводится через Write('P[I,4] =',P).
3 Контрольные вопросы
1 Что такое массив данных ?
2 Как описываются одномерные и многомерные массивы?
3 Как описывается тип элемента массива?
4 Объясните организацию циклов, содержащих индексированные
переменные.
5 Как задать обработку элементов только 2-го столбца?
6 Как задать обработку элементов, расположенных ниже главной диагонали?
7 Как определить максимальный элемент массива?
8 Как определить нечётные элементы массива?
4 Задания
4.1. Рассчитать значения функции согласно своему варианту (№ компьютера в аудитории). Предусмотреть сохранение в памяти вычисленных значений функции.
-
№ вар
Функция, массив
Задание
1
2
3
1
y =(1+| x | );
x {7; 1; 2; -3; -1; 5; -18}
Найти максимум и сумму положительных элементов массива
2
Найти минимум и сумму отрицательных элементов массива А
3
S =lg (3│sin(x)│+x
x {-5; 4; 0; 1; 3.5;-10; 14}
Количество и сумму элементов, меньших 2
159
-
1
2
3
4
u =ln │3sin x +1│;
x {-1; 2; 4.1; -5; -22; 17}
Наибольшее и наименьшее значения функции
5
Найти сумму и количество элементов A[I,J] > 1
6
r =3.4sin(5+3.1t );
t {-1.1; -0.8; 4; -1; -3; 5}
Произведение элементов t с нечет ными номерами и их количество
7
q =3.3sin x - 1+sin x ;
x {1; 4; 3; 7; -51; 32; -2}
Номер первого отрицательного элемента массива q
8
Найти минимум и сумму положительных элементов массива
9
Количество и сумму элементов, больших 2
10
d =ln │x +sin х4│;
x {0.75; -3.1; 21; -1.7; 3}
Количество и произведение элементов, больших -2
11
Произведение элементов с чет ными номерами и их количество
12
Сумму элементов над главной диагональю и максимальный из них
13
m =7.3cos x6 – sin3 x ;
x {1; 4; 3; 7; -51; 32; -2}
Номер первого положительного элемента массива m
14
Произведение отрицательных элементов над главной диагональю и минимальный из них
15
G =(sin3 x – tg2 x ;
x {1; 4; 3; 7; -51; 32; -2}
Номер первого отрицательного элемента массива G
160
-
1
2
3
16
Сумму положительных элементов под главной диагональю и максимальный из них
17
Произведение элементов с нечет ными номерами и их количество
18
a =e2х
x {1.3; 0.2; -4; 3.2; 5; -1}
Сумму элементов с чет ными номерами и их количество
19
Произведение элементов с нечет- ными номерами, большими -2, и их количество
20
C =arctg(a -3a +2);
a {2.7; 3.1; 4.5; -6; 14}
Произведение элементов с чет ными номерами и их количество