- •Факультет
- •1. Линейные алгоритмы
- •2. Логическое выражение
- •3. Условный оператор
- •4. Циклы
- •5. Последовательности чисел
- •Одномерные массивы
- •Процедуры и функции Задания
- •Матрицы
- •Множества
- •Структуры
- •Файлы Текстовые файлы
- •Типизированные и нетипизированные файлы
- •В задачах 1..15 использовать типизированный файл c информацией о студентах факультета Stud.Dat со структурой:
- •Рекурсия
- •Списки, стеки, очереди
- •Сортировки
- •Разбор выражений
- •Деревья
- •1. Линейные алгоритмы 3
Множества
Даны три множества Х1, Х2, Х3, содержащие целые числа из диапазона 1..100. Известно, что мощность каждого из этих множеств равна 10.
Сформировать новое множество Y=(Х1 Х2) (Х2\ Х3), из которого выделить подмножество нечетных чисел. На экран вывести исходные и полученное множества. Значения элементов исходных множеств ввести с клавиатуры.
Даны три множества Х1, Х2, Х3, содержащие целые числа из диапазона 1..100. Известно, что мощность каждого из этих множеств равна 10.
Сформировать новое множество Y=(Х1 Х2) (Х2 × Х3) и вывести на экран его мощность. Проверить, есть ли в множестве Y числа, делящиеся на 6 без остатка. Значения элементов исходных множеств ввести с клавиатуры.
Даны два множества М и N, состоящие из 10 целых чисел из диапазона 1..100. Из данных множеств выделить соответственно подмножества М1 чисел, делящихся на 3 без остатка, и N1 чисел, делящихся на 2 без остатка. На печать вывести мощность и значения элементов множества MN= М1 N1.
Даны три множества Х1, Х2, Х3, содержащие целые числа из диапазона 100...200. Известно, что мощность каждого из этих множеств равна 10.
Сформировать новое множество Y=( Х1 Х2) (Х1 Х3). На печать вывести множества Х1, Х2, Х3 и Y.
Даны три множества Х1= {1,2,3,...,20}, Х2= {10,20,30,...,30} и Х3= {1,3,5,...,19,21}. Сформировать множество Y= (Х1 Х2) (Х1 Х3) (Х2 Х3), из которого выделить подмножество Y1 чисел, делящихся на 4 без остатка. На печать вывести множество Y и мощность множества Y1. Исходные множества ввести с клавиатуры.
Даны три множества Х1= {1,2,3,...,20}, Х2= {10,20,...,190,200} и Х3= {10,11,12,...40}.
Сформировать множество Y= (Х2 Х3)\(( Х1 Х2) (Х1 Х3)) и множество Y1, состоящее из элементов Y, деленных на 2. Если полученное в результате деления число не целое, то округлить его до ближайшего целого. На печать вывести Y и Y1. Исходные множества ввести с клавиатуры.
Даны три множества Х1= {2,4,6,8,10}, Х2= {1,2,3,4,5} и Х3= {2,3,5,7,8}. Сформировать множество Y= (Х2\ Х3) (Х1\ Х3). На печать вывести Y и его мощность. Исходные множества описать как типизированные константы.
Разработать программу для определения, какому алфавиту (латинскому или русскому) принадлежит введенный с клавиатуры символ. На печать вывести введенный символ с комментарием, например, НАБРАН СИМВОЛ "А" НА РУССКОМ РЕГИСТРЕ.
Структуры
Дано
type
имя = (Аня, Валя, Женя, Петя,
Саша, Таня, Шура, Юра);
данные = struct {
пол : (муж, жен);
рост : 140..200
};
группа = array [имя] of данные;
Описать функцию СредРост(ГР), определяющую средний рост женщин из группы ГР.
Даны: структура, описывающая рациональное число
struct rac
{
int chisl;
unsigned int znam;
};
и массив из 20 таких структур. Описать логическую функцию Equal(a, b), сравнивающую два рациональных числа a и b.
Даны комплексное число z (пара вещественных чисел) и вещественное число > 0. Вычислить с точностью значение следующей комплексной функции:
3.1 sh z = z + z3 / 3! + z5 / 5! + … + z2n+1 / (2n + 1)! + …;
3.2 ch z = z + z2 / 2! + z4 / 4! + … + z2n / (2n)! + …;
3.3 sin z = z – z3 / 3! + z5 / 5! – …+ (–1)nz2n+1 / (2n + 1)! + …;
3.4 cos z = z – z2 / 2! + z4 / 4! – … + (–1)nz2n / (2n)! + …;
3.5 ln (1 + z) = z – z2 / 2 + z3 / 3 – … + (–1)n-1zn / n + … (| z | < 1);
3.6 arctg z = z – z3 /3 + z5 /5 –…+ (–1)nz2n+1 /(2n + 1) +… (| z | < 1).
Даны: структура, описывающая вещественное число
struct numb
{
bool sign;
float mant;
int order;
};
и массив из таких структур.
Описать:
4.1 функцию MaxNeg(C) для нахождения максимального отрицательного числа из списка чисел С;
4.2 функцию MaxDi(C) для нахождения максимального порядка числа из списка вещественных чисел С;
Даны: структуры
struct decart
{
float x, y;
};
и
struct polar
{
float r, fi;
};
( r 0, - < fi )
Описать процедуру ДП(d, p), преобразующую координаты точки на плоскости из декартовых d в полярные p, и ПД(p,d), выполняющую обратное преобразование.
Дана структура
struct Date
{ unsigned short day, month, year;}
и перечисление
enum DayOfWeek {mn, td, wd, thd, fd, std, sd};
Считая, что все даты даются по григорианскому календарю (по «новому стилю»), описать:
6.1 функцию ПослЧисло(d), вычисляющую количество дней в том месяце, которому принадлежит дата d;
6.2 логическую функцию ВернаяДата(d), проверяющую правильность даты d;
6.3 функцию ЧислоДней(d), подсчитывающую, сколько дней прошло от 1 января 1-го года нашей эры до даты d;
6.4 функцию ДН(d) для определения дня недели, на который приходится дата d (учесть, что 1 января 1‑го года нашей эры было понедельником);
6.5 функцию Пятница13(d), которая определяет количество дней до даты d, которые были пятницами 13-ого числа.