Проверьте,есть ли ошибки? :) Программирование. Program name uses crt; var a :integer; begin clrscr; readln (a); if (a больше =1703) or (a меньше 1914) or (a больше =1992) then writeln ('Санкт Петербург'); if (a больше =1915) or...

Проверьте,есть ли ошибки? :) Программирование. Program name uses crt; var a :integer; begin clrscr; readln (a); if (a>=1703) or (a<1914) or (a>=1992) then writeln ('Санкт Петербург'); if (a>=1915) or (a<1924) then writeln ('Петроград'); if (a>=1925) or (a<=1991) then writeln ('Ленинград'); readln; end.
Гость
Ответ(ы) на вопрос:
Гость
Program name; uses crt; var a :integer; begin clrscr; readln (a); if (a>=1703) and (a<1914) or (a>=1992) then writeln ('Санкт Петербург'); if (a>=1915) and (a<1924) then writeln ('Петроград'); if (a>=1925)and (a<=1991) then writeln ('Ленинград'); if a<1703 then writeln('Error'); readkey; end.
Гость
Во-первых, тут есть синтаксическая ошибка: в конце первой строки отсутствует точка с запятой. Во-вторых, неверно определены диапазоны дат: нет названия города до 1703 года (на самом деле города тогда еще не было, но что-то все равно надо сообщить), не определен 1914 год, когда город был переименован в Петроград и 1924 год, когда город был переименован в Ленинград. И в-третьих, хоть это и не ошибка, но недочет программы: будут выполняться все три оператора if, даже если в первом из них искомая дата будет найдена. Ниже предлагается исправленный вариант программы. program name; uses crt; var a:integer; begin   ClrScr;   Readln(a);   if a<1703 then Writeln('Город не существовал')   else     if (a>=1703) and (a<1914) or (a>=1991) then Writeln ('Санкт-Петербург')     else       if (a>=1914) and (a<1924) then Writeln ('Петроград')       else Writeln ('Ленинград');   ReadKey end.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы