ПРОСТІ ПРОГРАМИ ЛІНІЙНОЇ СТРУКТУРИ

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Комп’ютеризовані системи
Кафедра:
Не вказано

Інформація про роботу

Рік:
2006
Тип роботи:
Інші
Предмет:
Алгоритмічні мови та програмування

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”  ПРОСТІ ПРОГРАМИ ЛІНІЙНОЇ СТРУКТУРИ ІНСТРУКЦІЯ ДО ЛАБОРАТОРНОЇ РОБОТИ № 1 З КУРСУ “АЛГОРИТМІЧНІ МОВИ І ПРОГРАМУВАННЯ” для студентів спеціальності 6.0914 “Комп’ютеризовані системи, автоматика і управління” та 6.1601 “Інформаційна безпека” Затверджено на засiданнi кафедри “Автоматика і телемеханiка”, протокол №___ від __.__.200__ р. Львів – 2006 Прості програми лінійної структури: інструкція до лабораторної роботи №1 з курсу “Алгоритмічні мови і програмування” для студентів спеціальності 6.0914 “Комп'ютеризовані системи, автоматика і управління” та 6.1601 “Інформаційна безпека” / Укл.: __________, Б.Д.Будз, О.І.Гарасимчук - Львів: НУЛП, 2006.- 15 с. Укладачі: _______________________________ , Б.Д. Будз, асистент, О.І. Гарасимчук, асистент. Відповідальний за випуск: _____________________________ . Рецензент: _____________________________ . Мета роботи - вивчити прості типи даних, операції, стандартні проце-дури і функції мови Турбо-Паскаль, навчитися складати та відлагоджувати прості розрахункові програми лінійної структури 1. ОСНОВНІ ТЕОРЕТИЧНІ ВІДОМОСТІ 1.1. Загальна структура програми. [ Program <ім'я_програми>;] {заголовок програми} [ Uses <модуль_1>, <модуль_2>,...;] {додаткові (бібліотечні) модулі} [ Label <мітка_1>, <мітка_2>,...;] {розділ опису міток} [ Const <константа_1> = <значення_1>; {розділ визначення констант} <константа_2> = <значення_2>; ...; ] [ Type <тип_1> = <структура типу_1>; {розділ визначення типів} <тип_2> = <структура типу_2>; ...; ] [ Var <змінна> [, <змінна>, ...] : <тип_1>; {розділ опису змінних} <змінна> [, <змінна>, ...] : <тип_2>; ... ] [ Procedure ...;] {розділ опису процедур} [ Function ...;] {розділ опису функцій} Begin {розділ операторів} [<оператор_1>; <оператор_2>; …] End. 1.2. Основні символи Основні символи мови – букви, цифри і спеціальні символи, які складають його алфавіт. ТУРБО ПАСКАЛЬ включає наступний набір основних символів: 1) 26 латинських великих и 26 латинских малих літер: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 2) _ підкреслення 3) 10 цифр: 0 1 2 3 4 5 6 7 8 9 4) знаки операцій: + - * / = <> < > <= >= := @ 5) обмежувачі: . , ' ( ) [ ] (. .) { } (* *) .. : ; 6) специфікатори: ^ # $ 7) службові (зарезервовані) слова: ABSOLUTE EXPORTS LIBRARY SET EXTERNAL MOD SHL AND FAR SHR ARRAY FILE NIL STRING ASM FOR NEAR THEN ASSEMBLER FORWARD NOT TO BEGIN FUNCTION OBJECT TYPE CASE GOTO OF UNIT CONST IF OR UNTIL CONSTRUCTOR IMPLEMENTATION PACKED USES DESTRUCTOR IN PRIVATE VAR DIV INDEX PROCEDURE VIRTUAL DO INHERITED PROGRAM WHILE DOWNTO INLINE PUBLIC WITH ELSE INTERFACE RECORD XOR END INTERRUPT REPEAT EXPORT LABEL RESIDENT Крім перелічених, в набір основних символів входить пробіл. Пробіли не можна використовувати всередині здвоєних символів і зарезервованих слів. 1.3. Елементарні конструкції Елементарні конструкції мови ПАСКАЛЬ включають в себе імена, числа і рядки. Імена (ідентифікатори) називають елементи мови - константи, мітки, типи, змінні, процедури, функції, модулі, обєкти. Ім’я - це послідовність букв і цифр, які починаються з букви. В іменах можна використовувати символ _ підкреслення. Ім’я може складатись з довільної кількості символів, але значущими являються перші 63. Не дозволяється в мові ПАСКАЛЬ використовувати в якості імен службові слова і стандартні імена, якими названі стандартні константи, типи, процедури, функції і файли. Для покращення наглядності програми в неї можна вставляти пробіли. Принаймі один пробіл вимагаєтся вставити між двома послідовними іменами, числами або службовими і стандартними іменами. Пробіли неможна використовувати всередині імен і чисел. Приклади імен мови ПАСКАЛЬ: A b12 r1m SIGMA gamma I80_86 Числа в мові ПАСКАЛЬ зазвичай записуються в десятковій системі числення. Вони можуть бути цілими и дійсними. Додатній знак числа може бути пропущений. Цілі числа записуються в формі без десяткової коми, наприклад: 217 -45 8954 +483 Дейсні числа записуються в формі с десятковою комою або у формі з викристанням десяткового порядку, який позначається буквою Е: 28.6 0.65 -0.018 4.0 5Е12 -1.72Е9 73.1Е-16 Рядки в мові ПАСКАЛЬ - це послідовність символів, записаних між апострофами. Якщо в рядку в якості символу необхідно використати сам апостроф, то потрібно записати два апострофа. Приклади рядків: 'РЯДОК' 'STRING' 'ПРОГРАМА' 'СІМ''Я' 1.4. Стандартні типи даних. До стандартних відносяться цілі, дійсні, логічний, символьний і адресний типи. Таблиця 1 Тип Назва Довжина, Байт Діапазон значень  Цілі типи Byte Shortint Word Integer Longint 1 1 2 2 4 0...255 -128...127 0...65535 -32768...32767 -2147483648...2147483647  Дійсні типи Single Real Double Comp Еxtended 4 6 8 8 10 1.5е-45...3.4е+38 2.9е-39...1.7е+38 5.0е-324...1.7е+308 -9.2е+18...9.2е+18 3.4e-4932...1.1e+4932  Логічний Boolean 1 true, false  Символьний Char 1 0...255   1.5. Вирази. Вираз складається з констант, змінних, вказівників функций, знаків операцій і дужок. Вираз задає правило обчислення деякого значения. Порядок обчислення виразів визначається пріоритетом операцій які містяться в ньому. В мові ПАСКАЛЬ прийнятий наступний пріоритет операцій: 1. унарна операція not, унарный минус -, взяття адреси @ 2. операції типу множення * / div mod and shl shr 3. операції типу додавання + - or xor 4. операции відношення = <> < > <= >= in Загальна інформація про операції в Турбо-Паскалі подана в табл.2. Операції перераховані в послідовності зростання їх пріоритету. Таблиця 2 Операція Виконувана дія Тип операндів Тип результату  Not Заперечення Boolean Цілий Boolean цілий  * Множення Цілий Дійсний цілий дійсний  / Ділення Дійсний extended (Real)  Div цілочислове ділення Цілий менший цілий  Mod залишок ділення Цілий менший цілий  And логічне І Boolean Цілий Boolean менший цілий  Shl зсув ліворуч Цілий менший цілий  Shr зсув праворуч Цілий менший цілий  + Додавання Цілий Дійсний менший цілий extended (Real)  - Віднімання Цілий Дійсний менший цілий extended (Real)  or логічне АБО Boolean Цілий Boolean менший цілий  Xor виняткове АБО Boolean Цілий Boolean менший цілий  = Дорівнює Простий Boolean  <> не дорівнює Простий Boolean  < Менше Простий Boolean  <= менше-дорівнює Простий Boolean  > Більше Простий Boolean  >= більше-дорівнює Простий Boolean   1.5. Стандартні процедури і функції. Стандартні процедури і функції Турбо-Паскаля, які можуть бути використані в програмі без звертання до бібліотечних файлів (turbo.tpl та ін.), наведені в табл.3. Таблиця.3 Виклик Виконувана дія Тип аргументів Тип результату Примітки  Ord(x) Повертає порядковий номер аргументу х Порядковий цілий функція  Pred(x) Повертає значення ord(x)-1 Порядковий цілий функція  Succ(x) Повертає значення оrd(x)+1 Порядковий цілий функція  dec(x[,n]) Зменшує х на n (якщо n не вказано, n=1) Цілий цілий процедура  inc(x[,n]) Збільшує х на n (якщо n не вказано, n=1) Цілий цілий процедура  Chr(a) Повертає символ Byte char функція  Hi(x) Повертає старший байт аргументу х Цілий byte функція  Lo(x) Повертає молодший байт аргументу х Цілий byte функція  Odd(x) Повертає true, якщо х –непарне, чи false, якщо х – парне Цілий boolean функція  Swap(x) Міняє місцями байти в слові integer, word - процедура  Abs(x) Повертає модуль х Цілий, Дійсний тип аргумету функція  Arctan(x) Арктангенс х (радіани) Дійсний дійсний функція  Cos(x) Косинус х (кут в радіанах) Дійсний дійсний функція  Sin(x) Синус х (кут в радіанах) Дійсний дійсний функція  Exp(x) Експонента(ех) Дійсний дійсний функція  Ln(x) Логарифм натуральний від х Дійсний дійсний функція  Sqr(x) Квадрат х (х2) Цілий, Дійсний тип аргумету функція  Sqrt(x) Корінь квадратний від x Дійсний дійсний функція  Int(x) Ціла частина х Дійсний дійсний функція  Frac(x) Дробова частина х Дійсний дійсний функція  Pi Повертає значення числа ?=3.141592... - дійсний функція  Random Рівномірне псевдовипадкове число в діапазоні 0...1 - дійсний функція  Random(x) Рівномірне псевдовипадкове число в діапазоні 0...x Цілий цілий функція  Round(x) Округляє х до найближчого цілого Цілий integer функція  Trunc(x) Округляє x, відкидаючи дробову частину Цілий integer функція   1.6. Присвоєння значень змінним. Оператор присвоєння призначений для присвоєння змінній деякого значення. Синтаксис: <змінна> := <вираз>, де <змінна> - ім'я змінної (ідентифікатор); <вираз> - константа (ідентифікатор або значення), вираз, виклик функції, тип яких сумісний з типом змінної. 1.7. Введення і виведення результатів та повідомлень програми на екран. Введення-виведення даних в мові Турбо-Паскаль реалізовані за файловим принципом. Введення здійснюється з деякого вхідного input -файлу, а виведення у деякий вихідний output -файл. Як input - та output -файли можуть виступати файли на диску, або відповідні пристрої введення-виведення. Якщо в специфікаціях введення-виведення дискові файли чи пристрої введення-виведення не вказані, то за замовчуванням процедури введення сприймають введення даних з клавіатури, а процедури виведення здійснюють виведення результатів та інших повідомлень на екран. Введення даних здійснюється процедурою read[ln][([<файлова_змінна>,][<список виведення>])], де <файлова_змінна> - змінна файлового типу, яка вказує ім'я файлу на диску або умовне ім'я зовнішнього пристрою, з якого будуть вводитися дані; якщо <файлова_змінна> не вказана, то вводяться дані із здійснюється із стандартного пристрою введення (клавіатури); <список введення> - послідовність з однієї або кількох змінних типу char, string, а також цілого або дійсного типів, розділених символом “,”; <список введення> вважається введеним після натискання клавіші Enter. Повідомлення та результати роботи програми виводяться на екран дисплея процедурою write[ln] [([<файлова_змінна>,][<список виведення>])], де <файлова_змінна> - змінна файлового типу, що вказує в який файл на диску будуть виводитися дані, або умовне ім'я пристрою виведення (наприклад, принтера); якшо <файлова_змінна> не вказана, то виведення здійснюється на стандартний пристрій виведення (дисплей); <список виведення> - послідовність виказів типу char, string, boolean а також цілих та дійсних типів, розділених символом “,”; будь-який вираз із <списку виведення> має такий формат: <вираз> [: <ширина> [:<точність>] ], де <вираз> - вираз, значення якого виводиться; <ширина> - вираз типу word, значення якого задає ширину поля, в яке буде записуватися символьне подання значення виразу; якщо символьне подання значення <виразу> має меншу довжину, ніж <ширина>, то воно буде ліворуч доповнене пробілами, якщо більшу, - то параметр <ширина> ігнорується; <точність> - вираз типу word, значення якого задас кількість десяткових розрядів після крапки для значень <виразів> дійсних типів. Якщо використовується процедура writeln, то після виведення <списку виведення> курсор екрана переходить на початок наступного рядка екрана (принтера чи файлу). 1.8. Побудова блок-схем алгоритмів програм. Основні умовні графічні позначення для побудови блок-схем алгоритмів програм та правила їх використання наведені в табл.4 Таблиця 4 Умовне графічне позначення Правила використання   Початок програми (підпрограми)   Кінець програми (підпрограми)   Введення/виведення даних для стандартних пристроїв введення-виведення (клавіатура, дисплей); у межах блока вказуються ідентифікатори змінних для введдення даних або вирази, значення яких виводяться   Виконання дій; у межах блока вказуються дії, які необхідно виконати. У даному випадку обчислюється значення виразу і обчислене значення присвоюється змінній   Розгалуження алгоритму програми залежно від виконання умови; у межах блока вказується вираз, результат якого визначає подальший хід виконання алгоритму програми   Виконання циклу; у межах блока вказуються межі діапазону значень параметру циклу та алгоритм (вираз), за яким змінюється параметр циклу   Виконання підпрограми (процедури чи функції); у межах блока вказується заголовок (ім’я та параметри) підпрограми(процедури чи функції)   Виведення даних на папір (принтер); у межах блока вказується список виразів, значення яких виводяться    Лінії з’єднань між блоками   Перехід на іншу сторінку; використовуються, якщо блок-схема розташована на кількох сторінках; N і М - відповідно, номер сторінки і блока до яких здійснюється перехід, К і L –відповідно, номер сторінки і блока від яких здійснюється перехід   Перехід у межах однієї сторінки; замість цифр можна використовувати літери латинського алфавіту   1.9. Приклад програми мовою Турбо-Паскаль і блок-схема до неї. Дана програма зчитує з клавіатури два числа і виводить на монітор їхню суму. Текст програми Блок-схема програми. PROGRAM Suma; {Назва програми} USES crt; {Підключення модуля crt} VAR c,a,b:real; {Оголошення змінних дійсного типу} BEGIN {Початок програми} clrscr; {Очищення екрану процедурою clrscr} write('Vvedit chislo a='); {Виведення на монітор повідомлення в лапках} read(a); {Присвоєння змінній а значення введене з клавіатури} write('Vvedit chislo b='); read(b); c:=a+b; {Присвоєння змінній с значення суми a+b} writeln('Suma a+b=',c:2:8); {Виведення на монітор повідомлення в лапках і значення змінної с} readln; {Очікування натиснення клавіші Enter} END. {Кінець програми} 2. ЗАВДАННЯ 2.1. Домашня підготовка до роботи Ознайомитися із загальною структурою програми, написаною мовою Турбо-Паскаль. Ознайомитися з простими типами даних мови Турбо-Паскаль. Ознайомитися з операціями та стандартними процедурами і функціями мови Турйо-Паскаль. Вивчити правила побудови ідентифікаторів, виразів та присвоєння значень змінним мови Турбо-Паскаль. Ознайомитися з умовними графічними позначеннями для побудови блок-схем алгоритмів. Скласти блок-схему алгоритму та програму мовою Турбо-Паскаль для розрахунку значення виразу. Забезпечити ввід значень аргументів з клавіатури і вивід результату розрахунку на дисплей. Дані для роботи беруться з табл.5 за вказівкою викладача. Таблиця 5 № п/п Вираз Значення аргументів  1  x=2.632, y=0.731  2  x=3.142, z=0.543  3  x=4.112, y=1.628  4  x=2.361, y=1.149  5  x=2.735, z=7.218  6  y=6.153, z=1.001  7  x=12.394, y=7.139  8  z=9.761  9  x=2.14, y=0.578  10  x=1.155, y=3.981  11  x=15.241, y=7.118  12  x=0.067, y=3.017  13  x=5.168, z=1.569, y=3.022  14   x=2.134, y=0.129  15  x=0.013, z=1.245  16  y=7.315, z=3.127  17  x=1.839, y=3.821, z=0.349  18  x=1.549, y=7.317  19  x=4.123, y=2.395  20  x=0.712, y=3.161  21  x=166.124, z=15.839  22  x=2.531, y=0.193  23  x=4.597, y=7.954  24  x=1.413, y=0.057  25  x=0.357, y=2.031  26  x=1.769, y=1,235  27  x=12.689, y=0.593, z=1.842  28  x=0.894, y=13.464  29  x=12.603, y=11.591, z=0.588  30  x=5.678, y=8.942, z=0.588  31  x=10.894, y=6.445  32  x=8.499, y=0.586, z=1.941  33  x=0.894, y=10.456  34  x=10.541, z=8.991  35  x=0.489, y=5.441, z=0.291   2.2. Робота в лабораторії 1. Ознайомитися з основними засобами введення, відлаголження та компіляції програми системи програмування Турбо-Паскаль 5.0. 2. Ввести в комп'ютер програму, написану мовою Турбо-Паскаль згідно з отриманим завданням. 3. Відлагодити програму. При необхідності скоригувати блок-схему алгоритму та програму у відповідності з виявленими логічними та синтаксичними помилками. 4. Остаточні версії блок-схеми, програми та отримані результати занести у звіт з лабораторної роботи. 5. Здати звіт з лабораторної роботи. 3. ЗМІСТ ЗВІТУ 1. Номер і назва лабораторної роботи. 2. Повний текст завдання. 3. Остаточна версія блок-схеми алгоритму. 4. Список ідентифікаторів констант, змінних, процедур і функцій, використаних у блок-схемі алгоритму і програмі, та їх пояснення. 5. Остаточна версія програми. 6. Результати роботи програми. 4. КОНТРОЛЬНІ ЗАПИТАННЯ 1. Поясніть загальну структуру програми, написаної мовою Турбо-Паскаль. 2. Які прості типи даних мови Турбо-Паскаль Вам відомі? Вкажіть імена типів та діапазон значень, шо можуть набувати змінні цих типів. 3. Вкажіть загальні правила написання ідентифікаторів мови Туроо-Паскаль. 4. Наведіть приклади зарезервованих слів. 5. Перелічіть операції мови Турбо-Паскаль, розділивши їх на групи. 6. Що означає "присвоїти змінній значення"? 7. Поясніть алгоритм роботи та текст Вашої програми. СПИСОК ЛІТЕРАТУРИ Фаронов В.В. Программироаание на персональних ЗВМ а среде Тур-бо-Паскаль.- 2-е изд. - М.: Изд-во МГТУ, 1992. Йенсен К., Вирт Н. Паскаль. Руководство для пользователя и описание языка.- М.: Финансы и статистика, 1982. 3. Сердюченко В.Я. Розробка алгоритмів та програмування на мові Turbo Pascal: Навчальний посібник для техн. вузів - X.: ВКП "Парітет" ЛТД, 1995. Навчальне видання Прості програми лінійної структури: Інструкція до лабораторної роботи №1 з курсу "Алгоритмічні мови і програмування" для студентів спеціальності 6.0914 "Комп'ютеризовані системи, автоматика і управління" та 6.1601 “Інформаційна безпека” Укладачі: ________________________ , Б.Д. Будз, асистент, О.І. Гарасимчук, асистент.
Антиботан аватар за замовчуванням

18.01.2012 23:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!