Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Звіт 1 - посл версия.doc
Скачиваний:
1
Добавлен:
24.08.2019
Размер:
1.91 Mб
Скачать

Звіт виконання лабораторної роботи 1

Структури, об’єднання та бінарні файли”

Виконала студентка групи ІС-12 ФІОТ

Кафедри Автоматизованих систем обробки інформації та управління (АСОІУ)

Лещенко Катерина Сергіївна

Варіант № 16

  1. Мета роботи

  • Вивчити особливості використання структур, об’єднань та файлів.

  • Навчитися застосовувати структури, об’єднання, файли в програмуванні.

  1. Умова задачі

Створити масив структур. Кожна структура складається з таких елементів: споживач і продукт. Для споживача задати його прибуток. Для продукту задати ціну, рівень корисності продукту (функцію корисності задати у довільному вигляді). Створений масив записати до бінарного файла. Передбачити можливість доповнити файл, замінити дані в файлі, видалити дані з файлу. Реалізувати запити, визначивши: 1) продукти заданого рівня корисності, які може придбати споживач при заданому прибутку; 2) сумарну вартість продуктів з максимальним рівнем корисності; 3) споживачів, прибутків яких не вистачає для придбання продуктів за заданою ціною і рівнем корисності.

  1. Б лок-схема алгоритму

  1. Г оловна функція:

так

ні

Чи обрано 1?

Чи обрано 2?

так

ні

так

Чи обрано 3?

так

ні

Чи обрано 4?

ні

Чи обрано 5?

так

ні

так

Чи обрано 6?

так

ні

Чи обрано 7?

ні

Чи обрано 8?

так

так

ні

Чи обрано 9?

так

ні

Чи обрано 10?

Виконання запиту 2

ні

Чи обрано 11?

так

Виконання запиту 3

так

ні

Чи обрано 12?

Ознака виходу з програми

ні

так

ні

  1. Функція запису даних у новий файл:

  1. Функція запису даних у активний файл:

Записати структуру споживача у файл

Записати структуру продукта у файл

Ознака існування даних у файлі

  1. Функція відкриття існуючого файла:

Закрити файл

Ознака існування даних у файлі

  1. Функція відкриття файла на читання:

Straight Connector 230 Flowchart: Process 231

Straight Connector 232

Flowchart: Decision 233

так

ні

Straight Connector 234 Straight Connector 242

Flowchart: Process 237

Flowchart: Data 243

Straight Connector 239

Flowchart: Process 245

  1. Функція читання файла (виведення даних на екран):

Straight Connector 251

Straight Connector 251

Flowchart: Decision 249

так

ні

Straight Connector 252 Straight Connector 253 Straight Connector 254

Flowchart: Decision 249

ні

так

Straight Connector 253

Straight Connector 253

так

ні

Закрити файл

Закрити файл

  1. Функція очищення файла:

Flowchart: Decision 303

так

ні

Straight Connector 309 Straight Connector 307

Flowchart: Process 310

так

Flowchart: Decision 312

Straight Connector 318 Straight Connector 319 Flowchart: Process 321

ні

Straight Connector 313

Flowchart: Data 314

Закрити файл

Straight Connector 319

Ознака відсутності даних у файлі

Flowchart: Data 323

Straight Connector 322

  1. Функція видалення структури споживача чи продукта:

Flowchart: Decision 329 Straight Connector 328

так

ні

Straight Connector 333

Flowchart: Decision 338

ні

Straight Connector 339 Straight Connector 340

так

Flowchart: Data 341 Straight Connector 347

Закрити файл

Flowchart: Process 343

Відкрити в режимі читання та запису

Straight Connector 342

Встановити перший лічильник рівним 0

так

ні

Збільшити лічильник на 1

Встановити другий лічильник рівним 0

так

ні

Запам’ятати поточну позицію у файлі

Зсунутися у файлі на дві структури вліво (зсуваємося від початку файла на кіль-ть структур, що = сумі лічильників)

Повернутися на позицію, що запам’ятали

Збільшити другий лічильник на 1

Закрити файл

Зменшити його розмір на розмір 1 структури

  1. Функція додавання у файл структур:

Straight Connector 328

так

ні

Straight Connector 395 Straight Connector 394 Straight Connector 393

Закрити файл

Відкрити файл в режимі додавання

ні

так

так

так

ні

ні

ні

ні

так

так

Закрити файл

  1. Функція зміни всіх даних у файлі:

так

ні

Flowchart: Process 442

Flowchart: Process 442

Flowchart: Predefined Process 444

Straight Connector 443

Flowchart: Process 446

  1. Функція зміни однієї структури (споживача чи продукта):

Відкрити файл в режимі читання та запису

так

ні

ні

так

Закрити файл

так

ні

Збільшити лічильник на 1

так

ні

так

ні

Закрити файл

Закрити файл

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

так

ні

ні

так

Закрити файл

так

Чи знайдено споживачів з таким прибутком?

так

ні

Чи зчитана

структура – споживач і його прибуток дорівнює заданому?

ні

ні

так

Закрити файл

Перейти до початку файла

так

ні

Чи зчитана структура – продукт, його корисність = заданій та вартість <= прибутку споживача?

ні

так

ні

так

Відновити позицію у файлі

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

Встановити інтегровану вартість та max корисність рівними нулю

Flowchart: Decision 329

так

ні

Straight Connector 335 Straight Connector 334 Straight Connector 333

Flowchart: Data 341

ні

Flowchart: Decision 338

Straight Connector 339

так

Закрити файл

так

ні

Перейти до початку файла

ні

так

так

Прирівняти max корисність до цієї

ні

так

збільшити інт. вартість на ціну цього продукта

Закрити файл

ні

  1. Функція знаходження споживачів, чиїх прибутків не вистачає для придбання продуктів з певною ціною та корисністю:

Встановити вартість продуктів, що підходять, рівною нулю

так

ні

Flowchart: Decision 329

Straight Connector 333 Flowchart: Data 341

ні

Straight Connector 339

Flowchart: Data 341

так

Закрити файл

Flowchart: Decision 329

так

Перейти до початку файла

Чи зчитана структура – продукт і його ціна та корисність співпадають із заданими?

ні

Flowchart: Decision 329

так

так

Збільшити вартість продуктів, що підходять, на задану ціну

так

ні

Чи зчитана структура – споживач і його прибуток менший за вартість продуктів, що підходять?

так

ні

ні

Закрити файл