- •Линейные алгоритмы
- •Логическое выражение
- •Условный оператор
- •Последовательности чисел
- •Одномерные массивы
- •Процедуры и функции Задания
- •Матрицы
- •Множества
- •Перечислимый тип
- •Файлы Текстовые файлы
- •Типизированные и нетипизированные файлы
- •В задачах 1..15 использовать типизированный файл c информацией о студентах факультета Stud.Dat со структурой:
- •Рекурсия
- •Списки, стеки, очереди
- •Сортировки
- •Разбор выражений
- •Деревья
В задачах 1..15 использовать типизированный файл c информацией о студентах факультета Stud.Dat со структурой:
const NumSemestr=10;
type
TStud=record
FIO : string[80]; // фамилия имя отчество
Year : TDateTime; // дата рождения
// средние оценки за семестр
MedB : array [1..NumSemestr] of real;
Kurs : byte; // курс
Group: byte; // группа
End;
Убедиться в отсутствии задолженностей для выбранного студента-выпускника (наличие положительных оценок за все десять семестров).
Вывести список студентов, для которых дни рождения попадают на дни текущей недели.
Вывести список студентов, у которых средний балл постоянно увеличивается от семестра к семестру.
Вывести список студентов, у которых средний балл постоянно уменьшается за всё время обучения.
Вывести информацию о самых молодых студентах с указанием возраста — N человек, начиная с самого молодого, N определяется вводом.
Вывести информацию о средних баллах по курсам.
Вывести информацию об однофамильцах.
Организовать поиск студентов по ФИО, курсу, группе, году рождения.
Определить группы студентов, у которых средний балл ниже факультетского среднего.
Вывести информацию о студентах, которые стали учиться хуже, чем на 1-ом курсе.
Упорядочить список студентов заданной группы по среднему баллу, вывести его.
Вывести список студентов, у которых средний балл больше 40.
Вывести студента с наибольшим средним баллом на каждом курсе.
Вывести студента с наименьшим средним баллом на каждом курсе.
Составить список 5 студентов с максимальным средним баллом.
Рекурсия
Описать рекурсивную функцию для подсчёта количества запятых в данном текстовом файле.
Описать рекурсивную функцию
function step(z : real; m:byte):real;
для вычисления zm (z — вещественное, m — натуральное) и с её помощью подсчитать значение выражения a7 + b8 .
Описать рекурсивную функцию
function fib(n : integer) : integer;
для вычисления n-ого (n 40) числа Фибоначчи.
Указание.
Последовательность чисел Фибоначчи fk образуется так:
f0=1, f1=1, fk = fk-2 + fk-1.
Описать рекурсивную функцию
function arifm(a, d, k : integer) : integer;
для вычисления k-ого элемента арифметической прогрессии (a — первый элемент прогрессии, d — разность прогрессии).
Создать очередь из чисел, записанных в текстовом файле, с помощью рекурсивной процедуры procedure add(var r : link).
Описать рекурсивную функцию
function memb(r:link; b:integer): boolean;
проверяющую, входит ли элемент с информационным полем b в список r.
Описать рекурсивную процедуру
procedure dele(var r:link; w:integer);
удаляющую из списка r первое вхождение элемента с информационным полем w.
Используя функцию memb, проверить, входит ли число, введённое в поле Edit1, в созданный список. Если да, то удалить из списка первое вхождение этого числа с помощью процедуры dele и вывести преобразованный список в текстовый файл с помощью процедуры out. В противном случае вывести сообщение: «Такого элемента нет».
Создать очередь с помощью рекурсивной процедуры
procedure add(var r: link).
Описать рекурсивную функцию
function neg(r: link): boolean;
проверяющую, имеется ли в списке элемент с отрицательным информационным полем.
Описать рекурсивную функцию
function nmemb(r: link; b:integer):integer;
подсчитывающую количество вхождений элемента с информационным полем b в список r.
Описать рекурсивную функцию
function max(r: link): integer;
для нахождения максимума в списке r.