Блог учителя Информатики

Комментарии отключены

 Решение задач блока If 21-30

Решение задач из задачника по программированию М. Э. Абрамяна. Задачи из блока If: «Условный оператор».

Задача If21

Даны целочисленные координаты точки на плоскости. Если точка совпадает с началом координат, то вывести 0. Если точка не совпадает с началом координат, но лежит на оси OX или OY, то вывести соответственно 1 или 2. Если точка не лежит на координатных осях, то вывести 3.

uses PT4;

var
  x, y: integer;

begin
  Task('If21');
  Read(x, y);
  if (x = 0) and (y = 0) then Write(0);
  if (y = 0) and (x <> 0) then Write(1);
  if (x = 0) and (y <> 0) then Write(2);
  if (x <> 0) and (y <> 0) then Write(3);
end.
Pascal
uses PT4;

var
  x, y, k: integer;

begin
  Task('If21');
  Read(x, y);
  if (x = 0) and (y = 0) then k := 0;
  if (y = 0) and (x <> 0) then k := 1;
  if (x = 0) and (y <> 0) then k := 2;
  if (x <> 0) and (y <> 0) then k := 3;
  Write(k);
end.
Pascal
uses PT4;

var
  x, y, k: integer;

begin
  Task('If21');
  Read(x, y);
  if (x = 0) and (y = 0) then k := 0
  else if (y = 0) and (x <> 0) then k := 1
  else if (x = 0) and (y <> 0) then k := 2
  else k := 3;  
  Write(k);
end.
Pascal

Задача If22

Даны координаты точки, не лежащей на координатных осях OX и OY. Определить номер координатной четверти, в которой находится данная точка.

uses PT4;

var
  x, y: real;
  k: integer;

begin
  Task('If22');
  Read(x, y);
  if (x > 0) and (y > 0) then k := 1;
  if (x < 0) and (y > 0) then k := 2;
  if (x < 0) and (y < 0) then k := 3;
  if (x > 0) and (y < 0) then k := 4;
  Write(k);
end.
Pascal
uses PT4;

var
  x, y: real;

begin
  Task('If22');
  Read(x, y);
  if (x > 0) and (y > 0) then Write(1);
  if (x < 0) and (y > 0) then Write(2);
  if (x < 0) and (y < 0) then Write(3);
  if (x > 0) and (y < 0) then Write(4);
end.
Pascal

Задача If23

Даны целочисленные координаты трех вершин прямоугольника, стороны которого параллельны координатным осям. Найти координаты его четвертой вершины.

uses PT4;

var
  x, y, x1, y1, x2, y2, x3, y3: integer;

begin
  Task('If23');
  Read(x1, y1, x2, y2, x3, y3);
  if x1 = x2 then x := x3
  else if x1 = x3 then x := x2
  else x := x1;
  if y1 = y2 then y := y3
  else if y1 = y3 then y := y2
  else y := y1;
  Write(x, y);
end.
Pascal

Задача If24

Для данного вещественного x найти значение следующей функции f, принимающей вещественные значения: f(x) = 2·sin(x), если x > 0, 6 − x, если x ≤ 0.

uses PT4;

var
  x, f: real;

begin
  Task('If24');
  Read(x);
  if x > 0 then f := 2 * sin(x)
  else f := 6 - x;
  Write(f);
end.
Pascal

Задача If25

Для данного целого x найти значение следующей функции f, принимающей значения целого типа: f(x) = 2·x, если x < −2 или x > 2, −3·x в противном случае.

uses PT4;

var
  x, f: integer;

begin
  Task('If25');
  Read(x);
  if (x < -2) or (x > 2) then f := 2 * x
  else f := -3 * x;
  Write(f);
end.
Pascal

Задача If26

Для данного вещественного x найти значение следующей функции f, принимающей вещественные значения: −x, если x ≤ 0, f(x) = x2, если 0 < x < 2, 4, если x ≥ 2.

uses PT4;

var
  x, f: real;

begin
  Task('If26');
  Read(x);
  if x <= 0 then f := -x
  else if (x > 0) and (x < 2) then f := sqr(x)
  else f := 4;
  Write(f);
end.
Pascal

Задача If27

Для данного вещественного x найти значение следующей функции f, принимающей значения целого типа: 0, если x < 0, f(x) = 1, если x принадлежит [0, 1), [2, 3), …, −1, если x принадлежит [1, 2), [3, 4), … .

uses PT4;

var
  x: real;
  f: integer;

begin
  Task('If27');
  Read(x);
  if x < 0 then f := 0
  else if trunc(x) mod 2 = 0 then f := 1
  else f := -1;
  Write(f);
end.
Pascal
uses PT4;

var
  x: real;

begin
  Task('If27');
  Read(x);
  if x < 0 then Write(0)
  else if trunc(x) mod 2 = 0 then Write(1)
  else Write(-1)
end.
Pascal

Задача If28

Дан номер года (положительное целое число). Определить количество дней в этом году, учитывая, что обычный год насчитывает 365 дней, а високосный — 366 дней. Високосным считается год, делящийся на 4, за исключением тех годов, которые делятся на 100 и не делятся на 400 (например, годы 300, 1300 и 1900 не являются високосными, а 1200 и 2000 — являются).

uses PT4;

var
  year: integer;

begin
  Task('If28');
  Read(year);
  if year mod 4 = 0 then
    if (year mod 100 = 0) and (year mod 400 <> 0) then Write(365)
    else Write(366)
  else Write(365);
end.
Pascal

Задача If29

Дано целое число. Вывести его строку-описание вида «отрицательное четное число», «нулевое число», «положительное нечетное число» и т. д.

uses PT4;

var
  x: integer;
  k: string;

begin
  Task('If29');
  read(x);
  if x = 0 then k := 'нулевое число'
  else begin
    if x > 0 then k := 'положительное '
    else k := 'отрицательное ';
    if x mod 2 = 0 then k := k + 'четное число'
    else k := k + 'нечетное число';
  end;
  write(k);
end.
Pascal
uses PT4;

var
  x: integer;

begin
  Task('If29');
  read(x);
  if x = 0 then Write('нулевое число')
  else begin
    if x > 0 then
      if x mod 2 = 0 then write('положительное четное число')
      else write('положительное нечетное число')
    else if x mod 2 = 0 then write('отрицательное четное число')
    else write('отрицательное нечетное число');
  end;
end.
Pascal

Задача If30

Дано целое число, лежащее в диапазоне 1–999. Вывести его строку-описание вида «четное двузначное число», «нечетное трехзначное число» и т. д.

uses PT4;

var
  x: integer;
  k: string;

begin
  Task('If30');
  read(x);
  if x mod 2 = 0 then k := 'четное '
  else k := 'нечетное ';
  if x >= 100 then k := k + 'трехзначное число'
  else if x < 10 then k := k + 'однозначное число'
  else k := k + 'двузначное число';
  write(k);
end.
Pascal
uses PT4;

var
  x: integer;

begin
  Task('If30');
  Read(x);
  if x mod 2 = 0 then
    if x >= 100 then Write('четное трехзначное число')
    else if x < 10 then Write('четное однозначное число')
    else Write('четное двузначное число')
  else
  if x >= 100 then Write('нечетное трехзначное число')
  else if x < 10 then Write('нечетное однозначное число')
  else Write('нечетное двузначное число');
end.
Pascal

Поделиться:
Вам также может понравится
Округление чисел в Python
Обмен значений двух переменных
Перевод чисел в Python
Снегопад из снежинок на Python с помощью Черепашки