Порошин
5 год назад
Type падеж = (им,род,дат,вин,твор,предл);
слово = (степь,боль,тетрадь,дверь);
var w: слово; р: падеж;
Напечатать слово w в падеже р и единственном числе (например, при w = степь и р = твор надо напечатать слово степью).
Язык программирования Паскаль, помогите пожалуйста.
ОТВЕТЫ
Игорь
Aug 8, 2019
Очень яркая иллюстрация того, как НЕ НАДО работать с перечислимым типом данных
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
тетрадью
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
тетрадью
51
Смежные вопросы: