rpd000002357 (1012287), страница 5
Текст из файла (страница 5)
--- операция (==) - проверка на равенство.
Разработчик вправе вводить любое (с обоснованием необходимости) число дополнительных полей и методов.
Написать тестовую программу, которая:
--- динамически выделяет массив указателей на базовый класс (4-6);
--- в режиме диалога заполняет этот массив указателями на произвольные классы, при этом экземпляры производных классов создаются диномически с заданием начальных значений;
--- для созданных экземпляров производных классов выполняет проверку всех разработанных методов с выводом исходных данных и результатов на дисплей.
Для конструкторов копирования каждого класса предусмотреть диагностическую печать количества его вызовов в определенное место дисплея (рекомендуется использовать статические члены класса).
Режим диалога обеспечивается с помощью иерархического меню.
Вариант 5.
Описать базовый класс СТРОКА.
Обязательные поля класса:
--- указатель на char - хранит адрес динамически выделенной памяти для размещения символов строки;
--- значение типа int - хранит длину строки в байтах.
Обязательные методы должны выполнять следующие действия:
--- конструктор без параметров;
--- конструктор, принимающий в качестве параметра С-строку (заканчивается нулевым байтом);
--- конструктор, принимающий в качестве параметра символ;
--- конструктор копирования;
--- получение длины строки;
--- очистка строки (сделать строку пустой);
--- деструктор.
Описать производный от СТРОКА класс ДЕСЯТИЧНАЯ_СТРОКА.
Строки данниго класса могут содержать только символы десятичных цифр и символы - и +, задающие знак числа. Символы - и + могут находиться только в первой позиции числа, причем сомвол + может отсутствовать, а этом случае число считается положительным. Если в составе инициализирующей строки будут встречены любые символы, отличные от допустимых, ДЕСЯТИЧНАЯ_СТРОКА принимает нулевое значение. Содержимое данныхстрок рассматривается как десятичное число.
Обязательные методы:
--- конструктор без параметров;
--- конструктор, принимающий в качестве параметра С-строку (заканчивается нулевым байтом);
--- конструктор копирования;
--- деструктор;
--- метод, определяющий, можно ли представить данное число в формате int.
Переопределить следующие операции:
--- присваивание (=);
--- вычитание(-) - арифметическая разность строк;
--- операция (>) - проверка на больше (по значению);
--- операция (<) - проверка на меньше (по значению).
Разработчик вправе вводить любое (с обоснованием необходимости) число дополнительных полей и методов.
Написать тестовую программу, которая:
--- динамически выделяет массив указателей на базовый класс (4-6);
--- в режиме диалога заполняет этот массив указателями на произвольные классы, при этом экземпляры производных классов создаются диномически с заданием начальных значений;
--- для созданных экземпляров производных классов выполняет проверку всех разработанных методов с выводом исходных данных и результатов на дисплей.
Для конструкторов копирования каждого класса предусмотреть диагностическую печать количества его вызовов в определенное место дисплея (рекомендуется использовать статические члены класса).
Режим диалога обеспечивается с помощью иерархического меню.
Вариант 6.
Описать базовый класс СТРОКА.
Обязательные поля класса:
--- указатель на char - хранит адрес динамически выделенной памяти для размещения символов строки;
--- значение типа int - хранит длину строки в байтах.
Обязательные методы должны выполнять следующие действия:
--- конструктор без параметров;
--- конструктор, принимающий в качестве параметра С-строку (заканчивается нулевым байтом);
--- конструктор, принимающий в качестве параметра символ;
--- конструктор копирования;
--- получение длины строки;
--- очистка строки (сделать строку пустой);
--- деструктор.
Описать производный от СТРОКА класс КОМПЛЕКСНОЕ_ЧИСЛО.
Строки данниго класса состоят из двух полей, разделенных символом i. Первое поле задает значение реальной части числа, а второе - мнимой. Каждое из полей может содержать только символы десятичных цифр и символы - и +, задающие знак числа. Символы - и + могут находиться только в первой позиции числа, причем сомвол + может отсутствовать, а этом случае число считается положительным. Если в составе инициализирующей строки будут встречены любые символы, отличные от допустимых, КОМПЛЕКСНОЕ_ЧИСЛО принимает нулевое значение. Примеры строк:33i12, -7i10, +5i-21.
Обязательные методы:
--- конструктор без параметров;
--- конструктор, принимающий в качестве параметра С-строку (заканчивается нулевым байтом);
--- конструктор копирования;
--- деструктор.
Переопределить следующие операции:
--- присваивание (=);
--- умножение (*) - умножение чисел;
--- операция (==) - проверка на равенство.
Разработчик вправе вводить любое (с обоснованием необходимости) число дополнительных полей и методов.
Написать тестовую программу, которая:
--- динамически выделяет массив указателей на базовый класс (4-6);
--- в режиме диалога заполняет этот массив указателями на произвольные классы, при этом экземпляры производных классов создаются диномически с заданием начальных значений;
--- для созданных экземпляров производных классов выполняет проверку всех разработанных методов с выводом исходных данных и результатов на дисплей.
Для конструкторов копирования каждого класса предусмотреть диагностическую печать количества его вызовов в определенное место дисплея (рекомендуется использовать статические члены класса).
Режим диалога обеспечивается с помощью иерархического меню.
1.3.1. Потоковые классы(АЗ: 4, СРС: 2)
Форма организации: Лабораторная работа
Описание: ВАРИАНТ1.
Задание 1. Стандартные потоки.
Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Xнач. до Xкон.
с шагом d X :
F = a * x * x + b при x < 0 и b <> 0
F = (x - a) / (x - c) при x > 0 и b = 0
F = x / c в остальных случаях,
где a, b, c - действительные числа.
Функция F должна принимать действительное значение, если выражение (Ац ИЛИ Вц) И (Ац ИЛИ Сц)
не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозначены целые части значений a, b, c, операции И и ИЛИ - поразрядные. Значения a, b, c, Xнач., Xкон. d X ввести с клавиатуры.
Ввполнить задание 1 с использованием стандартных потоков, манипуляторов и форматирующих методов.
Задание 2. Файловые потоки
Для хранения данных о цветных планшетных сканерах описать структуру вида:
struct scan_info{
char model[25]; // наименование модели
int price; // цена
double x_size; // горизонтальный размер области сканирования
double y_size; // вертикальный размер области сканирования
int optr; // оптическое разрешение
int grey; // число градаций серого
};
Написать функцию, которая записывает в бинарный файл данные о сканере из приведенной структуры. Структура файла: в первых двух байтах размещается значение тиа int, определяющее количество сделанных в файл записей; далее без пропусков размещаются записи о сканерах.
Написать функцию, которая извлекает из этого файла данные о сканере в структуру типа scan_info. Обязательный параметр - номер требуемой записи. Функция должна возвращать нулевое значение, если чтение прошло успешно, и -1 в противном случае.
Привести пример программы, создающей файл с данными о сканерах (данные вводятся с клавиатуры) -
6 - 8 записей и выводящей на дисплей данные о запршенной записи.
Всенеобходимые данные для функций должны пнредаваться им в качестве параметров. Использование глобальных переменных в функциях не допускается.
Выполнить задание с использованием файловых потоков и методов обработки ошибок
ВАРИАНТ 2.
Задание 1. Стандартные потоки
Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Xнач. до Xкон.
с шагом d X :
F = 1 / (a * x ) - b при x + 5 < 0 и c = 0
F = (x - a) / x при x + 5 > 0 и c <> 0
F = 10x / (c - 4) в остальных случаях,
где a, b, c - действительные числа.
Функция F должна принимать действительное значение, если выражение (Ац И Вц) ИЛИ (Ац ИСц)
не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозначены целые части значений a, b, c, операции И и ИЛИ - поразрядные. Значения a, b, c, Xнач., Xкон. d X ввести с клавиатуры.
Ввполнить задание 1 с использованием стандартных потоков, манипуляторов и форматирующих методов.
Задание 2. Файловые потоки
Для хранения данных о ноутбуках описать структуру вида (при необходимости дополнив ее):
struct NOTEBOOK{
char model[21];
struct size{
float x;
float y;
float z;
};
float w;
int price;
}
Написать функцию, которая читает данные о ноутбуках из файла note.txt в структуру приведенного вида. написать функцию, которая записывает содержимое структуры в конецбинарного файла. Структура бинарного файла: первые два байта (целое) - число записей в файле; далее записи в формате структуры NOTEBOOK.
Написать программу, в которой на основе разработанных функций осуществляется чтение данных только для тех ноутбуков, частота процессора которых больше 120 МГц, и запись в бинарный файл по убыванию цены.
Выполнить задание с использованием файловых потоков и методов обработки ошибок
1.3.2. Контейнерные классы(АЗ: 4, СРС: 2)
Форма организации: Лабораторная работа
Описание: Вариант 1.
Задание 1. Одномерные массивы.
В одномерном массиве, состоящем из n вещественных элементов вычислить
--- сумму отрицательных элементов массива:
--- произведение элементов массива, расположенных между максимальным и минимальным элементами.
Упорядочить элементы массива по возрастанию.
Выполнить задание с использованием соответствующего контейнерного класса библиотеки.
Задание 2. Двумерные массивы.
Дана целочисленная прямоугольная матрица. Определить:
--- количество строк, не содержащих ни одного нулевого элемента;
--- максимальное из чисел, встречающихся в заданной матрице более одного раза.
Выполнить задание с использованием соответствующего контейнерного класса библиотеки.
Задание 3. Стрруктуры.
Описать Структуру с именем STUDENT.
Выполнить задание с использованием соответствующего контейнерного класса библиотеки.
Задание 4. Динамические структуры данных.
Составить программу, которая содержит динамическую информацию о наличии автобусов в автобусном парке.
Выполнить задание с использованием соответствующего контейнерного класса библиотеки.
Вариант 2.
Задание 1. Одномерные массивы.
В одномерном массиве, состоящем из n вещественных элементов вычислить
--- сумму положительных элементов массива:
--- произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами.
Упорядочить элементы массива по убыванию.
Выполнить задание с использованием соответствующего контейнерного класса библиотеки
Задание 2. Двумерные массивы.
Дана целочисленная прямоугольная матрица. Определить:
--- количество столбцов, содержащих хотя бы один нулевой элемент;
--- номер строки, в которой находится самая длинная серия одинаковых элементов.
Выполнить задание с использованием соответствующего контейнерного класса библиотеки.
Задание 3. Стрруктуры.
Описать Структуру с именем AEROFLOT.
Выполнить задание с использованием соответствующего контейнерного класса библиотеки.
Задание 4. Динамические структуры данных.
Составить программу, которая содержит текущую информацию о заявках на авиабилеты.
Выполнить задание с использованием соответствующего контейнерного класса библиотеки.
2.1.1. Создание учебного проекта(АЗ: 4, СРС: 2)
Форма организации: Лабораторная работа
Описание: Задание 1. Создание простейшего консолльного приложения.
--- Загрузить среду VC++;
--- Выполнить команды главного меню File | New |
2.1.2. Работа с окном сведений об объекте(АЗ: 4, СРС: 2)
Форма организации: Лабораторная работа
2.1.3. Редактор кода, h - модуль и режим дизайна(АЗ: 8, СРС: 3)
Форма организации: Лабораторная работа
2.1.4. Компоненты среды программирования VC++. Класс Form(АЗ: 8, СРС: 2)
Форма организации: Лабораторная работа
2.1.5. Рисование графиков в форме(АЗ: 4, СРС: 2)
Форма организации: Лабораторная работа
2.2.1. Работа с компонентами, создающими интерфейс(АЗ: 4, СРС: 2)
Форма организации: Лабораторная работа
-
Типовые задания
Приложение 3
к рабочей программе дисциплины
«Технология программирования »
Прикрепленные файлы
Версия: AAAAAARxsGs Код: 000002357