Задача 1. Считать сумму введенных с клавиатуры чисел до тех пор, пока не будет введен ноль. Решение. Решение данной задачи основывается на использовании цикла WHILE, т.к. мы не знаем, когда будет введен ноль и мы перестанем вводить числа. var a,s:integer; begin s:=0; writeln('Введите число'); readln(a); while(a<>0) do begin s:=s+a; //подсчет суммы S writeln('Введите число'); readln(a); end; writeln(s); end. Задача 2. Даны два отрезка А и B (A>B). Не используя операции умножения и деления, определить, сколько отрезков В уместится в отрезке А. Решение. Рассмотрим изображение: Информатика в школе. Цикл WHILE Т.е. из рисунка видно, что нам нужно складывать длины отрезка A до тех пор, пока сумма не станет больше длины отрезка В. В этом нам поможет цикл с предусловием — цикл while. var a,b,s,k:integer; begin writeln('Введите длину отрезка А'); readln(a); writeln('Введите длину отрезка B'); readln(b); k:=0; S:=a; while s k:=k+1; //переменная k считает количество выполнения тела цикла s:=s+a; //суммирует длину отрезка А end; writeln('В отрезке В содержится ',k,' отрезков А'); end. Задача: Пользователь вводит целые числа. Пока он не введёт число большее 1717, в ответ на каждое введённое число выводите сумму этого числа и числа 88, если же введённое число больше 1717, то цикл необходимо завершить. program Project1; var a: integer; begin a := 1; // любое значение, чтобы цикл мог начаться while (a <= 17) do // заголов цикла с провекой логического выражения begin writeln('vvedite celoe chislo:'); // приглащаем пользователя ввести число readln(a); //считываем его из потока ввода writeln(a + 8); // выводим пользователю очередной ответ end; writeln('Poka!'); // показываем, что мы вышли из цикла readln(); // удерживаем консоль end. Задача 1. Вывести все числа от 1 до числа, введенного с клавиатуры. program example_while; var i, N: integer; { объявляем переменные } begin i := 1; { Присваиваем i значение 1 } readln(N); { Считываем последнее число } while i <= N do {Как только i станет больше N, цикл прекратится (можно было бы написать просто <, но пришлось бы добавлять 1 к N) } begin {Открываем операторные скобки} write(i, ' '); {Выводим i} Inc(i); {увеличиваем i на один.} end; { закрываем скобки } end. |