Назаров588
?>

Написать программу, которая вводит с клавиатуры номер месяца и определяет, сколько дней в этом месяце. При вводе неверных данных должно быть выведено сообщение об ошибке. язык Python

Информатика

Ответы

shkola8gbr
Uses
  crt;

var
  a, b, c: integer;

begin
  clrscr;
  writeln('Что вы хотите сделать?');
  writeln('1-сложить 2-отнять 3-разделить 4-умножить');
  readln(c);
  if c = 1 then begin
    read(a, b);
    writeln(a + b)
  end
  else
  if c = 2 then begin
    read(a, b);
    writeln(a - b)
  end
    else
  if c = 3 then begin
    read(a, b);
    writeln(a / b)
  end
      else
  if c = 4 then begin
    read(a, b);
    writeln(a * b);
  end
  else
    write('Так, стоп, че за фигня? Где то тут меня надурили...');
  readkey
end.

Но короче и понятнее это написать так:
uses
  crt;

var
  a, b, c: integer;

begin
  ClrScr;
  Writeln('Что вы хотите сделать?');
  Write('1-сложить 2-отнять 3-разделить 4-умножить'); Readln(c);
  if (c >= 1) and (c <= 4) then begin
    Write('Введите через пробел два натуральных числа: '); Read(a, b);
    case c of
      1: Writeln(a + b);
      2: Writeln(a - b);
      3: Writeln(a / b);
      4: Writeln(a * b)
    end;
  end
  else Write('Так, стоп, че за фигня? Где то тут меня надурили...');
  ReadKey
end.
andrey00713
1) Независимо от условия будет выполнен оператор присваивания.
a:=b
2) Условие ложное, значит будет выполнен оператор после else
write('b')
3) Условие истинное, значит будет выполнен оператор после then
write('a')
4) Функции операторов присваивания одинаковы, значит не зависят от условия (a + b - 14 = b - 14 + a)
a := a + b - 14
5) Оператор a := a практически ничего не изменяет, значит можно избавится от него
if a<b then a:=b
6) То же самое, что и в пункте 5, только нужно поменять истину на ложь
if not(a>b) then a:=b
7) Остаток деления на 2 не может быть равен трем, значит условие всегда ложно. Else нет, значит условный оператор можно смело откинуть
8) Остаток от деления на может быть равен или 0 или 1, значит в любом случае условие истинно. Первый условный оператор можно смело откинуть, но вложеннный остается!
if a<0 then a:=-a
9) Если a отрицательное, тогда b = a, то есть тоже отрицательно. Если a неотрицательное, тогда b = -a, то есть b отрицательное. Можно записать как модуль числа a, умноженный на -1
b := -abs(a)

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Написать программу, которая вводит с клавиатуры номер месяца и определяет, сколько дней в этом месяце. При вводе неверных данных должно быть выведено сообщение об ошибке. язык Python
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

myliar21585356
vovlyur
Abdulganieva1367
Plamia7917
sawa-msk
arionul-secondary2
shakhnina90
Корягина
mdubov59
alexanderpokrovskij6
vikka30
oksanakv1950
ibswoklol1362
Zelinskaya-Andrei
buhh20104519