Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Електронный_лаб_практ_ОПтаАМ_I.doc
Скачиваний:
6
Добавлен:
27.11.2019
Размер:
1.3 Mб
Скачать

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..20] 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

ST – запись

GR – массив записей

i – индекс массива записей

j – индекс массива оценок

ind – индикатор наличия

Ввод фамилии

Объявление переменных

Ввод года рождения

Ввод оценки

Ввод количества пропусков занятий

?

(GR(i).OTM(1)+GR(i).OTM(2)+ +(GR(i).OTM(3))=14

Задача 8

1. Условие: Составить схему алгоритма и написать ВР-программу, которая:

  • вводит с клавиатуры последовательность целых чисел;

  • размещает их в файле;

  • считывает их из файла в одномерный массив и обрабатывает его (вид обработки см. в табл. П. 2).

Результат вывести на экран дисплея.

Пример: вид обработки заключается в подсчете количества положительных элементов массива.