Таблицы типа «объект-объект» удобно использовать для решения логических ,
в которых требуется установить взаимно однозначное соответствие между объектами
нескольких классов, рассмотрим , в которой объекты связаны тремя парами
отношений,
три подружки - для, света и настя - купили различные молочные коктейли и
белом, голубом и зеленом стаканчиках. але достался не белый стаканчик, а свете -
не голубой, в белом стаканчике ие банановый коктейль, в голубой стаканчик налит
ванильный коктейль, света не любит клубничный коктейль,
требуется выяснить, какой коктейль и в каком стаканчике купила каждая и девочек,
И так, нам надо создать массив чисел и заполнять его числами вводимых с клавиатуры. Значит мы должны использовать цикл for для ввода чисел, и так же для увеличения каждого числа на 8.
...
Вот код:
const n = 3; //Сколько чисел вводить
begin
var numbers: array [1..n] of integer; //Объявляем массив чисел
for var i := 1 to n do readln(numbers[i]); //Считываем числа n раз
for var i := 1 to n do numbers[i] := numbers[i] + 8; //Увеличиваем каждое число на 8
writeln(numbers.JoinIntoString(', ')); //Выводим числа
end.
...
Примеры:
Ввод: 1, 2, 3
Вывод: 9, 10, 11
Ввод: 0, 5, 7
Вывод: 8, 13, 15
...
Если не сложно нажми " " ;)
s, k, i, n: integer;
a: array[1..1000] of integer;
begin
Read(n);
s := 0;
k := 0;
for i := 1 to n do
begin
Read(a[i]);
if (a[i] > 0) and (a[i] mod 8 = 0) then begin
s := s + a[i];
k := k + 1;
end;
end;
Write((s / k):0:3);
end.
1.1)
//pascalABC.Net 3.1 1200
//более краткий и наглядный вариант
begin
write(
ReadArrInteger(ReadInteger('n = '))
.Where(x -> (x > 0) and (x mod 8 = 0))
.Average);
end.
2)var
s, k, i, n: integer;
a: array[1..1000] of integer;
begin
Read(n);
s := 0;
k := 0;
for i := 1 to n do
begin
Read(a[i]);
if (a[i] < 0) and (a[i] mod 6 = 0) then begin
s := s + a[i];
k := k + 1;
end;
end;
Write((s / k):0:3);
end.
2.1)
//pascalABC.Net 3.1 1200
//более краткий и наглядный вариант
begin
write(
ReadArrInteger(ReadInteger('n = '))
.Where(x -> (x < 0) and (x mod 6 = 0))
.Average);
end.
3)var
s, i, n: integer;
a: array[1..1000] of integer;
begin
Read(n);
s := 0;
for i := 1 to n do
begin
Read(a[i]);
if (a[i] >= 5) and (a[i] <= 25) and (a[i] mod 2 = 0) then begin
s := s + a[i];
end;
end;
Write(s);
end.
3.1)
//pascalABC.Net 3.1 1200
//более краткий и наглядный вариант
begin
write(
ReadArrInteger(ReadInteger('n = '))
.Where(x -> (x >= 5) and (x <= 25) and (x mod 2 = 0))
.Sum);
end.