var a: string;
begin
write ('Введите слово: '); read (a);
writeln ('Именительный падеж: ',copy(a,1,length(a)));
writeln ('Родительный падеж: ',copy(a,1,length(a)-1),'ы');
writeln ('Дательный падеж: ',copy(a,1,length(a)-1),'е');
writeln ('Винительный падеж: ',copy(a,1,length(a)-1),'у');
writeln ('Творительный падеж: ',copy(a,1,length(a)-1),'ой');
writeln ('Предложный падеж: ',copy(a,1,length(a)-1),'е');
end.
Основной момент, это удаление окончания путем копирования слова в строке a начиная с первого символа, до длины слова минус 1 символ.
Объяснение:
2. В языке Паскаль существуют циклы: с параметром (FOR), с предусловием (WHILE..DO), с постусловием (REPEAT...UNTIL).
3. Оператор FOR для примера п.1 имеет вид: FOR K:= 1 TO 10 DO Y[K]:=SIN(K). Если в теле цикла будет несколько операторов, то они заключаются в операторных скобки BEGIN...END.
4. Во время исполнения этого оператора переменной Y[K] (элементам маccива Y) последовательно присваиваются значения SIN(K).
5. Оператор FOR применяется в тех случаях, когда число повторений заранее известно (К=1..10).
6-9. Циклы WHILE и REPEAT применяются, когда число повторений заранее неизвестно, например, для вычисления суммы ряда с заданной точностью, но их можно применять и для расчета по предыдущему примеру.
K:=0;
WHILE K<11 DO
BEGIN
K:=K+1;
Y[K]:=SIN(K)
END;
или для цикла REPEAT:
K:=0;
REPEAT
K:=K+1;
Y[K]:=SIN(K}
UNTIL K>10;
Для вычислений эти циклы равносильны, но есть одно (иногда решающее) отличие - цикл WHILE не будет выполнен ни разу, если условие сразу ложно, а цикл REPEAT сначала выполнит одну операцию, а потом, если условие окажется ложным, остановится.