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

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

 Решение задач блока Case 1-10

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

Задача Case1

Дано целое число в диапазоне 1–7. Вывести строку — название дня недели, соответствующее данному числу (1 — «понедельник», 2 — «вторник» и т. д.).

uses PT4;
var
  day:integer;
begin
  Task('Case1');
  Read(day);
  case day of
    1:Write('понедельник');
    2:Write('вторник');
    3:Write('среда');
    4:Write('четверг');
    5:Write('пятница');
    6:Write('суббота');
    7:Write('воскресенье');
  end;
end.
Pascal

Задача Case2

Дано целое число K. Вывести строку-описание оценки, соответствующей числу K (1 — «плохо», 2 — «неудовлетворительно», 3 — «удовлетворительно», 4 — «хорошо», 5 — «отлично»). Если K не лежит в диапазоне 1–5, то вывести строку «ошибка».

uses PT4;
var
  x:integer;
begin
  Task('Case2');
  Read(x);
  case x of
    1:Write('плохо');
    2:Write('неудовлетворительно');
    3:Write('удовлетворительно');
    4:Write('хорошо');
    5:Write('отлично');
    else Write('ошибка');
  end;
end.
Pascal

Задача Case3

Дан номер месяца — целое число в диапазоне 1–12 (1 — январь, 2 — февраль и т. д.). Вывести название соответствующего времени года («зима», «весна», «лето», «осень»).

uses PT4;
var
  month:integer;
begin
  Task('Case3');
  Read(month);
  case month of
    1,2,12:Write('зима');
    3..5:Write('весна');
    6..8:Write('лето');
    9..11:Write('осень');
  end;
end.
Pascal

Задача Case4

Дан номер месяца — целое число в диапазоне 1–12 (1 — январь, 2 — февраль и т. д.). Определить количество дней в этом месяце для невисокосного года.

uses PT4;
var
  month:integer;
begin
  Task('Case4');
  Read(month);
  case month of
    1:Write(31);
    2:Write(28);
    3:Write(31);
    4:Write(30);
    5:Write(31);
    6:Write(30);
    7:Write(31);
    8:Write(31);
    9:Write(30);
    10:Write(31);
    11:Write(30);
    12:Write(31);
  end;
end.
Pascal

Задача Case5

Арифметические действия над числами пронумерованы следующим образом: 1 — сложение, 2 — вычитание, 3 — умножение, 4 — деление. Дан номер действия N (целое число в диапазоне 1–4) и вещественные числа A и B (B не равно 0). Выполнить над числами указанное действие и вывести результат.

uses PT4;
var
  n:integer;
  a,b:real;
begin
  Task('Case5');
  Read(n);
  Read(a,b);
  case n of
    1:Write(a+b);
    2:Write(a-b);
    3:Write(a*b);
    4:Write(a/b);
  end;
end.
Pascal

Задача Case6

Единицы длины пронумерованы следующим образом: 1 — дециметр, 2 — километр, 3 — метр, 4 — миллиметр, 5 — сантиметр. Дан номер единицы длины (целое число в диапазоне 1–5) и длина отрезка в этих единицах (вещественное число). Найти длину отрезка в метрах.

uses PT4;
var
  n:integer;
  x:real;
begin
  Task('Case6');
  Read(n);
  Read(x);
  case n of
    1:Write(x/10);
    2:Write(x*1000);
    3:Write(x);
    4:Write(x/1000);
    5:Write(x/100);
  end;
end.
Pascal

Задача Case7

Единицы массы пронумерованы следующим образом: 1 — килограмм, 2 — миллиграмм, 3 — грамм, 4 — тонна, 5 — центнер. Дан номер единицы массы (целое число в диапазоне 1–5) и масса тела в этих единицах (вещественное число). Найти массу тела в килограммах.

uses PT4;
var
  n:integer;
  x:real;
begin
  Task('Case7');
  Read(n);
  Read(x);
  case n of
    1:Write(x);
    2:Write(x/1000000);
    3:Write(x/1000);
    4:Write(x*1000);
    5:Write(x*100);
  end;
end.
Pascal

Задача Case8

Даны два целых числа: D (день) и M (месяц), определяющие правильную дату невисокосного года. Вывести значения D и M для даты, предшествующей указанной.

uses PT4;
var
  d,m:integer;
begin
  Task('Case8');
  Read(d,m);
  if d=1 then 
    case m of
      1:Write(31,12);
      2:Write(31,1);
      3:Write(28,2);
      4:Write(31,3);
      5:Write(30,4);
      6:Write(31,5);
      7:Write(30,6);
      8:Write(31,7);
      9:Write(31,8);
      10:Write(30,9);
      11:Write(31,10);
      12:Write(30,11);
    end
  else
    Write(d-1,m);
end.
Pascal
uses PT4;
var
  d,m:integer;
begin
  Task('Case8');
  Read(d,m);
  case m of
    2,4,6,8,9,11:if d=1 then Write(31,m-1)
                  else Write(d-1,m);
       5,7,10,12:if d=1 then Write(30,m-1)
                  else Write(d-1,m);
               3:if d=1 then Write(28,m-1)
                  else Write(d-1,m);
               1:if d=1 then Write(31,12)
                  else Write(d-1,m);
  end;
end.
Pascal

Задача Case9

Даны два целых числа: D (день) и M (месяц), определяющие правильную дату невисокосного года. Вывести значения D и M для даты, следующей за указанной.

uses PT4;
var
  d,m:integer;
begin
  Task('Case9');
  Read(d,m);
  case m of
      4,6,9,11: if d=30 then Write(1,m+1)
                  else Write(d+1,m);
      1,3,5,7,8,10:if d=31 then Write(1,m+1)
                    else Write(d+1,m);
      2: if d=28 then Write(1,m+1)
            else Write(d+1,m); 
      12: if d=31 then Write(1,1)
            else Write(d+1,m);
  end;
end.
Pascal
uses PT4;
var
  d,m:integer;
begin
  Task('Case9');
  Read(d,m);
  if d=31 then
    case m of
      1:Write(1,m+1);
      3:Write(1,m+1);
      5:Write(1,m+1);
      7:Write(1,m+1);
      8:Write(1,m+1);
      10:Write(1,m+1);
      12:Write(1,1)
    end
  else if d=30 then
        case m of
          4:Write(1,m+1);
          6:Write(1,m+1);
          9:Write(1,m+1);
          11:Write(1,m+1);
          else Write(d+1,m);
        end
  else if (d=28) and (m=2) then Write(1,m+1)
        else Write(d+1,m);
end.
Pascal

Задача Case10

Робот может перемещаться в четырех направлениях («С» — север, «З» — запад, «Ю» — юг, «В» — восток) и принимать три цифровые команды: 0 — продолжать движение, 1 — поворот налево, −1 — поворот направо. Дан символ C — исходное направление робота и целое число N — посланная ему команда. Вывести направление робота после выполнения полученной команды.

uses PT4;
var
  way:char;
  n:integer;
begin
  Task('Case10');
  Read(way);
  Read(n);
  case way of
    'С': case n of
          1:Write('З');
          -1:Write('В');
          else Write(way);
         end;
    'В': case n of
          1:Write('С');
          -1:Write('Ю');
          else Write(way);
         end;
    'Ю': case n of
          1:Write('В');
          -1:Write('З');
          else Write(way);
         end; 
    'З': case n of
          1:Write('Ю');
          -1:Write('С');
          else Write(way);
         end;
    end;
end.
Pascal
uses PT4;
var
  way:char;
  n:integer;
begin
  Task('Case10');
  Read(way);
  Read(n);
  case way of
    'С': if n=1 then Write('З')
         else 
           if n=-1 then Write('В')
         else Write(way);
    'В': if n=1 then Write('С')
         else 
          if n=-1 then Write('Ю')
         else Write(way);
    'Ю': if n=1 then Write('В')
         else 
          if n=-1 then Write('З')
         else Write(way);
    'З': if n=1 then Write('Ю')
         else 
          if n=-1 then Write('С')
         else Write(way);
    end;
end.
Pascal
uses PT4;
var
  way:char;
  n:integer;
begin
  Task('Case10');
  Read(way);
  Read(n);
  case n of
    -1: case way of
          'С':Write('В');
          'В':Write('Ю');
          'Ю':Write('З');
          'З':Write('С');
        end;
     1: case way of
          'С':Write('З');
          'В':Write('С');
          'Ю':Write('В');
          'З':Write('Ю');
        end;  
     else Write(way);
  end;
end.
Pascal

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