28. Реалізація структур даних процедурною мовою програмування


Скачати 51.33 Kb.
Назва28. Реалізація структур даних процедурною мовою програмування
Дата16.04.2013
Розмір51.33 Kb.
ТипДокументи
bibl.com.ua > Інформатика > Документи
28. Реалізація структур даних процедурною мовою програмування. Типи даних і засоби їх опису. Структури даних та їх опис. Динамічні структури даних та їх реалізація.
Типи даних і засоби їх опису процедурною мовою програмування.

В мові Паскаль будь-який тип даних визначає множину значень, яких може набувати величина цього типу, і ті операції, які можна застосувати до величин цього типу:

1. Прості неструктуровані типи:

  • Стандартні скалярні типи

    • цілі числа INTEGER (-32768..32768), ціле довжиною 1 байт BYTE (0..255), коротке ціле SHORTING, довге ціле LONGING, ціле довжиною 1 слово WORD

    • дійсні числа REAL (2.9*10E-39..1.7*10E-38), дійсне одинарної точності SINGLE, дійсне подвійної точності DOUBLE, зовнішні (або розширені)

    • логічний (булівський) тип BOOLEAN (True, False)

    • літерний тип СРФК (символи кодової таблиці з кодами 0..255)

  • Посилальний тип Point

  • Оголошені скалярні типи: перелічуваний тип, обмежений тип.

2. Структуровані типи: рядковий тип STRING (символи, що складають рядок завдовжки до 255 символів), масиви ARRAY, записи RECORD, множина SET, файли FILES, послідовності, черга, стек.

У мовах структурованого програмування типи величин мають бути описані. Опис типів у програмах на Паскаль виглядає, наприклад, так:

const

Count=10; Num=100;

var

I, J: integer;

X1, X2: real;

Ans: boolean;

Symb1, Symb2: char;

Структура оголошення типу Рядок:

var <ідентифікатор>: String

Опис масиву

<Ідентифікатор>: array [<кількість елементів>] of <базовий тип масиву> , де

<базовий тип масиву> - будь-який тип елемента множини, в якості якого може використовуватись будь-який порядковий тип, крім WORD, INTEGER, LONGING

Множина

<ім’я типу> = set of <базовий тип>

Запис

<ім’я типу> = record <список полів> end

Файл

<ім’я> = file of < тип>

Структури даних та їх опис.

Опис різних структур даних процедурною мовою програмування.

Структуровані типи: рядковий тип STRING (символи, що складають рядок завдовжки до 255 символів), масиви ARRAY, записи RECORD, множина SET, файли FILES, послідовності, черга, стек.

У мовах структурованого програмування типи величин мають бути описані. Опис типів у програмах на Паскаль виглядає, наприклад, так:

Структура оголошення типу Рядок:

var <ідентифікатор>: String

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

  • Concat (s1, s2, ..., sn): String - це функція рядкового типу, що послідовно з’єднує рядки s1, s2, ..., sn.

Приклад: S:=Concat('1','2','3')

S='123'

  • Copy (S: String; Index: Integer; Count: Integer) - це функція рядкового типу, що виділяє з рядка S підрядок завдовжки в Count символів, починаючи з позиції Index

Приклад: S:=Copy('порівняння',3,8)

S='рівняння'

  • Length (S: String): Integer - це функція цілого типу, що повертає довжину рядка.

Приклад: S:= Length ('рядок')

S=5

  • Pos (Substr: String; S: String): Byte - це функція цілого типу, що повертає позицію, з якої підрядок Substr уперше зустрічається у рядку S.

Приклад: S:= Pos ('ритм', 'алгоритм')

S=5

  • Delete (S: String; Index: Integer; Count: Integer) – процедура, що видаляє з рядка S Count символів, починаючи з позиції Index.

Приклад: S:='алгоритміка'

Delete(S,9,3)

S='алгоритм'

  • Insert (Source: String; S: String; Index: Integer) – процедура, о вставляє підрядок Source у рядок S, починаючи з позиції Index.

Приклад: S:='алгом'

Source:= 'рит'

Insert (Source; S; 5)

S='алгоритм'

  • Str (V: Integer; S: String) – процедура, яка число V перетворює в рядок S.

Приклад: Str(5, S)

S='5"

  • Val (S: String; V: Integer; W: Integer) – якщо рядок S являє собою правильний запис числа, то це число записується як значення змінної V, при цьому значення W дорівнює 0.

Приклад: Val ('8.4',V,W)

V=8.4

W=0

Val ('2f3',V,W)

W=2
Опис масиву

Масив – це структурований тип, який складається з фіксованого числа компонентів одного і того ж типу, що називається базовим типом

1. Одновимірний масив

Type <ім’я типу>=Array[<порядковий тип>] of <тип компонент>;

Var <список змінних>: <ім’я типу>;

Приклад: Type U=Array[1..20] of Real;

Vector=Array[1..5] of Real;

M=1..100;

Skal=Array[1..50] of

(kul, kur, piram);

2. Багатовимірний масив

Array[<тип індексів>,<тип індексів>] of <тип компонент>;

3. Звернення до компонентів масиву

<ім’я змінної> [<список імен індексів>]
Множина

<ім’я типу> = set of <базовий тип>

Запис

<ім’я типу> = record <список полів> end

Файл

<ім’я> = file of < тип>

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

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

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

Зв’язаний список можна побудувати використовуючи динамічні змінні. Динамічні змінні можна створювати під час роботи програми («на ходу») за допомогою так званих змінних-вказівників.
    1. ЗМІННІ-ВКАЗІВНИКИ


Змінну-вказівник можна уявити як звичайну статичну змінну, але таку, в якій зберігається не деяке конкретне значення (наприклад типу integer, real, …), а адрес іншої змінної.

Змінна-вказівник (р) нагадує конверт, який містить лише адресу квартири Петрова, а не її вміст. Можна сказати, що змінна-вказівник р вказує на іншу змінну, яка знаходиться за адресою вул.. 1-го Травня, 58.

3. ЗВ’ЯЗАНИЙ СПИСОК. СТЕК

2Формування стеку.

Формувати список можна добавляючи елементи як на початок списку (стек), як в кінець (черга), так і в довільне місце списку.

1.3. ЗВ’ЯЗАНИЙ СПИСОК. ЧЕРГА.


Формування черги (вставка елементів в кінець списку).

Схожі:

29. Опис та використання підпрограм
Реалізація базових алгоритмічних структур процедурною мовою програмування. Опис процедур та функцій процедурною мовою програмування....
25. Методика навчання процедурного програмування
Програма, написана процедурною мовою, описує спосіб (алгоритм) розв’язування задачі, тобто точно вказує дії щодо реалізації алгоритму...
Лекція Р Тема: Мова програмування PASCAL
Мета: Ознайомити з мовою програмування PASCAL, розглянути основні структурні елементи, стандартні функції
Тема: Реалізація лінійних алгоритмів з використанням консольного режиму середовища програмування
Мета: Навчитись реалізовувати лінійні алгоритми з використання консольного режиму середовища програмування
Історія мов програмування
ФОРТРАН, для бухгалтерії – переважно мова КОБОЛ. Проте для системних робіт використовувалася мова програмування низького рівня –...
Програма курсу програмування на мов і С++
Курс націлений на отримання знань і практичних навиків програмування на мовах C і C + + в рамках процедурно-орієнтованого програмування....
НАВЧАЛЬНО-МЕТОДИЧНИЙ ПОСІБНИК ДЛЯ САМОСТІЙНОЇ РОБОТИ ТА ПРАКТИЧНИХ...
Україні на демократичних засадах; 2 забезпечення прав людини та громадянина; 3 реалізація народовладдя; 4 формування дієздатних структур...
Основні методології (стилі, парадигми) програмування. Поняття програми....
Дів розробки програм Граді Буча “О’єктно-орієнтоване програмування (ООП) – це методологія програмування, яка заснована на представленні...
2. Дробово-лінійне програмування Постановка задачі дробово-лінійного...
Дослідження операцій”, “Економетрія”, “Моделювання економіки”, “Економічна кібернетика” а також дисциплін циклу загальноекономічної...
Курс програмування на С #
Зусилля, які ви витратите на вивчення С #, будуть винагороджені, так як Сі Шарп був розроблений в якості основної мови програмування,...
Додайте кнопку на своєму сайті:
Портал навчання


При копіюванні матеріалу обов'язкове зазначення активного посилання © 2013
звернутися до адміністрації
bibl.com.ua
Головна сторінка