Список задач к экзамену по дисциплине "Программирование" для студентов i-го курса специальности асои (второй семестр)

Вид материалаДокументы

Содержание


6.Структуры данных
Подобный материал:

Список задач к экзамену по дисциплине
"Программирование" для студентов I-го курса
специальности АСОИ (второй семестр)

1.Строковые величины


1.1.Дана строка символов, проверить является ли он перевёртышем.

1.2.Дано предложение, посчитать количество слов в нём.

1.3.Дано предложение, посчитать количество слов имеющих чётную длину.

1.4.Дано предложение, посчитать количество слов имеющих нечётную длину.

1.5.Дано предложение, посчитать количество гласных.

1.6.Дано предложение, посчитать количество согласных.

1.7.Дано предложение, посчитать количество цифр.

1.8.Дано предложение, посчитать количество чисел.

1.9.Найти общие слова в двух заданных предложениях.

1.10.Поменять порядок слов в заданном предложении на противоположный.

1.11.Дано предложение. Поменять местами слова, стоящие на чётных и нечётных позициях.

1.12.Даны два предложения. Обменять в данных предложениях слова, стоящие на нечётных позициях (учесть, что в одном предложении слов может быть меньше, чем во втором).

1.13.Дано предложение. Найти самое длинное слово нечётной длины.

2.Множества


1.1.Дано предложение. Вывести в алфавитном порядке все гласные буквы.

1.2.Даны два предложения. Вывести в обратном алфавитном порядке все звонкие согласные второго предложения, которых нет в первом.

1.3.Дано предложение. Вывести все буквы, которые встречаются в каждом нечётном слове, и которых нет ни в одном чётном.

1.4.Написать модуль (unit), реализующий «большое множество» с базовым типом WORD на базе массива стандартных множеств. В модуле должны быть реализованы подпрограммы добавления, извлечения и проверки наличия элемента в «большом множестве».

3.Подпрограммы


1.1.Два простых числа называются «близнецами», если они отличаются друг от друга на 2 (например, 11 и 13, 41 и 43). Напечатать все пары «близнецов» из отрезка от n до 2n, где n – заданное число, большее 2.

1.2.Два натуральных числа называются «дружественными», если каждое из них равно сумме всех делителей другого за исключением его самого (числа 220 и 284). Напечатать все пары дружественных чисел.

1.3.Даны вещественные матрицы A, B, и С формата n. Требуется вычислить величину: , где .

1.4.Написать программу, которая по пространственным координатам точек A, B, C и S определяет, принадлежит ли точка S плоскому (с внутренностью) треугольнику ABC (подсказка: можно воспользоваться функцией площади треугольника).

4.Рекурсия


1.1.Пользуясь только операцией вывода только одной цифры, т.е. write(x), где – цифра, написать рекурсивную процедуру вывода произведения целого неотрицательного числа.

1.2.Написать рекурсивную функцию pow(x,n) от вещественного n, которая вычисляет величину xn по формуле:

1.3.По введенным вещественным x и n вычислить xn, используя порядка c·log2 n операций умножения (возведение в квадрат эквивалентно одной операции умножения).

1.4.Ханойские башни. Имеются три колышка и n маленьких дисков разного размера от 1 до n в порядке возрастания размеров. Сначала все диски одеты на колышек m так, что внизу самый большой n-ый диск, на нём n–1 и т.д., самый верхний диск – 1. Требуется перенести все диски с первого колышка на последний, соблюдая при этом условия: диски можно переносить только по одному; больший диск нельзя ставить на меньший. Написать программу, которая печатает последовательность действий в виде строк mk. Решить данную задачу для n дисков.

1.5.Дано натуральное число n. Напечатать все перестановки чисел от 1 до n.

1.6.Написать рекурсивную функцию определения является ли слово первёртышем.

1.7.Написать функцию, которая в качестве входного параметра принимает строку, а возвращает перевёрнутую строку. В функции не разрешается использовать вспомогательные переменные (ни локальные, ни глобальные), только строку-параметр.

1.8.Дано натуральное число. Написать программу, которая выводит все натуральные делители данного числа, без использования циклов.

1.9.Написать функцию, которая в качестве входного параметра принимает строку, а возвращает количество слов в данной строке. Разрешается использовать только одну вспомогательную переменную типа INTEGER. Слова в строке отделяются пробелами.

5.Файлы


1.1.Дан текстовый файл. Требуется вывести на экран пронумерованные строки этого файла. Имя файла передаётся в командной строке.

1.2.Требуется зашифровать файл с использованием операции xor по заданной маске.

1.3.Написать программу, которая меняет порядок следования байтов в файле на противоположный.

1.4.Дан текстовый файл, в котором храниться информация о двух матрицах. Первая строка – информация о первой матрице в виде: первые два числа – количество строк (m) и количество столбцов (n) в матрице, следующие n чисел – элементы матрицы, записанные построчно. Требуется написать программу перемножения этих матриц. Результат сохранить в том же файле в третьей строке.

1.5.Дан типизированный файл, в котором хранится база данных о студентах. Структура записи: ФИО студента – строка 40 символов, год рождения – целое число, средний балл за последнюю сессию – вещественное число (REAL), требуется вывести на экран список студентов, упорядоченную по среднему баллу в порядке убывания.

1.6.Дан типизированный файл. Структура записи: целое число и строка 20 символов, требуется вывести на экран список студентов, упорядоченную по среднему баллу в порядке убывания.

1.7.Дан текстовый файл, требуется изменить порядок строк в файле на противоположный. Использовать массив или другой файл запрещается.

1.8.Дан текстовый файл, в каждой строке которого записаны пространственные координаты вершин ломанной (по три числа в строке). Написать программу нахождения длины ломаной, заданной таким образом.

1.9.Написать программу подсчёта количества цифр в текстовом файле. Имя файла задаётся в командной строке.

1.10.Написать программу подсчёта количества слов в текстовом файле. Имя файла задаётся в командной строке.

1.11.Дан текстовый файл, в каждой строке которого записано либо натуральное число, либо слово. Написать программу подсчёта количества слов в таком файле.

6.Структуры данных


1.1.Реализовать стек на базе вектора (линейного массива).

1.2.Реализовать очередь на базе вектора (линейного массива).

1.3.Реализовать дек на базе вектора (линейного массива).

1.4.Реализовать бинарное дерево на базе вектора (линейного массива).

1.5.Дана строка, содержащая арифметическое выражение со скобками (только круглыми). Написать программу, проверяющую правильность расстановки скобок в данном выражении.

1.6.Дана строка, содержащая арифметическое выражение со скобками (всех типов). Написать программу, проверяющую правильность расстановки скобок в данном выражении.

1.7.В каждой строке текстового файла записано по одному слову. Написать программу сортировки данного файла по возрастанию с использованием бинарного дерева. Имя файла передаётся в командной строке.

1.8.В каждой строке текстового файла записано по одному слову. Написать программу, которая, используя дерево общего вида, подсчитывает количество различных слов в файле (дерево общего вида реализовывать не надо).

1.9.Реализовать множество с базовым типом STRING[10] на базе дерева общего вида. В реализации должны присутствовать подпрограммы добавления элемента, исключения элемента и проверки наличия элемента во множестве (дерево общего вида реализовывать не надо).

Ассистент кафедры ЭВМ и С
Чумерин Н.Ю.