Урок 20

"Реализация и разработка алгоритмов с вложенными ветвлениями и оператором выбора"


Задание на 4 балла.

1. Даны целые числа a, b, c. Если a ≤ b ≤ c, то все числа заменить их квадратами, усли a>b>c, то каждое число заменить наибольшим из них, в противном случае сменить знак каждого числа.

Для решения этой задачи перепишем условие задачи следующим образом:

a:=a2, b:=b2, c:=c2, если a ≤ b ≤ c

b:=a, c:=a, если a>b>c
a:=-a, b:=-b, c:=-c, в остальных случаях

Программа для решения этой задачи представлена ниже.
Program Example3;
Var
  a, b, c : integer;
Begin
  writeln(‘Введите числа a, b, c’);
  readln(a,b,c);
  if (a<=b) and (b<=c)
    then
      begin
        a:=sqr(a);
        b:=sqr(b);
        c:=sqr(c);
      end
    else
      if (a>b) and (b>c)
        then
          begin
            b:=a;
             c:=a;
          end
        else
          begin
            a:=-a;
            b:=-b;
            c:=-c;
          end
  writeln(a,b,c);
  readln;
End.
Задание. Найдите в этой программе (если есть) условный оператор, вложенный условный оператор, составной оператор, булево (логическое выражение) условие. Составьте блок-схему алгоритма. Наберите программу и проверьте ее на разных КТП.
2. Набрать программу и составить условие к задаче.
Program Number2;
Var
  a, b, c : integer;
Begin
  writeln(‘Введите цифру ‘);
  readln(a);
  case a of
    0 : writeln (‘ноль‘);
    1 : writeln (‘один‘);
    2 : writeln (‘два‘);
    3 : writeln (‘три‘);
    4 : writeln (‘четыре‘);
    5 : writeln (‘пять‘);
    6 : writeln (‘шесть‘);
    7 : writeln (‘семь‘);
    8 : writeln (‘восемь‘);
    9 : writeln (‘девять‘)
  else writeln (‘Это число не является цифрой‘);
  end;
  readln;
End.
Ответить на вопрос: что выдаст программа, если ввести 4? 7? 10?

Задание на 7 баллов.

1. Предложите пользователю ввести число с клавиатуры. Если число равно нулю, выведите слово “ноль”; если число положительное, выведите слово “положительное”; если число отрицательное, выведите слово “отрицательное”.
2. Написать алгоритм, который по номеру дня недели - целому числу от 1 до 7 выдавать в качестве результата количество уроков в классе в соответствующий день.

Задание на 10 баллов.

1. Решить уравнение ах+b=с. Составить блок-схему, программу и разработать КТП.
2. По номеру дня недели вывести его название.

Задание на 12 баллов.

1. Решить уравнение a*x*x+b*x+c=0. Составить программу решения данного уравнения, блок-схему к ней и КТП.
2. Написать алгоритм, классифицирующий треугольники (остроугольные, прямоугольные, тупоугольные), если даны углы.

Комментариев нет:

Отправить комментарий