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

А. Разработайте алгоритм, обеспечивающий управление стоянкой в определенный день. Алгоритм должен включать в себя следующие подзадачи:

  • инициализация в начале дня – обнуление кассы, установка для всех мест для парковок статуса «свободно»;

  • въезд автомобиля на стоянку – ввод времени въезда (целое число от 6 до 22 включительно), нахождение свободного места, распечатка номера свободного места для парковки, изменение статуса на «занято». Если на стоянке нет свободных мест для парковки, следует напечатать соответствующее сообщение;

  • выезд автомобиля со стоянки – ввод номера места, ввод времени выезда (целое число от 7 до 23 включительно), расчет стоимости парковки, печать квитанции, обновление кассы, изменение статуса освободившегося места;

  • закрытие стоянки в конце дня – печать общей суммы за день.

Определите для каждой подзадачи необходимые параметры и реализуйте метод для ее решения.

Б. Напишите программу, которая реализует разработанный алгоритм, используя написанные в пункте А методы. После открытия стоянки программа прочитает для каждого автомобиля код обслуживания (1 – если автомобиль прибыл на стоянку, 2 – если автомобиль покидает стоянку) и вызовет соответствующий метод. Ввод данных завершится, когда будет введен код -1. По завершению ввода, программа осуществит закрытие стоянки.

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

10.

А. Напишите метод по имени seven, принимающий в качестве параметра целочисленный массив a и проверяющий, есть ли в массиве последовательность 7 или более смежных ячеек, заполненных нулями. Если такая последовательность существует, метод возвратит 1, если нет – метод возвратит 0.

Б. Напишите метод, по имени shift, принимающий в качестве параметра массив целых чисел a и целое положительное число k. Метод сдвигает каждый элемент массива а на k мест влево от того места, где он находится. После сдвига k левых элементов массива исчезают, а k правых заполняются нулями.

Например, для k=2 и массива a размера 5:

a

3

17

2

0

1

после исполнения метода shift массив a приобретет вид:

a

2

0

1

0

0

В. Дан массив размером 105 ячеек, содержащий целые числа.

Напишите программу, которая использует метод seven и проверяет, есть ли в массиве семь последовательных ячеек, заполненных нулями. Если нет – программа создает случайное число k от 1 до 4 включительно и производит сдвиг влево на k мест. Программа продолжает создание случайных чисел и соответствующий сдвиг до тех пор, пока в массиве не образуется последовательность семи ячеек, содержащих нули.

После завершения работы программа напечатает полученный массив.

        1. Экзамен на аттестат зрелости 2008 года Часть 1

Необходимо ответить на все вопросы 1–5. Каждый вопрос – 10 баллов.

1.

Напишите фрагмент программы, которая принимает 3 целых числа. Программа проверит, есть ли среди этих трех чисел пара чисел, сумма которых равна 200. Если есть – программа выведет на экран слово «YES», иначе – слово «NO».

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

2.

Дан алгоритм.

  1. m1 0

  2. m2 0

  3. n 8

  4. Для k от 1 до 4 выполнить

    1. Ввести число в переменную t

    2. Если s*t > n то

      1. m1 m1+1

    3. если s-t > 0 то

      1. m2 m2+1

  5. Вывести значение переменной m1

  6. Вывести значение переменной m2

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

Запишите, каким будет вывод алгоритма.

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

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

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

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

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

3.

Дан массив целых чисел arr длиной 51, каждая ячейка которого содержит одно из двух чисел 1 или 7.

Напишите фрагмент программы, которая выводит на экран одно из двух чисел – то из них, которое встречается большее число раз.

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

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

4.

Перед вами алгоритм:

  1. Ввести число в переменную a

  2. Ввести число в переменную b

  3. Если a не равно b то

    1. num1 a*10+b

    2. num2 b*10+a

    3. Вывести значение переменной num1

    4. Вывести значение переменной num2

    5. Вывести сумму переменных num1 и num2

  4. Иначе

    1. num1 a*10+b

    2. Вывести значение переменной num1

    3. Вывести сообщение «equals»

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