WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

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

ГоловнаІнформатика, Компютерні науки → Програмування: Структури перехід та вибір варіанту, типи символів та перелічувані - Реферат

Програмування: Структури перехід та вибір варіанту, типи символів та перелічувані - Реферат


Реферат з інформатики
Програмування: Структури перехід та вибір варіанту, типи символів та перелічувані.
1
. Мітки та переходи
У мові Паскаль будь-який оператор і кінець складеного оператора (слово end) можна відмітити, тобто ідентифікувати, додати йому індивідуальне ім'я. Це ім'я називається міткою. У авторській версії мови мітками могли бути цілі сталі від 1 до 9999, у мові Борланд-Паскаль до них додано ідентифікатори. Мітка записується перед оператором або словом end через двокрапку, наприклад,
1 : money := 21;
mmm : money:=0;
finita : end.
Мітки, використовувані в тілі програми або підпрограми, повинні бути означені в її ж блоці. Означення міток має вигляд:
label список-міток-через-кому ;
наприклад, label 1, mmm, finita;.
Мітка, означена в блоці, повинна відмічати рівно один оператор у тілі цього блоку.
Мітки використовуються в операторах переходу, що мають вигляд
goto мітка
наприклад,
goto 1; if x>1000 then goto mmm.
Результатом виконання оператора переходу є те, що слідом за ним виконується оператор, відзначений цієюміткою.
У випадку, коли відзначений кінець складеного оператора, можливі варіанти.
Якщо це не кінець тіла циклу і не кінець програми, то буде виконуватися наступний оператор.
Якщо відзначений кінець програми, то її виконання завершується.
Якщо відзначений кінець тіла циклу, то виконуються дії, які слідують за виконанням тіла (перевірка умови продовження while-циклу або неявна зміна параметра for-циклу).
Оператор переходу й відповідний відмічений оператор повинні бути записаними в тілі блоку (програми або підпрограми), де цю мітку означено. Іншими словами,
переходи з одного блоку в інший і використання неозначених у блоці міток заборонено.
Ми не схильні популяризувати використання операторів переходу. Більше того, у свій час було доведено, що без них узагалі можна обійтися (достатньо умовних операторів і while-циклів). Проте є три випадки, коли указання переходу доречно й зручно:
на кінець підпрограми;
зсередини циклу на його кінець;
зсередини циклу на наступний за циклом оператор.
У Турбо Паскаль для указання таких переходів є спеціальні оператори, відповідно, exit, continue і break, тобто"вийти" (з підпрограми), "продовжувати" і "перервати" (виконання циклу). Розумно використовуючи ці оператори, можна обійтися без міток і goto. Насправді ці три оператори - виклики процедур. Їх імена не є службовими словами виділяти їхнім .
2. Тип символів
Розглянемо останній з базових типів - тип символів. Множина символів, представних у сучасному комп'ютері, як правило, складається з 256 елементів.
У мові Паскаль символ позначається символьною сталою, що є символом в апострофах: 'A', '1', '.' тощо. Сам символ "апостроф" задається символьною сталою ''''.
Символьна стала - це не символ, а його позначення в мові Паскаль.
Не всі символи позначаються сталими мови Паскаль, але будь-який символ можна задати за допомогою виклику функції chr. Символам у комп'ютері ставляться у відповідність номери від 0 до 255. Якщо i - цілий вираз із значенням від 0 до 255, то вираз вигляду chr(i) задає символ із номером, що є значенням i. Відповідність символів та номерів від 0 до 127 зафіксовано в Американському стандартному коді для обміну інформацією (ASCII). Наприклад, chr(48) позначає те ж саме, що й стала '0', chr(48+1) - то ж саме, що '1', chr(65) є синонімом сталої 'A', chr(97) - сталої 'a'.
Цілий номер символу породжується викликом функції "порядковий номер", тобто виразом вигляду ord(c), де значенням виразу c є символ. Наприклад, ord('0')=48, ord('A')=65, ord('a')=97. За своїм означенням, функції chr і ord взаємно обернені, тобто chr(ord(c))=c за будь-якого символу c, і ord(chr(n))=n за будь-якого n=0, 1, … , 255.
Крім функції ord, для символів означені порівняння, причому
aОчевидно, наприклад, що ' ' < '_' < '0' < '1' < … < '9' < 'A' < 'B' < ... < 'Z' < 'a' < 'b' < … 'a'; е) ord('9')-ord('0').
3)Написати вираз, що задає перевірку, чи є значення символьної змінної ch:
а) цифрою від '0' до '9';;
б) латинською буквою.
4)Написати вираз, що задає обчислення:
а) цілого числа від 0 до 9 за значенням символьної змінної ch від '0' до '9';
б) символу від '0' до '9' за цілим значенням змінної dg від 0 до 9.
5)Написати програму друкування таблиці символів та їх номерів, починаючи з символу ' ' (пропуск), номер якого 32.
3.. Перелічувані типи
Елементи кожного з типів Boolean, char і integer упорядковані відповідно до операції порівняння <. У цьому порядку їх можна взаємно однозначно зіставити натуральним числам 0, 1, … (перелічити їх). За будь-яким натуральним числом можна указати наступне за ним і попереднє перед ним (крім числа 0). Так само за будь-яким елементом, крім найбільшого, цих типів можна назвати наступний за ним і за будь-яким елементом,
крім найменшого, - попередній перед ним. Наприклад, наступним за false є true, наступним за chr(0) - chr(1), за chr(254) - chr(255).
Елементи типу real теж упорядковані, але поставити їм у відповідність натуральні 0, 1, … неможливо, як і за дійсним числом указати наступне за ним. Отже, всім базовим типам, окрім типу real, притаманно те, що для них означено операції "наступний", "попередній" та "порядковий номер".
У мові Паскаль перелічуваним називається тип, для якого означено операції SUCC (наступний), PRED (попередній) і ORD (порядковий номер елемента), а також порівняння =, , , =.
Типи boolean, char і integer, на відміну від типу real, є перелічуваними. Операції succ, pred, ord записуються у вигляді викликів функцій: вирази pred(1), succ('a') і ord(true) мають значення відповідно 0, 'b' і 1.
Всі чотири базових типи називаються скалярними, тому що значення цих типів не складені з частин, які можна було б окремо ідентифікувати. У наступному підрозділі ми розглянемо спосіб означення власних скалярних типів. Але всі вони будуть перелічуваними.
У мові Бор ланд-Паскаль для всіх перелічуваних типів означено операції, аналогічні succ і pred. Вони застосовуються до змінних перелічуваних типів у вигляді викликів процедур INC і DEC. Виклик inc(z) рівносильний оператору z:=succ(z), dec(z) - оператору z:=pred(z). У виклику може бути другий аргумент - цілочисловий вираз. Наприклад, виклик inc(z, 2) задає збільшення z
Loading...

 
 

Цікаве