Типи даних алгоритмічної мови TURBO Pascal. Стандартні функції і оператори роботи з рядками
Житомирський військовий інститут Національного авіаційного університету Рефератна тему: Типи даних алгоритмічної мови TURBO Pascal. Стандартні функції і оператори роботи з рядкамиЖитомир 2010ПланСтруктура (класифікація) типів даних мови T.PascalПрості типи данихСтруктуровані типи даних. Масиви данихСтандартні модулі T.Pascal, їх призначенняСимвольні масиви Визначення рядкового типу даних Основні операції над рядковими даними Стандартні засоби обробки рядків: процедури і функції 1.Структура типів даних Будь-яка константа, змінна, значення функції або виразу характеризується своїм типом. Тип цих об'єктів визначає множину допустимих значень, які може мати об'єкт, а також множину допустимих операцій над об'єктами. Крім того тип визначає і формат внутрішнього представлення значення об'єкту Класифікація типів даних 2. Прості типи даних До простих відносять реальні та порядкові типи даних. Порядкові характеризуються кінцевим числом можливих значень. Ці значення можна упорядковувати (звідки і назва) будь-яким чином, так, що кожному з них можна зіставити деяке ціле число - порядковий номер значення. Реальні також мають кінцеве число значень, але їх кількість дуже велика, тому кожному з них зіставити ціле число просто неможливо. Порядкові типиДо порядкових типів відносяться: цілі, логічні, символьні, переліку та тип-діапазон. До будь-якого з них можна використати функції: ORD(Х) - порядковий номер значення; PRED(X) - порядковий номер попереднього значення; SUCE(X) - порядковий номер наступного значення; ORD(PRED(X))=ORD(X)-1; ORD(SUCE(X))=ORD(X)+1. Цілі типи Опис: Var <ім'я>: integer; |
Тип | Діапазон значень | Довжина, байт | | Byte | 0…255 | 1 | | Word | 0…65535 | 2 | | Integer | -32768…32767 | 2 | | ShortInt | -128…127 | 1 | | LongInt | -2147483648…2147483647 | 4 | | |
Byte - довжина в байт; Word - довжина в слово; Integer - ціле; ShortInt - коротке ціле; LongInt - довге ціле. Над цими типами визначені операції: “+”, “-“, “*”, div - цілочислове ділення. При використані процедур і функцій з цілочисловими параметрами слід керуватися відповідністю діапазонів типів. Наприклад: integer входить в Longint, byte < word і т.д. Якщо в виразі використані різні типи, то вони приводять до базового типу - min потужності цілого типу, який не містить результат. Логічний тип (BOOLEAN) Значенням цього типу може бути одна з двох констант FALSE або TRUE. Для них справедливі правила: ORD (FALSE) = 0; ORD (TRUE) = 1; FALSE < TRUE. Крім того є 4 стандартні логічні операції: AND - логічний добуток; OR - логічна сума; XOR - сума по модулю “2”; NOT - логічне заперечення (унарна операція). Наприклад: А = TRUE; not A=B B = FALSE not B=A A and B=B A or B=A A xor B=A A and A=A (TRUE) B or A=A B xor A=A B and A=B A or A=A A xor A=B B and B=B B or B=B (FALSE) B xor B=B Опис: Var <ім'я>: boolean; Символьний тип (CHAR) (character - символ). Значення символьного типу є множиною всіх символів ПК. Кожен символ має код у значенні 0…255, так званий ASCII(American Standard Code for Information Interchange). Для представлення символів апострофи: `A', `B', …,'*','”',… Опис: Var <ім'я>: char; Символьні значення можна вводити, виводити, присвоювати, порівнювати (при порівнянні використовується порядковий номер коду ASCII). Стандартні символьні функції: СHR(код символа) - повертає відповідний символ; ORD (S) - повертає код символа S. Приклад : Var x,y: char; Begin Read(x); Y:='A'; If x <y then write ( x'); End. Тип переліку. Задається переліком тих значень, які він може отримати. Кожне значення іменується ідентифікатором і розташовується в круглих дужках через кому: Type Season = (winter, spring, autumn); Значенням присвоюються порядкові номери: 0,1,2,3…255. Наприклад: ord (summer) =2. Значення можуть бути тільки іменними. Їх можна присвоювати і порівнювати, але не можна вводити і виводити операторами READ і WRITE. Приклад: Type Season = (win, spr, sum, out); Var b: byte; c:season; Begin readln(b); c:= season (b); Case c of Win : writeln(`winter'); Spr : writeln(`spring'); Sum : writeln(`summer'); Out : writeln(`outumn'); End. End. Тип - діапазон Визначається як інтервал значень базового типу (раніш визначеного), яким може бути будь-який порядковий тип: <ім'я> = <min значення>..<max значення>; Приклад: Type Day = 1..31; Mounth = 1..12; Letter = `A'..'Z'; При визначенні типа-діпазона, слід користуватись правилами: а) - це один символ(без пробілу); б) ліва границя не повинна перевищувати праву; в) ім'я повинно бути правильним ідентифікатором (починатись з букви, не співпадати зі службовими словами,тільки латинські букви, цифри та підкреслення). Реальний тип Позначає множину дійсних значень в різних діапазонах. ТР підтримує декілька реальних типів, характеристики яких представленні в таблиці: |
Тип | Діапазон значень | Число цифр | Довжина байт | | Singl | 1.5Е-45…3,4Е38 | 7…8 | 4 | | Real | 2,9Е-39…1,7Е38 | 11…12 | 6 | | Double | 5Е-324…1,7Е308 | 15…16 | 8 | | Extended | 3,4Е-4932…1,1Е4932 | 19…20 | 10 | | Comp | 1Е-20…1Е20 | 19…20 | 8 | | |
Реальні типи можна зобразити з фіксованою і плаваючою комами: (17.38) (1738Е-2) Для прискорення обчислень, можна переопреділяти тип REAL: Type Real = dabble; або Type Real = extended; Функції прискорення реальних типів до цілочислених: Round - скругляє Real до ближнього цілого; Trunc - усікає real шляхом відкидання дробної частини. 3. Структуровані типи. Масиви даних Масиви - тип даних, який складається з фіксованої кількості елементів одного типу. Опис масиву можна виконувати як у розділі TYPE, так і VAR. TYPE <ім'я масиву> = ARRAY[розмір] OF <тип компонент>. Тип індексу (діапазон) - будь-який порядковий тип, зокрема LongInt. Тип компонент - будь-який тип ТР, або інший масив. Приклад: Type M1 = array [1..100] of real; Mat2 = array [1..10] of array [1..20] of integer; Var Vector : M1; Arr1, Arr2 : mat2; Інакше Var <ідентефікатор> : array [діапазон] of <тип>; Приклад: Var Vector: array [1..100] of real; Над змінними масивів можна виконувати операції присвоювання і порівняння. Арифметичні дії, ввод та вивод не можна виконувати над послідовностями, але можна над їх окремими елементами. Елемент масиву виділяється конкретним значенням індексу. Наприклад: Var X: array [0..99] of real; Тоді Х[0] - перший елемент, Х[1] - другий і т.д. Масив може бути одномірним, двомірним і т.д. Наприклад: Var mat2 : array [1..10,1..20] of integer; Компоненти масиву позначаються; Mat2 [1,3]; Mat2 [5,8] …; Так і організовується доступ до елементів двомірних масивів. Приклад: Введення значень у масив М. Var M : array [ 1..10 ] of integer; i : integer; begin i := 0; repeat i := i+1; read ( M [ i ] ) until i = 10 end. обчислити значення функції Yi=(a+b+xi)/2, якщо а і b - фіксовані значення; x={3,8,12,20,25}, i=1,N .
Страницы: 1, 2
|