Вопросы к экзамену по дисциплине

«Алгоритмические языки и программирование»

1 курс, 2 семестр

Билет состоит из двух теоретических вопросов и задачи.

Основные управляющие алгоритмические структуры. Способы описания алгоритмов. Состав языка: алфавит, идентификаторы, ключевые слова, знаки операций, константы, комментарии Структура программы на Си. Разработка программ линейной структуры. Карта памяти выполняемой программы. Типы данных: Концепция типов данных. ТД и их объявления. Основные типы данных в С. Операции и выражения в С. Приведение типов. Приоритеты операций. Порядок вычисления. Побочные эффекты. Явное и неявное преобразование типов. Преобразование типов: при выполнении оператора присваивания, выполняемые операциями, при вызовах функций Консольный ввод/вывод. Спецификаторы, модификаторы форматного ввода/вывода в С. Операторы в С: пустой, составной, операторы безусловного перехода. Управляющая структура Ветвление, Выбор. Правила организации и тестирование разветвленных алгоритмов на ЯВ управляющие алгоритмические структуры Цикл: цикл с параметром (ДЛЯ). Правила организации циклических алгоритмов в С. Основные управляющие алгоритмические структуры Цикл: цикл с предусловием (ПОКА). Правила организации циклических алгоритмов в С. Основные управляющие алгоритмические структуры Цикл: цикл с постусловием (ПОВТОРЯТЬ-ДО). Правила организации циклических алгоритмов в С. Разработка циклических алгоритмов при работе с простыми данными: контролируемый ввод; итерации и рекурсия; создание диалоговых программ. Тип данных массив. Определение, объявление массивов. Внутреннее представление. Основные алгоритмы обработки одномерных массивов: инициализация, ввод/вывод, поиск (минимального, максимального элементов массива, алгоритм линейного поиска, поиск полным перебором) и замена элементов  массива, вставка и удаление элемента массива со сдвигом. Сортировка массивов: алгоритм прямого выбора, алгоритм простых вставок, алгоритм быстрой сортировки методом Хоара (рекурсивный и нерекурсивный алгоритм), сортировка методом Шелла. Подпрограммы в С. Процедуры и функции. Общее и отличия. Прототипы подпрограмм. Операторы вызова подпрограмм. Передача параметров по значению и по ссылке. Процедуры и функции, определенные пользователем. Правила организации подпрограмм, примеры. Массивы: описание, внутреннее представление. Примеры работы с одномерными массивами: инициализация, ввод/вывод, суммирование значений, слияние массивов, разбиение массивов, сдвиг элементов в массиве, удаление и вставка элементов. Поиск элемента в массиве: линейный, бинарный. 2.        Алгоритмы сортировки массивов: метод выбора, метод вставки, метод быстрой сортировки Хоара (рекурсивный и нерекурсивный алгоритмы), метод Шелла. 3.        Рекурсивные алгоритмы: понятие, глубина рекурсии, рекурсивный спуск и подъем, граничное условие. Правила организации рекурсивных алгоритмов. 4.        Строки: определение, инициализация, функции для работы со строками. 5.        Структуры в Си. Описание, внутреннее представление. Особенности работы со структурами. 6.        Файлы в С. Стандартные функции работы с файлами. Текстовые и бинарные файлы. Чтение, запись из файла/в файл.

Пример экзаменационного билета

Основные управляющие алгоритмические структуры. Способы описания алгоритмов. Пример конструирования алгоритма методом нисходящего программирования Управляющая структура Ветвление, Выбор. Правила организации и тестирование разветвленных алгоритмов. Задача: к началу соревнований группа спортсменов была выстроена по росту. Один спортсмен опоздал. Скольким спортсменам пришлось подвинуться, чтобы опоздавший встал на своё место. При решении задачи использовать алгоритм простых вставок.
Привести словесное описание задачи, входные и выходные данные, функциональный состав, декомпозицию и разработанные алгоритмы.

Примеры задач

Задача: к началу соревнований группа спортсменов была выстроена по росту. Один спортсмен опоздал. Скольким спортсменам пришлось подвинуться, чтобы опоздавший встал на своё место. При решении задачи использовать алгоритм простых вставок.
Привести словесное описание задачи, входные и выходные данные, функциональный состав, декомпозицию и разработанные алгоритмы. К началу соревнований группа спортсменов была выстроена по росту. Перед стартом пришло ещё трое спортсменов. Оказалось, что один из них ниже всех, другой выше всех, третий среднего. За кем встал каждый из опоздавших. При решении задачи использовать алгоритм простых вставок. Привести словесное описание задачи, входные и выходные данные, функциональный состав, декомпозицию и разработанные алгоритмы К началу соревнований группа спортсменов была выстроена по росту. Перед стартом пришло ещё несколько спортсменов. Каждый из опоздавших встал в строй, сохраняя принцип упорядоченности. На какое место встал каждый из опоздавших. При решении задачи использовать алгоритм простых вставок. Привести словесное описание задачи, входные и выходные данные, функциональный состав, декомпозицию и разработанные алгоритмы Дан текстовый файл. Найти в нем самое длинное слово Дан текстовый файл. Определить максимальную длину строки в файле.