Сколько раз выполнится тело цикла? for x: =2 to 7do write (' * '); for x: =3 to 3do write (' * '); for x: =5 to 2do write (' * '); for x: =5downto 5do write (' * '); for x: =10 downto 4do write (' * '); for x: =1 downto 4do write (' * ');
for i := a to b do ... выполняется для i = a, a+1, ..., b – всего b - a + 1 раз (если b < a, то ни разу)for i := b downto a do ... выполняется для i = b, b-1, ..., a – всего b - a + 1 раз (если b < a, то ни разу)
Const n1=15; n2=10; n3=12; type V=array[1..15] of string; procedure M_in(s:string; var a:V; n:integer); { ввод данных в массив } var i:integer; begin Writeln('Вводите по одному ',n,' элементов массива ',s); for i:=1 to n do Readln(a[i]) end;
procedure M_out(var a:V; n:integer; c:char); { выводит элементы, начинающиеся с указанного символа } var i:integer; begin Writeln('*** Слова на букву ',c,' ***'); for i:=1 to n do if a[i][1]=c then Writeln(a[i]); Writeln end;
var s1,s2,s3:V; begin M_in('S1',s1,n1); M_in('S2',s2,n2); M_in('S3',s3,n3); M_out(s1,n1,'В'); M_out(s2,n2,'Ц'); M_out(s3,n3,'А'); end.
Применяем:
7 - 2 + 1 = 6 раз3 - 3 + 1 = 1 раз0 раз5 - 5 + 1 = 1 раз10 - 4 + 1 = 7 раз0 раз