Робота з файлами

Описание:
Доступные действия
Введите защитный код для скачивания файла и нажмите "Скачать файл"
Защитный код
Введите защитный код

Нажмите на изображение для генерации защитного кода

Текст:

МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ

ХАРКІВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ
БУДІВНИЦТВА ТА АРХІТЕКТУРИ

Кафедра економічної кібернетики та інформаційних технологій

КУРСОВА РОБОТА

з інформатики

На тему: «Робота з файлами»

Студентки І курсу групи ЕКБ-11

Напряму підготовки 6.030502

«Економічна кібернетика»

Мірошнікової К. А.

Керівник: доцент Литвиненко Є. М

Національна шкала ___________

Кількість балів:________ Оцінка: ECTS_____

Члени комісії _________ ______________________

(підпис)        (прізвище та ініціали)

_________ ______________________

(підпис)        (прізвище та ініціали)

_________ ______________________

(підпис)        (прізвище та ініціали)

Харків 2016

ЗМІСТ

ВСТУП…………………………………………………………………….3

РОЗДІЛ 1. ПОСТАНОВКА ЗАДАЧІ……………………………………4

РОЗДІЛ 2. ТЕОРЕТИЧНА ЧАСТИНА………………………………….5 

2.1. Аналіз предметної області…………………………………5

2.2. Розробка алгоритмів…………………………………....…..6  

РОЗДІЛ 3. ПРАКТИЧНА ЧАСТИНА…………………………………..13   

3.1.                        Технічне завдання………………………………………….13

3.2.                        Опис програми……………………………………………..14  

3.3.                        Керівництво користувача………………………………….16  

ВИСНОВКИ………………………………………………………………19

СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ……………………………20  

ДОДАТКИ…………………………………………………………………21 

ВСТУП

На сьогоднішній день інформаційні технології відіграють не останню роль у житті суспільства.

ІТ-технології використовуються  у різних сферах життя людини.

 Зараз комп’ютерними системами застосовуються на великих та малих підприємствах, у державних структурах, в навчальних закладах тощо.

Актуальність теми до курсової роботи полягає в тому, що на ринку мобільних операторів комп’ютерні системи використовуються частіше, ніж на будь-яких інших підприємствах, а програмами по встановленню особистих даних володаря номеру мобільного телефона користуються в багатьох структурах.

Об’єктом дослідження є зберігання інформації об абонентах у комп’ютерних системах.

Предметом дослідження є обробка та зберігання інформації об абонентах у типізованому файлі.

Мета дослідження – це створення програмного забезпечення для створення та обробки інформації об абонентах.

РОЗДІЛ 1

ПОСТАНОВКА ЗАДАЧІ

Створити типізований файл, що містить зведення телефони абонентів. Кожен запис має поля – прізвище абонента, рік установки телефону, номер телефону. Кількість записів – довільна. Визначити кількість встановлених телефонів із ХХХХ року. Номер року вводиться з термінала.

Реалізувати пошук абонента по номеру або року установки (синтаксичний аналізатор).

РОЗДІЛ 2

ТЕОРЕТИЧНА ЧАСТИНА

2.1. Аналіз предметної області

Файл — це самостійна послідовність символів, записана в постійну пам"ять комп"ютера. Це певна виділена  область інформації.

Існування файлів не залежить від  роботи якої-небудь програми і вони нікуди не зникають навіть при включенні і виключенні комп"ютера.

Файли можуть зберігати в собі різну інформацію. Це тексти, програми, віруси, картинки, інтернет сторінки і так далі.

Не завжди зручно користуватися командним рядком при введенні і виведенні інформації в програмі.  Наприклад:

·         необхідно зберігати вихідні дані при відладці;

·         велика кількість вхідних даних;

·         багатократне введення однієї і тієї ж інформації, з мінімальними змінами або зовсім без змін;

В цих і деяких інших випадках корисним є уміння працювати  з файлами [1].

Уведення даних з джерела, яке знаходиться поза зоною самої програми є альтернативою інтерактивному режиму (введення даних у програму через клавіатуру).

Такий спосіб уведення зазвичай називають зчитуванням даних з файлу [2]. 

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

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

Наприклад, для поля, що містить прізвище абонента слід вказати один з текстових типів даних. Прізвища людей, як правило містять до 15 (максимум до 20) символів, тому треба обмежити кількість символів до 20.

Якщо розглядати поле «Рік реєстрації», то можна використати такий тип числових даних, який не буде містити діапазон дійсних чисел. Тобто краще використати типи цілих змінних. Рік буде складатися з чотирьох цифр (починаючи з 1970 року до 2016, бо інші значення (тобто більше або менше вказаного діапазону) не мають сенсу).

Телефонний номер містить у собі набагато більшу кількість цифр, ніж рік встановлення, тому для цих даних необхідний такий тип цілих змінних (тип дійсних змінних не має сенсу використовувати, бо номер не містить знаків після коми; до того ж тип цілих змінних буде займати більше місця у пам’ять комп’ютерної системи), який складається як мінімум з 10 цифр. (Це у тому випадку, коли номер, який вводиться користувачем, починається з «097», у залежності від мобільного оператора).

Ці обмеження встановлюються для зручності при написанні програми та для економії пам’яті комп’ютера.

2.2. Розробка алгоритмів

Для виконання завдання розробимо чіткий алгоритм дій. Алгоритм розбитий на основну частину та кілька окремих задач, які є підпунктами основної частини.

Однією з задач є введення даних у файл, алгоритм якої представлено на рис. 2.1.

Рис. 2.1 – Введення даних

Потім розробляється алгоритм виведення на екран всієї інформації у файлу.

Користувачу потрібно ввести ім’я файлу, який він хоче переглянути. Після цього на екрані з’явиться вся введена раніше інформація.

Рис. 2.2 – Вивід інформації на екран

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

Рис. 2.3 - Встановлення кількості номерів телефонів

За завданням курсової роботи потрібно розробити синтаксичний аналізатор, тобто користувач сам обирає, за яким критерієм хоче здійснити пошук: за номером або роком. Алгоритм синтаксичного аналізатору представлений на рис. 2.4.

Рис. 2.4 – Пошук інформації у файлі за потрібним критерієм

Коли вже знайдено критерій, за яким потрібно здійснити пошук (за номером або роком), треба встановити, за якими знаками він відбувається: «=», «<» або «>». Алгоритм даної процедури показано на рис. 2.5.

Рис. 2.5 – Пошук інформації за знаками

Основна частина програми складається головного меню та виклику потрібних процедур. Усього в головному меню є п’ять варіантів дій: створити файл, вивести інформацію з файлу на екран, знайти кількість номерів, здійснити пошук за номером або роком встановлення номера та вихід з програми. Алгоритм головного меню представлений на рис. 2.6.

Рис. 2.6 – Головне меню

РОЗДІЛ 3

ПРАКТИЧНА ЧАСТИНА

3.1. Технічне завдання

3.1.1 Підстава для розробки. Розробка проводиться на підставі курсової роботи з дисципліни «Інформатика». Організація, що затверджує документи, на підставі яких проводиться розробка: Харківський національний університет будівництва та архітектури.

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

Дану програму можна застосувати у таких сферах, як:

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

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

- інформаційний центр;

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

3.1.4. Вимоги до інтерфейсу. Основна частина програми (меню) повинна складатися з таких пунктів: створення нового файлу, виведення на екран інформації, яка зберігається у файлі; визначення кількості номерів, встановлених з ХХХХ року; пошук абонента за номером або роком встановлення номеру та вихід з програми.

3.1.5. Вимоги до захисту. Дана програма не потребує певної системи захисту. Інформація, яка буде введена користувачем, є загальнодоступною.

3.1.6. Вимоги до програмного забезпечення. Системні вимоги: ОС (оперативна система) 98/МЕ/2000/ХР/Vista/7/10. Вимоги до продуктивності: час відповіді <= 3 секунди. Вимоги до верифікації:  програма тестується за рахунок введення заздалегідь складених неправильних даних та реакції програми на ці дані; програма працює справно, якщо реакція на неправильні дані була негативною (програми видає помилку). Апаратне забезпечення: наявність 3 МБ вільного місця на жорсткому диску. Вимоги до надійності супроводу: у разі виявлення помилок розробник зобов’язується виправити помилки протягом 5 днів. Вимоги до мобільності: програма повинна функціонувати на всіх пристроях, які мають вищезгадані функціональні вимоги. Вимоги до практичного завдання: мінімальний обсяг даних, який може бути загублений при аварійних збоях, це інформація, яка зберігалася у файлі під час його використання. Вимоги до приймальних іспитів: програма тестується розробником особисто.

3.2. Опис програми

Програма складається з її основної частини та шести підпрограм.

Прізвище абонента має тип даних string, який обмежений 20 символами; рік встановлення містить тип integer; номер абонента має тип longint.

Процедура Vvod. Відповідає за введення даних типізований файл. Вхідними даними є ім’я нового файлу, прізвище абонента, рік встановлення номеру та номер телефону. По закінченню ми отримали типізований файл з інформацією про абонентів. Алгоритм введення даних у файл представлений на рис. 2.1.

Процедура Otcr (процедура для виведення інформації на екран). Вхідними даними є ім’я файлу, інформацію з якого потрібно вивести. Вихідними даними є прізвища, роки встановлення номерів та номери телефонів усіх абонентів, які зберігаються в даному файлі. Алгоритм цієї процедури представлений на рис. 2.2.

Процедура Rok. Підраховує кількість номерів телефонів, встановлених з указаного користувачем року. Вхідними даними є ім’я файлу, за даними якого здійснюється пошук та рік, з якого будуть рахуватися встановлені номери. Вихідними даними є кількість номерів, встановлених з вказаного року. Алгоритм процедури представлений на рис.  2.3.

Процедура Poisk. Розпізнає, який знак стоїть між словами: «=», «<» чи «>». Розбиває строку пошуку на слово, що стоїть до знаку та число, яке стоїть після знаку. За словом, яке стоїть перед знаком, здійснюються процедури пошуку даних абонента за номером або роком встановлення. Вхідними даними є критерії, за якими здійснюється пошук. Якщо інформація, введена у строку пошуку не відповідає потрібним критеріям, програма виведе на екран слово ERROR. Алгоритм процедури представлений на рис. 2.4.

Процедура Nomer. Здійснює пошук номеру телефону в залежності від знаку, який стоїть після слова «Номер». Вхідними даними є ім’я файлу, з якого здійснюється пошук. Вихідними даними є прізвище абонента, його номер телефону та рік встановлення. Алгоритм процедури наведен на рис. 2.5.

Процедура God. Здійснює пошук року встановлення телефону в залежності від знаку, який стоїть після слова «Год». Вхідними даними є ім’я файлу, з якого здійснюється пошук. Вихідними даними є прізвище абонента, його номер телефону та рік встановлення. Алгоритм процедури представлений на рис. 2.5.

Алгоритм реалізації основної частини програми представлений на рис. 2.6. Вхідними даними є номер варіанта дії. Результатом є виклик потрібної процедури.

3.3. Керівництво користувача

Для того, щоб розпочати роботу, потрібно відкрити файл kyrsova.

При відкритті файлу перед користувачем з’являться п’ять пунктів головного меню, представлені на рис. 3.1.

Рис. 3.1 – Пункти головного меню

Щоб обрати дію, потрібно ввести відповідну цифру та натиснути Enter.

Якщо користувач обрав «створити новий файл», він повинен ввести ім’я нового файлу та інформацію, яка запитується у користувача (рис. 3.2).

Рис. 3.2 – Введення даних у типізований файл

Якщо потрібно ввести інформацію про наступного абонента, треба натиснути «1», якщо ні – «2».

Щоб вивести інформацію з файлу на екран вибрати «2» у головному меню та ввести ім’я файлу, який користувач бажає переглянути (рис. 3.3).

Рис. 3.3 – Виведення інформації на екран

Щоб знайти кількість номерів, встановлених з введеного користувачем року, потрібно пункті головного меню обрати цифру «3». 

Користувач вводить ім’я файлу, з якого здійснюється пошук, а потім рік. Програма виведе на екран кількість телефонних номерів (рис. 3.4).

Рис. 3.4 – Кількість номерів, встановлених з указаного року

Щоб здійснити пошук даних абонента за номером або за роком встановлення номеру, треба обрати у головному меню цифру «4». За прикладом, який наведено в програмі, користувачу потрібно ввести інформацію, за якою буде здійснюватися пошук (рис. 3.5). На екрані з являться дані абонентів, які підійшли під критерії пошуку. Якщо пошук здійснюється за тією інформацією, якої немає у файлі, програма виведе користувачу на екран слово ERROR.

Рис. 3.5 – Пошук за роком або номером

Якщо користувачу потрібно вийти з програми, потрібно обрати у головному меню цифру «5».

ВИСНОВКИ

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

Для реалізації цього завдання проаналізована предметна область, де були встановлені обмеження для типів даних.

Були розроблені алгоритми для процедур та основної частини програми.

Встановлені основні вимоги до програми та її використання. Наведений детальний опис програми.

Для користувачів розроблено спеціальне керівництво з метою спростування використання програми.

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

СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ

1.                https://sites.google.com/site/programuvanny/urok-10-robota-z-fajlami-v-pascal;

2.                Методичні вказівки до виконання лабораторних робіт з дисципліни «Інформатика та комп’ютерна техніка». Розділ «Основи алгоритмізації та програмування мовою Pascal» для студентів спеціальностей 6.050102, 6.050100 «Економічна кібернетика», «Економіка підприємства» / Укладачі: Є. М. Литвиненко, О. В. Мерлак, О. В. Леуненко – Харків: ХДТУБА, 2006. – 68 с.;

3.                Конспект лекцій з дисципліни «Інформатика»;

4.                Глинський Я.М., Анохін В.Є., Ряжська В.А. «Паскаль», 2002. – 144 с.

ДОДАТОК А

Program Telephone;

Type

 Recfile=record

 Familia: string[20];

 ric:integer;

 nomer: longint;

 end;

Var

 Dani: file of REcfile;

 search: string;

 buf: Recfile;

 Name: string; m: boolean;

 a:byte;

 Procedure Vvod; Var p:byte;

 begin

 Write ("Новый файл: ");

 Readln (Name);

 Assign (Dani, Name);

 Rewrite (Dani);

 Repeat

 begin

 Write ("Введите фамилию: ");

 Readln (buf.Familia);

 Write ("Год регистрации: ");

 Readln (buf.ric);

 Write ("Номер телефона: ");

 Readln (buf.nomer);

 Write ("Ввести информацию о следующем абоненте ? Да-1, Нет-2. ");

 Readln (p);

 Write (dani, buf);

 end;

 until p>1;

 Close (Dani);

 end;

 Procedure Otcr;

 begin

 write ("Имя файла: ");

 readln (Name);

 assign (Dani, Name);

 reset (dani);

 While not eof(dani) do

 Begin

 read(dani, buf);

 Writeln (buf.Familia:21, buf.ric:5, buf.nomer:11);

 end;

 close (dani);

 end;

 Procedure Rok; Var t:byte; u:integer;

 Begin

 t:=0;

 write ("Введите имя файла: ");

 readln (name);

 assign (Dani, Name);

 Reset (Dani);

 write ("Введите год: ");

 readln (u);

 While not eof(dani) do

 begin

 read (dani, buf);

 if buf.ric>=u then

 t:=t+1;

 end;

 writeln("Количество телефонов, установленных с ",u," года: ",t);

 close (Dani);

 end;

 Procedure Nomer(s2:char;search:string);

 Var s3:longint; r:byte;

 begin

 Val(search,s3,r);

 write ("Имя файла: ");

 readln (Name);

 assign (Dani, Name);

 reset (dani);

 While not eof(dani) do

 begin

 read (dani, buf);

 if (s2=">")and(buf.nomer>s3) then

 Writeln(buf.Familia:21, buf.ric:5, buf.nomer:11);

  if (s2="=")and(s3=buf.nomer) then

 Writeln(buf.Familia:21, buf.ric:5, buf.nomer:11);

  if (s2="<")and(buf.nomer

 Writeln(buf.Familia:21, buf.ric:5, buf.nomer:11);

 end;

 close(Dani);

 end;

 Procedure God(s2:char;search:string);

 Var s3:integer; r:byte;

 begin

 Val(search,s3,r);

 write ("Имя файла: ");

 readln (Name);

 assign (Dani, Name);

 reset (dani);

 While not eof(dani) do

 begin

 read (dani, buf);

 if (s2=">")and(buf.ric>s3) then

 Writeln(buf.Familia:21, buf.ric:5, buf.nomer:11);

  if (s2="=")and(s3=buf.ric) then

 Writeln(buf.Familia:21, buf.ric:5, buf.nomer:11);

  if (s2="<")and(buf.ric

 Writeln(buf.Familia:21, buf.ric:5, buf.nomer:11);

 end;

 close (Dani);

 end;

 Procedure Poisk;

 Var s1:string;

 s2:char; i: longint;

 begin

 Writeln("Пример ввода поиска:Год > 2012");

 Write("Введите поиск по примеру:");

 Readln(search);

 If pos(">",search)>0 then

 begin

  i:=pos(">",search);

 s2:=">";

 end;

 If pos("=",search)>0 then

 begin

 i:=pos("=",search);

 s2:="=";

 end;

 If pos("<",search)>0 then

 begin

 i:=pos("<",search);

 s2:="<";

 end;

 s1:=copy(search,1,i-2);

 Delete(search,1,i+1);

 if s1="Номер" then

 Nomer(s2,search)

 Else

 If s1="Год" then

 God(s2,search)

 Else

 Writeln ("ERROR");

 end;

 Begin

 Repeat

 Writeln("Главное меню:");

 Writeln("1-создать новый файл;");

 Writeln("2-просмотреть файл;");

 Writeln("3-найти количество телефонов с установленного года;");

 Writeln("4-осуществить поиск по номеру или по году установки;");

 Writeln("5-выход;");

 Write("Выберите действие: ");

 Readln (a);

 If a=1 then

 Vvod;

 If a=2 then

 Otcr;

 If a=3 then

 Rok;

 If a=4 then

 Poisk;

 until a=5;

 End.

Информация о файле
Название файла Робота з файлами от пользователя Гость
Дата добавления 10.5.2020, 20:39
Дата обновления 10.5.2020, 20:39
Тип файла Тип файла (zip - application/zip)
Скриншот Не доступно
Статистика
Размер файла 3.77 мегабайт (Примерное время скачивания)
Просмотров 247
Скачиваний 98
Оценить файл