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

Образцы решения задач:

Задача 1.

В компьютер вводится информация: количество знаков в рекламе; на какой странице в газете будет печататься (если 1 или 4, то предоставляется скидка 50 %, если 2 или 3, то скидок нет); количество публикаций (если 2 публикации, то скидка 5 %, если 3 публикации, то скидка 10 %, если 4 публикации, то скидка 20 %, если > 5 публикации, то скидка 25 %). Необходимо определить стоимость рекламы с учетом всех скидок для нескольких клиентов.

Анализ постановки задачи.

Исходными данными для решения задачи является три целых числа и одно вещественное число.

Введем обозначения объектов алгоритма:

kol_znколичество знаков в рекламе;

num_str – номер страницы на которой будет печататься реклама;

kol_pbl - количество публикаций;

stoim_zn – стоимость одного знака;

stoim_rkстоимость рекламы;

i – счетчик (параметр цикла);

n – количество клиентов.

Для подсчета рекламы воспользуемся следующей формулой: 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, i, n : integer;

stoim_zn, stoim_rk : real;

Begin

Writeln(‘Введите количество клиентов);

Readln(n);

For i:=1 to n do

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;

End.

Задача 2. Опишите, что получится в результате выполнения программы?

Program Variantl;

Const n=7;

Var С : Array[1..n] Of Integer; {описан массив целых элементов, состоящий из 7 значений }

i: Byte; p : integer;

Begin

p:=0; {обнуление счетчика}

For i:=1 To n Do Begin {цикл формирования и обработки массива }

C[i]:=-25+Random(121); {формирование массива из элементов диапазона от -25до 95}

If (C[i]>20) and (C[i]<70) Then p:=p+C[i] {нахождение суммы элементов в диапазоне от 20до70 };

End;

Writeln(p);

End.

В результате выполнения программы будет сформирован массив целых значений в диапазоне от -25 до 95. А также вычислена сумма элементов, которые принадлежат отрезку от 20 до70.

Задача 3. Вычисление средней (за неделю) температуры воздуха.

Решение