Очень яркая иллюстрация того, как НЕ НАДО работать с перечислимым типом данных
type падеж=(им,род,дат,вин,твор,предл); слово=(степь,боль,тетрадь,дверь); var w:слово; p:падеж; s:string; n:0..5; begin Writeln('Введите номер слова'); Write('0-степь,1-боль,2-тетрадь,3-дверь: '); Read(n); case n of 0:w:=степь; 1:w:=боль; 2:w:=тетрадь; 3:w:=дверь end; s:=w.ToString; Writeln('Введите номер падежа'); Write('0-им, 1-род, 2-дат, 3-вин, 4-твор, 5-предл: '); Read(n); case n of 0:p:=им; 1:p:=род; 2:p:=дат; 3:p:=вин; 4:p:=твор; 5:p:=предл end; case p of им,вин: Writeln(s); род,дат,предл: Writeln(Copy(s,1,Length(s)-1)+'и'); твор:Writeln(s+'ю') end end.
Пример Введите номер слова 0-степь,1-боль,2-тетрадь,3-дверь: 2 Введите номер падежа 0-им, 1-род, 2-дат, 3-вин, 4-твор, 5-предл: 4 тетрадью
Const n=12; var b:array[1..n] of integer; i,k:integer; begin Randomize; Write('Последовательность: '); for i:=1 to n do begin b[i]:=Random(41)+10; Write(b[i],' ') end; Writeln; k:=5; for i:=6 to n do if b[i]>b[i-1] then k:=i else break; if k=n then Writeln('Последние 8 элементов в возрастающей последовательности') else if k>5 then Writeln('Возрастание элементов идет с номера 5 по ',k) else Writeln('Следующий за пятым элемент не возрастает') end.
Пример Последовательность: 44 10 33 40 15 33 45 26 43 45 49 48 Возрастание элементов идет с номера 5 по 7
type
падеж=(им,род,дат,вин,твор,предл);
слово=(степь,боль,тетрадь,дверь);
var
w:слово;
p:падеж;
s:string;
n:0..5;
begin
Writeln('Введите номер слова');
Write('0-степь,1-боль,2-тетрадь,3-дверь: '); Read(n);
case n of
0:w:=степь;
1:w:=боль;
2:w:=тетрадь;
3:w:=дверь
end;
s:=w.ToString;
Writeln('Введите номер падежа');
Write('0-им, 1-род, 2-дат, 3-вин, 4-твор, 5-предл: '); Read(n);
case n of
0:p:=им;
1:p:=род;
2:p:=дат;
3:p:=вин;
4:p:=твор;
5:p:=предл
end;
case p of
им,вин: Writeln(s);
род,дат,предл: Writeln(Copy(s,1,Length(s)-1)+'и');
твор:Writeln(s+'ю')
end
end.
Пример
Введите номер слова
0-степь,1-боль,2-тетрадь,3-дверь: 2
Введите номер падежа
0-им, 1-род, 2-дат, 3-вин, 4-твор, 5-предл: 4
тетрадью
n=12;
var
b:array[1..n] of integer;
i,k:integer;
begin
Randomize;
Write('Последовательность: ');
for i:=1 to n do begin
b[i]:=Random(41)+10;
Write(b[i],' ')
end;
Writeln;
k:=5;
for i:=6 to n do
if b[i]>b[i-1] then k:=i
else break;
if k=n then Writeln('Последние 8 элементов в возрастающей последовательности')
else
if k>5 then Writeln('Возрастание элементов идет с номера 5 по ',k)
else Writeln('Следующий за пятым элемент не возрастает')
end.
Пример
Последовательность: 44 10 33 40 15 33 45 26 43 45 49 48
Возрастание элементов идет с номера 5 по 7