ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Примеры решения задач. 1. Вводится последовательность чисел, заканчивающаяся 01. Вводится последовательность чисел, заканчивающаяся 0. Определить сумму введенных чисел. Мы уже решали похожую задачу. Напомним, что па каждом шаге цикла необходимо было производить 2 действия: ReadLn(X); {Ввод числа} S:=S+X; {Увеличение суммы} Но в той задаче мы знали количество членов последовательности, поэтому воспользовались циклом с параметром, в данной задаче количество членов последовательности заранее неизвестно, поэтому цикл с параметром использовать нельзя. Но из условия задачи нам известно, что последовательность заканчивается 0, то есть мы будем вводи ть числа (цикл будет работать) до тех пор ПОКА ХоО. Цикл в этом случае будет выглядеть следующим образом: While XoO Do Begin Write(' Введите число (0 - конец ввода)'); RcadLn(X); S:-=S+X; End; Обратите внимание на то, что на конец цикла влияет не количество членов последовательности, а ввод нуля; начальное значение суммы должно равняться 0. Окончательно программа выглядит так: Var X,S:Integer; Begin S-0; WriteLn('BBeAHTe первое число'); ReadLn(X); IfXoO Then S:=S+X; While XoO Do Begin Write(' Введите число (0 - конец ввода)'); ReadLn(X); S-S+X; End; WriteLnC Сумма чисел = \S); ReadLn; End. 2. Вводится последовательность чисел, заканчивающаяся 0. Определить произведение введенных чисел. Var X,P:Real; Begin P:=l; WriteLn('Bвeдитe первое число'); ReadLn(X); IfXoOThenP:=P*X; While XoO Do Begin Write(' Введите число (0 - конец ввода)'); ReadLn(X); If XoO Then P:=P*X; { Иначе произведение занулится } End; WriteLn(' Произведение чисел = ',Р:4:1); ReadLn; End. 3. Заменить в предложении одну подстроку на другую. Решение. Var S,Sl,S2:String; K:Byte; Begin WriteLn(' Введите предложение'); ReadLn(S); WriteLn(' Введите 1 подстроку'); ReadLn(Sl); WriteLn(' Введите 2 подстроку'); ReadLn(S2); K:=l; While Pos(Sl, Copy(S,K, Length(S))) > 0 Do Begin Begin WriteLn(X: 10:2,Sin(x): 10:2); X:=X+Step; End; WriteLn(B: 10:2,Sin(B): 10:2); ReadLn; End. Упражнение 14. Что получим в результате выполнения цикла, и сколько раз он выполнится? l.S:=0; 1:=1; While K10 Do Begin S:=S+I; I:=I+2; End; WriteLn(S); ,ZP:=1; 1:=1; While I> 10 Do Begin P:=P*I; I:=I+3; End; WriteLn(P); 3.A:=1; B:=2; While 2*A+B< 17 Do Begin A:=A-1; B:=B+1; End; WriteLn(A,". В);); Не нашли, что искали? Воспользуйтесь поиском:
|