Решите информатику! Язык Паскаль. Надо написать программу.
WHILE5
Вычислить сумму 10-ти четных чисел начиная с 14, используя цикл while (т.е. 14 + 16 + 18 ... - всего 10 чисел).
Подсказка: для того, чтобы узнать, является ли число четным, надо узнать его остаток от деления на 2.
Подсказка2:
В while5 надо написать цикл. Требуется вс переменная, с которой можно будет подсчитать сумму четных чисел (SUM). Изначально SUM = 0.
Начальное значение для переменной i должно быть равно 14.
Далее начинается цикл (while (i < ?) do) //подобрать число, чтобы действительно складывалось ровно 10 четных чисел:
в цикле проверяем, является ли текущее значение i - четным (if (i mod 2 = 0) then)
если да, то увеличиваем значение переменной SUM - прибавляем к переменной суммы четное число (SUM := SUM + i)
если нет, то ничего не делаем.
Переходим к следующему значению i (i := i + 1)
На этом цикл заканчивается.
После цикла нужно вывести значение SUM.
*В данном случае SUM - накопляемая переменная. Изначально сумма равна 0, с каждым шагом цикла значение суммы увеличивается на четное число. Сумма накапливается.
**Есть второй если придумать на какое число нужно каждый раз изменять Значение i , то можно обойтись без проверки на четность.
WHILE6
Вычислить произведение 5-ти нечетных чисел начиная с 7, используя цикл while (т.е. 7*9*... - всего 5 чисел).
Для желающих:
WHILE7
Ввести с клавиатуры 7 чисел. Сосчитать количество четных чисел в последовательности.
Т.е. с клавиатуры вводится последовательность 3 7 5 4 9 10 24
В результате программа должна вывести: количество четных чисел = 3.
Подсказка:
внутри цикла while должна располагаться команда read(a), которая позволяет считать значение переменной с клавиатуры. Эта команда будет повторяться столько раз, сколько раз будет повторяться тело цикла. Пример, как это должно выглядеть:
...
while (условие) do
begin
read(a);
... //необходимые действия для подсчета нечетного числа
end;
Crt;
const
n = 8;
m = 10;
var
A: array[1..m, 1..n] of real;
L, R, i, j, S: integer;
x, k: real;
Sort: boolean;
begin
clrscr;
randomize;
for i := 1 to m do
for j := 1 to n do
A[i, j] := random(100) / 10;
writeln('Матрица A');
repeat
Sort := False;
for i := 1 to m do
for j := 1 to n - 1 do
if A[i, j] > A[i, j + 1] then begin
k := A[i, j];
A[i, j] := A[i, j + 1];
A[i, j + 1] := k;
Sort := True;
end;
until
sort = False;
for i := 1 to m do
begin
for j := 1 to n do
write(A[i, j]:6:1);
writeln;
end;
writeln;
writeln('Ввод x');
readln(x);
for i := 1 to m do
begin
L := 1;
R := n;
while L < R do
begin
j := trunc((L + R) / 2);
if A[i, j] < x then
L := j + 1
else
R := j;
end;
if A[i, R] = x then
writeln('В ', i, ' строке позиция x:', i, ',', R)
else
writeln('В ', i, ' элемент не найден');
end;
readkey;
end.