Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Варіанти індивідуальних завдань. 1. Кожний елемент вхідного файлу має таку структуру:



 

1. Кожний елемент вхідного файлу має таку структуру:

<прізвище>, <номер групи>, <оцінка 1>, <оцінка 2>, <оцінка 3>.

При цьому прізвище має не більше 12 символів, номер групи – ціле від 101 до 116, кожна оцінка – це 2,3,4 або 5. Перша оцінка – за екзамен по матаналізу, друга – по фізиці, а третя – по програмуванню. Дані по студентах відокремлюються знаком «;». Необхідно написати програму, яка виводить наступну інформацію:

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

1.2. «Якість» навчання, тобто процент студентів, які здали всі екзамени на 5 та 4;

1.3. Назву дисципліни, успішність за якою найкраща;

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

 

2. Вхідний файл зберігає наступну інформацію по студентах:

<прізвище>, <ім’я>, <по-батькові>, <рік народження>, <курс>, <стать>,

причому прізвище, ім’я та по-батькові мають не більше 12 символів, стать – вказується символами Ч та Ж, рік народження – ціле з 4 цифр, курс – ціле від 1 до 5. Дані по студентах відокремлюються знаком «;».

Необхідно написати програму, яка виводить наступну інформацію:

2.1. Номер курсу, на якому найбільша кількість чоловіків;

2.2. Найбільш розповсюджене чоловіче та жіноче ім’я;

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

2.4. Прізвища (у алфавітному порядку) та ініціали студентів, по-батькові яких найбільш розповсюджені.

 

3. Вхідний файл включає текст із цифр та строкових латинських букв, за якими стоїть символ «.». Необхідно визначити, яких гласних (а, е, і, o, и) або негласних – більше у цьому тексті.

 

4. Вхідний файл включає текст, за яким стоїть знак «.». Необхідно у алфавітному порядку надрукувати усі гласні та окремо негласні букви, які входять до цього тексту.

 

4.4 Контрольні питання та завдання

 

1. Яким чином представляються символьні змінні?

2. Що таке текстові строки? Як вони описуються?

3. Назвіть та приведіть прототипи операцій відкриття та закриття файлу.

4. Як виконується діагностування помилок при відкритті та закритті файлу: функція ferror?

5. Надайте приклади використання функцій бінарного читання та запису fread, fwrite?

6. Які дії виконує функція fclose?

7. Які дії виконують функції форматного введення-виведення fscanf, fprintf?

8. Які правила використання функцій текстового перетворення sscan, sprint?

9. Яким чином виконується посимвольне введення-виведення даних? Наведіть приклади.

10. Яким чином виконується построкове введення-виведення даних? Наведіть приклади.

11. Які функції можна застосовувати для роботи з текстами?

12. Які функції можна застосовувати для роботи з текстовими строками?

 

 

5 ВИВЧЕННЯ МОЖЛИВОСТЕЙ МОВИ С++ ПРИ РОБОТІ З МАСИВАМИ ТА ЗАПИСАМИ

 

Мета роботи

Вивчення можливостей мови С++ при роботі з масивами та записами. Отримання практичних навичок використання можливостей роботи з масивами та записами при вирішенні практичних завдань.

5.2 Організація самостійної роботи студентів

 

Під час підготовки до виконання лабораторної роботи необхідно вивчити індивідуальне завдання (п. 5.3), виконати розробку алгоритму вирішення задачі та підготовити текст програми щодо реалізації розробленого алгоритму, підготовити відповідні розділи звіту та вивчити відповідний теоретичний матеріал, який викладено у лекціях: „Технологія роботи із масивами та записами у С++”, „Символьні та логічні змінні і вирази. Масиви та текстові строки”, та у наступних підручниках і навчальних посібниках [1, 4, 5, 7, 8].

Структура даних — це виконавець, що організує роботу з даними, включаючи їхнє зберігання, додавання та вилучення, модифікацію, пошук та інше. Структура даних підтримує певний порядок доступу до них. Структуру даних можна розглядати як свого роду склад або бібліотеку. При описі структури даних потрібно перелічити набір дій, які можливі для неї, та чітко описати результат кожної дії. Такі дії називаються приписами. Із програмної точки зору, системі приписів структури даних відповідає набір функцій, які працюють над загальними змінними.

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

Оперативна пам'ять із погляду програміста — це масив елементів. Будь-який елемент масиву можна прочитати або записати відразу, за одну елементарну дію. Масив можна розглядати як найпростішу структуру даних. Структури даних, у яких можливий безпосередній доступ до їхніх елементів, називають структурами даних із прямим, або з довільним доступом (по-англійському random access). Поряд з масивом, структурою даних із прямим доступом є множина. В інших структурах даних безпосередній доступ можливий лише до одному або декількох елементам, для доступу до інших елементів треба виконати додаткові дії. Такі структури даних називаються структурами послідовного доступу. Прикладом структури послідовного доступу є магнітофон, на яких записані пісні. У будь-який момент можна прослухати лише чергову пісню. Щоб добратися до інших музичних фрагментів, треба перемотати стрічку вперед або назад.

З логічної точки зору, масивом є найважливіша складова комп'ютера – магнітний диск. Елементарною одиницею зчитування та запису для магнітного диска є блок. Розмір блоку залежить від конструкції конкретного диска, звичайно він кратний 512. За одну елементарну операцію можна прочитати або записати один блок із заданою адресою.

Отже, найбільш важливі запам'ятовувальні пристрої комп'ютера – оперативна пам'ять та магнітний диск – представляють собою масиви. Робота з елементами масиву здійснюється винятково швидко, всі елементи масиву доступні без усяких попередніх дій. Але масивів недостатньо для написання ефективних програм. Наприклад, пошук елемента в масиві, якщо його елементи не впорядковані, неможливо реалізувати ефективно: не можна винайти нічого кращого, крім послідовного перебору елементів. У випадку впорядкованого зберігання елементів можна використовувати ефективний бінарний пошук, але ускладнення виникають при додаванні або вилученні елементів у середині масиву, що призводять до масових операцій, тобто операціям, час виконання яких залежить від числа елементів структури. Від цих недоліків вдається позбутися, реалізуючи множину елементів на базі збалансованих дерев або хеш-функції.

Є й інші причини, відповідно до яких необхідно використовувати більше складні, ніж масиви, структури даних. Логіка багатьох задач вимагає організації певного порядку доступу до даних. Наприклад, у випадку черги елементи можна додавати тільки в кінець, а забирати тільки з початку черги; у стеку доступні лише елементи у вершині стека, у списку — елементи до та за покажчиком.

Нарешті, масив має обмежений розмір. Збільшення при необхідності розміру масиву призводить до переписування його вмісту в захоплену область пам'яті більшого розміру, тобто знову ж до масової операції. Від цього недоліку вільні посилальні реалізації структур даних: реалізації на основі лінійних списків або на основі дерев.

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

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.