Предмет: Информатика,
автор: оксана1891
Проверьте,есть ли ошибки? :) Программирование.
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.
Ответы
Автор ответа:
0
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.
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.
Автор ответа:
0
Во-первых, тут есть синтаксическая ошибка: в конце первой строки отсутствует точка с запятой. Во-вторых, неверно определены диапазоны дат: нет названия города до 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.
Ниже предлагается исправленный вариант программы.
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.
Похожие вопросы
Предмет: Русский язык,
автор: 32519
Предмет: Русский язык,
автор: plmalysheva
Предмет: Қазақ тiлi,
автор: adfhjkcg
Предмет: Английский язык,
автор: Алисятка
Предмет: Английский язык,
автор: margomer08