Урок 11 (Решенные здачи)
Primary tabs
Урок 11 (Решеннные задачи)
1)Пользователь вводит целые числа. Пока он не введёт число большее 15, в ответ на каждое введённое число выводите сумму этого числа и числа 7, если же введённое число больше 15, то цикл необходимо завершить.
var a: integer;
begin
a := 1;
while (a <= 15) do
begin
writeln('vvedite a');
readln(a);
writeln(a + 7, ' ');
end;
writeln('osibka');
end. 2) Пользователь вводит целые числа. Пока он не введёт число большее 15, в ответ на каждое введённое число выводите сумму этого числа и предыдущего введённого им числа, если же введённое число больше 15, то цикл необходимо завершить.Первое введенное пользователем число можно сложить с единицей.
var a,b: integer;
begin
a := 1;
b := 1;
while (a <= 15) do
begin
writeln('vvedite celoe cislo');
readln(a);
writeln(a + b);
b := a;
end;
end. 3)Решите с помощью цикла while:
Выведите на экран, все нечетные числа, делящиеся на 3 нацело, лежащие в диапазоне от 35 до 117.
var i: integer;
begin
i := 35;
while (i >= 35) and (i <= 117) do
begin
if ((i mod 2) = 1) and ((i mod 3) = 0) then
writeln(i, ' ');
i := i + 1;
end;
end.4) Решите с помощью цикла while:
Выведите на экран, все четные числа от 35 до 117 и нечетные числа, лежащие в диапазоне от 45 до 99.
Указание: сначала можно решить задачу двумя циклами, но потом перепишите с использованием одного цикла, в теле которого составьте логическое выражение, описывающее подходящие числа (используйте логические операции).
var i: integer;
begin
i := 35;
while (i >= 35) and (i <= 117) do
begin
i := i + 1;
if ((i mod 2) = 0) then
begin
writeln(i, ' ');
end
else
if (i >= 45) and (i <= 99) then
begin
writeln(i, ' ');
end;
end;
end.5) Модификация одной из пред. задач: Пользователь вводит целые числа. Пока он не введёт число большее 15, в ответ на каждое введённое число выводите сумму этого числа и двух предыдущих введённых им чисел (предыдущего и пред-предыдущего), если же введённое число больше 15, то цикл необходимо завершить.В первом витке цикла все "предыдущие" числа можно считать единицами.
var i,b, c: integer;
begin
i := 1;
b := 1;
c := 1;
while (i <= 15) do
begin
writeln('vvedite celoe cislo');
readln(i);
writeln(i + b + c);
c := b;
b := i;
end;
writeln('osibka');
end.6) Модификация одной из пред. задач: Пользователь вводит целые числа. Пока он не введёт число большее 15, в ответ на каждое введённое число выводите сумму этого числа и пред-предыдущего введённого им числа, если это число чётное, иначе просто запрашивать новое число. Если же введённое число больше 15, то цикл необходимо завершить.В первом витке цикла все "предыдущие" числа можно считать единицами.
var i, b,c: integer;
begin
i := 2;
b := 1;
c := 1;
while (i <= 15) do
if ((i mod 2) = 0) then
begin
writeln('vvedite cislo');
readln(i);
writeln(i + b + c);
c := b;
b := i;
end
else
begin
writeln('vvedite cislo');
readln(i);
end;
writeln('osibka');
end.7)Пользователь вводит целые числа, в ответ выводите символ #. Если введенное пользователем число равно 22, то завершите цикл не выводя ничего в ответ. Решите эту задачу 2-мя способами:С использованием if()
С использованием break;
Первый способ
(бонусный от меня:) самый простой)
var i: integer;
begin
writeln('vvedite cislo');
readln(i);
while (i <> 22) do
begin
writeln('#');
writeln('vvedite cislo');
readln(i);
end;
end.Второй способ
(с "if")
var i: integer;
begin
while (i <> 22) do
begin
writeln('vvedite cislo');
readln(i);
if (i <> 22) then
writeln('#')
end;
end.Третий способ
(с break)
var i: integer;
begin
writeln('vvedite cislo');
readln(i);
while (i <> 22) do
if (i <> 22) then
begin
writeln('#');
writeln('vvedite cislo');
readln(i);
end
else break;
end.9) Пользователь вводит в числа последовательно три произвольных целых числа. Заведите три переменных и сохраните эти числа в эти переменные. Пользовательский ввод обрабатывайте в цикле.
var i, b, c: integer;
begin
while (true) do
begin
writeln('vvedite cislo');
readln(i);
writeln('vvedite cislo');
readln(b);
writeln('vvedite cislo');
readln(c);
writeln(i,' ', b,' ', c);
break;
end;
end.- Log in to post comments
- 3094 reads
vedro-compota
Wed, 09/16/2020 - 19:33
Permalink
var i: integer;
переделать так чтобы печать # была вне оператора if
_____________
матфак вгу и остальная классика =)
Romakip
Thu, 09/17/2020 - 12:41
Permalink
var i: integer;
var i: integer; begin i:=1; while (i <> 22) do begin writeln('vvedite cislo'); readln(i); if ( i = 22) then break; writeln('#'); end; end.