Так как окончанием ввода последовательности служит нажатие клавиши<Enter> (её обозначение - #10), то будем вводить символы до тех пор, пока значение очередного символа не совпадёт со значением #10. Анализируя каждый символ, будем увеличивать счётчик, если символ является цифрой:
Program Example_20;
Var ch: Char;
k: integer;
Begin
Read(ch);
k:=0;
While ch<>#10 Do {пока не нажата клавиша <Enter>}
Begin
IF(ch>='0') And (ch<='9') Then Inc(k);
Read(ch);
End;
Write(^G,'Количество цифр равно ',k);
End.
Задание 3.
Модифицировать программу так, чтобы она решала следующие задачи:
- Определить, является ли введённая строка правильной записью целого числа.
- Вычислить сумму цифр введённого числа.
Переменные символьного типа удобны для написания диалоговых программ. Диалоговая программа - это программа, в ходе выполнения которой на экране регулярно возникает текст, содержащий вопрос о том, следует ли продолжать работу или надо закончить выполнение программы.
Составим "скелет" диалоговой программы.
Repeat
<операторы, реализующие решение задачи>;
Writeln('Хотите продолжить работу(y/n)?');
Readln(ch);
Until Upcase(ch)='N';
Здесь Upcase(ch) - это функция, преобразующая букву ch в прописную, если она существует (иначе ch остается неизменной).