asyan.org
добавить свой файл
1
Лабораторна робота 1 РОБОТА ЗІ СТРУКТУРАМИ.

Варіанти завдань І частина

  1. Розробити програму, що дозволяє визначити, чи є в школі два учні, які мають одне ім'я і прізвище. Дані про учня йдуть у такому порядку: ім'я, прізвище, клас (рік навчання - буква). Якщо прізвище або ім'я записується менш ніж 15 буквами, то кінцеві елементи, що залишилися, - пропуски. Дані про різних учнів йдуть у деякій послідовності, про яку заздалегідь нічого не­відомо. Передбачається, що в школі навчаються 500 учнів.

  2. Розробити програму, що дозволяє визначити, чи є однофамільці, які навчаються в одному класі. Дані про учня йдуть у такому порядку: ім'я, прі­звище, клас (рік навчання - буква). Якщо прізвище або ім'я записується менш ніж 15 буквами, то кінцеві елементи, що залишилися, - пропуски. Дані про різних учнів подані у деякій послідовності, про яку заздалегідь нічого неві­домо. Передбачається, що в школі навчаються 500 учнів.

  3. У магазині "Іграшка" є асортимент дитячих іграшок, який має такі характеристики: назва іграшки (лялька, конструктор, кубики та ін.), ціна (у гривнях) і вікові межі (молодший вік, старший вік). Розробити програму, за допомогою якої видаються такі відомості:

  • назви іграшок, вартість яких не перевищує 4 грн і які призначені для дітей 5 років;

  • вартість найдорожчого конструктора;

  • назви іграшок, розрахованих як на дітей 4 років, так і дітей 10 років.

  1. Відомості про автомобіль складаються з назви його марки, номера, прізвища власника. Дано відомості про 20 автомобілів. Розробити програму, що дозволяє знайти:

  • прізвища власників і номери автомобілів даної марки;

  • кількість автомобілів кожної марки.

  1. Узявши спосіб зображення раціонального числа у вигляді запису з двома полями: чисельник, знаменник, розробити програму, що дозволяє:

  • визначити, чи є серед 50‘раціональних чисел рівні;

  • обчислити найбільші із заданих раціональних чисел (числа не обов'яз­ково мають нескоротну форму).

  1. Багаж кожного пасажира характеризується числом речей і загальною вагою. Розробити програму, що дозволяє:

  • з'ясувати, чи є серед 80 пасажирів такий, чий багаж перевищує багаж кожного з останніх пасажирів і за кількістю речей, і за вагою;

  • знайти багаж, в якому середня вага однієї речі відрізняється не більше ніж на 0,3 кг від загальної середньої ваги речей.

  1. Надані відомості про товари, що експортуються: найменування, кра­їна, обсяг партії в штуках. Розробити програму, яка дозволяє знайти країни, в які експортується даний товар, і загальний обсяг його експорту.

  2. Дано довідник, який містить номери телефонів співробітників уста­нови, їх прізвища, ініціали. Розробити програму, яка дозволяє знайти теле­фон співробітника за його прізвищем та ініціалами. Передбачити випадок на­явності однофамільців з однаковими ініціалами.

  3. В універмазі у відділі іграшок продаються кубики. Відомі їх розмір (довжина ребра в сантиметрах), колір ( червоний, жовтий, зелений або синій), матеріал (дерево, пластмаса, картон, хутро). Розробити програму, яка дозволяє знайти кількість:

  • кубиків кожного з перерахованих кольорів та їх сумарний об'єм;

  • дерев'яних кубиків із ребром 3 см і металевих кубиків із ребром біль­ше 5 см.

  1. Дано відомості про речовини, що зберігаються на складі: назва, пи­тома вага, провідність (провідник, напівпровідник, ізолятор). Розробити про­граму, що дозволяє:

  • знайти назву та питому вагу всіх напівпровідників;

  • вибрати дані про провідники й упорядкувати їх за убуванням питомої

ваги.

  1. У магазині "Іграшка" є асортимент дитячих іграшок, який має такі характеристики: назва (лялька, конструктор, кубики та ін.), ціна (у копійках) і вікові межі (наприклад, від 2 до 5 років і так далі). Розробити програму, яка дозволяє:

  • отримати назви іграшок, призначених як для дітей 10 років, так і для дітей 4 років;

  • з'ясувати, чи можна підібрати іграшку, будь-яку, окрім м'яча, призна­чену для дитини 3 років, і додатково м'яч так, щоб сумарна вартість іграшок не перевищувала 25 грн.

  1. У вхідному файлі записана така інформація про кожного з 50 спорт­сменів: прізвище, стать, вік, вид спорту, результат, причому в прізвищі має бути не більше 12 букв, стать зазначається буквами "ч" або "ж", вік - ціле число від 16 до 35, вид спорту - не більше 12 позицій, результат - дійсне число. Відомості про спортсменів відокремлені крапкою з комою.

Використовуючи комбінований тип даних, розробити програму, яка вводить цю інформацію і друкує такі дані:

  • для кожного виду спорту - кращий результат і прізвище спортсмена (окремо для жінок і чоловіків);

  • для кожного виду спорту - прізвище і результат найстаршого спортсмена;

  • найменування найбільш популярних видів спорту серед чоловіків і жінок.

  1. Анкета школяра включає: прізвище, вік, номер школи, клас і оцінки з 4 предметів. Розробити програму, яка дозволяє:

  • визначити номер школи, в якій навчається найуспішніший учень із 10-х класів;

  • вказати клас, учні якого мають "З" не більш ніж з одного предмета.

  1. Дано 100 оформлених бланків вимог до книги з відомостями: шифр, автор, назва, відомості про читача (номер читацького квитка, прізвище, дата замовлення). Розробити програму, яка дозволяє:

  • отримати інформацію про те, скільки читачів замовили одну й ту ж книгу;

  • вказати прізвище читача, який замовив найбільшу кількість книг у да­ний день.

  1. На першому курсі в 2-му семестрі передбачено проведення 60 семі­нарських занять. Відомості про семінар включають: предмет, прізвище ви­кладача, номер групи, день тижня, початок заняття, аудиторію. Розробити програму, що дозволяє:

  • з'ясувати, з яких предметів у кожної групи є семінар в середу;

  • отримати інформацію про те, в якої групи на даному тижні найбільша кількість семінарських занять.

  1. Екзаменаційна відомість містить: назву предмета, номер групи, дату іспиту, 25 рядків із полями: прізвище студента, номер залікової книжки, оці­нку. Розробити програму, яка дозволяє:

  • отримати інформацію про студентів даної групи, які склали всі іспи­ти на "відмінно";

  • вказати неуспішних студентів, які отримали "2" хоча б на одному іспиті;

  • вказати предмет, з якого успішність найвища.

  1. Дано список 15 мешканців: прізвище, місто, адреса (вулиця, буди­нок, квартира). Розробити програму, що дозволяє визначити прізвища двох мешканців із списку, які живуть у різних містах за однаковою адресою.

  2. Дано відомості про групу: ім'я, стать, зріст. Розробити програму, яка дозволяє визначити:

  • середній зріст жінок у групі;

  • ім'я найвищого чоловіка в групі;

  • чи є в групі хоча б дві людини однакового зросту.

  1. Відомості із записника: прізвище, номер телефону. Вважаючи, що на кожній сторінці зазначені прізвища, які починаються з однієї і тієї ж букви, розробити програму, що дозволяє:

  • середній зріст жінок у групі;

  • визначити, чи є в книжці відомості про людину на прізвище Гупало;

  • знайти прізвище людини, номер телефону якої 777-55-55.

З

  1. Інформація про підсумки сесії на 1-му курсі: прізвище (12 букв), група (ціле число від 1 до 16), чотири оцінки ("2", "З", "4", "5"). Усього 100 студентів. Розробити програму, яка дозволяє знайти:

  • прізвища студентів, які мають хоч би одну "2";

  • якість успішності, тобто відсоток студентів, які склали всі іспити на "4", "5";

  • назву предмета, який був складений найкраще;

  • номери груп за порядком убування середньої успішності.

II частина

type число=1..31; місяць=1..12; рік=1..2020;

дата=record ч: число; м: місяць; р: рік; end;

день_тижня=(пн, вт, ср, чт, пт, сб, нд);

Вважаючи, що всі дати подані за григоріанським календарем ("за новим стилем"), описати і викликати:

  1. функцію останнє_число (d), яка обчислює кількість днів у тому місяці, якому належить дата d;

  2. логічну функцію правильна_дата (d), яка перевіряє правильність дати d (тобто, щоб не було 31 червня і т. ін.);

  3. функцію ЧД 1(d), яка рахує, скільки днів минуло від 1-го січня 1-го року нашої ери до дати d;

  4. функцію ДТ(ё) для визначення дня тижня, на який припадає дата d (врахувати, що 1-го січня 1-го року нашої ери був понеділок);

  5. функцію ЧД2(гі), яка рахує, скільки днів залишилося від дати d до 31 -го грудня 2020-го року.

^ Варіанти 6-10

У вхідному файлі записана інформація про 50 автомобілів:

<марка>, <номер>, <колір>, <рік випуску>, <власник>, <швидкість>, причому в найменуванні марки, кольорі, імені власника міститься не більше 12 букв, номер - ціле число від 0000 до 9999, рік випуску - ціле від 1980 до 2008, швидкість - дійсне від 0,0 до 200,0. Відомості про автомобілі відокрем­лені знаком

Використовуючи комбінований тип даних, розробити програму, яка вводить цю інформацію і друкує такі дані:

  1. найменування найрозповсюдженішої марки автомашини та наймену­вання найбільш популярного кольору автомобіля цієї марки;

  2. прізвища власників двох і більше автомобілів одного кольору;

  3. номера найбільш старих автомобілів кожної марки;

  4. середню швидкість автомобілів кожного кольору;

  5. рік випуску найшвидшого автомобіля кожної марки.

Варіанти 11-15

У вхідному файлі записана інформація про 50 спортсменів:

<прізвище>, <стать>, <вік>, <вид спорту>, <результат>, при цьому у прізвищі, виді спорту - не більше 12 букв, стать зазначається буквами Ч і Ж, вік - ціле від 16 до 35, результат - дійсне. Відомості про спортсменів відо­кремлені знаком

Використовуючи комбінований тип даних, розробити програму, яка вводить цю інформацію і друкує такі дані:

  1. для кожного виду спорту - кращий результат і прізвище спортсмена (окремо для жінок і чоловіків);

  2. для кожного виду спорту - прізвище і результат найстаршого спорт­смена;

  3. найменування найбільш популярних видів спорту серед чоловіків і жінок;

  4. середній вік спортсменів, які мають найкращі результати з кожного виду спорту;

  5. прізвище наймолодшого спортсмена, який має найкращий результат з якого-небудь виду спорту.

^ Варіанти 16-20

У вхідному файлі записана інформація про підсумки зимової сесії на 1- му курсі. Відомості про 60 студентів-першокурсників задані у такому вигляді: <прізйище>, <номер групи>, <оцінка1>, <оцінка2>, <оцінкаЗ>, при цьому у прізвищі - не більше 12 букв, номер групи - ціле число від 101 до 105, кожна оцінка - це "2", "З", "4", "5", причому перша оцінка - за екзамен з програмування, друга - з алгебри, третя - з математичного аналізу. Відомості про студентів відокремлені знаком

Використовуючи комбінований тип, розробити програму, яка вводить цю інформацію і друкує такі дані:

  1. прізвища студентів, які мають заборгованість хоч з одного предмета;

  2. "якість" навчання, тобто процент студентів, які поскладали всі екза­мени на "4" і "5";

  3. найменування предмета, який був складений найкраще;

  4. номери груп за порядком зменшення середньої успішності їх студентів;

  5. прізвища студентів-відмінників.

Варіанти 21-25

У вхідному файлі записана інформація про 50 студентів університету: <прізвище>, <ім'я>, <по батькові>, <стать>, <вік>, <курс>, при цьому у прізвищі, імені, по батькові - не більше 12 букв, стать указується буквами Ч і Ж, вік - ціле число від 16 до 35, курс - ціле число від 1 до 5. Відомості про студентів відокремлюються

Використовуючи комбінований тип, розробити програму, яка вводить цю інформацію і друкує такі дані:

  1. номер курсу із найбільшим процентом чоловіків;

  2. найбільш поширені чоловіче та жіноче імена;

  3. прізвища (в алфавітному порядку) та ініціали всіх студентів, вік і по батькові яких є одночасно найпоширенішими;

  4. середній вік студентів і студенток на кожному курсі;

  5. відомості про всіх однофамільців.

Зміст звіту

  1. Постановка завдання.

  2. Аналіз завдання (опис структурної блок-схеми алгоритму).

  3. Протокол роботи програми (набір вхідних тестових даних і результати ро­зрахунків).

  4. Лістинг програми.