Паскаль: лексика, вирази, семантика, Детальна інформація
Паскаль: лексика, вирази, семантика
Мова Паскаль в основному дотримується угод, що склалися в математиці про порядок застосування операцій у виразах. Це дозволяє не записувати зайві дужки, наприклад, усі розуміють, що 1-2*3 означає те ж саме, що і 1-(2*3). На порядок застосування операцій за відсутності дужок впливає їх старшинство, або пріоритетність. Якщо поруч із позначенням операнда записано знаки двох операцій, то спочатку виконується старша з них, що має більш високий пріоритет. У табл.2.2 всі операції (не тільки над цілими) розбито на чотири групи, розташовані в порядку спадання пріоритету. Операції всередині кожної групи мають однакові пріоритети. Наприклад, вираз 1+(3+2)*2 задає, що після обчислення 3+2, тобто 5, воно множиться на 2, а не додається до 1.
Крім властивостей старшинства, операції мають властивості право- або лівобічного зв'язування. У стандарті мови Паскаль усі двомісні операції мають властивість лівобічного зв'язування: якщо ліворуч і праворуч від позначення операнда записано знаки операцій з однаковим старшинством, то спочатку застосовується записана ліворуч. Наприклад, 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.5. Іменування виразів із сталими
Вираз із сталими, записаний у програмі, обчислюється не при виконанні програми, а в процесі трансляції. Значення такого виразу можна позначити ім'ям (іменувати) і використовувати це ім'я далі в програмі. Іменування має вигляд
const ім'я = вираз із сталими;
(ключове слово const означає "стала"). Іменування є означенням імені, яке після означення можна записувати в програмі замість виразу.
Корисно іменувати вираз, що записується в багатьох місцях програми, або "непостійно постійні", що можуть змінитися з часом уже після того, як створено програму, наприклад, деякі величини в економічних задачах. Якщо вираз іменований, то зміну потрібно внести лише в іменування, а якщо ні – доведеться змінювати вираз скрізь, де він зустрічається.
За словом const можна записати кілька іменувань, відокремивши їх ";", причому у виразах можна використовувати імена вже іменованих виразів, наприклад:
const a=12; b=2*a; tt=a+b;
Ім'я tt після цього позначатиме 24.
Саме з іменування виразів найчастіше починаються Паскаль-програми.
3. Вирази та оператори
3.1. Імена та змінні
Поняття змінної числової величини вперше з'явилося в роботах геніального француза Рене Декарта. Воно багато в чому визначило подальший розвиток математики. Пізніше, із створенням математичної логіки та теорії множин, виявилося, що змінна величина може бути не обов'язково числовою, а мати значеннями, наприклад, "істину" й "хибність" або множини елементів найрізноманітнішого походження. Так, можна говорити про змінну істинність фрази "тут зараз світить сонце" або про змінну множину команд Ліги чемпіонів з футболу.
B
R
1/4
I
Крім властивостей старшинства, операції мають властивості право- або лівобічного зв'язування. У стандарті мови Паскаль усі двомісні операції мають властивість лівобічного зв'язування: якщо ліворуч і праворуч від позначення операнда записано знаки операцій з однаковим старшинством, то спочатку застосовується записана ліворуч. Наприклад, 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.5. Іменування виразів із сталими
Вираз із сталими, записаний у програмі, обчислюється не при виконанні програми, а в процесі трансляції. Значення такого виразу можна позначити ім'ям (іменувати) і використовувати це ім'я далі в програмі. Іменування має вигляд
const ім'я = вираз із сталими;
(ключове слово const означає "стала"). Іменування є означенням імені, яке після означення можна записувати в програмі замість виразу.
Корисно іменувати вираз, що записується в багатьох місцях програми, або "непостійно постійні", що можуть змінитися з часом уже після того, як створено програму, наприклад, деякі величини в економічних задачах. Якщо вираз іменований, то зміну потрібно внести лише в іменування, а якщо ні – доведеться змінювати вираз скрізь, де він зустрічається.
За словом const можна записати кілька іменувань, відокремивши їх ";", причому у виразах можна використовувати імена вже іменованих виразів, наприклад:
const a=12; b=2*a; tt=a+b;
Ім'я tt після цього позначатиме 24.
Саме з іменування виразів найчастіше починаються Паскаль-програми.
3. Вирази та оператори
3.1. Імена та змінні
Поняття змінної числової величини вперше з'явилося в роботах геніального француза Рене Декарта. Воно багато в чому визначило подальший розвиток математики. Пізніше, із створенням математичної логіки та теорії множин, виявилося, що змінна величина може бути не обов'язково числовою, а мати значеннями, наприклад, "істину" й "хибність" або множини елементів найрізноманітнішого походження. Так, можна говорити про змінну істинність фрази "тут зараз світить сонце" або про змінну множину команд Ліги чемпіонів з футболу.
B
R
1/4
I
The online video editor trusted by teams to make professional video in
minutes
© Referats, Inc · All rights reserved 2021