- •«Основы алгоритмизации и программирования» Методические указания к контрольной работе
- •1.1. Общие положения
- •1.2. Технология выполнения и отчетность по контрольной работе
- •Приложение 1
- •Приложение 2 контрольные задания
- •1. Разветвляющийся алгоритм
- •Одномерные массивы
- •4. Алгоритмы обработки строковых переменных
- •5. Процедуры и функции
- •6. Записи
- •Литература
6. Записи
Задача 1
-
Составить список учебной группы, включающей N человек. Для каждого учащегося указать дату рождения, год поступления в техникум, курс, группу, оценки каждого года обучения. Информацию о каждом учащемся оформить в программе в виде записи. Совокупность записей объединить в массив. Составить программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы, а также распечатать анкетные данные студентов отличников.
-
Составить список учебной группы, включающей N человек. Для каждого учащегося указать дату рождения, год поступления в техникум, курс, группу, оценки каждого года обучения. Информацию о каждом учащемся оформить в программе в виде записи. Совокупность записей объединить в массив. Составить программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы, а также распечатать анкетные данные студентов, получивших одну оценку 3 за все время обучения.
-
Среди N абитуриентов, сдававших экзамены по информатике, математике и английскому языку, выбрать всех отличников и всех учащихся, набравших в сумме не меньше проходного балла. Данные о проходном балле вводятся с клавиатуры.
Задача 2
-
Составить список учебной группы, включающей N человек. Для каждого учащегося указать дату рождения, год поступления в техникум, курс, группу, оценки каждого года обучения. Информацию о каждом учащемся оформить в программе в виде записи. Совокупность записей объединить в массив. Составить программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы, а также распечатать список студентов, фамилии которых начинаются на буквы Б и В, и их оценки за последнюю сессию.
-
Составьте список учебной группы, включающей N человек. Для каждого учащегося укажите фамилию, имя, отчество, дату рождения, год поступления в ВУЗ, факультет, отделение, курс, группу. Информацию о каждом учащемся оформите в программе в виде записи. Совокупность записей объедините в массив. Составьте программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы, а также распечатать по выбору пользователя анкетные данные студентов нужного курса.
-
Среди N абитуриентов, сдававших экзамены по информатике, математике и английскому языку в перечисленном порядке, выбрать учащихся, не допущенных к сдаче следующего экзамена в связи с получением неудовлетворительной оценки по предыдущему экзамену. Выдать на экран список абитуриентов, удачно сдавших все экзамены.
Задача 3
-
Составьте список учебной группы, включающей N человек. Для каждого учащегося укажите фамилию, имя, отчество, дату рождения, год поступления в ВУЗ, факультет, отделение, курс, группу. Информацию о каждом учащемся оформите в программе в виде записи. Совокупность записей объедините в массив. Составьте программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы, а также распечатайте по выбору пользователя анкетные данные студентов нужного факультета.
-
Составьте список учебной группы школы юного программиста, включающей N человек. Для каждого учащегося укажите фамилию, имя, отчество, название общеобразовательной школы, класс, год поступления в школу, количество сданных зачетов. Информацию о каждом учащемся оформите в программе в виде записи. Совокупность записей объединить в массив. Составьте программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы, а также распечатайте по выбору пользователя анкетные данные учащихся, сдавших нужное количество зачетов.
-
Составить программу, собирающую данные об авиакомпаниях и выдающую справку туристу до запрашиваемого места. Справка должна содержать:
-
название авиакомпании;
-
название рейса.
Задача 4
-
Составьте список учебной группы школы юного программиста, включающей N человек. Для каждого учащегося укажите фамилию, имя, название общеобразовательной школы, класс, количество сданных зачетов, оценку за итоговый экзамен. Информацию о каждом учащемся оформите в программе в виде записи. Совокупность записей объединить в массив. Составьте программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы, а также распечатайте анкетные данные учащихся, успешно сдавших экзамен.
-
Составьте список группы спортсменов, занимающихся легкой атлетикой, включающей N человек. Для каждого спортсмена укажите фамилию, имя, название общеобразовательной школы, класс, результаты по следующим дисциплинам:
-
бег 100м,
-
прыжки в длину,
-
метание диска.
Информацию о каждом спортсмене оформить в программе в виде записи. Совокупность записей объединить в массив. Составить программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы, а также распечатать анкетные данные спортсменов, занявших 1 место по каждой дисциплине.
-
Во время лыжных соревнований в центральный судейский компьютер поступают данные в следующем виде: номер участника, его фамилия, страна и показанный результат. Составить алгоритм, который после ввода очередной информации выдает таблицу результатов участников в порядке ухудшения.
Задача 5
-
Составьте список группы спортсменов, участвовавших в соревнованиях по плаванию, включающей N человек. Для каждого пловца укажите фамилию, имя, название общеобразовательной школы, класс, результаты по следующим дисциплинам:
-
кроль на груди,
-
баттерфляй,
-
комплексное плавание.
Информацию о каждом спортсмене оформите в программе в виде записи. Совокупность записей объедините в массив. Составьте программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы, а также распечатайте анкетные данные спортсменов,
-
занявших 1 место по каждому стилю плавания;
-
-
не получивших ни одного призового места.
-
Составьте список группы спортсменов, участвовавших в соревнованиях по спортивной гимнастике, включающей N человек. Для каждого гимнаста укажите фамилию, имя, название общеобразовательной школы, класс, результаты по следующим видам:
-
кольца,
-
прыжки через коня.
Информацию о каждом спортсмене оформить в программе в виде записи. Совокупность записей объединить в массив. Составьте программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы, а также распечатать анкетные данные спортсменов.
3. По окончании школы ученики сдавали экзамены по литературе, математике, физике и информатике. Определите экзамен, на котором ученики получили наиболее высокий средний бал и выведите список учащихся в порядке убывания результатов по этому экзамену.
Задача 6
-
Составьте список группы спортсменов, участвовавших в гонках на спортивных машинах, включающей N человек. Для каждого гонщика укажите фамилию, имя, название страны, номер автомашины, наличие наград на предыдущих состязаниях, результаты гонки. Информацию о каждом спортсмене оформите в программе в виде записи. Совокупность записей объединить в массив. Составьте программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы, а также распечатайте анкетные данные спортсменов,
-
показавших лучший результат;
-
не получивших ни одного призового места.
Составьте прайс-лист магазина "Техника", включающий в себя наименования товара, марку предприятия-производителя, страну-производитель, его цену, количество единиц товара на складе. Информацию о каждом виде товара оформите в программе в виде записи. Совокупность записей объедините в массив. Составьте программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы. Выведите на экран меню, а затем информацию о товаре в зависимости от запроса покупателя.
Напишите программу, организующую хранение в файле нескольких записей (до 10) о дневной температуре. Каждая запись содержит четыре поля: номер записи, число, месяц, температура. Организуйте вывод на экран всех записей, а также определите день максимальной и минимальной температуры.
Задача 7
-
Составьте прайс-лист кондитерского отдела магазина "Молодежный", включающий в себя наименования товара, марку предприятия-производителя, страну-производитель, его цену, количество единиц товара на складе. Информацию о каждом виде товара оформите в программе в виде записи. Совокупность записей объедините в массив. Составьте программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы. Выведите на экран меню, а затем информацию о товаре в зависимости от запроса покупателя.
-
Составьте прайс-лист аптеки "Эксон", включающий в себя наименования товара, страну-производитель, его цену, его состав, рекомендации врача. Информацию о каждом виде товара оформите в программе в виде записи. Совокупность записей объедините в массив. Составьте программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы. Выведите на экран меню, а затем информацию о товаре в зависимости от запроса покупателя.
-
Организовать файл, который содержит номера телефонов сотрудников учреждения: указываются фамилия, инициалы и номер телефона. Организовать поиск телефона сотрудника по его фамилии и инициалам.
Задача 8
-
Составьте прайс-лист магазина "Спортивные товары", включающий в себя наименования товара, страну-производитель, его цену, материал изготовления, размер, рекомендации для использования. Информацию о каждом виде товара оформите в программе в виде записи. Совокупность записей объедините в массив. Составьте программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы. Выведите на экран меню, а затем информацию о товаре в зависимости от запроса покупателя.
-
Составьте прайс-лист магазина "Обувь", включающий в себя наименования товара, страну-производитель, его цену, материал изготовления, размер, рекомендации для использования. Информацию о каждом виде товара оформите в программе в виде записи. Совокупность записей объедините в массив. Составьте программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы. Выведите на экран меню, а затем информацию о товаре в зависимости от запроса покупателя.
-
Организовать файл, содержащий информацию об экспортируемых товарах: указываются наименование товара, страна, импортирующая товар, и объём поставляемой партии в штуках. Составить список стран, в которые экспортируется данный товар, и общий объём его экспорта.
Задача 9
-
Составьте банк данных своих друзей и (или) подруг, включающий в себя фамилию, имя, место знакомства, почтовой и (или) электронный адрес, телефон, день и год рождения, хобби, любимое блюдо, любимый напиток (и другое). Информацию о каждом товарище оформите в программе в виде записи. Совокупность записей объедините в массив. Составьте программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы. Выведите на экран меню, а затем информацию о друзьях в зависимости от Вашего запроса.
-
Составьте банк данных кинологов, включающий в себя фамилию и имя владельца собаки, кличку собаки, породу собаки, день и год рождения собаки, наличие родословной, наличие медалей (и другое). Информацию о каждом владельце оформите в программе в виде записи. Совокупность записей объедините в массив. Составьте программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы. Выведите на экран меню, а затем информацию в зависимости от Вашего запроса.
-
Составить программу для введения протокола баскетбольной игры. Во время игры машина ведет учет набранных очков и фолов каждого игрока. Игрок, получивший 5 фолов, удаляется из игры (эта информация должна появляться на экране). В конце игры должна выводиться информация о сумме очков, набранных каждым игроком, в порядке убывания.
Задача 10
-
Составьте банк данных районного отдела милиции, включающий в себя фамилию, имя и отчество нарушителя, дату рождения, наличие клички, мера наказания, срок заключения (и другое). Информацию о каждом нарушителе оформите в программе в виде записи. Совокупность записей объедините в массив. Составьте программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы. Выведите на экран меню, а затем информацию в зависимости от Вашего запроса.
-
Составьте банк данных членов своей семьи и (или) ближайших родственников, включающий в себя имя, отчество, степень родства, день и год рождения, хобби, любимое блюдо, любимый напиток, любимая поговорка (и другое). Информацию о каждом родственнике оформите в программе в виде записи. Совокупность записей объедините в массив. Составьте программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы. Выведите на экран меню, а затем информацию о родне в зависимости от Вашего запроса.
-
Составить расписание маршрутов поездов (5) отправляющихся со станции «Омск» (номер поезда, станция назначения, время отправления, время в пути). Вывести информацию о поездах, отправляющихся со станции в промежуток времени от 15 до 20 часов.
-
Файлы
Программы данного раздела должны иметь интерфейс, доступный для любых пользователей.
При сдаче задач данного раздела требуется представлять не только тексты программ, но и все созданные в ходе работы файлы. Все программы и файлы данного раздела должны содержаться в отдельной папке.
Задача 1
-
При приеме экзамена преподаватель решил воспользоваться компьютерной программой. Эта программа позволяет вводить фамилию студента, номер билета, время, которое студент потратил на сдачу экзамена, и оценку, которую он получил (всего 4 параметра). Программа записывает данные в текстовый файл, причем каждое данное — в отдельную строку (в первой строке - фамилия, во второй - номер билета и т.д.). Составьте такую программу для преподавателя. Запишите в файл информацию не менее чем о 10 студентах. Имя файла должно также задаваться во время работы программы. Разумеется, программа должна контролировать достоверность вводимых данных.
-
Пусть у вас есть файл с информацией о студентах (не менее 10), структура которого описана в предыдущей задаче. Составить программу, которая считает информацию из этого файла и вычислит, сколько студентов получило оценку 5, сколько - 4, 3 и 2, соответственно. Одновременно вычислите минимальное и максимальное время, которое студенты затратили на подготовку к экзамену. Результаты запишите в файл. 3.
-
Багаж пассажира характеризуется количеством вещей и общим весом вещей. Дан файл f, содержащий сведения о багаже нескольких пассажиров. Сведения о багаже каждого пассажира представляют собой запись с двумя полями: одно поле целого типа (количество вещей) и одно - действительное (вес в килограммах). Найти багаж, средний вес одной вещи в котором отличается не более, чем на 0.3 кг от общего среднего веса одной вещи.
Задача 2
-
Предположим, вы работаете в налоговой инспекции. Начальник поручил вам составить программу, которая позволяет ввести информацию о фирмах: название фирмы, количество работающих человек, фонд заработной платы. Информация должна записываться в текстовый файл, причем так, чтобы каждый реквизит писался с новой строки (название - в первой строке, количество работающих - во второй и т.д.). Раз поручили - сделайте такую программу. Создайте с ее помощью текстовый файл, в который введите информацию не менее чем о 10 фирмах.
-
Если Вы справились с предыдущей программой, то создали файл с информацией о фирмах. Тут-то Вам начальник и подкинул следующую задачку. А посчитайте, говорит, среднюю зарплату по каждой фирме, а также определите, сколько всего налоговых поступлений от зарплаты поступит (налог на фонд зарплаты - 38,5%, подоходный с оставшейся суммы - 13%). Составьте такую программу. Результаты работы программы запишите в текстовый файл.
-
Сведения об ученике состоят из его имени и фамилии и названия класса (года обучения и буквы), в котором он учится. Дан файл f, содержащий сведения об учениках школы: выяснить, имеются ли в школе однофамильцы; выяснить, имеются ли однофамильцы в каких-либо параллельных классах.
Задача 3
-
Начальник отдела банка, в котором вы работаете, попросил написать программу, с помощью которой можно было бы удобно вводить информацию о клиентах банка. Информация должна иметь следующую структуру: фамилия клиента, сумма вклада, на какой срок (количество месяцев) положен вклад, под какой процент в месяц. Программа должна записывать данные в файл так, чтобы каждый реквизит записывался в отдельную строку (первая строка - фамилия, вторая -сумма вклада и т.д.). Напишите программу и создайте файл, содержащий не менее 10 клиентов.
-
Увидев, как вы успешно справились с предыдущим заданием, начальник предложил вам составить следующую программу, которая на основе созданного вами файла считает общую сумму вкладов, а также сумму процентов, которую потребуется заплатить за месяц. Результат предложено записать в текстовый файл (с подробными комментариями, конечно).
-
Дан файл f, содержащий сведения о книгах. Сведения о каждой из книг - это фамилия автора, название и год издания. Найти названия книг данного автора, изданных с 1960 г.
Задача 4
-
Предположим, вы работаете в фирме по оптовой продаже продуктов. Начальник вашего отдела поручил вам составить программу, которая позволяет ввести информацию о фирмах-поставщиках: название фирмы, название продукта, поставляемого фирмой, стоимости единицы продукта, стоимость доставки единицы продукта, срок реализации продукта. Информация должна записываться в текстовый файл, причем так, чтобы каждый реквизит писался с новой строки (название фирмы — в первой строке, название продукта - во второй и т.д.). Сделайте такую программу и создайте с ее помощью текстовый файл, в который введите информацию не менее чем о 10 фирмах и об одном продукте.
-
Решив предыдущую задачу, вы создали файл с информацией о фирмах-поставщиках. Тут-то Вам начальник и подкинул следующую задачку. А посчитайте, говорит, в какой фирме продукты получаются дешевле. Вы, несомненно, знаете, что стоимость продукта складывается из стоимости самого продукта и стоимости его доставки. Результаты работы программы запишите в текстовый файл.
-
Дан файл f, компоненты которого являются целыми числами. Получить в файле g все компоненты файла f: а) являющимися четными числами; б) делящиеся на 3 и не делящиеся на 7; в) являющимися точными квадратами.
Задача 5
-
Предположим, вы работаете в больнице в отделе автоматизированных систему управления (АСУ). Начальник поручил вам составить программу, которая позволяет ввести информацию о больных: фамилия, возраст, предполагаемый срок госпитализации (т.е. сколько дней больной будет лежать в больнице). Информация должна записываться в текстовый файл, причем так, чтобы каждый реквизит писался с новой строки (фамилия - в первой строке, возраст - во второй и т.д.). Раз поручили - сделайте такую программу. Создайте с ее помощью текстовый файл, в который введите информацию не менее чем о 10 больных.
-
Убедившись, что вы справились с созданием текстового файла, начальник подкинул вам следующую задачку. А посчитайте, говорит, средний возраст больных и максимальное количество дней, которые больные лежат в больнице. Составьте такую программу. Результаты работы программы запишите в текстовый файл.
-
Сведения об ученике состоят из его имени и фамилии и названия класса (года обучения и буквы), в котором он учится. Дан файл f, содержащий сведения об учениках школы: выяснить, имеются ли однофамильцы в каком-нибудь классе.
Задача 6
-
Так получилось, что вы работаете в компьютерной фирме, занимающейся продажей компьютеров. Начальник поручил вам составить программу, которая позволяет ввести информацию о комплектующих: название, страна-производитель, стоимость. Информация должна записываться в текстовый файл, причем так, чтобы каждый реквизит писался с новой строки (название - в первой строке, страна-производитель - во второй и т.д.). Раз поручили - сделайте такую программу. Создайте с ее помощью текстовый файл, в который введите информацию не менее чем о 10 комплектующих (например. 3 винчестера, 4 процессора, 3 монитора).
-
Убедившись, что вы справились с созданием текстового файла, начальник подкинул вам следующую задачку. А посчитай, говорит, общую стоимость комплектующих из созданного файла, причем отдельно для каждого вида комплектующих. Составьте такую программу. Результаты работы программы запишите также в текстовый файл.
-
Дан файл f, содержащий те же сведения об учениках, что и в предыдущей задаче, и дополнительно отметки, полученные учениками в последней четверти. Собрать в файле g сведения о лучших учениках школы, т.е. об учениках, не имеющих отметок ниже четырех и по сумме баллов не уступающих другим ученикам своего и параллельных классов.
Задача 7
-
Так получилось, что вы работаете в отделе кадров фирмы программистом. Начальник поручил вам составить программу, которая позволяет ввести информацию о сотрудниках: фамилия, должность, возраст (лет), стаж работы в этой фирме (лет) и месячный оклад. Информация должна записываться в текстовый файл, причем так, чтобы каждый реквизит писался с новой строки (фамилия - в первой строке, должность - во второй и т.д.). Вот и сделайте такую программу. Создайте с ее помощью текстовый файл, в который введите информацию не менее чем о 10 сотрудниках.
-
Убедившись, что вы справились с созданием текстового файла, начальник подкинул вам следующую задачку. А посчитай, говорит, средний возраст сотрудников фирмы и сумму денег, которая ежемесячно выдается в виде зарплаты. Информация, разумеется, должна браться из созданного файла. Составьте такую программу. Результаты работы программы запишите также в текстовый файл.
-
Даны символьные файлы f и g. Записать в файл h сначала компоненты файла f, затем – компоненты файла g с сохранением порядка.
Задача 8
-
Так получилось, что вы работаете в компьютерном клубе (Интернет-кафе). Шеф поручил вам составить программу для администратора зала, которая позволяет ввести информацию о клиентах: пол, возраст, время прихода, сколько часов предполагает работать и размер оплаты. Информация должна записываться в текстовый файл, причем так, чтобы каждый реквизит писался с новой строки (пол - в первой строке, возраст - во второй и т.д.). Раз поручили — сделайте такую программу. Создайте с ее помощью текстовый файл, в который введите информацию не менее чем о 20 клиентах.
-
Убедившись, что вы справились с созданием текстового файла, шеф подкинул вам следующую задачку. А составьте программу, которая посчитает количество юношей и девушек, а также приносимую ими сумму денег (отдельно для каждой группы). Результаты работы программы запишите также в текстовый файл.
-
Создать файл, компоненты которого являются целые числа. Вывести на экран компоненты, позиции которых имеют четные номера, а затем – компоненты, позиции которых имеют нечетные номера.
Задача 9
-
Предположим, что вы работаете в информационном отделе завода по производству косметики. Руководитель поручил вам составить программу, которая позволяет ввести информацию о бригадах: номер бригады, ее производительность в смену (количество единиц производимого товара), оплата бригаде за единицу произведенной продукции. Информация должна записываться в текстовый файл, причем так, чтобы каждый реквизит писался с новой строки (номер бригады — в первой строке, производительность - во второй и т.д.). Раз поручили - сделайте такую программу. Создайте с ее помощью текстовый файл, в который введите информацию не менее чем о 10 бригадах.
-
Убедившись, что вы справились с созданием текстового файла, руководитель подкинул вам следующую задачку: а составьте программу, которая посчитает прибыль завода, которую приносит каждая бригада за смену, если бригаде с каждой единицы товара платится 10% ее стоимости. Кроме этого, определите общую сумму прибыли. Результаты работы программы запишите также в текстовый файл.
-
Организовать файл вещественных чисел из N компонент. Заменить все положительные компоненты файла их квадратными корнями, а все отрицательные компоненты их квадратами. Вывести содержимое файла до обработки и после обработки.
Задача 10
-
Предположим, что вы работаете в информационном отделе мастерской по ремонту бытовой техники. Начальник поручил вам составить программу, которая позволяет ввести следующую информацию: 1) название техники, сданной в ремонт, 2) инвентарный номер; 3) сколько дней должен длиться ремонт; 4) сколько дней реально прошло; 5) стоимость ремонта. Информация должна записываться в текстовый файл, причем так, чтобы каждый реквизит писался с новой строки (название — в первой строке, дней на ремонт - во второй и т.д.). Раз поручили — сделайте такую программу. Создайте с ее помощью текстовый файл, в который введите информацию не менее чем о 15 единицах бытовой техники.
-
Убедившись, что вы справились с созданием текстового файла, начальник подкинул вам следующую задачку: а составьте программу, которая выведет список оборудования, которое следует к сегодняшнему дню отремонтировать (3 и 4 параметры должны быть равны). Кроме этого, определите общую сумму прихода денег за ремонт занесенной в файл бытовой техники. Результаты работы программы запишите также в текстовый файл.
-
Организовать файл целых чисел из N компонент. Определить и вывести на экран максимальное число в файле.