Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Практикум по языкам программирования. Учебно-методическое пособие
.pdf
81
15
Автоматизированная информационная система в магазине
содержит сведения об детских игрушках. Для каждой игрушки
указывается:
• название детской игрушки;
• ее стоимость.
Составить программу, которая:
• обеспечивает первоначальный ввод данных в
информационную систему и формирование линейного
списка;
• производит вывод всего списка;
• вводит название игрушки и выводит данные о ее
стоимости.
Вывести наименование и стоимость самой дорогой игрушки.
16
Анкета для опроса населения содержит следующую
информацию:
• возраст;
• пол;
• образование (начальное, среднее, высшее);
• ответ на вопрос анкеты, который либо ДА, либо НЕТ.
Составить программу, которая:
• обеспечивает начальный ввод анкет и формирует из них
линейный список по алфавите опрошенных;
• на основе анализа анкет выдает ответы на следующие
вопросы:
• а) сколько мужчин старше 40 лет, имеющих высшее
образование, ответили ДА на вопрос анкеты;
• а) сколько женщин моложе 30 лет, имеющих среднее
образование, ответили НЕТ на вопрос анкеты;
• а) сколько мужчин моложе 25 лет, имеющих начальное
образование, ответили ДА на вопрос анкеты;
• производит вывод всех анкет и ответов на вопросы.

82
17
Составить программу, которая содержит текущую информацию
о книгах в библиотеке.
Сведения о книгах содержат:
• номер УДК;
• фамилию и инициалы автора;
• название;
• год издания;
• количество экземпляров данной книги в библиотеке.
Программа должна обеспечивать:
• начальное формирование данных о всех книгах в
библиотеке в виде списка, упорядоченного по годам
издания;
• добавление данных о книгах, вновь поступающих в
библиотеку;
• удаление данных о списываемых книгах;
• по запросу выдаются сведения о наличии книги в
библиотеке.
18
Автоматизированная информационная система на
железнодорожном вокзале содержит сведения об отправлении
поездов дальнего следования. Для каждого поезда указывается:
• номер поезда;
• станция назначения;
• время отправления.
Данные в информационной системе организованы в виде
линейного списка.
Составить программу, которая:
• обеспечивает первоначальный ввод данных в
информационную систему линейного списка;
• производит вывод всего списка;
• вводит номер поезда и выводит все данные об этом
поезде;
• вводит название станции назначения и выводит данные
обо всех поездах, следующих до этой станции.

83
19
Автоматизированная информационная система на
железнодорожном вокзале содержит сведения об отправлении
поездов дальнего следования. Для каждого поезда указывается:
• номер поезда;
• станция назначения;
• время отправления.
Данные в информационной системе организованы в виде
линейного списка.
Составить программу, которая:
• обеспечивает первоначальный ввод данных в
информационную систему и формирование линейного
списка;
• производит вывод всего списка;
• вводит номер поезда и выводит все данные об этом
поезде;
• вводит название станции назначения и выводит данные
обо всех поездах, следующих до этой станции.
20
Автоматизированная информационная система в магазине
содержит сведения об детских игрушках. Для каждой игрушки
указывается:
• название детской игрушки
• ее стоимость,
• название магазина, в котором она продается.
Составить программу, которая:
• обеспечивает первоначальный ввод данных в
информационную систему и формирование линейного
списка.
Вывести полную информацию об игрушке, название которой
введено с клавиатуры.
Если игрушки такой нет, выдать об этом сообщение на
дисплей.

84
21
Картотека в бюро обмена квартир организована как линейный
список.
Сведения о каждой квартире содержат:
• количество комнат;
• этаж;
• площадь;
• адрес.
Составить программу, которая обеспечивает:
• начальное формирование картотеки;
• ввод заявки на обмен;
• поиск в картотеке подходящего варианта: при равенстве
количества комнат и этажа выводится соответствующая
карточка и удаляется из списка, в противном случае
поступившая заявка включается в очередь.
22
Автоматизированная информационная система содержит
записи следующей структуры: ФИО; номер телефона; день
рождения (массив из трех чисел).
Составить программу, которая:
• обеспечивает первоначальный ввод данных и
формирует из них список таким образом, чтобы записи
расположились в порядке убывания дат рождений.
• поиск информации о людях, родившихся в одно и тоже
число, значение телефона которых введено с клавиатуры,
и формирование из них списка именинников.
23
Составить программу, которая:
• обеспечивает первоначальный ввод целых чисел и
формирует из них упорядоченного списка;
• затем удалить из списка отрицательные числа и удвоить
положительные;
• исходный и преобразованный список должны быть
выведены на экран.

85
24
Автоматизированная информационная система содержит
записи следующей структуры: фамилия, имя; знак Зодиака;
день рождения (массив из трех чисел).
Составить программу, которая:
• обеспечивает первоначальный ввод данных и
формирует из них общего списка;
• поиск информации о людях, родившихся в одно и тоже
число, значение которого введено с клавиатуры и
формирование из них нового списка;
• если таких людей нет, выдать соответствующее
сообщение на дисплей.
25.
Составить программу, которая:
• обеспечивает первоначальный ввод целых чисел и
формирует из них упорядоченного списка;
• затем удалить из списка числа, превышающие среднее
значение;
• исходный и преобразованный списки должны быть
выведены на экран.
Содержание отчета
1. Номер и тема лабораторной работы.
2. Вариант задания.
3. Текст программы.
4. Итоги работы программы.
Контрольные вопросы
1. Понятие динамической структуры.
2. Описание структурного типа.
3. Описание указателя.
4. Основные операции, производимые со списками.

86
Практическая работа № 7
Тема: «Введение в объектно-ориентированное программирование.
Простые классы»
Цель работы: ознакомиться с понятиями класса и объекта, научиться
создавать простые классы, их поля и методы.
Методические указания к практическому занятию:
Для примера создадим класс Student, который имеет четыре поля с
модификатором доступа private, доступных извне через public методы
изменения и получения значений полей.
Описание класса Student:
//Имя класса
сlass Student {
//Поля класса
private:
String FIO;
char gender;
int age;
double average;
//Конструктор (инициализация)
public:
Student (String F, char g, int ag, double av) {
FIO=F;
gender=g;
age=ag;
average=av;
}
//Метод для вывода информации о студенте в консоль
void outputTo() {

87
//Здесь команды вывода значений всех полей объекта на экран
cout<<"ФИО студента"<<FIO<<”\n”;
…
}
//Метод для получения значения ФИО студента
String get_FIO( ) {
return FIO;
}
//Метод для изменения значения ФИО студента
void set_FIO(String f) {
FIO=f;
}
//Метод для получения значения возраста студента
int get_Age( ) {
return age;
}
//Метод для изменения значения возраста студента
void set_Age(int ag) {
age=ag;
}
//Метод для получения значения среднего балла студента
double get_Average() {
return average;
}
//Метод для изменения значения среднего балла студента
void set_Average(double av) {
average=av;

88
}
}
Пример реализации метода main():
public static void main(String[] args) {
Student *Ivanov = new Student("Иванов Василий Петрович",'m',21, 4.6);
Student *Petrov = new Student("Петров Николай Романович", 'm',19, 3.6);
Petrov->outputTo();
Ivanov->outputTo();
Petrov->set_Age(Petrov->get_Age()+ 1);
Ivanov->set_Average(3.8);
cout<<"Возраст Петрова "<<Petrov->get_Age()<<”\n”;
cout<<"Возраст Иванова "<<Ivanov->get_Age();
Petrov->outputTo();
Ivanov->outputTo();
}
Результат работы:
ФИО студента Петров Николай Романович
Пол студента m
Возраст студента 19
Средний балл студента 3.6

89
ФИО студента Иванов Василий Петрович
Пол студента m
Возраст студента 21
Средний балл студента 4.6
Возраст Петрова 20
Возраст Иванова 21
ФИО студента Петров Николай Романович
Пол студента m
Возраст студента 20
Средний балл студента 3.6
ФИО студента Иванов Василий Петрович
Пол студента m
Возраст студента 21
Средний балл студента 3.8
Задание:
Создать собственный класс согласно варианту задания. Создаваемый класс
должен содержать несколько полей (по выбору студента), типы которых
соответствуют варианту задания (можете ввести дополнительные поля),
конструктор для инициализации значений полей объекта, методы для
изменения значений полей объекта и для получения этих значений, кроме того
метод для вывода всей имеющейся информации об объекте.
Метод main() должен демонстрировать работу всех методов объекта и
значения всех полей до и после изменения.
Порядок выполнения работы:
1. Запустить инструментальную среду.

90
2. Создать новый проект.
3. В проекте создать класс, содержащий:
несколько полей в соответствии с вариантом задания;
конструктор;
методы для изменения значений полей объекта;
методы для получения значений полей объекта;
метод для вывода в консоль значений полей объекта;
метод main();
4. Скомпилировать проект.
5. Запустить задачу на выполнение.
6. Оценить результаты работы.
7. Оформить отчет по занятию.
8. Сдать и защитить работу.
Таблица 10. Варианты заданий
№
Варианта
Суперкласс
Поля
01
Компьютерная техника
Процессор,
Объем оперативной памяти
02
Мобильное устройство
Тип устройства,
Операционная система
03
Коммуникационное
устройство
Производитель,
Задержка обработки
информации
04
Компилятор
Производитель,
Вид компиляции
05
Фирма-производитель
Страна,
Тип оборудования
06
Оператор сотовой связи
Торговая марка,
Количество абонентов в России
07
Операционная система
Торговая марка,
Тип устройства
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
