ПОМОГИТЕ СРОЧНО, ПАСКАЛЬ ПОЖАЛУЙСТА ! ! 1. Написать программу, которая вычислит...

0 голосов
15 просмотров

ПОМОГИТЕ СРОЧНО, ПАСКАЛЬ ПОЖАЛУЙСТА ! !
1. Написать программу, которая вычислит количество цифр в числе, лежащем в диапазоне от -32768 до 32767 и выведет его на экран. Если пользовал ввел дробное число - то вывести на экран "-1", если пользователь ввел число, которое не лежит в указанном диапазоне "-2". Если оба возможных варианта ошибки "-3". Тесты для проверки: 0 -> 1, 0.5 -> -1, 123 -> 3, 32789 -> -2, -32777 -> -2, 32767,33 -> -3. После проверки работоспособности программы преобразовать ее в функцию num_x, параметром которой будет дробное число X, а значением - целое число. Пример описания функции function num_x(x:real):integer; Перестроить программу так, чтобы в основной программе было две строчки readln(a); writeln(num_x(a));


Информатика (45 баллов) | 15 просмотров
Дан 1 ответ
0 голосов

Program llllll;
var
C: string;
b:integer;
A: real;
begin
    writeln('Введите число');
    readln(A);
    str(A, C);
    b:=length(C);
    if (A/round(a) = 1) and (A<32767) and (A>-32767) or (A=0) then   
        writeln(b)
    else
        if not(A/round(a) = 1)  and (A<32767) and (A>-32767) then
            writeln(-1)
        else
            if (A/round(a) = 1)  and not((a<32767) and (a>-32767)) then
                writeln(-2)
            else
                writeln(-3)
end.

(1.5k баллов)