- •2. Методические указания к практическим занятиям
- •2. Текст программы:
- •X,y:real; (* аргумент и функция *)
- •3. Схема алгоритма задачи 2
- •2. Тексты программ:
- •X,y:real; (* аргумент и функция *)
- •X,y:real; (* аргумент и функция *)
- •X,y:real; (* аргумент и функция *)
- •2. Тексты программ:
- •2. Текст программы:
- •3. Схема алгоритма задачи 5
- •2. Текст программы:
- •3. Схема алгоритма задачи 6
- •2. Текст программы:
- •3. Схема алгоритма задачи 7
- •2. Текст программы:
- •3. Схема алгоритма задачи 8
- •Приложения Основные символы схем алгоритмов
2. Текст программы:
PROGRAM z5;
VAR mas:ARRAY[1..10] OF INTEGER; (* массив *)
i,kol:INTEGER; (* переменная цикла, количество *)
BEGIN
WRITELN(‘Введите значения элементов массива’);
FOR i=1 TO 10 DO
READ(mas[i]);
kol:=0;
FOR i:=1 TO 10 DO
IF mas[i]>0 THEN kol:=kol+1;
IF kol>0 THEN
WRITELN(‘Кол-во положительных элементов в массиве =’,kol:2)
ELSE
WRITELN(‘Положительных элементов в массиве нет’)
END.
3. Схема алгоритма задачи 5
mas
– массив чисел
i
– индекс массива
KOL
– количество положительных чисел
Заполнение
массива
Вывод
результатов
Объявление
переменных
Задача 6
1. Условие: Составить схему алгоритма и написать ВР-программу обработки двухмерного массива целых чисел (вид обработки см. в табл. П. 2). Результат вывести на экран дисплея.
Пример: вид обработки заключается в определении той диагонали квадратной матрицы (главной или обратной), которая имеет большую сумму элементов.
2. Текст программы:
PROGRAM z6;
VAR mas:ARRAY[1..3,1..3] OF INTEGER; (* массив *)
i,j,s1,s2:INTEGER; (* 2 индекса циклов, 2 суммы *)
BEGIN
WRITELN(‘Введите значения элементов массива’);
FOR i:=1 TO 3 DO
FOR j:=1 TO 3 DO
READ(mas[i,j]);
s1:=0;
s2:=0;
FOR i:=1 TO 3 DO
BEGIN
j:=3-(i-1);
sl:=s1+mas[i,i];
s2:=s2+mas[i,j];
END;
IF s1>s2 THEN
WRITELN(‘Сумма элементов главной диагонали’)
ELSE
IF s2>s1 THEN
WRITELN(‘Сумма элементов обратной диагонали’)
ELSE
WRITELN(‘Суммы элементов диагоналей равны’);
END.
3. Схема алгоритма задачи 6
mas
– массив чисел
i,
j
– индексы массива
S1, S2 – сумма
элементов главной и обратной диагоналей
Заполнение
массива
Объявление
переменных
Задача 7
1. Условие: Составить схему алгоритма и написать ВР-программу обработки массива записей (вид обработки см. в табл. П. 3), каждая из которых содержит информацию об одном студенте. Расположение информации в каждой записи следующее:
-
фамилия студента;
-
год рождения;
-
оценка сдачи 1-го экзамена;
-
оценка сдачи 2-го экзамена;
-
оценка сдачи 3-го экзамена;
-
количество часов пропущенных занятий.
Результат вывести на экран.
Пример: вид обработки заключается в определении списка студентов, получивших в сумме по трем экзаменам 14 баллов.
2. Текст программы:
PROGRAM z7;
TYPE st=RECORD (* запись*)
fam:STRING; (* фамилия *)
godr:INTEGER; (* год рождения *)
otm:ARRAY[1..3] OF INTEGER; (* массив отметок *)
prop:INTEGER; (* кол-во пропусков *)
END;
VAR gr:ARRAY[1..5] OF st; (* массив записей *)
i,j,ind: INTEGER; (* 2 индекса циклов,индикатор *)
BEGIN
WRITELN(‘Введите информацию о студентах’);
FOR i:=1 TO 5 DO
BEGIN
READ(gr[i].fam);
READ(gr[i].godr);
FOR j:=1 TO 3 DO READ(gr[i].otm[j]);
READLN(gr[i].prop);
END;
ind:=0;
FOR i:=1 TO 5 DO
IF (gr[i].otm[1]+gr[i].otm[2]+gr[i].otm[3])=14 THEN
BEGIN
IF md=0 THEN
BEGIN
WRITELN(‘Список студентов, получивших’);
WRITELN(‘14 баллов в сессию’);
END;
WRITELN(gr[i].fam);
ind:=1;
END;
IF ind=0 THEN
WRITELN(‘Студентов, получивших 14 баллов в сессию нет’);
END.