Задания.
Вариант задания на выбор – (№ по списку mod 4) + 1
1.1. Найти наибольшее и наименьшее числа, которые можно представить типами int, long int, short int, float и double в своей среде программирования. Привести полное описание каждого типа ( размер, максимум, минимум, положение знакового бита, размер мантиссы и порядка и т.п.).
1.2. На выбор:
1) Протестировать генератор случайных чисел в своей системе. Для этого сгенерировать N случайных целых чисел в диапазоне от 0 до г — 1 с помошью функции rand() % г, вычислить среднее значение и среднеквадратичное отклонение для r= 10, 100 и 1000 и N= 10000, 100000, 1000000.
2) Протестировать генератор случайных чисел в своей системе. Для этого сгенерировать N случайных чисел типа double в диапазоне от 0 до 1, преобразуя их в целые числа диапазона от 0 до г — 1 путем умножения на г и усечения результата. Затем вычислить среднее значение и среднеквадратичное отклонение для г = 10, 100 и 1000 и N= 1000, 10000, 100000 и 1000000.
3) Выполнить упражнения 1.2 для г = 2, 4 и 16.
4) Выполнить упражнения 1.3 для г = 2, 4 и 16.
1.3. На выбор:
1) Описать структуру, пригодную для представления данных об автомобиле.
2) Описать структуру, пригодную для представления адреса проживания.
3) Описать структуру, пригодную для представления сведений о студенте.
4) Описать структуру, пригодную для представления данных о книге.
1.4. На выбор:
1) Добавить функцию к типу данных point (программы 1.3 и 1.4), которая определяет, лежат ли три точки на одной прямой, с допуском 10e-4. Предположите, что все точки находятся в единичном квадрате.
2) Добавить функцию к типу данных point (программы 1.3 и 1.4), которая определяет расстояние между двумя точками, с допуском 10e-4. Предположите, что все точки находятся в единичном квадрате.
3) Добавить функцию к типу данных point (программы 1.3 и 1.4), которая определяет угол между прямой, образованной двумя точками, и осью ординат (Oy), с допуском 10e-4. Предположите, что все точки находятся в единичном квадрате.
4) Добавить функцию к типу данных point (программы 1.3 и 1.4), которая определяет, пересекаются ли два отрезка, образованные двумя парами точек. Предположите, что все точки находятся в единичном квадрате.
1.5. На выбор:
1) Описать тип данных для треугольников, находящихся в единичном квадрате, включая функцию вычисления площади треугольника. Затем написать клиентскую программу, которая генерирует случайные тройки пар чисел с плавающей точкой от 0 до 1 и вычисляет среднюю площадь сгенерированных треугольников.
2) Описать тип данных для прямоугольников, находящихся в единичном квадрате, включая функцию вычисления площади прямоугольников. Затем написать клиентскую программу, которая генерирует случайные две пары чисел с плавающей точкой от 0 до 1 и вычисляет среднюю площадь сгенерированных прямоугольников.
3) Описать тип данных для отрезков, находящихся в единичном квадрате, включая функцию вычисления длины отрезка. Затем написать клиентскую программу, которая генерирует случайные две пары чисел с плавающей точкой от 0 до 1 и вычисляет среднюю длину сгенерированных треугольников.
4) Описать тип данных для кругов, центр которых находится в единичном квадрате, а радиус от 0 до 1,включая функцию вычисления площади круга. Затем написать клиентскую программу, которая генерирует случайные три числа с плавающей точкой от 0 до 1 и вычисляет среднюю площадь сгенерированных кругов.