Вывести записи, сумма полей которых отрицательная - Pascal
Формулировка задачи:
Создать массив с 10 записей, которые имеют три поля(номер, поле 1(целые числа), поле 2(действительные числа)).Значения полей заполнить случайными числами. Вывести записи, сума полей которых отрицательная.
Решение задачи: «Вывести записи, сумма полей которых отрицательная»
textual
Листинг программы
const n=10; type zap=record k:byte; x:integer; y:real; end; var a:array[1..n] of zap; i,b:byte; begin randomize; writeln('Массив записей'); for i:=1 to n do with a[i] do begin k:=i; x:=-10+random(21); y:=-10+21*random; writeln(k:2,x:4,y:6:2); end; writeln('Записи в которых сумма полей отрицательна'); b:=0; for i:=1 to n do if a[i].x+a[i].y<0 then //если нужно добавите a[i].k+ with a[i] do begin k:=1; writeln(k:2,x:4,y:6:2,' суммма=',x+y:0:2);//и сюда k+x+y end; end.
Объяснение кода листинга программы
- Объявляется константа
n
со значением 10. - Определяется тип
zap
для записи, содержащей поляk
(типаbyte
),x
(типаinteger
), иy
(типаreal
). - Создается массив
a
состоящий изn
элементов типаzap
. - Объявляются переменные
i
иb
как типbyte
. - Генерируется случайное значение для последующих элементов массива.
- Выводится заголовок
Массив записей
. - Для каждого элемента массива выполняется следующее:
- Устанавливается значение поля
k
равным текущему индексу. - Устанавливаются случайные значения для полей
x
иy
. - Выводятся значения полей
k
,x
, иy
.
- Устанавливается значение поля
- Выводится заголовок
Записи в которых сумма полей отрицательна
. - Производится инициализация переменной
b
значением 0. - Для каждого элемента массива выполняется следующее:
- Если сумма значений полей
x
иy
отрицательна, то выполняется следующее:- Устанавливается значение поля
k
равным 1. - Выводятся значения полей
k
,x
,y
и суммаx+y
.
- Устанавливается значение поля
- Если сумма значений полей
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д