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

А. Проследите с помощью таблицы трассировки за выполнением алгоритма и запишите, каким будет его вывод для следующего ввода: 2, 3.

Таблица трассировки должна включать:

– столбец для каждой из переменных алгоритма;

– столбец, показывающий выполняется ли условие (3);

– столбец для выводимых данных.

Б. Приведите пример ввода, при котором выводится сообщение «equals»

В.

  1. Приведите пример ввода, при котором алгоритм выведет число 44 при выполнении строки (3.5).

  2. Приведите пример ввода, при котором алгоритм выведет число 44 при выполнении строки (4.2).

5.

Напишите фрагмент программы, который получит 38 пар целых чисел. Из каждой пары одно число будет записано в переменную a, а другое – в переменную b.

Для каждой пары чисел данный фрагмент программы:

  • вычислит и выведет на экран их сумму;

  • проверит, равно ли значение переменной b нулю. Если да – фрагмент программы выведет на экран сообщение «indivisible». Иначе фрагмент программы вычислит и выведет на экран целую часть от деления a на b.

Часть 2

Необходимо ответить на 2 вопроса из вопросов 6–8. Каждый вопрос – 15 баллов.

6.

Сеть магазинов одежды объявила о скидках для своих клиентов:

  • клиент, покупающий товар на сумму 8000 рублей и больше, получает скидку в 500 рублей на каждую кратную 8000 рублям сумму, которую он должен заплатить за свою покупку;

  • клиент, покупающий 4 вещи или больше, получает купон на 200 рублей, которые он сможет использовать при следующей покупке.

Примеры:

– Клиент, купивший 3 вещи на сумму 11000 рублей, получил скидку 500 рублей и заплатил 10500 рублей.

– Клиент, купивший 5 вещей на сумму 5000 рублей, получил купон на 200 рублей.

– Клиент, купивший 9 вещей на сумму 18000 рублей, получил скидку 1000 рублей и заплатил 17000 рублей. Кроме того, он получил купон на 200 рублей.

Напишите программу, в которую вводятся цены вещей, купленных клиентом. Ввод цен завершится, когда в качестве цены будет введен 0.

Программа подсчитает количество купленных вещей и сумму покупки.

Программа вычислит скидку, полагающуюся клиенту.

Программа выведет на экран общую сумму покупки, сумму скидки и итоговую сумму, которую клиент должен заплатить.

Если клиенту полагается купон для следующей покупки, программа выведет на экран соответствующее сообщение.

Примечание: Нет необходимости проверять корректность вводимых данных.

7.

Перед вами фрагмент программы:

sum=0;

g=10;

k=g/2;

(*) for (i = k-1; i >= 0; i--)

if (arr[i]==arr[g-i])

sum++;

Дан массив arr, состоящий из 11 ячеек:

arr

6

7

8

11

2

0

2

3

17

7

6

А. Проследите с помощью таблицы трассировки за выполнением фрагмента программы для данного массива arr и запишите, каким будет значение переменной sum после выполнения данного фрагмента программы. Таблица трассировки должна содержать шесть столбцов для sum, g, k, i, arr[i], arr[g-i] и дополнительный столбец, показывающий, выполняется ли условие в команде if внутри цикла.

Б. Приведите пример массива из 11 ячеек, для которого значение переменной sum после выполнения данного фрагмента программы будет равно 0.

В. В данном фрагменте программы отмеченную (*) строку заменили на следующую строку:

(*) for (i = k+1; i<=g; i++)

Г. Проследите с помощью таблицы трассировки за выполнением измененного фрагмента программы для данного массива arr и запишите, каким будет значение переменной sum после выполнения этого фрагмента программы.

8.

Компания мобильных телефонов объявила об акции для своих клиентов. Каждый клиент получит бесплатно 250 минут разговора с выбранным им абонентом. Когда 250 минут будут использованы, клиент будет платить 2 рубля за каждую минуту разговора при звонке этому абоненту.

Клиент также получит бесплатно 100 минут разговора со всеми остальными абонентами (кроме выбранного абонента). Когда 100 минут будут использованы, клиент будет платить 3 рубля за каждую минуту разговора с этими клиентами.

А.  Напишите метод под названием pay, который получит число минут разговора клиента с выбранным абонентом и число минут его разговора с остальными абонентами. Метод вычислит и вернет сумму, которую клиент должен заплатить.

Б. Напишите фрагмент программы для вычисления денежных сумм, которые клиенты должны будут заплатить за свои разговоры. Этот фрагмент программы осуществит для каждого клиента ввод числа минут его разговора с выбранным абонентом и числа минут разговора с остальными абонентами. Фрагмент программы вычислит сумму, которую клиент должен заплатить, и выведет эту сумму. Выполнение фрагмента завершиться, когда в качестве числа минут разговора с выбранным абонентом будет введено число меньше 0.

Вы должны использовать метод, написанный вами в пункте А.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]