Основи алгоритмізації та програмування Вирази в Паскалі.

Презентация:



Advertisements
Похожие презентации
Арифметичні операції та вирази. Стандартні функції для стандартних типів величин.
Advertisements

Основи алгоритмізації та програмування Надання значень величинам. Вказівки присвоєння та введення.
Основи алгоритмізації та програмування Вказівка повторення. Цикли.
Типи даних мови Visual Basic та їх опис. Опис величин Величина - це об'єкт, який має стале або змінне значення. Основні характеристики величин: ім'я,
Числовим виразом називається запис, складений із чисел, знаків арифметичних дій і дужок. Числовий вираз має лише одне значення. Порядок операцій у числовому.
Лекція 2 Тема: Операції. Вирази. Оператори.. План Операції Основні операції Порядок виконання операцій Додаткові операції Вирази Оператори Оператор присвоєння.
Основи алгоритмізації та програмування Виведення інформації Вказівка виведення інформації.
Коротка О.Б.. Це зрозуміла та точна інструкція (указівка) виконавцю, як йому реалізувати певну послідовність дій, призначених досягнути поставленої мети.
Практична робота 3 "Форматування в електронних таблицях. Використання формул" 11 клас Рівень стандарт Урок 10.
Основи алгоритмізації та програмування Логічні вирази. Вказівка розгалуження.
Формула – це основний інструмент аналізу даних. За допомогою формул можна виконувати математичні дії, порівнювати, обєднувати дані як у межах одного робочого.
Алфавіт мови програмування Pascal. Величини. Типи даних. Набір функцій та операцій для кожного з типів.
Функція. Область визначення і область значень функції. 7 клас.
Запити в Access Запити в базі даних Запити використовуються для перегляду, зміни й аналізу даних різними способами. Основні операції з використанням.
Основи алгоритмізації та програмування Опрацювання табличних величин. Заняття 1. Алгоритми формування масивів, виведення масивів, зміни значень елементів.
Урок 22 7 клас ЕЛЕКТРОННІ ТАБЛИЦІ ТП MS EXCEL. Використання формул і функцій
Вказівники Вказівник (або покажчик) – особливий тип даних, значенням якого є адреса певного байта оперативної памяті. Значення покажчика - це беззнакове.
* Тема: Величини (змінні і константи), їхні властивості. Прості типи величин: числовий, логічний, символьний, рядковий.
Електронні таблиці EXCEL Введення формул до ЕТ. Формули призначені для виконання дій над вмістом клітинок (над даними) згідно з умовою конкретної задачі.
Оператори. Введення і виведення даних. Оператор присвоювання Оператори це команди програми. Оператор присвоювання є основним оператором мови програмування.
Транксрипт:

Основи алгоритмізації та програмування Вирази в Паскалі

Exit Поняття виразу Виразом в інформатиці вважається одна або декілька величин або функцій, сполучених між собою знаками дій та знаками послідовності дій - дужками. Приклади: a+b cos(y)-sin(x)*(x+y) Зверніть увагу! Навіть одну величину можна вважати виразом. Зверніть увагу! Навіть одну величину можна вважати виразом.

Exit Види виразів у Паскалі Вираз створюють для отримання значення і подальшого його присвоювання змінній величині або передачі у процедуру (пригадайте вираз як аргумент процедури виведення WriteLn(a+b). Результатом виразу може бути значення одного із допустимих в Паскалі – ціле число, дійсне число, символ, рядок або логічна величина. Звідси і три види виразів: числові – результат виразу - число рядкові – результат виразу – рядок символів логічні – результат виразу – логічна величина

Exit Числові вирази Числові вирази складають для отримання числового результату. Вони можуть містити: величини числових типів (змінні або сталі) функції, що дають числовий результат знаки арифметичних операцій круглі дужки Приклад: (a+b)*c/234-sin(2*x-1) Приклад: (a+b)*c/234-sin(2*x-1)

Exit Арифметичні операції в числових виразах Паскаля З математики відомо, що існує чотири основних арифметичних дії: додавання – позначається знаком + (плюс) віднімання – позначається знаком - (мінус) множення – позначається знаком * (помножити) ділення – позначається знаком / (розділити)

Exit Додаткові арифметичні операції Якщо ми очікуємо числовий результат цілого типу (Integer), то не можна використовувати операцію ділення (/), так як у цьому випадку результат виразу буде дійсного типу (Real). Для цілочислових виразів використовуються спеціальні арифметичні операції: div - частка від ділення націло двох цілих величин; mod - остача від ділення націло двох цілих величин. Приклад: 9 div 4 має значення 2 9 mod 4 має значення 1 Приклад: 9 div 4 має значення 2 9 mod 4 має значення 1

Exit Арифметичні операції div та mod Операції div та mod виконуються над величинами тільки цілого типу. Результатом виконання цих дій є також цілі числа. 10 div 3 = 3 - тобто в результаті одержимо відповідь на запитання, скільки разів число 3 входить у mod 3 = 1 - тобто в результаті такої дії одержимо відповідь на запитання, скільки залишиться від числа 10, якщо вилучити з неї всі трійки.

Exit Відповідність арифметичних операцій типам Операції div та mod виконуються тільки над величинами цілого типу. Операції "*", "/", "+", "-" виконуються над величинами як цілого, так і дійсного типу. Питання лише в аналізі типу результату. Зверніть увагу! Якщо операції "*", "+", "-" виконуються над величинами, що мають цілі значення, то і отриманий результат буде цілим числом. Якщо ж хоча б одна з величин, над якими виконується дія, буде мати дійсний тип, то і результат буде дійсного типу. Виняток складає операція ділення "/". Якого б типу не були величини, над якими вона виконується, результат завжди матиме дійсний тип. Зверніть увагу! Якщо операції "*", "+", "-" виконуються над величинами, що мають цілі значення, то і отриманий результат буде цілим числом. Якщо ж хоча б одна з величин, над якими виконується дія, буде мати дійсний тип, то і результат буде дійсного типу. Виняток складає операція ділення "/". Якого б типу не були величини, над якими вона виконується, результат завжди матиме дійсний тип.

Exit Пріоритет арифметичних операцій У програмуванні так само, як і у математиці, визначений пріоритет виконання арифметичних дій, тобто визначається, яким діям надається перевага перед іншими під час обчислення значення арифметичного виразу. Наведемо арифметичні операції Паскалю саме в порядку зменшення їх пріоритетності: *, / множення та ділення; div частка від ділення націло двох цілих чисел; mod остача від ділення націло двох цілих чисел; +, - додавання та віднімання. Зверніть увагу! У Паскалі відсутня операція піднесення до степеня. Це на перший погляд здається дуже незручним. З часом до такого недоліку швидко звикають і виявляється, що без цієї операції можна обійтися. Зверніть увагу! У Паскалі відсутня операція піднесення до степеня. Це на перший погляд здається дуже незручним. З часом до такого недоліку швидко звикають і виявляється, що без цієї операції можна обійтися.

Exit Запис арифметичних виразів у Паскалі Арифметичні вирази, як і всі інші конструкції мов програмування, вводяться з клавіатури підряд, в один рядок. Тому розглянемо деякі цікаві приклади відповідності математичних записів записам на мові програмування (зверніть увагу на використання дужок та їх значення): (a+b)/(c+d) a+b/c+d a+b/c*d (a+b)/(c*d) Зверніть увагу! Починаючі програмісти часто роблять помилки у подібних виразах. За правило слід взяти те, що в математиці знак дробу має найнижчий пріоритет, тобто дробове ділення виконується останнім. В програмуванні дробового ділення не має – є лише звичайне з пріоритетом рівня множення. Зверніть увагу! Починаючі програмісти часто роблять помилки у подібних виразах. За правило слід взяти те, що в математиці знак дробу має найнижчий пріоритет, тобто дробове ділення виконується останнім. В програмуванні дробового ділення не має – є лише звичайне з пріоритетом рівня множення. Синім кольором позначені вирази Паскаля. Чорним – математичні вирази.

Exit Функції у виразах Як було сказано раніше, до складу виразу можуть входити функції. Функція - вид зв'язку між величинами, коли зміна однієї з них призводить до зміни іншої. Деякі з з функцій вам відомі з математики: sin x, cos x, tg x, тощо. Паскаль має власні стандартні (закладені в нього авторами) функції та дозволяє створити та використовувати функції користувача. Зверніть увагу! Пріоритетність обчислення функцій найвища. Зверніть увагу! Пріоритетність обчислення функцій найвища.

Exit Вимога до запису аргументів функції Зверніть увагу! У мовах програмування аргументи функції вказуються у дужках. Зверніть увагу! У мовах програмування аргументи функції вказуються у дужках. Тобто в математиці ви пишете sin x, а у Паскалі треба вказувати sin(x)

Exit Математичні функції До математичних відносять наступні функції: sin(x) -синус cos(x) - косинус arctan(x) - арктангенс (аргументи тригонометричних функцій задаються в радіанах) ехр(х) е x (експонента) Іn(х) Іnх (логарифм натуральний) abs(x)|х| (модуль) sqrt(x) sqr(x)x 2 Зверніть увагу! Для функцій від sin(x) до ln(x) аргументами можуть бути цілі або дійсні значення, а результати завжди дійсні. Для решти функцій тип результату співпадає з типом аргументу. Зверніть увагу! Для функцій від sin(x) до ln(x) аргументами можуть бути цілі або дійсні значення, а результати завжди дійсні. Для решти функцій тип результату співпадає з типом аргументу.

Exit Допоміжні математичні функції trunc(x) - ціла частина х, тобто відкидається дробова частина; х -дійсне, результат - цілий. Наприклад, trunc(-7.3)= -7 trunc(-7.5)= -7 Pi - повертає значення числа π (тобто …) аргументів немає. round(x) - заокруглення до цілого значення; х - дійсне, результат - цілий. Наприклад, round(4.2)=4, round(4.5)=5

Exit Функції перетворення chr(k) – виробляє значення символу, порядковий номер якого в таблиці ASCII-кодів рівний k; k – величина цілого числового типу, результат – величина типу Char Наприклад, chr(70)= 'F' ord(c) – виробляє ціле числове значення, що відповідає коду символу в таблиці ASCII-кодів; с – символ із таблиці ASCII-кодів, результат – ціла числова величина. Наприклад, ord(F')=70 chr(ord('F'))= 'F'

Exit Спеціальні функції для перерахованих типів pred(k) - попередній для k елемент у перерахованому типі (Integer, Char, Boolean) В якості прикладів наведемо такі: pred('B')='A', pred(10)=9 Для першого елемента типу результат невизначений. succ(k) - наступний для k елемент. Наприклад, succ('B')='C', succ(false)=true. Для останнього елемента множини результат невизначений.

Exit Функція визначення парності odd(x) - визначення непарності х; х - ціле, результат - true або false. Наприклад, odd(2)=false, odd(5)=true

Exit Формула піднесення до степеня За допомогою наведеної формули можна піднести будь-яке число до будь-якого степеня: В Паскалі ця формула матиме вигляд: ехр(ln(х)*у)

Exit Вказівка надання значення. Оператор присвоювання Ясна річ, якщо у програмі буде обчислене значення арифметичного виразу, то його необхідно десь запам'ятати для подальшого використання. Для цього існує оператор присвоювання. Загальний вигляд оператора: := Приклади: a:=7; b:=a+3; c:=a;

Exit Знак присвоювання Знак "=" слід відрізняти від знака ":=". Перший означає порівняння, умову, яку можна перевірити. Логічно використовувати його із знаком запитання: "n=m?". Другий знак ":=" означає дію, яку потрібно виконати.

Exit Робота оператора присвоювання При виконанні оператора присвоювання спочатку за заданою формулою в правій частині виконуються обчислення при поточних значеннях змінних, що входять у неї, а потім отриманим результатом замінюється попереднє значення змінної, що вказана зліва. Опираючись на принцип виконання оператора присвоювання, зрозуміло, чому зліва може стояти лише ім'я змінної величини: адже отримане значення записується у ту частину оперативної пам'яті комп'ютера, яка виділена для цієї змінної. Розглянемо приклад: a:=2; b:=3; b:=b+a; Перша вказівка присваює змінній a значення 2, друга – змінній b значення 3, у третій вказівці спочатку розраховується значення виразу b+a, яке дорівнюватиме 5, а потім це значення присваюється змінній b. Попереднє значення змінної b втрачається.

Exit Відповідність типів у вказівки присвоювання В операторі присвоювання тип змінної, якій присвоюється значення повинен бути таким як і тип результату виразу, що записаний праворуч від знака присвоювання. Наприклад, у наведеній нижче вказівці присвоювання тип змінної a повинен бути Real, бо вираз sin(x)+sin(y) після обчислення отримає значення типу Real. a:= sin(x)+sin(y);

Exit Відповідність типів у вказівки присвоювання Вирази, що беруть участь в операторі присвоювання, можуть бути не лише арифметичними. Наприклад, правомірні і такі присвоювання: ch:='a'; Іехі:='алгоритм'; flag:=true Перший приклад присвоює змінній значення типу char, другий - string, третій - boolean. Пізніше ми будемо розглядати питання обчислення виразів типу boolean.

Exit Операція зміни значення величини типу a:=a+1 Операція збільшення а на 1 позначається таким чином: а:=а+1 Її слід читати так: "а замінити на а+1". Хай, спочатку в області пам'яті, яка відведена змінній а, знаходилося поточне значення 4. Тоді виконання оператора а:=а+1 відбувалося поетапно таким чином: при обчисленні виразу справа було взято поточне значення змінної а (число 4) і до нього додалося число 1; одержане значення 5 було поміщене, в ту область пам'яті, що відведена змінній а. При цьому попереднє значення змінної а втрачається. При повторному виконанні оператора а:=а+1 змінна а отримає вже значення 6.

Exit Особливості виконання групи операцій присвоювання Цікаво розглянути такі дві послідовності операторів присвоювання: 1) m:=n, n:=k; 2) n:=k, m:=n; Ці послідовності операторів присвоювання різні стосовно збереження значення змінної n. В першому випадку значення змінної n було збережене у змінній m. В другому випадку значення змінної n було втрачено перш, ніж його можна було використовувати для заміщення змінної m. Таким чином остання послідовність операторів присвоювання фактично аналогічна такій: n:=k, m:=k

Exit Питання для самоконтролю: 1. Що називають арифметичними виразами у Паскалі? 2. Назвіть арифметичні операції Паскаля в порядку їх пріоритетності. 3. Над якими величинами можна виконувати операції div та mod? 4. Які правила запису арифметичних виразів у Паскалі? 5. Як на машинному рівні виконується оператор присвоювання?