- •Введение Металингвистические формулы
- •Простейшие приемы программирования. Оператор присваивания.
- •Разветвления
- •Простейшие циклы
- •Целочисленная арифметика
- •Сочетание цикла и разветвления
- •Вычисления с заданной точностью
- •Использование перечислений. Многозначное ветвление
- •Вычисления с хранением последовательности значений. Одномерные массивы
- •Вложенные циклы.
- •Вложенные циклы в матричных задачах.
- •Дана действительная квадратная матрица . Получить две квадратные матрицы, , , для которых
- •Обработка последовательностей символов
- •Геометрия
- •Многочлены
- •Использование комбинированных типов Использование подпрограмм
- •Рекурсия Файлы
- •Сортировка массивов и файлов Системы счисления Связное представление данных в памяти
- •Двоичные деревья
- •Примерные варианты контрольных работ Контрольная работа №1
Сортировка массивов и файлов Системы счисления Связное представление данных в памяти
Описать функцию, которая:
определяет, является ли цепочка L пустой;
находит среднее арифметическое элементов цепочки L (цепочка содержит числовые данные);
заменяет в цепочке L все вхождения значения e1 на e2;
меняет местами первый и последний элементы цепочки L;
проверяет, упорядочены ли элементы цепочки L по алфавиту (цепочка содержит строковые данные);
находит сумму последнего и предпоследнего элементов цепочки.
Описать функцию, подсчитывающую количество слов цепочки L, которые:
начинаются и оканчиваются одной и той же литерой;
начинаются с той же литеры, что и следующее слово;
совпадают с последним словом.
Описать функцию, которая вставляет:
в начало цепочки L новый элемент e;
в конец цепочки L новый элемент e;
новый элемент e после первого элемента цепочки L;
в цепочку L новый элемент e1 за каждым вхождением элемента e;
в цепочку L новый элемент e1 перед первым вхождением элемента e;
в цепочку L пару новых элементов e1, e2 перед ее последним элементом;
в цепочку L, элементы которой упорядочены по неубыванию, новый элемент e так, чтобы сохранилась упорядоченность.
Описать функцию, которая удаляет:
из цепочки L первый элемент;
из цепочки L второй элемент;
из цепочки L за каждым вхождением элемента e один элемент, если он есть и отличен от нуля;
из цепочки L последний элемент;
из цепочки L первый отрицательный элемент (цепочка содержит числовые данные);
из цепочки L все отрицательные элементы (цепочка содержит числовые данные).
Описать функцию, которая:
проверяет на равенство цепочки L1 и L2;
проверяет, входит ли цепочка L1 в цепочку L2;
проверяет, есть ли в цепочке L хотя бы два одинаковых элемента;
переносит в конец цепочки L ее первый элемент;
переносит в начало цепочки L ее последний элемент;
добавляет в конец цепочки L1 все элементы цепочки L2;
вставляет в цепочку L за первым вхождением элемента e все элементы цепочки L1;
переворачивает цепочку L, т. е. изменяет ссылки в этой цепочке так, чтобы ее элементы оказались расположенными в обратном порядке.
Многочлен
с целыми коэффициентами можно представить
в виде цепочки, в каждом звене которой
хранятся коэффициент и степень, причем,
если
,
то соответствующее звено не включается
в цепочку.
Описать тип данных,
соответствующий такому представлению
многочленов, и определить подпрограммы
для работы с этими многочленами:подпрограмму, проверяющую на равенство два многочлена;
подпрограмму, вычисляющую значение многочлена в целочисленной точке;
подпрограмму, которая по заданному многочлену строит его производную;
подпрограмму, которая строит сумму двух многочленов;
подпрограмму печати многочлена от переменной, однобуквенное имя которой является значением параметра;
подпрограмму, которая считывает из входного файла безошибочную запись многочлена и формирует его представление.
Во входном файле записана без ошибок формула следующего вида: <формула>::=<цифра>|(<формула><знак><формула>) <знак>::=+|-|* <цифра>::=0|1|2|3|4|5|6|7|8|9 Вычислить значение этой формулы.
Описать рекурсивную функцию, которая возводит вещественное число в целую степень согласно формуле
Рекурсивно описать функцию С(m, n), где 0≤m≤n, для вычисления биномиального коэффициента
по следующей формуле:
;
при 0<m<n.Пусть имена заданы перечислимым типом. Описать функцию, проверяющую, является ли человек с некоторым именем потомком человека с другим конкретно заданным именем. Предполагается, что уже описаны функции, возвращающие имена отца и матери соответственно для человека с конкретно заданным именем.
Пусть имена заданы перечислимым типом. Описать функцию, проверяющую, является ли человек с некоторым именем потомком человека с другим конкретно заданным именем. Предполагается, что уже описаны функции, возвращающие число детей человека с конкретно заданным именем, и функция, возвращающая имя к-ого ребенка человека с конкретно заданным именем.
