Структура следования
Задача 3.
Найти и выдать на печать значение выражения:
Анализ постановки задачи.
Исходными данными для решения задачи является три целых числа.
Введем обозначения объектов алгоритма:
x, y, z – переменные целого типа; t – результат вычисления.
Для решения данной задачи воспользуемся алгоритмической структурой следования, т.к. для получения результата значения выражения, достаточно воспользоваться командами: ввода входных данных: x, y, z; присваивания (для подсчета значения выражения); вывода значения переменной, подсчитанного в команде присваивания.
Программный код на Free - Паскале:
Var x, y, z : integer;
t : real;
Begin
Readln(y, x, z);
t:=2/(0.5+y)*(1+sqr(x)/(3-sqr(z)/5));
Writeln(‘t=’, t)
End.
Структура ветвления
Задача 4.
В компьютер вводится информация: количество знаков в рекламе; на какой странице в газете будет печататься (если 1 или 4, то предоставляется скидка 50 %, если 2 или 3, то скидок нет); количество публикаций (если 2 публикации, то скидка 5 %, если 3 публикации, то скидка 10 %, если 4 публикации, то скидка 20 %, если > 5 публикации, то скидка 25 %). Необходимо определить стоимость рекламы с учетом всех скидок.
Анализ постановки задачи.
Исходными данными для решения задачи является три целых числа и одно вещественное число.
Введем обозначения объектов алгоритма:
kol_zn – количество знаков в рекламе;
num_str – номер страницы на которой будет печататься реклама;
kol_pbl - количество публикаций;
stoim_zn – стоимость одного знака;
stoim_rk – стоимость рекламы.
Для подсчета рекламы воспользуемся следующей формулой: stoim_rk= stoim_zn*kol_zn.
Далее воспользуемся алгоритмической структурой ветвления:
если num_str=1 или num_str=4, то предоставляется скидка 50 %, т.е. stoim_rk= stoim_rk/2;
если kol_pbl=2, то stoim_rk=stoim_rk-stoim_rk*0.05, иначе если kol_pbl=3, то stoim_rk=stoim_rk-stoim_rk*0.1, иначе если kol_pbl=4, то stoim_rk=stoim_rk-stoim_rk*0.2, иначе если kol_pbl>5, то stoim_rk=stoim_rk-stoim_rk*0.25.
Программный код на Free - Паскале:
Var kol_zn, num_str, kol_pbl : integer;
stoim_zn, stoim_rk : real;
Begin
Writeln(‘Введите количество знаков вашей рекламы’);
Readln(kol_zn);
stoim_zn:=20.50; {стоимость одного знака}
stoim_rk= stoim_zn*kol_zn; {стоимость рекламы}
Writeln(‘Введите номер страницы 1-4 на которой будет размещаться ваша реклама’);
Readln(num_str);
If (num_str=1) or (num_str=4) then stoim_rk= stoim_rk/2;
Writeln(‘Введите количество публикаций вашей рекламы’);
Readln(kol_pbl);
If kol_pbl=2 then stoim_rk=stoim_rk-stoim_rk*0.05
else If kol_pbl=3 then stoim_rk=stoim_rk-stoim_rk*0.1
else If kol_pbl=4 then stoim_rk=stoim_rk-stoim_rk*0.2
else If kol_pbl>5 then stoim_rk=stoim_rk-stoim_rk*0.25;
Writeln(‘Стоимость вашей рекламы=’, stoim_rk)
End.
Рекомендации к выполнению контрольной работы:
Задание 1, 2: Разберите задания и переведите предложенные алгоритмы на язык Free-Паскаль с описанием переменных. Откомпилируйте задачи и проверьте правильность их выполнения.
Задание 3, 4. Проанализировать задачу своего варианта, выделить входные данные, описать модель решения задачи и написать программный код.