Задача 6. 1. Условие: Составить схему алгоритма и написать ВР-программу обработки двухмерного массива целых чисел (вид обработки см
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
Задача 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. 3. Схема алгоритма задачи 7
|