Мова програмування Pascal

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Украинский
    ,
    Формат файла:
    MS Word
    100,96 Кб
  • Опубликовано:
    2015-06-25
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Мова програмування Pascal

Зміст

Вступ

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

. Опис алгоритму задачі

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

3.1 Аналіз мов програмування та вибір мови

.2 Опис структури даних

.3 Опис функцій та процедур

.4 Опис реалізації інтерфейсу користувача

.5 Выбор действия

.6 Інструкція для користувача

Висновок

Список використаної літератури

Додаток

програмування pascal інтерфейс windows

Вступ


Pascal (названий на честь Блеза Паскаля) - це чисто процедурна мова програмування, що часто використовується для навчання структурному програмуванню.був розроблений Ніклаус Віртом в 1970; всупереч розхожій думці, він не був виключно навчальною мовою, а призначався для практичного застосування. Прототипом послужив Algol. Спочатку мова компілювалась в байт-код, подібно до мови Java.

У 1983 році був прийнятий перший стандарт мови, ISO 7185: 1983, який також називають Standard Pascal. Цей Стандарт не додавав в мову нові елементи, а тільки формально описував існуючі особливості мови. У 1990 році був прийнятий стандарт ISO / IEC 10206, що визначає так називаемий Extended Pascal. Основною зміною стало додавання модульності.

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

Крім того, мова надавала ряд вбудованих структур даних: записи, масиви, файли, множини і покажчики.

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

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


Список співробітників інституту містить такі відомості: прізвище, ім'я, по батькові, факультет, кафедра, вчений ступінь, рік народження, домашня адреса. Розділити список на окремі списки по факультетам, які містять тільки співробітників зі ступенем кандидата або доктора, вилучивши графу факультету зі списку

Скласти програму відповідно до варіанту завдання з розробкою процедур (функцій). У програмі має бути передбачено головне меню з наступними пунктами (приблизний перелік).

. Введення даних (читання даних з файлу)

. Обробка даних (додавання і видалення даних)

. Пошук інформації

. Висновок впорядкованої інформації (висновок результов)

. Вихід з програми

2. Опис алгоритму задачі


В описі алгоритму задачі буде описана основна частина програми


vvod - процедура введення запису в файл

chten - процедура читання записів з файла

dobav - процедура додавання запису в файл

delete - процедура видалення запису з файлу

poisk - процедура пошуку ты выводу запису у файлі

 

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

 

3.1 Аналіз мов програмування та вибір мови


Я використовував у своїй курсовій роботі PascalABC.Net.

Це незамінна програма для людей, що вивчають Pascal і не тільки, бо в ній реалізовано безліч конструкцій, що використовуються в інших мовах програмування і полегшують процес написання коду..Net - це 32-розрядна програма, яка може працювати на сучасних версіях Windows.

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

 

.2 Опис структури даних


У цій програмі використовується ім'я такого запису як Zap.

Запис у Паскалі являє собою сукупність певного числа компонентів, що мають однакові або різні типи даних. Ці компоненти називаються полями і мають іменем та типом. Також як і масиви, поля запису можуть бути будь-якого (за винятком файлового) типу даних.

Типізований файл-це послідовність компонентів одного і того ж типу. Число компонент не фіксовано.

Функція FileSize-видає розмір відкритого файлу в записах.

Seek- Переміщує поточну позицію файла до заданого компоненту.

Масив записів - список об'єктів, які складаються з декількох полів:

Familiya - прізвище співробітника- ім'я співробітника- по батькові співробітника- факультет- кафедра- вчений ступінь_r - рік народження- адреса

У даній програмі використовуємо такі змінні як:- запис в записі

Zaparray- масив- типізований файл- вибір дії в меню програми

sotrstep - змінна для пошуку інформації

b,n,- глобальні змінні

I - локальна змінна в кожній процедурі

 

.3 Опис функцій та процедур


1.      Процедура введення нових записів у файл

Ця процедура дозволяє водити N кількість записів у файлі


. Процедура читання з запису файла


Ця процедура робить читання з запису з типізованого файла.

3. Процедура додавання запису в файл


Ця процедура додає ще один запис у файл

4. Процедура видалення запису з файла


Ця процедура робить видалення запису з файла.

5. Процедура пошуку записів


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

 

3.4 Опис реалізації інтерфейсу користувача


Інтерфейс користувача представлений у виді основного меню програми і реалізований в основному блоці програми ( алгоритм представлений у пункті опису програми)

 

3.5 Выбор действия


1-Ввод новых данных

-Чтение данных

-Добавление записей

-Удаление записи

-Поиск информации

begin;('Выбор действия');('1-Ввод новых данных');('2-Чтение данных');('3-Добавление записей');('4-Удаление записи');('5-Поиск информации');

Writeln('6-Выход');(vibor);vibor < 6 dovibor of

: vvod;

: schitivanie;

: dobavlenie;

: delete;

: poisk;;;('Выбор действия 1-7');('Выбор действия');

Writeln('1-Ввод новых данных');('2-Чтение данных');('3-Добавление записей');('4-Удаление записи');('5-Поиск информации');

Writeln('6-Выход');(vibor);

end;.

3.6 Інструкція для користувача


При запуску програми з'явиться невелике меню, яке складається з:

1-Ввод новых данных

-Чтение данных

-Добавление записей

-Удаление записи

-Поиск информации

-Выход

) Натиснувши на 1 зможете додавати нові записи в типізований файл  2) Натиснувши на 2 з'являться всі записи з типізованого файлу на екран

Выбор действия

-Ввод новых данных

-Чтение данных

-Добавление записей

-Удаление записи

-Поиск информации

-Выход

12 12, 12, 12, доктор, 12, 12

23 23, 23, 23, доктор, 23, 23

34 34, 34, 34, кандидат, 34, 34

45 45, 45, 45, кандидат, 45, 45

56 56, 56, 56, доктор, 56, 56

 3) Натиснувши на 3 ви зможете додати ще один запис

Выбор действия

-Ввод новых данных

-Чтение данных

-Добавление записей

-Удаление записи

-Поиск информации

-Выход

Добавление записи

Введите 6-го сотрудника

але після цього потрібно натиснути на 2 щоб новий запис зберігся в типізованому файлі

4) натиснувши на 4 ви зможете видалити будь-яку зазначений вами запис (водимо тільки цифру) Приклад: натискаєте 4 і будь-яку цифру припустимо 6 та Enter - віддалиться 6 запис файлу

Выберите номер удаляемой записи которую вы хотите: 6

Удаление прошло успешно

Количество записей (сотрудников) 5

) Натиснувши на 5 ви зможете знайти з усіх записів тільки тих співробітників, які мають вчений ступінь доктора або кандидата.

Приклад: натискаємо на 5 і вводимо доктор/кандидат та Enter виводиться новий список співробітників, які мають науковий ступінь доктора або кандидата

Выбор действия

-Ввод новых данных

-Чтение данных

-Добавление записей

-Удаление записи

-Поиск информации

-Выход

12 12, 12, 12, доктор, 12, 12

23 23, 23, 23, доктор, 23, 23

34 34, 34, 34, кандидат, 34, 34

45 45, 45, 45, кандидат, 45, 45

56 56, 56, 56, доктор, 56, 56

Выбор действия 1-7

Выбор действия

-Ввод новых данных

-Чтение данных

-Добавление записей

-Удаление записи

-Поиск информации

-Выход

Введите степень доктор

Найдены сотрудники!

12 12 12, доктор, 12, 12Найдены сотрудники!

56 56 56, доктор, 56, 56

6) Висновок (результати пошуку) виводиться відразу в процедурі пошуку

12 12 12 12, доктор, 12, 12Найдены сотрудники!

23 23 23, доктор, 23, 23Найдены сотрудники!

56 56 56, доктор, 56, 56

 7) Натиснувши на 6 програма завершиться і (може вимагати натиснути будь-яку кнопку)

Висновок


В процесі виконання цієї курсової роботи всі пункти меню видають правильні результати.

Висновок програми ( новий список ) виводиться відразу в процедурі пошуку, пошук заснований на науковому ступені доктора або кандидата, у новому списку виводяться всі записи ( співробітники), які мають вчений ступінь доктора або кандидата

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

Список використаної літератури


1.      Аляев Ю.А. Алгоритмизация и языки программирования: Учебно-справочное издание Москва: 2004

.        Ставровский А.Б. Турбо Паскаль 7.0. Учебник К.: BHV, 2000

.        Грызлов В.И. Turbo Pascal 7.0: Учебное пособие Москва: ДМК,1999

Інтернет ресурси:://itteach.ru/pascal/pascal-zapis-record://progopedia.ru/language/pascal://www.cyberforum.ru/poisk

Додаток

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

program kursovaya;

uses crt;= record: string[20];: string[20];: string[20];: string[20];: string[20];: string[20];_r: integer;: string[50];;: file of Zap;: Zap;: array[1..20] of Zap;: string[30];, n: integer;: byte;

{-------------------------------------------------------------}vvod;: integer;(f, 'Spisok.dat');

rewrite(f);('Введите количество сотрудников института ');

readln(n);('_________________________________________');i := 1 to n do('Введите ', i, '-го сотрудника');('Введите фамилию');(Zapis.familiya);('Введите имя');(Zapis.imya);('Введите отчество');(Zapis.otchestvo);('Введите Факультет');(Zapis.nazvfak);('Введите кафедру');(Zapis.nazvkaf);('Введите учёную степень');(Zapis.sotrstep);('Введите год рождения');(Zapis.god_r);('Введите домашний адрес');(Zapis.adres);(f, Zapis);

//Write(f,Zapis.familiya,' ',Zapis.imya,' ',Zapis.otchestvo,', ',Zapis.nazvfak,', ',Zapis.nazvkaf,', ',Zapis.sotrstep,', ',Zapis.god_r,', ',Zapis.adres,'сотрудника');

end;(f);;schitivanie;: integer;(f, 'Spisok.dat');(f);:= 1;not (Eof(f)) do(f, Zaparray[i]);(Zaparray[i].familiya, ' ', Zaparray[i].imya, ' ', Zaparray[i].otchestvo, ', ', Zaparray[i].nazvfak, ', ', Zaparray[i].nazvkaf, ', ', Zaparray[i].sotrstep, ', ', Zaparray[i].god_r, ', ', Zaparray[i].adres);:= i + 1;;(f);:= i - 1;;

//read

{---------------------------------------------------------------------}dobavlenie;: integer;(f);('Добавление записи');i := 1 to n do(f, Zaparray[i]);('Введите ', n + 1, '-го сотрудника');

writeln('Введите фамилию');(Zapis.familiya);('Введите имя');(Zapis.imya);('Введите отчество');(Zapis.otchestvo);('Введите Факультет');(Zapis.nazvfak);('Введите кафедру');(Zapis.nazvkaf);('Введите учёную степень');(Zapis.sotrstep);('Введите год рождения');(Zapis.god_r);('Введите домашний адрес');(Zapis.adres);(f, Zapis);(f);;

{-----------------------------------------------------------------------------}delete;: integer;;:= 1;(f, 'Spisok.dat');(f);not eof(f) do(f, Zaparray[i]);:= i + 1;(f);

write('Выберите номер удаляемой записи которую вы хотите: ');

readln(n);(f);(f, filesize(f) - 1);(f, Zaparray[i]);(f, n - 1);(f, Zaparray[i]);(f, filesize(f) - 1);

truncate(f);('Удаление прошло успешно!!!');('Количество записей', n - 1);;

{------------------------------------------------------------------------------}poisk;('Введите степень ');(poisks);(f);:= 0;not (Eof(f)) do(f, Zapis);Zapis.sotrstep = poisks then

begin:= 1;('Найден сотрудник!');(Zapis.familiya, ' ', Zapis.imya, ' ', Zapis.otchestvo, ', ', Zapis.nazvfak, ', ', Zapis.nazvkaf, ', ', Zapis.sotrstep, ', ', Zapis.god_r, ', ', Zapis.adres);

end;;b = 0 then('Нет данных');(f);;vivod;: integer;i := 1 to n do(Zapis.sotrstep = 'доктор') or (Zapis.sotrstep = 'кандидат') then(Zapis.familiya, ' ', Zapis.imya, ' ', Zapis.otchestvo, ', ', Zapis.nazvkaf, ', ', Zapis.sotrstep, ', ', Zapis.god_r, ', ', Zapis.adres);;;('Выбор действия');

Writeln('1-Ввод новых данных');('2-Чтение данных');('3-Добавление записей');('4-Удаление записи');('5-Поиск информации');

Writeln('6-Выход');(vibor);vibor < 6 dovibor of

: vvod;

: schitivanie;

: dobavlenie;

: delete;

: poisk;;;('Выбор действия 1-7');('Выбор действия');

Writeln('1-Ввод новых данных');('2-Чтение данных');('3-Добавление записей');('4-Удаление записи');('5-Поиск информации');

Writeln('6-Выход');(vibor);

end;.


Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!