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

Постановка задачі: створення списку співробітників інституту. Аналіз мов програмування та вибір мови PascalABC.Net - 32-розрядної програми, яка може працювати на сучасних версіях Windows. Опис функцій та процедур, реалізації інтерфейсу користувача.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык украинский
Дата добавления 25.06.2015
Размер файла 277,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Зміст

  • Вступ
  • 1. Постановка задачі
  • 2. Опис алгоритму задачі
  • 3. Опис програми
    • 3.1 Аналіз мов програмування та вибір мови
    • 3.2 Опис структури даних
    • 3.3 Опис функцій та процедур
    • 3.4 Опис реалізації інтерфейсу користувача
    • 3.5 Выбор действия
    • 3.6 Інструкція для користувача
  • Висновок
  • Список використаної літератури
  • Додаток

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

Вступ

Pascal (названий на честь Блеза Паскаля) - це чисто процедурна мова програмування, що часто використовується для навчання структурному програмуванню.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

PascalABC.Net - це 32-розрядна програма, яка може працювати на сучасних версіях Windows.

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

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

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

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

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

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

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

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

Familiya - прізвище співробітника

Imya - ім'я співробітника

Otchestvo - по батькові співробітника

nazvfak - факультет

nazvkaf - кафедра

sotrstep - вчений ступінь

god_r - рік народження

adres - адреса

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

Zap - запис в записі

Zaparray- масив

F - типізований файл

Vibor - вибір дії в меню програми

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

6-Выход

begin

clrscr;

Writeln('Выбор действия');

Writeln('1-Ввод новых данных');

Writeln('2-Чтение данных');

Writeln('3-Добавление записей');

Writeln('4-Удаление записи');

Writeln('5-Поиск информации');

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

readln(vibor);

while vibor < 6 do

begin

case vibor of

1: vvod;

2: schitivanie;

3: dobavlenie;

4: delete;

5: poisk;

end;

writeln;

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

Writeln('Выбор действия');

Writeln('1-Ввод новых данных');

Writeln('2-Чтение данных');

Writeln('3-Добавление записей');

Writeln('4-Удаление записи');

Writeln('5-Поиск информации');

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

readln(vibor);

end;

end.

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

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

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

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

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

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

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

6-Выход

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

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

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

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

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

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

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

6-Выход

2

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

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

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

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

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

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

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

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

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

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

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

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

6-Выход

3

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

6-Выход

2

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

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

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

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

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

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

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

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

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

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

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

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

6-Выход

5

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

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

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

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

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

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

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

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

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

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

Висновок

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

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

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

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

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

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

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

Інтернет ресурси:

http://itteach.ru/pascal/pascal-zapis-record

http://progopedia.ru/language/pascal

http://www.cyberforum.ru/poisk

Додаток

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

program kursovaya;

uses crt;

type

Zap = record

familiya: string[20];

imya: string[20];

otchestvo: string[20];

nazvfak: string[20];

nazvkaf: string[20];

sotrstep: string[20];

god_r: integer;

adres: string[50];

end;

var

f: file of Zap;

Zapis: Zap;

Zaparray: array[1..20] of Zap;

poisks: string[30];

b, n: integer;

vibor: byte;

{-------------------------------------------------------------}

procedure vvod;

var

i: integer;

begin

assign(f, 'Spisok.dat');

rewrite(f);

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

readln(n);

writeln('_________________________________________');

for i := 1 to n do

begin

writeln('Введите ', i, '-го сотрудника');

writeln('Введите фамилию');

readln(Zapis.familiya);

writeln('Введите имя');

readln(Zapis.imya);

writeln('Введите отчество');

readln(Zapis.otchestvo);

writeln('Введите Факультет');

readln(Zapis.nazvfak);

writeln('Введите кафедру');

readln(Zapis.nazvkaf);

writeln('Введите учёную степень');

readln(Zapis.sotrstep);

writeln('Введите год рождения');

readln(Zapis.god_r);

writeln('Введите домашний адрес');

readln(Zapis.adres);

write(f, Zapis);

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

end;

close(f);

end;

procedure schitivanie;

var

i: integer;

begin

Assign(f, 'Spisok.dat');

reset(f);

i := 1;

while not (Eof(f)) do

begin

read(f, Zaparray[i]);

Writeln(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 := i + 1;

end;

close(f);

n := i - 1;

end;

//read

{---------------------------------------------------------------------}

procedure dobavlenie;

var

i: integer;

begin

rewrite(f);

writeln('Добавление записи');

for i := 1 to n do

write(f, Zaparray[i]);

writeln('Введите ', n + 1, '-го сотрудника');

writeln('Введите фамилию');

readln(Zapis.familiya);

writeln('Введите имя');

readln(Zapis.imya);

writeln('Введите отчество');

readln(Zapis.otchestvo);

writeln('Введите Факультет');

readln(Zapis.nazvfak);

writeln('Введите кафедру');

readln(Zapis.nazvkaf);

writeln('Введите учёную степень');

readln(Zapis.sotrstep);

writeln('Введите год рождения');

readln(Zapis.god_r);

writeln('Введите домашний адрес');

readln(Zapis.adres);

write(f, Zapis);

close(f);

end;

{-----------------------------------------------------------------------------}

procedure delete;

var

i: integer;

begin

clrscr;

i := 1;

assign(f, 'Spisok.dat');

reset(f);

while not eof(f) do

begin

read(f, Zaparray[i]);

i := i + 1

end;

close(f);

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

readln(n);

reset(f);

seek(f, filesize(f) - 1);

read(f, Zaparray[i]);

seek(f, n - 1);

write(f, Zaparray[i]);

seek(f, filesize(f) - 1);

truncate(f);

Writeln('Удаление прошло успешно!!!');

Writeln('Количество записей', n - 1);

end;

{------------------------------------------------------------------------------}

procedure poisk;

begin

write('Введите степень ');

readln(poisks);

reset(f);

b := 0;

while not (Eof(f)) do

begin

read(f, Zapis);

if Zapis.sotrstep = poisks then

begin

b := 1;

Writeln('Найден сотрудник!');

Write(Zapis.familiya, ' ', Zapis.imya, ' ', Zapis.otchestvo, ', ', Zapis.nazvfak, ', ', Zapis.nazvkaf, ', ', Zapis.sotrstep, ', ', Zapis.god_r, ', ', Zapis.adres);

end;

end;

if b = 0 then

writeln('Нет данных');

close(f);

end;

procedure vivod;

var

i: integer;

begin

for i := 1 to n do

if (Zapis.sotrstep = 'доктор') or (Zapis.sotrstep = 'кандидат') then

writeln(Zapis.familiya, ' ', Zapis.imya, ' ', Zapis.otchestvo, ', ', Zapis.nazvkaf, ', ', Zapis.sotrstep, ', ', Zapis.god_r, ', ', Zapis.adres);

end;

begin

clrscr;

Writeln('Выбор действия');

Writeln('1-Ввод новых данных');

Writeln('2-Чтение данных');

Writeln('3-Добавление записей');

Writeln('4-Удаление записи');

Writeln('5-Поиск информации');

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

readln(vibor);

while vibor < 6 do

begin

case vibor of

1: vvod;

2: schitivanie;

3: dobavlenie;

4: delete;

5: poisk;

end;

writeln;

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

Writeln('Выбор действия');

Writeln('1-Ввод новых данных');

Writeln('2-Чтение данных');

Writeln('3-Добавление записей');

Writeln('4-Удаление записи');

Writeln('5-Поиск информации');

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

readln(vibor);

end;

end.

Размещено на Allbest.ru


Подобные документы

  • Характеристика предметної області: FTP-server для ОС Windows. Шляхи встановлення FTP-серверу в ОС Windows. Опис мови та середовища програмування, компонентів та функцій програми. Аналіз реалізованої програми FTP-клієнта. Тестовий запуск та опис програми.

    курсовая работа [1,7 M], добавлен 22.06.2017

  • Розрахунок собівартості інструментальної системи створення електронних підручників. Вибір технології та мови програмування. Загальна характеристика програми і принцип роботи. Вибір мови програмування. Опис тегів, які підтримуються HTML-редактором.

    дипломная работа [112,7 K], добавлен 04.06.2010

  • Розробка програми на мові програмування С++ з використанням об'єктно-орієнтованого програмування. Робота з файлами, графікою, класами, обробка числової інформації. Графічні засоби мови програмування. Алгоритм задачі та допоміжні програмні засоби.

    курсовая работа [102,5 K], добавлен 14.03.2013

  • Програми і мови програмування. Алфавіт мови програмування. Лексеми, зарезервовані слова мови Pascal. Ідентифікатори, типи даних. Арифметичні вирази, операції. Стандартні функції, структура програми. Процедури введення-виведення. Правила написання команд.

    лекция [445,0 K], добавлен 24.07.2014

  • Модель аналізу-синтезу компіляції. Формальний опис вхідної мови програмування. Вибір технології програмування, проектування таблиць транслятора та вибір структур даних. Опис програми реалізації лексичного аналізатора. Розробка дерев граматичного розбору.

    курсовая работа [75,8 K], добавлен 26.12.2009

  • Визначення поняття автоматизації та інформаційної технології. Вибір мови програмування, аналіз бібліотеки класів та системи масового обслуговування. Реалізація інтерфейсу програми Visual C# 2010 Express. Діаграма класів до основних функцій программи.

    курсовая работа [1,5 M], добавлен 28.04.2012

  • Використання мови програмуванння Java при виконанні "задачі лінійного програмування": її лексична структура і типи даних. Методи розв’язання задачі. Особливості логічної структури програми, побудова її зручного інтерфейсу за допомогою симплекс методу.

    курсовая работа [437,9 K], добавлен 24.01.2011

  • Дослідження середовища візуального програмування Delphi. Вивчення процесу створення навчальної програми "Електронний словник". Опис графічного інтерфейсу. Характеристика структури та основних процедур даної програми. Аналіз роботи з програмним кодом.

    курсовая работа [831,2 K], добавлен 01.03.2014

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

    курсовая работа [1,2 M], добавлен 27.08.2014

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

    курсовая работа [1,1 M], добавлен 04.01.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.