Var a: integer; begin writeln('Введите номер дня недели'); read(a); if a = 1 then...

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

Var
a: integer;

begin
writeln('Введите номер дня недели');
read(a);
if a = 1 then writeln('Понедельник');
if a = 2 then writeln('Вторник');
if a = 3 then writeln('Среда');
if a = 4 then writeln('Четверг');
if a = 5 then writeln('Пятница');
if a = 6 then writeln('Суббота');
if a = 7 then writeln('Воскресенье') else write('Ошибка');
end.

При выполнении программы, если ввести значение от 1-7, то пишет название дня недели и ошибка, а нужно только название дня недели
PascalABC.net


Информатика (323 баллов) | 57 просмотров
0

Понятное дело: if a = 7 then writeln('Воскресенье') else write('Ошибка'); при ф не равном семи всегда выводит слово "Ошибка".

0

*при а не равном 7

Дано ответов: 2
0 голосов

Вот так лучше и работает правильно:


var
a: integer;


begin
writeln('Введите номер дня недели');
read(a);
if (a < 1) or (a > 7) then
Write('Ошибка')
else
begin
if a = 1 then
writeln('Понедельник') ;
if a = 2 then
writeln('Вторник') ;
if a = 3 then
writeln('Среда') ;
if a = 4 then
writeln('Четверг') ;
if a = 5 then
writeln('Пятница') ;
if a = 6 then
writeln('Суббота') ;
if a = 7 then
writeln('Воскресенье') end ;
end.

А ещё лучше подобные задания через оператор case делать:

var
n: Integer;


begin
Write('Введите номер дня недели: ');
readln(n);
case n of
1: WriteLn('понедельник');
2: WriteLn('вторник');
3: WriteLn('среда');
4: WriteLn('четверг');
5: WriteLn('пятница');
6: WriteLn('суббота');
7: WriteLn('воскресенье') else Write('ошибка');
end;
end.

(2.3k баллов)
0

А еще лучше, если уж на PascalABC.NET пишете, использовать его возможности, а не программировать, как на Турбо Паскаль образца 1983 года

0

begin
case ReadInteger('Введите номер дня недели: ') of
1: WriteLn('понедельник');
2: WriteLn('вторник');
3: WriteLn('среда');
4: WriteLn('четверг');
5: WriteLn('пятница');
6: WriteLn('суббота');
7: WriteLn('воскресенье')
else Write('ошибка');
end
end.

0 голосов

Vara: integer;
beginwriteln('Введите номер дня недели');read(a);case(a) of1: writeln('Понедельник');2: writeln('Вторник');3: writeln('Среда');4: writeln('Четверг');5: writeln('Пятница');6:writeln('Суббота');7:writeln('Воскресенье') else write('Ошибка');end;end.

(6.5k баллов)
0

Вы хоть видели, что все слиплось?