EX1
.doc
Первое задание для студентов первого курса.
Условия выполнения первого задания:
1.Все исходные данные вводятся из входного текстового файла. 2.В выходной текстовый файл выводится как вся введенная информация , так и полученный результат. 3.Задание выполняется в виде 6 различных программ , и только первая программа выполняется без процедур. 4.Одна и та же информация во входном файле рассматривается как различная структура данных и вводится по-разному в оперативную память., с целью освоения работы с различными структурами данных. Кроме того, необходимо использовать процедуры с соблюдением требования наибольшей независимости по данным этих процедур друг от друга. Поэтому использование глобальных переменных недопустимо.
Таким образом эти 6 вариантов одного и того же задания предстоит выполнить с использованием: 1.Двумерных символьных массивов, текстовых файлов и без процедур; 2.С массивами STRING, процедурами и текстовыми файлами; 3.С массивами RECORD, процедурами, текстовыми и типизированными файлами и процедурами. Типизированный файл формируется в этой же программе из текстового , а затем из него происходит чтение . 4.С модулями (варианты 2или 3 переделываются на модульный); 5.С однонаправленными линейными списками (каждая строка исходного текстового файла рассматривается как элемент списка), процедурами и текстовыми файлами; 6.С рекурсией (любой из вариантов 2-4 переделывается на рекурсивный, поскольку везде в них есть циклы , которые можно всегда выполнить как рекурсивные процедуры).
1
Дан список группы в 10 человек в виде ФАМИЛИЯ ПОЛ РЕЗУЛЬТАТЫ_СЕССИИ 15 симв 1 симв 4 симв Данные в одной строке отделяются друг от друга пробелами. Например: Иванов м 4455 Петрова ж 3554 …………………………. Определить лидеров среди мужчин и женщин по успеваемости и их средний балл(у мужчин и женщин отдельно).
Список лидеров напечатать в виде: Иванов 4455 ср.балл 4.5 Петрова 3554 ср.балл 4.3 Общий средний балл мужчин равен 4.2 Общий средний балл женщин равен 4.1
2 Дан список группы в 10 человек в виде ФАМИЛИЯ И.О. ПОЛ ПРОПИСКА СРЕДНИЙ_БАЛЛ 15 симв. 4 симв. 1 симв. 1 симв. 4 симв. Данные в одной строке отделяются друг от друга пробелами. Например: Иванов И.И. м П 4.35 …….. Составить отсортированные по убыванию среднего балла списки петербуржцев (в графе прописки записана буква П) и иногородних (в графе прописки – буква И) по отдельности.
3
Дан список группы в 10 человек в вида ФАМИЛИЯ И.О. ПОЛ ГОД_РОЖДЕНИЯ 15 сив. 4 симв. 1 симв. 4 симв. Данные в одной строке отделяются друг от друга пробелами. Например: Иванов И.И. м 1970 Определить средний возраст мужчин в группе.
4
Дан список группы в 10 человек в виде ФАМИЛИЯ ГОД_РОЖД. СЛУЖБА_В_АРМИИ ПРОПИСКА ПОЛ 15 симв. 4 симв. 3 симв. 1 симв 1 симв. Данные в одной строке отделяются друг от друга пробелами. Например: Иванов 1970 нет П м Петров 1974 да И м
Напечатать список студентов в алфавитном порядке, служивших в армии (петербуржцев и иногородних по отдельности ).
5
Дан список сотрудников лаборатории ( 15 человек) в виде ФАМИЛИЯ ДОЛЖНОСТЬ 5 симв. 15 симв. Данные в одной строке отделяются друг от друга пробелами. Например: Иванов техник ………………. Составить программу, определяющую число одинаковых должностей и напечатать список должностей в виде: вед.инженер - 2 ст.инженер - 3 инженер - 8 техник -2
6
Дан список вещей с указанием цены вида: НАИМЕНОВАНИЕ_ВЕЩИ ЦЕНА 25 символов (данные в одной строке отделяются друг от друга пробелами, например: Стол 2500 руб) Выбрать три самые дорогие вещи и напечатать: Самые дорогие вещи 1. Диван - 1200 руб 2. ... 3...
7
Дан список группы в 10 человек в виде
ФАМИЛИЯ И.О.
20 симв. 4 симв.
Данные в одной строке отделяются друг от друга пробелами.
Отсортировать список по алфавиту с учетом инициалов методом сравнения “один со всеми”.
8
Дан список владельцев телефонов (10 человек) в виде ФАМИЛИЯ ТЕЛЕФОН
15 симв. 9 симв.
Данные в одной строке отделяются друг от друга пробелами.
Отсортировать этот список в порядке убывания номеров телефонов , используя метод вставок.
9
Дан список группы в 10 человек в виде
ФАМИЛИЯ И.О. ГОД_РОЖДЕНИЯ
25 символов 4симв. 4 симв. Данные в одной строке отделяются друг от друга пробелами. Например: Иванов И.И. 1978 г.р. Выделить первого по алфавиту и самого молодого. Соответствующие строки напечатать.
10
Дан список вещей (10 предметов) в виде
НАИМЕНОВАНИЕ ЦЕНА %ИЗНОСА
10 символов 1-6 симв. 2 симв. Данные в одной строке отделяются друг от друга пробелами. Используя 3-й столбец(%ИЗНОСА), сформировать продажную комиссионную цену и результаты вывести в виде: Новая цена вещей Стол - 1000 руб и т.д.
11
Дан список сотрудников лаборатории(10 человек) в виде ФАМИЛИЯ ДОЛЖНОСТЬ 15 симв. 10 симв. Иванов ст.инженер Петрова техник Возможные должности : инженер, ст. инженер, техник, вед. инженер.
Данные в одной строке отделяются друг от друга пробелами.
Расположить элементы списка в порядке “возрастания “ должности от "техника" до "вед.инженера" и вывести в выходной файл.
12
Дан список группы в 10 человек в виде ФАМИЛИЯ И.О. ГОД_РОЖД. ПРОПИСКА ПОЛ 15 симв. 4 симв. 4 симв. 1 симв. 1 симв. Данные в одной строке отделяются друг от друга пробелами. Выделить из них и напечатать трех наиболее молодых петербуржцев мужчин.
13
Дан список группы в 10 человек в виде
ФАМИЛИЯ ИМЯ ОТЧЕСТВО
20 символов 10 симв. 15 симв. Данные в одной строке отделяются друг от друга пробелами. Определить число встречающихся имен и напечатать в виде: Сергей - 2 Петр - 1 и т.д.
14 Дан список владельцев телефонов (10 человек) в виде ФАМИЛИЯ ТЕЛЕФОН
15 симв. 9 симв.
Данные в одной строке отделяются друг от друга пробелами . Найти строку с первой по алфавиту фамилией и с наименьшим номером телефона.
15 Иванов Петр Иванович Сидоров Сергей Петрович и т.д. (всего по 40 символов в строке). Удалить из списка всех, кроме одного, у которых имена совпадают.
16 Дан список группы в 10 человек в виде ФАМИЛИЯ ГОД_РОЖД. ПОЛ 15 симв. 4 симв. 1 симв. Иванов 1985 М Петрова 1983 Ж …………………… Найти самого старого мужчину и самую молодую женщину и вывести соответствующие строки.
17 Дан список группы в 10 человек в виде ФАМИЛИЯ ПОЛ РЕЗУЛЬТАТЫ_СЕССИИ 15 симв 1 симв 4 симв Данные в одной строке отделяются друг от друга пробелами. Например: Иванов м 4455 Петрова ж 3554 …………………………. Отсортировать по убыванию среднего балла мужчин и женщин по отдельности .
18 Дан список группы в 10 человек в виде ФАМИЛИЯ И.О. ПОЛ ГОД_РОЖДЕНИЯ 15 симв. 4 симв. 1 симв. 4 симв. Данные в одной строке отделяются друг от друга пробелами. Например: Иванов И.И. м 1970 Петрова М.И. ж 1982 ……………. Сформировать отсортированные по убыванию возраста списки мужчин и женщин .Использовать для сортировки метод “выбором”.
19 Дан список сотрудников лаборатории(10 человек) в виде ФАМИЛИЯ ПРОФЕССИЯ 15 симв. 10 симв. Иванов повар Петрова фармацевт Возможны любые должности . Сформировать список профессий с указанием их количества .