КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
PROGRAM mean;{обчислення середнього арифметичного n додатних чисел} LABEL 999; \/AR n,і: іnteger; suma,number, seredne:real; BEGIN wrіte (‘Введіть кількість чисел ‘); readln (n); suma:=0; FOR i:=1 TO n DO BEGIN write(‘Введіть кількість чисел ‘); ReadIn(number); IF number < 0 THEN goto 999; sumas:=suma+number END; seredne:=suma/n; Writeln; writeln (‘Середнє арифметичне=’, seredne); 999: writln(‘Виконання програми припиняється') END. 2.7. Прості нестандартні типи даних У мові програмування Паскаль, крім стандартних типів (integer, real, char, boolean), можна використовувати й інші типи даних. Використання в програмі таких типів можливі тільки після відповідного їх визначення в спеціальному розділі. Типи можна поділити на прості (скалярні, неструктуровані) і складені (структуровані). Стандартні типи даних належать до простих типів. До простих нестандартних типів даних належать перелічувальні i інтервальні типи. Перелічувальний тип. Цей тип означається перелічень ням по порядку всіх його значень. Значення нового типу подаються iменами (ідентифікаторами), які є константами цього типу. Означення типу має вигляд TYPE ім'я типу = (список констант-iдентифікаторів); TYPE day = (monday, tuesday, wednesday, thursday. friday, saturday» sunday); month = (january, february, march, april, may, june, july, august, september, oktober, november, december); znak = (plus, minus, multiply, divide); color = (red, orange, yellow, green, lightblue, blue, violet); {тип день = (понеділок, вівторок, середа, четвер, п'ятниця, субота, неділя); місяць == (січень, лютий, березень, квітень, травень, червень, липень, серпень, вересень, жовтень, листопад, грудень); znak = (плюс, мінус, множити, ділити); колір = (червоний, оранжевий, жовтий, зелений, голубий, синій, фіолетовий);} Тут означаються чотири перелічувальні типи, імена яких day, month, znak, color. Тепер ці iмена такі ж iдентифікатори типу, як integer або real. Для будь-якого перелічувального типу t, який означається записом TYPE t = (v1, v2 , ..., vn ), де t — ім'я типу; v1, v2 , ..., vn— константи-ідентифікатори, повинні задовольнятися вимоги: 1) vi¹ vj, якщо i¹j; 2) vi<vj, якщо і < j(впорядкованість), тобто впорядкованість у перелічувальних типах визначається порядком, в якому значення перелічені в означенні типу; 3) значення типу t можуть бути лише v1, v2 , ..., vn. До перелічувальних типів можна застосовувати операції відношення =, <>,<,< =, >, > =, якщо обидва компоненти відношення одного типу. Отже, для наведеного прикладу можна записати вирази monday < thursday minus > plus які мають значення true. Для аргументів перелічувального типу можна застосовувати стандартні функції знаходження попереднього і наступного елементів: pred (vi)= ,i=2,3, .... n; succ (vi) = vi+1 , i=2,3, .... n-1. Функція ord для перелічувального аргументу видає число, яке є порядковим номером заданого значення в списку означення. При цьому порядковий номер першого значення списку дорівнює нулю, тобто ord (v1) =0; ord (vi) = ord (pred (vi)) + 1, і= 2, 3, ..., n. Таким чином, ord (red) = ord (January) = 0; ord (green) = 3; ord (divide) = 3. Зауважимо, що стандартний булевий тип автоматично означається як TYPE boolean = (false, true); До перелічувального типу можна віднести також стандартний тип char. Його, як і булевий тип, не треба означати програмісту, оскільки він означається автоматично. Типи, що означаються програмістом, використовуються так, як і стандартні. Наприклад, VAR winterm, summerm : month;
|