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

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

ГоловнаІнформатика, Компютерні науки → Лексика мови Паскаль та загальний вигляд програми - Реферат

Лексика мови Паскаль та загальний вигляд програми - Реферат

двомісні операції мають властивість лівобічного зв'язування: якщо ліворуч і праворуч від позначення операнда записано знаки операцій з однаковим старшинством, то спочатку застосовується записана ліворуч. Наприклад, 1-2*4+3 = (1-2*4)+3, але аж ніяк не 1-(2*4+3).
Застосування операцій, указаних у виразі, можна подати таким чином. Відшукаємо операцію, яка виконується першою, та від позначення її операндів проведемо стрілки вниз, і там запишемо результат. Потім зробимо те саме з операндами наступної операції, потім третьої тощо, поки не одержимо результат обчислення виразу. Приклади подано на рис.2.1.
Тип значення, обчислення якого задає вираз, називається типом виразу.
У системі програмування Турбо Паскаль застосовується так зване "ледаче", або скорочене, обчислення бульових операцій and і or. Спочатку обчислюється їх перший операнд. Якщо у випадку and він є false, то другий операнд не обчислюється, тому що результатом операції все рівно буде false. Аналогічно якщоперший операнд операції or є true, то це й буде результатом, і другий операнд не обчислюється. Наприклад, вираз (2*2=5) and (323345 div 17 = 0) задає обчислення лише 2*2=5, а (2*2=4) or (323345 div 17 = 0) - лише 2*2=4.
Задачі
2.4.* Обчислити значення виразу:
а) 2*ord(true)+3*ord(false); б) not true or false; в) false=true=false;
г) true=false=true; д) 58 mod 13 div 10; е) 9 mod 5 * 12 div 16.
Подати його обчислення аналогічно рис.2.1.
2.5.* Чи допустимий вираз:
а) 1=2=3; б) ord(true) or ord(false);
в) 1=1 or 2=2; г) true=false and true=false?
Якщо допустимий, то указати його значення.
2.2.5. Іменування виразів із сталими
Вираз із сталими, записаний у програмі, обчислюється не при виконанні програми, а в процесі трансляції. Значення такого виразу можна позначити ім'ям (іменувати) і використовувати це ім'я далі в програмі. Іменування має вигляд
const ім'я = вираз із сталими;
(ключове слово const означає "стала"). Іменування є означенням імені, яке після означення можна записувати в програмі замість виразу.
Корисно іменувати вираз, що записується в багатьох місцях програми, або "непостійно постійні", що можуть змінитися з часом уже після того, як створено програму, наприклад, деякі величини в економічних задачах. Якщо вираз іменований, то зміну потрібно внести лише в іменування, а якщо ні - доведеться змінювати вираз скрізь, де він зустрічається.
За словом const можна записати кілька іменувань, відокремивши їх ";", причому у виразах можна використовувати імена вже іменованих виразів, наприклад:
const a=12; b=2*a; tt=a+b;
Ім'я tt після цього позначатиме 24.
Саме з іменування виразів найчастіше починаються Паскаль-програми.
2.3. Вирази та оператори
2.3.1. Імена та змінні
Поняття змінної числової величини вперше з'явилося в роботах геніального француза Рене Декарта. Воно багато в чому визначило подальший розвиток математики. Пізніше, із створенням математичної логіки та теорії множин, виявилося, що змінна величина може бути не обов'язково числовою, а мати значеннями, наприклад, "істину" й "хибність" або множини елементів найрізноманітнішого походження. Так, можна говорити про змінну істинність фрази "тут зараз світить сонце" або про змінну множину команд Ліги чемпіонів з футболу.
У найзагальнішому значенні змінна величина - це узагальнення, абстракція якогось реального чи уявного об'єкта, або його окремої характеристики, що може перебувати в різних станах. Змінна звичайно позначається ім'ям, наприклад, у другому законі Ньютона a=F/m у фізиці імена m, a, F позначають змінні величини - масу тіла, прискорення його руху, та силу, що діє на нього. Як правило, змінна в міркуваннях ототожнюється з її ім'ям, і це не призводить до непорозумінь. Проте, ми майже завжди будемо відрізняти позначення від того, що ним позначено.
У програмуванні змінна також є представником об'єкта, але "міркує" тепер комп'ютер, тому змінна - це ділянка пам'ятіі, що своїми станами подає стани об'єкта.
У програмах мови Паскаль (та інших мов високого рівня) змінні позначаються іменами, або ідентифікаторами. Імена можна вибирати будь-які, крім службових слів. Наприклад, ABRACADABRA, temperature, number, f1234qq тощо. У багатьох діалектах імена різняться тільки по перших восьми символах, наприклад, імена abcdefgh1 і abcdefgh2 невідрізнювані.
Змінна величина у математиці вважається заданою, якщо визначено множину значень, які вона може приймати. У Паскаль-програмі змінна задається означенням, де записується її ім'я й тип:
var ім'я : ім'я типу;
наприклад,
var temperature : integer;
або
var even : boolean;
Ключове слово var є скороченням англійського variable - змінна). Кілька однотипних змінних можна означити разом, указавши їх імена через кому:
var a, b, c: integer;
Тип змінної задає множину її можливих значень, і операції, застосовні до них. Наприклад, цілі значення змінної temperature можна до чогось додавати або від чогось віднімати, а до значень змінної even можна застосовувати операцію заперечення, але не навпаки.
Кожна ділянка пам'яті має в комп'ютері щось на зразок номера - адресу. Саме адресою вказується ділянка пам'яті в машинній програмі. Ім'я змінної, записане в Паскаль-програмі, в результаті трансляції перетворюється на адресу деякої ділянки пам'яті програми. При виконанні програми ця ділянка і є тією змінною, чиє ім'я записано в програмі. Ми кажемо, що ім'я змінної вказує, або посилається на ділянку пам'яті під час виконання програми, або що ділянку поставлено у відповідність імені (рис.2.2).
Проте поки незрозуміло, звідки в змінних беруться значення. Зараз дізнаємося.
2.3.2. Оператор присвоювання
Оператор присвоювання має вигляд:
ім'я змінної := вираз
(знак присвоювання ":=" - це лексема, яку не слід плутати зі знаком порівняння "="). Оператор присвоювання позначає:
1) обчислити значення виразу, записаного праворуч;
2) записати це значення в змінну, позначену ім'ям.
Отже, описані дії є семантикою оператора присвоювання.
Приклад. Якщо ім'я z означено як var z : integer, то оператор присвоювання z:=11*(10+1) позначає обчислення значення 121 і запис його в змінну з ім'ям z. Після його виконання змінна з ім'ям z має значення 121.Р
Пара вигляду (ім'я, значення) називається станом змінної, наприклад, (z,121) - стан змінної z після виконання оператора присвоювання. Таким чином, після присвоювання змінній нового
Loading...

 
 

Цікаве