ЭТО НЕ СКОБОЧНОЕ ВЫРАЖЕНИЕ
Рис. 5.4. Результат работы PRG5_9 Задача 5.10 Дана строка символов до точки. Определить, является ли она записью десятичного числа, кратного двум. Для решения этой задачи нужно вспомнить признак деления числа на два и проверить только последнюю цифру числа: четна она или нет. Помимо этого, необходимо удостовериться, что введенная строка состоит только из цифр, т. е. может быть преобразована в десятичное число. Само преобразование цифры в число сделать очень просто. Поскольку коды символьных переменных - цифр -следуют один за другим, то функция ORD в выражении ORD(S1[I])-ORD('0') поможет нам сделать это. PROGRAM PRG5_10; VAR I, К: INTEGER; S1: STRING; BEGIN WRITELN('BBEДИTE ТЕКСТ ДО ТОЧКИ'); READLN(S1); К:= 0; I:= 1; REPEAT CASE S1[l] OF '0'..'9': К:= (ORD(S1[I])-ORD('0')); ' ':; ELSE K:=-1; END; I:= 1+1 UNTIL (S1[l] ='.')OR(K<0); IF К MOD 2 = 0 THEN WRITELN('ЭT0 ДЕСЯТИЧНОЕ ЧИСЛО, КРАТНОЕ 2') ELSE WRITELN('ЭTO HE ДЕСЯТИЧНОЕ ЧИСЛО, КРАТНОЕ 2') END. Для решения задачи: - формируем тело программы и описываем переменные; - вводим строку S1; - организуем в строке поиск цифр до тех пор, пока не встретим точку или не обнаружим наличие ошибки в арифметическом выражении; - в зависимости от значения последней цифры выводим результат на экран. Переменные: I - переменная цикла; К - счетчик цифр; S1 - строка цифр. Задача 5.11 Дана строка символов до точки. Определить, является ли она записью десятичного числа, кратного трем.
|