рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Записи з варiантами

Записи з варiантами - раздел Философия, Алгоритмічна мова TURBO PASCAL Записи, Описанi Вище, Мають Строго Визначену Структуру. В Деяких Випадках Це ...

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

TYPE Zap = RECORD

CASE <поле ознаки> : < тип > OF

<константа вибору 1> : (<поле>,... : <тип>);

. . . . . . . . . . . . . . . . . . . .

<константа вибору n> : (<поле>,... : <тип>)

END;

Компоненти кожного варіанту даються в круглих дужках. В частині CASE немає окремого end.

Приклад:

Type Forma = Record

Name : String;

Case Flag : Boolеan of

True : (BirthPlace : String[40]);

False : (Country : String[20];

EntryPort : String[20];

EntryDate : 1..31;

ExitDate : 1..31 )

end;

В цьому прикладі тип Forma визначає запис з одним фіксованим полем Name і варіантною частиною, яка задається конструкцією Case .. of. Варіантна частина складається з двох частин, які визначаються константами вибору True та False. Після констант вибору слідує двукрапка і список полів в круглих дужках. Запис може мати лише одну варіантну частину, і, якщо вона є, то повинна розміщуватися за всіми фіксованими полями.

Важливою особливістю варіантної частини є та обставина, що всі задані в ній варіанти “накладаються” один на другого, тобто кожному з них виділена одна і та ж область пам’яті. Це надає додаткові можливості перетворення типів.

Приклад:

Var

X : Word;

Xb : Byte;

Xl : LongInt;

Mem4 : Record

Case Byte of

0 : (by : array[0..3] of Byte);

1 : (wo : array[0..1] of Word);

2 : (lo : LongInt);

End;

Begin

. . . .

With Mem4 do begin

Lo:=Trunc(2*pi*x);

If wo[1] = 0 then

If by[1] = 0 then Xb:=0

Else X:=wo[0]

Else Xl:=lo

End;

End.

Конструкція Case .. of, яка відкриває варіантну частину, зовні подібна на відповідний оператор вибору, але насправді грає роль лише службового слова, яке означає початок варіантної частини. Ключ вибору в конструкції Case .. of фактично ігнорується компілятором: єдиною вимогою, яка до нього є приналежність до перелічуваного типу.

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

Type complex = Record

Re, Im: Real;

end;

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

Використання типу RECORD можна проілюструвати в такому прикладі.

Приклад:

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

Program Summa;

Type

Complex = Record

Re,Im:real;

end;

Var

C1, C2, C3: Complex;

R, I: Real;

Procedure IntC(var C: Complex; R, I: Real);

begin

with C do begin

Re:=R;Im:=I;

end;

end;

Procedure SumC(C1,C2: Complex; var C3: Complex);

begin

with C3 do begin

Re:=C1.Re+C2.Re;

Im:=C1.Im+C2.Im;

end;

end;

Procedure WriteC(C: Complex);

begin

with C do begin

write(Re);

if Im=0 then Exit;

if Im>0 then Write('+');

Write(Im);Write('i');

end;

end;

Begin

Writeln('побудувати число С1');

Readln(R,I); IntC(C1,R,I);

Writeln('побудувати число С2');

Readln(R,I);IntC(C2,R,I);

SumC(C1,C2,C3);

WriteC(C);

End.

Приклад:

Сформувати масив записів про: прізвище студента, ім’я; оцінки з фізики, математики, інформатики.

Обчислити кількість студентів, середній бал яких більший, або рівний “4”.

Текст програми

program Zap;

const n=2;

type TMarks=record

f:integer;

m:integer;

inf:integer;

end;

Tst=record

surname:string[15];

name:string[10];

marks: TMarks;

ser:real;

end;

Tgr=array[1..n] of Tst;

var gr:Tgr; k,i:integer;

begin

for i:=1 to n do

with gr[i],marks do begin

readln(surname);

readln(name);

readln(f);

readln(m);

readln(inf);end; K:=0;

for i:=1 to n do

with gr[i],Marks do begin

ser:=(f+m+inf)/3;

if gr[i].ser>=4 then

k:=k+1;writeln('ser',i,'=',ser:2:1); end;

writeln('k=',k);

end.

Результат виконання програми

Kas

Oleh

Top

Olena

ser1=4.7

ser2=3.3

k=1

 

– Конец работы –

Эта тема принадлежит разделу:

Алгоритмічна мова TURBO PASCAL

Дрогобицький державний педагогічний університет... імені Івана Франка... Методичний посібник...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Записи з варiантами

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Система вiкон середовища
Практично всi основнi операцiї в середовищi TURBO PASCAL здiйснюються з допомогою вiкон – видiлених дiлянок поля екрану, в яких розмiщується певна iнформацiя. Користувач може вiдкрити або закрити в

Replace
FILE1.PAS FILE7.PAS FILE2.PAS FILE8.PAS FILE3.PAS FILE9.PAS Cancel FILE4.PAS FILE10.PAS FILE5.PAS FILE11.PAS Help FILE

OK Cancel Help
  ¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾ Для того, щоб встановити в тригерному списк

Меню роботи з файлами (File)
Дане меню призначено для виконання операцій з файлами. Воно містить такі команди: New (створити новий файл). Відчиняє нове пусте вікно редагування та присвоює нов

Меню редагування (Edit)
Меню редагування дозволяє виконувати ряд операцій з фрагментами тексту. Виділити такий фрагмент легше всього з допомогою клавіші Shift та клавіші переміщення курсора малої клавіатури. Це меню місти

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

Меню вiкон (Window).
Меню дозволяє вiдкривати, закривати, активiзувати вiкна, розмiщувати їх в полi екрану. Tile (розмiщення вiкон встик). Вiкна розмiщуються в полi екрану встик один

Збереження файлу
Для збереження файлу, розміщеного у біжучому вікні редактора, необхідно натиснути клавішу F2, або перейти в основне меню (за допомогою клавіші F10) і вибрати команду File/Save. В цьому випадку файл

Завдання
1. Запустити в каталозі користувача інтегральне середовище Turbo Pascal (<Каталог Pascal>BinTurbo.exe). 2. Створити нову Pascal-програму (File|New). Текст програми: Begin Write(‘Hell

Загальна структура Pascal-програми
Синтаксично Pascal-програма складається з заголовку i блоку. Блок включає двi частини: описову (роздiл описiв) - опис даних, якими оперує програма, i виконавчу (роздiл операторiв) - послiдовность д

Таблиця 1
Функція Матем. вигляд Аргумент Тип аргументу Тип результ. Приклад Abs(x) S

Таблиця 2
Операція Дія Типи операндів Тип результата Бінарні:     &nb

Введення та виведення в Pascal
В мові Pascal відсутні оператори введення-виведення. Їх функцію виконують процедури READ, READLN, WRITE, WRITELN, робота яких базується на пристроях MS DOS або CP-M. Ввід даних, це передач

Завдання
1. 2.

Таблиця 4
Операцiя Назва операції Вираз Результат = <> > < >= <= рiвно нерi

Таблиця 5
Операція Дія Вираз A B Результат not   Логічне заперечення

Таблиця 6
Операція Прiоритет Вид операцiї @, not, +, - *, /, div, mod, and, shl, shr +, -, or, xor =, < >, <, >,

Завдання
Скласти програми розв’язку вказаних нижче завдань використовуючи умовні оператори IF та CASE. 1.

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

Завдання
Варіант 1 1.   2.

Таблиця 7
Операція Функції Pascal Довжина рядка Копія фрагмента Пошук фрагмента Заміщення фрагмента Вставлення фрагмента Вилучення фра

Завдання
Варінт 1 1. Дано лiтерну змiнну довжини N, яка складається з символiв S1, S2, ...,Sn. Cкласти алгоритм та програму на PASCAL, якi дають можливiсть: 2. Вияснити чи

Завдання
1. Дано Type State = (Britain, Usa, France, Sweden, Ukrainia, Belorussia, Russia, Iraq); Senior=(Queen, King, President, Premier); За назвою країни вказати титул голови д

Множини
Множина – це структурований тип даних, що являє собою набip взаємо - пов'язаних за якоюсь ознакою або групою ознак об'ектiв, якi можна розглядати як єдине цiле. Кожний член множини називаєть

Завдання
- виконати операції над заданими множинами a i b: 1.   2.

Завдання
Варіант 1 1. Скласти такі програми на алгоритмичній мові TURBO PASCAL: 2. Обчислення добутку двох комплексних чисел. 3. Обчислення різниці двох комплексн

Таблиця 8
Назва Режим Розмір екрану (в піксилях) Кількість Кольорів Кількість відеосторінок CGA

Системи координат
Верхній лівий кут графічного екрану має координати (0, 0). Значення Х (номера стовпця) збільшується зліва направо. Значення Y (номер рядка) збільшується зверху вниз. Для графічного адаптер

Завдання
1. Написати фрагмент програми, яка будує на екрані керований рухомий об’єкт – такий, що натискання клавіші приводить до відповідного переміщення; якщо ніяка клавіша не натиснута, то об’єкт не рухає

Процедури користувача
Являють собою поіменовану групу операторів, що реалізують деяку частину загальної задачі. Ця поіменована група викликається за іменем з довільного місця розділу оператарів. Опис процедури включає з

Функцii користувача
Pascal надає користувачу можливiсть самому реалiзувати потрiбнi йому алгоритми в видi функцiй i звертатися до них з програми. Опис функції складається з заголовку та тіла функції. Формат з

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

Завдання
Скласти програми обчислення заданих виразів з використанням функцій користувача та процедур: Варіант 1 1. Дано дійсні p, q. Обчислити де

Завдання
1. Дано текстовий файл F.txt. Виключити пробіли, що стоять у кінці його рядків. Результат помістити в файл F1.txt. 2. Дано текстовий файл F.txt. Переписати компоненти файлу F.txt в файл G.

Завдання
1 - 6. Організувати файл прямого доступу "Відомість успішності студентів", компонентами якого є: прізвище, номер групи, екзаменаційні оцінки (аналіз, алгебра, програмування):

Помилки, що виявляються DOS
1. Invalid function number(Неправильний номер функції). Ви намагаєтеся викликати неіснуючу функцію DOS. 2. File not found(Не знайдений файл). Пом

Помилки введення - виведення
Якщо один з операторів компілювався з директивою {$I+}, то помилка введення-виведення приводить до припинення виконання програми. У стані {$I-} програма продовжує виконуватися, а помилка повертаєть

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги