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

Структура следования

Задача 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. Проанализировать задачу своего варианта, выделить входные данные, описать модель решения задачи и написать программный код.