Вывести записи, сумма полей которых отрицательная - 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
.
- Устанавливается значение поля
- Если сумма значений полей
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д