Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Прак. ОП 230115.doc
Скачиваний:
4
Добавлен:
17.11.2019
Размер:
369.66 Кб
Скачать

Задания:

  1. Напишите программу для определения чётно ли вводимое число.

  2. Разработать алгоритм расчета выражения

  1. Разработать алгоритм, который бы по введенному числу из диапазона [1..7] выводил на экран название соответствующего дня недели.

  2. С клавиатуры вводятся три произвольных числа. Составьте программу, которая проверяет, могут ли эти числа составить длины сторон треугольника.

  3. Разработать алгоритм вычисления выражения вида:

Ход работы: Для каждой задачи в тетрадь оформите блок-схему и листинг программы

1. Первая задача решается в три этапа. Сначала вводится с клавиатуры произвольное число, затем определяется чётность, выводится сообщение “чётное” или “нечётное”. Определение чётности можно осуществить двумя способами: 1) возвести -1 в степень n, т.е (-1)n, где n – введённое с клавиатуры число, если это выражение будет положительным, то число n – чётное, если отрицательным, то n – нечётное; 2) вычислить остаток от деления на 2, если остаток равен 1, то число n – нечётное; если остаток равен 0, то n – чётное. Первый способ решения подразумевает использование дополнительных операций по возведению в степень, поэтому алгоритм будет составлен для второго способа. В алгоритме будут использоваться следующие блоки: ввод числа (параллелограмм), ветвление (ромб) и вывод сообщения (параллелограмм). В программе для решения этой задачи описывается одна переменная целого типа – n. В основном блоке необходимо организовать вывод на экран сообщения о вводе некоторого числа (оператор write или writeln), затем с помощью процедуры read(n) или readln(n) осуществить ввод значения. Для проверки чётности используется полный условный оператор (if-then-else). Условие запишется следующим образом: n mod 2=0, где mod – операция получения остатка при делении числа n на 2. Полностью условный оператор будет выглядеть так:

if n mod 2=0 then writeln(‘чётное’) else writeln(‘нечётное’);

На основе вышеизложенного материала строится блок-схема и пишется программа.

2. Вторая задача решается с учётом ОДЗ: знаменатель не должен быть равен нулю, т.е. . С клавиатуры вводится некоторое значение x, затем проверяется знаменатель и в зависимости от того равен он нулю или нет, выдаётся сообщение ‘знаменатель равен нулю’ или вычисляется значение R. Блок-схема будет носить разветвлённый характер. В программе сначала реализуется ввод значения x, затем условный оператор:

if then writeln(‘знаменатель равен нулю’)

else begin ; writeln(r: 6: 2); end;

К ветке else относятся два оператора, поэтому они объединяются операторными скобками begin end. Оператором writeln(r: 6: 2) производится форматный вывод вещественного числа r.

3. Для решения третей задачи удобнее всего использовать оператор выбора (case), т.к. необходимо произвести вывод сообщения в зависимости от 7 значений. Применение условного оператора привело бы к усложнению программы. Блок-схема задачи:

По данной блок-схеме можно составить программу с использованием операторов ввода (для номера дня), выбора и вывода на экран названия дня недели. Можно добавить в оператор case ещё ветку else, которая является необязательно, для того, чтобы выдавать сообщение о неправильном введённом номере.

4. С геометрической точки зрения, три числа, например a, b и c, могут являться сторонами треугольника, если сумма двух любых сторон меньше третьей или площадь треугольника, составленного этими тремя сторонами, больше нуля. Рассмотрим первый случай. Составляется условие с применением операции логического умножения – and:

if (a+b<c) and (b+c<a) and (a+c<b) then writeln(‘ стороны треугольника’);

Выражение будет возвращать значение true, тогда и только тогда, когда истинными будут все операнды составляющие выражение. Другими словами каждая сторона по отдельности должна быть меньше суммы двух других сторон.

5. Значение x вводится с клавиатуры и, в зависимости от того меньше оно нуля или нет, y присваивается косинус или синус от x. Запишется это с применением условного оператора следующим образом:

if (x>=0) then y:=sin(x) else y:=cos(x);

Затем значение y выводится на экран с использованием форматного вывода (указание количества позиций на всё число и после точки).