БАЗОВІ АЛГОРИТМІЧНІ СТРУКТУРИ. ТИПИ ДАНИХ В МОВІ PASCAL. ПРІОРИТЕТ ОПЕРАЦІЙ В МОВІ PASCAL
Базові алгоритмічні структури лінійні розгалуження цикли (слідування) (умова) (повторення)
Лінійна структура Задача 1. Обчислити значення виразу (а-b)*(c-d). Лінійна структура – передбачає, що тіло алгоритму являє собою послідовність команд, що виконуються одна за одною ПОЧАТОК КІНЕЦЬ Уведіть значення а,b, c, d Виведіть значення змінної z x:=a-b y:=c-d z:=x*y
Розгалуження Задача 2. Обчислити значення виразу (а-b)/(c-d). Розгалуження – забезпечує виконання або не виконання групи команд залежно від заданих умов Ні Так х=0? ПОЧАТОК Уведіть значення а,b, c, d x:=с-d у:=a-b z:=y/х Вивести: Вираз значення немає Вивести значення z КІНЕЦЬ
Цикли Задача 3. Є порожня діжка і відро. Використовуючи відро, наповнити діжку водою з колодязя. Цикл – вид базової структури, що дозволяє багаторазово повторювати задану послідовність команд Ні Так КІНЕЦЬ Наповнити відро водою Вилити воду з відра в діжку Діжка повна? ПОЧАТОК
Типи даних в мові Pascal Тип данихПозначенняОписПриклади Цілі числаIntegerЦілі числа в інтервалі [-32767;32767] 457, -568,-7, 0 Дійсні числаReal Значення з плаваючою крапкою, що містять експоненту (степінь числа 10) в інтервалі [ ;10 38 ] E+2 37E-44 Рядковий тип даних StringРядок символів довжиною не більше 255 символів String [25]
Правила використання виразів в мові Pascal Вирази записуються в один рядок. У виразах використовуються тільки круглі дужки, причому кількість дужок що відкривається повинна дорівнювати кількості дужок, що закриваються. Не можна записувати підряд два знаки арифметичних операцій. Обчислення виконуються зліва направо відповідно пріоритету операцій: а) операції обчислення функцій; б) дії в дужках; в) операції *, /, mod, div; г) операції +, -.
Мова Pascal Задача 1. Скласти програму мовою Pascal для обчислення арифметичного виразу: program Sum; var a,x,y,z:real; begin writeln (Введіть значення змінної х); readln (x); writeln (Введіть значення змінної y); readln (y); writeln (Введіть значення змінної z); readln (z); a:=(sqrt(abs(3.2*x-sqr(y)*y)))/(abs4.1*(sqr(z)+2*x)-4*x*y*z); writeln (a=, a:4:2); readln; end.