program zadacha;
<span>var</span>
<span>s,temp,max,min:string;</span>
<span>i,mxp,mnp:integer;</span>
<span>begin</span>
<span>writeln('Введите строку...');</span>
<span>readln(s);</span>
<span>s:=s+' ';</span>
<span>temp:='';</span>
<span>max:='';</span>
<span>min:=s;</span>
<span>for i:=1 to length(s) do</span>
<span>begin</span>
<span>if s[i]<>' ' then</span>
<span>temp:=temp+s[i];</span>
<span>if (s[i]=' ') and (temp<>'') then</span>
<span>begin</span>
<span>if Length(temp)<Length(min) then</span>
<span>begin</span>
<span>min:=temp;</span>
<span>mnp:=i-Length(temp)</span>
<span>end;</span>
<span>if Length(temp)>Length(max) then</span>
<span>begin</span>
<span>max:=temp;</span>
<span>mxp:=i-Length(temp)</span>
<span>end;</span>
<span>temp:='';</span>
<span>end;</span>
<span>end;</span>
<span>if max<>'' then</span>
<span>begin</span>
<span>Writeln('Самое длинное: ',max,' Оно начинается с: ',mxp);</span>
<span>Writeln('Самое короткое: ',min,' Оно начинается с: ',mnp)</span>
<span>end</span>
<span>else</span>
<span>WriteLn('В данной строке нет слов!')</span>
<span>end.</span>
<em>Все нормальные люди делают это так:</em>
procedure F(n:integer); forward;
procedure G(n:integer); forward;
procedure F(n:integer);
begin
Writeln('Вызов F(',n,') - *');
//Write('*');
If n>10 then F(n-2) else G(n);
Writeln('Завершение F(',n,')')
end;
procedure G(n: integer) ;
begin
Writeln('Вызов G(',n,') - **');
//Write('**');
If n>1 then F(n-3);
Writeln('Завершение G(',n,')')
end;
begin
F(20)
end.
<u>Результат</u>
Вызов F(20) - *
Вызов F(18) - *
Вызов F(16) - *
Вызов F(14) - *
Вызов F(12) - *
Вызов F(10) - *
Вызов G(10) - **
Вызов F(7) - *
Вызов G(7) - **
Вызов F(4) - *
Вызов G(4) - **
Вызов F(1) - *
Вызов G(1) - **
Завершение G(1)
Завершение F(1)
Завершение G(4)
Завершение F(4)
Завершение G(7)
Завершение F(7)
Завершение G(10)
Завершение F(10)
Завершение F(12)
Завершение F(14)
Завершение F(16)
Завершение F(18)
Завершение F(20)
Считаем звездочки, их 17. Осталось оформить ответ, сделав вид, что это не программная выдача, а "я такой умный, на бумажке расписал".
А "ненормальные люди" и в самом деле делают это вручную, не понимая, что ручной разбор рекурсии такой длины - это глупость.
1.
Program num1;
Uses crt;
Var
a :array [1..100] of integer;
i,k,n, s : integer;
Begin
clrscr;
s:=0;
write('K=');readln(k);
write('N=');readln(n);
for i:=1 to n do
readln(a[i]);
for i:=1 to n do
if (a[i] MOD k)=0 then s:=s+a[i];
writeln('S=',s);
End.
2.
Program num2;
Uses crt;
Var
a :array [1..100] of real;
i,n,j : integer;
x : array [1..100] of real;
Begin
clrscr;
write('n=');readln(n);
for i:=1 to n do
readln(a[i]);
j:=1;
for i:=1 to n do
if a[i]=0 then
begin
x[j]:=i;
j:=j+1
end;
for i:=1 to j-1 do
write(x[i],' ');
End.
3.
Program num3;
Uses crt;
VAr
a :array [1..100] of real;
i,n : integer;
Begin
clrscr;
write('n=');readln(n);
for i:=1 to n do
readln(a[i]);
for i:=1 to n do
begin
if a[i]<>0 then
if a[i]>0 then
begin
writeln('Положительное встречается раньше');
break
end else
begin
writeln('Отрицательное встречается раньше');
break
end;
end;
End.
4.
Program num4;
Uses crt;
Var
a : array [1..100] of real;
i, n, j :integer;
Begin
clrscr;
write('n=');readln(n);
a[n+1]:=a[n]+1;
for i:=1 to n do
readln(a[i]);
j:=0;
i:=1;
while i<n do
begin
if a[i]<a[i+1] then
begin
j:=j+1;
i:=i+1
end
else
begin
writeln('Последовательность невозрастающая');
break
end;
end;
if i=n then writeln('Последовательность возрастающая');
End.
Число -10 не больше или равно двум, не лежит в пределах от 1 до 4, Не равняется 2, 10, -4, 3, 7, при умножении на себя не даёт число, меньшее нулю. Значит, что программа выведет: "дерево"
первая
var
a : longint := 2;
begin
write('первые 16 степеней числа ', 2,' : ');
for var i := 1 to 16 do begin
a *= 2;
write(a, ' ');
end;
end.
втрая
var
a, p, o, n : integer;
begin
write('введите 10 чисел : ');
for var i := 1 to 10 do begin
read(a);
if a < 0 then o += 1 else if a > 0 then p += 1 else n += 1;
end;
writeln('положительных = ', p);
writeln('отрицательных = ', o);
writeln('нулю = ', n);
end.
третья
var
n, s : integer;
begin
write('введите n=');
readln(n);
for var i := 1 to n do s += i;
writeln('сумма чисел s=', s);
end.