Типи даних, визначувані програмістом 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Типи даних, визначувані програмістом



Завдання: Використовуючи символьні змінні і інші типи змінних, скласти програму, умова якої приведена в таблиці 4.

 

 

4.1 Тип даних CHAR

Для маніпуляції алфавітно-цифровими знаками (літерами) в мові Паскаль передбачений тип даних CHAR. Цей тип так само, як integer, real, boolean, відноситься до стандартних. Змінним типу char можна привласнювати стандартні символи (буквені або цифрові).

Як можливі значення привласнюються наступні знаки:

  • прописні або рядкові букви;

 

  • цифри від 0 до 9;
  • пропуски.

Змінні типу char можуть бути описані в розділі змінних таким чином:

 

var

first, second:char;

 

Між літерами дотримуються наступні співвідношення:

 

'A'<'B'<'C'<...<'0'<'1'<.... <'9'

 

Приклад порівняння двох літер:

 

program sompan;

var

first, second:char;

begin

read (first, second);

if first>second then writeln('перша літера більше другої')

else if first=second then writeln('перша літера рівна другій')

else writeln(‘перша літера менше другої');

end.

 

У мові Паскаль при використанні змінних типу CHAR передбачені стандартні функції:

PRED(x) визначає попередній елемент;

SUCC(x) визначає подальший елемент;

ORD(x) визначає порядковий номер, який відноситься до цієї змінної;

CHR(n) n- цілочисельна змінна типу Integer, що представляє порядковий номер. Функція n визначає символ, якому належить даний номер.

 

Наступна програма ілюструє ці функції:

 

program func;

var x1, x2, x3:char;

n:integer;

begin

x1:='c'; writeln(x1);

x2:=pred(x1); writeln(x2);

x3:=succ(x1); writeln(x3);

n:=ord(x1); writeln(n);

x2:=chr(n); writeln(x2);

end.

 

Результати:

С

B

D

C

 

4.2 Перераховуваний тип

 

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

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

 

Загальна форма запису:

перераховуваний тип= (ідентифікатор, ідентифікатор...)

Наприклад:

type day=(monday, tuesday, thusday)

 

Опис типу знаходиться між визначенням констант і описом змінних.

Для будь-якого перераховуваного типу т, визначеного записом type t=(w1,w2...,wn), де т-идентификатор типу, w1, w2..., wn - константи ідентифікатора, постуліруются аксіоми:

· wi<>wj, якщо i<>j (розрізнюваність);

· wi<wj, якщо i<j (впорядкованість);

· значення типу т можуть бути тільки w1,w2...,wn;

 

Змінні перераховуваних типів можуть бути використані в булевих виразах:

if month=may then writeln('травень');

 

Можуть бути використані операції порівняння:

 

if month>sept then write('4-й квартал');

 

При використанні змінних перераховуваного типу можна користуватися функціями PRED, SUCC і ORD.

 

4.3 Інтервальний тип

 

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

Це здійснюється за допомогою типу, званого інтервальним.

 

Загальна форма запису:

інтервальний тип: константа.. константа;

 

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

Наприклад, в описі weekday:0..5;

базовим є тип integer, тобто змінна weekday може бути використана як звичайна цілочисельна змінна.

 

Наприклад, як базовий може бути використаний перераховуваний тип:weekday:monday.. friday.

 

Змінні інтервального типу описуються в розділі опису змінних.

 

Наприклад:

 

program primer;

var a, b, c: 1..5;

begin

a: =1;

b: =2;

writeln(c);

end.

 

Таблиця 4 - Варіанти завдань для лабораторної роботи № 4

Зміст завдання
  Вивести назву місяців в прямому порядку
  Вивести назву місяців в зворотному порядку
  Вивести назви місяців по кварталах
  Вивести назви місяців по порах року
  Вивести дні тижня в прямому порядку
  Вивести дні тижня в зворотному порядку
  Вивести розклад занять групи на тиждень
  Вивести барви веселки в прямому порядку
  Вивести барви веселки в зворотному порядку
  Вивести список групи за абеткою
  Вивести список групи за віком
  Вивести назви гральних карт по мастях в порядку старшинства
  Вивести назви шахових фігур за кольором і в порядку старшинства
  Визначити, чи є рік високосним
  Визначити, скільки днів в даному місяці
  Розрахувати тривалість робочого тижня при п'ятиденці (7 годин в день) і шестиденці (6 годин в день)
  Поставити у відповідність букві алфавіту її порядковий номер
  Виписати букви латинського алфавіту в прямому порядку
  Виписати букви латинського алфавіту в зворотному порядку
  Виписати тільки голосні букви латинського алфавіту
  Виписати тільки приголосні букви латинського алфавіту
  Вказати назву місяця залежно від його номера
  Вказати назву дня тижня залежно від його номера
  Визначити день тижня залежно від дати в поточному році
  Вивести вік членів вашої сім'ї
  Вивести назви учбового приладдя і їх ціну в коп.
  Вивести відомих вам домашніх і диких тварин
  Обчислити вартість покупки в магазині з виведенням назв покупок і їх ціни
  Вивести назви відомих вам птахів і області їх проживання
  Вивести назви відомих вам країн і їх столиць

ЛАБОРАТОРНА РОБОТА № 5

 



Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 179; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.15.219.217 (0.01 с.)