Лабораторна робота №1 Робота в середовищі Pascal abc мета роботи




Скачати 77.73 Kb.
НазваЛабораторна робота №1 Робота в середовищі Pascal abc мета роботи
Дата конвертації01.03.2014
Розмір77.73 Kb.
ТипДокументы
skaz.com.ua > Історія > Документы
Лабораторна робота №1

Робота в середовищі Pascal ABC

Мета роботи: Навчитися працювати з середовищем Pascal ABS, проводити запуск програм на виконання.

1. Стислі відомості з теорії.

Мова Паскаль - це мова "високого рівня". Це означає, що Паскаль має справу з об'єктами того ж виду, що й більшість ЕОМ, а саме, із символами, числами й адресами. Вони можуть поєднуватися й пересилатися за допомогою звичайних арифметичних і логічних операцій, здійснюваних реальними ЕОМ.

Є шість класів лексем; ідентифікатори, ключові слова, константи, рядки, операції й інші роздільники. Пробіли, табуляції , нові рядки й коментарі ігноруються, за винятком тих випадків, коли вони служать роздільниками лексем. Необхідний якийсь порожній проміжок для поділу Ідентифікаторів, ключових слів і констант, які в противному випадку зіллються.

Коментар відкривається символами { і закінчується символами }. Коментарі не вкладаються друг у друга.

Ідентифікатор - це послідовність букв і цифр; перший символ повинен бути буквою. Підкреслення вважається буквою. Букви нижнього й верхнього регістрів не розрізняються, значущими є не більш, ніж перші вісім символів, хоча можна використати й більше.
^ Структура програми в середовищі Pascal ABC


Програма мовою Pascal ABC має наступний вигляд:


     program ім'я програми;

     розділ uses

     розділ описів

     begin

       оператори

     end.


Перший рядок називається заголовком програми і не є обов'язковою.


Розділ uses починається з ключового слова uses, за яким слідує список імен модулів і просторів імен. NET, що перераховуються через кому.


Розділ описів може включати розділи опису змінних, констант, міток, типів, процедур і функцій, які слідують один за одним у довільному порядку.


Далі йде блок begin / end, всередині якого знаходяться оператори, відокремлювані один від іншого символом "крапка з комою".


Розділ uses і розділ описів можуть бути відсутні.


наприклад:

     program MyProgram;

     var

       a, b: integer;

       r: real;

     begin

       readln (a, b);

       x: = a / b;
       writeln (x);

     end;
^ Опис змінних

Змінні можуть бути описані в розділі описів, а також безпосередньо всередині будь-якого блоку begin / end.


Розділ опису змінних починається зі службового слова var, після якого йдуть елементи опису виду


     список імен: тип;


або

     ім'я: тип: = вираз;


або

     ім'я: = вираз;


Імена в списку перераховуються через кому. наприклад:


     var

       a, b, c: integer;

       d: real: = 3.7;

       s: = 'Pascal forever';

       al: = new ArrayList;

       p1: = 1;


В останніх трьох випадках тип змінної визначається за типом правій частині.

Змінні можуть описуватися безпосередньо всередині блоку.

Внутрішньоблокові опису змінних мають той же вигляд, що і в розділі описів, з тим винятком, що в кожній секції var може бути лише один елемент описи:

     begin

       var a1, a2, a3: integer;

       var s: ='';

       ...

     end.


Крім того, змінні-параметри циклу можуть описуватися в заголовку операторів for і foreach.
^ Опис констант


Розділ опису іменованих констант починається зі службового слова const, після якого йдуть елементи опису виду


     ім'я константи = значення;


або

     ім'я константи: тип = значення;


наприклад:

     const

       Pi = 3.14;

       Count = 10;

       Name = 'Mike';

       DigitsSet = ['0 '.. '9'];

       Arr: array [1 .. 5] of integer = (1,3,5,7,9);

       Rec: record name: string; age: integer end = (name: 'Іванов'; age: 23);

       Arr2: array [1 .. 2,1 .. 2] of real = ((1,2), (3,4));
^ Опис тегів


Розділ опису міток починається з зарезервованого слова label, після якого слідує список міток, що перераховуються через кому. В якості міток можуть бути використані ідентифікатори і позитивні цілі числа:

     label a1, l2, 777777;
^ Опис типів


Розділ опису типів починається зі службового слова type, після якого йдуть рядки виду


     ім'я типу = тип;


наприклад,


     type

       myint = integer;

       arr10 = array [1 .. 10] of integer;

       pinteger = ^ integer;

       A = class

         i: integer;

         constructor Create (ii: integer);

         begin

           i: = ii;

         end;

       end;


При описі рекурсивних структур даних покажчик на тип може фігурувати раніше опису самого типу у визначенні іншого типу:

     type

       PNode = ^ TNode;

       TNode = record

         data: integer;

         next: PNode;

       end;


При цьому важливо, щоб визначення обох типів перебували в одному розділі type.


На відміну від Delphi Object Pascal наступний рекурсивний опис вірний:


     type

       TNode = record

         data: integer;

         next: ^ TNode;

       end;


Зазначимо, що для посилальних типів (класів) дозволяється опис поля з типом, що збігається з типом поточного класу:


     type

       Node = class

         data: integer;

         next: Node;

       end;

^ Опис процедур і функцій


Процедура або функція являє собою послідовність операторів , яка має ім'я, список параметрів і може бути викликана з різних частин програми . Функції, на відміну від процедур , в результаті свого виконання повертають значення, яке може бути використане у виразі. Для однаковості функції та процедури називаються підпрограмами .


Будь-яка використовувана в програмі процедура або функція повинна бути попередньо описана в розділі описів .


Опис процедури має вигляд:


    procedure ім'я ( список формальних параметрів) ;

    розділ описів

    begin
      оператори
    end ;


Опис функції має вигляд :


    function ім'я ( список формальних параметрів) : тип значення ;

    розділ описів

    begin
      оператори
    end ;


Оператори підпрограми , облямовані операторними дужками begin / end , називаються тілом цієї підпрограми .


Список формальних параметрів разом з оточуючими дужками може бути відсутнім. Він складається з однієї або декількох секцій , розділених символом " ; " . Кожна секція складається зі списку змінних , що перераховуються через кому , після якого йдуть двокрапка і тип . Кожна секція може передувати ключовим словом var або const , що вказує на те , що параметри передаються за посиланням ( см.п. Параметри процедур і функцій). Тип формального параметра повинен бути або ім'ям , або динамічним масивом , або безліччю , або процедурної змінної ( для останніх трьох типів має місце структурна еквівалентність типів).


Розділ описів процедури або функції влаштований так само , як і розділ описів основної програми . Тут описуються так звані локальні змінні і константи , типи (за винятком класів - класи можна описувати тільки глобально ) а також вкладені процедури і функції . Всі такі локальні об'єкти доступні лише всередині даної підпрограми і не видно ззовні.

Приклад опису процедури наводиться нижче:


    procedure DoAdd ( a , b : real ; var res : real ) ;

    begin
      res : = a + b ;

    end ;


Усередині тіла функції ім'я цієї функції можна використовувати як спеціальну змінну , якій необхідно присвоїти значення, що повертається .

наприклад:

    function Add ( a , b : real ) : real ;

    begin
      Add : = a + b ;

    end ;


Ім'я функції може бути використано з метою повернення значення тільки в лівій частині оператора присвоювання . Якщо ім'я функції зустрічається у виразі , то це або трактується як рекурсивний виклик цієї функції , або використовується для присвоювання сумісної процедурної змінної.


Замість імені функції , всередині тіла функції можна використовувати іншу спеціальну змінну з ім'ям Result . На відміну від імені функції , змінну Result можна використовувати і у виразах :


    function MinElement ( a : array of real ) : real ;

    var x : real ;

    begin
      Result : = real.MaxValue ;

      foreach x in a do

        if x < Result then

          Result : = x ;

    end ;
Якщо всередині функції не привласнити імені функції або змінної Result деяке значення , то функція поверне в результаті свого виклику непередбачуване значення .


У розділі описів підпрограми можна описувати інші підпрограми . Виняток становлять методи класу , описувані безпосередньо в тілі класу : в ​​них не можна описувати локальні підпрограми зважаючи синтаксичної неоднозначності.
Коментарі


Коментарі - це ділянки коду, ігноровані компілятором і використовувані програмістом для пояснення тексту програми.

У PascalABC є кілька способів вказати коментар.


Послідовність символів між фігурними дужками {} або символами (* і *) вважається коментарем:


     {Це

     коментар}


     (* Це

     теж коментар *)


Коментарем також вважається будь-яка послідовність символів після символів / / і до кінця рядка:


     var Version: integer; / / Версія продукту


Коментарі, виділені різними символами, можуть бути вкладеними:


     {Це ще один

     (* Коментар *)}
^ Складений оператор (блок)



Складений оператор призначений для об'єднання декількох операторів в один. Він має вигляд:


     begin

       оператори

     end


У PascalABC складений оператор також називається блоком. (традиційно в Паскалі блоком називається розділ описів, після якого йде складений оператор; в PascalABC прийнято інше рішення, оскільки можна описувати змінні безпосередньо усередині складеного оператора).


Оператори відокремлюються один від іншого символом ";". Службові слова begin і end, оздоблюють оператори, називаються операторними дужками.


наприклад:

     s: = 0; p: = 1;

     for i: = 1 to 10 do

     begin

       p: = p * i;

       s: = s + p

     end


Перед end також може ставитися ";". У цьому випадку вважається, що останнім оператором перед end є порожній оператор, який не виконує ніяких дій.

Крім операторів, в блоці можуть бути внутрішньоблокові описи змінних:

     program MyProgram;

     Begin

       var a, b: integer;

       var r: real;

       readln (a, b);

       x: = a / b;

       writeln (x);

     end;
2. Завдання.

2.1. Встановити програму Pascal ABС, зробити скріншоти, пояснити етапи встановлення.

2.2. Скласти блок-схему та програму виведення на екран рядка «Hello, World». Зробити скріншоти програми.

2.3. Скласти блок-схему та програму, яка для заданого цілого числа а друкує наступну таблицю:

а

а3 а6

а6 а3 а

2.3. Виконати програму, вивести результат, зробити скріншоти.

Схожі:

Лабораторна робота №1 Робота в середовищі Pascal abc мета роботи iconРоботи: “ Робота у середовищі програмування Turbo Pascal. Програмування лінійних алгоритмів. ”
Мета роботи: дати навички студентам складати програми лінійних обчислювальних процесів
Лабораторна робота №1 Робота в середовищі Pascal abc мета роботи iconЛабораторна робота №2 ознайомлення з ос windows та принципами її...
Мета роботи: отримання практичних навичок роботи в середовищі файлових менеджерів
Лабораторна робота №1 Робота в середовищі Pascal abc мета роботи iconПрактична робота №10
Мета: Навчитися створювати програми для роботи з записами на мові Pascal та користуватися основними елементами інтерфейсу середовища...
Лабораторна робота №1 Робота в середовищі Pascal abc мета роботи iconПрактична робота №8
Мета: Навчитися створювати програми для роботи з одновимірними масивами на мові Pascal та користува­ти­ся основними елементами інтерфейсу...
Лабораторна робота №1 Робота в середовищі Pascal abc мета роботи iconПрактична робота №12
Мета: Навчитися створювати програми для роботи з файловими типами даних на мові Pascal та користуватися основними елементами інтерфейсу...
Лабораторна робота №1 Робота в середовищі Pascal abc мета роботи iconЛабораторна робота №25
Мета роботи : дослідити електричне поле двохпровідної лінії передачі на моделі І переконатися в існуванні аналогії між електричним...
Лабораторна робота №1 Робота в середовищі Pascal abc мета роботи iconЛабораторна робота №3. Обробка текстових файлів за допомогою фільтрів. Редактор sed
Лабораторна робота № Організація файлової системи в unix. Команди для роботи файлами в Unix (Linux)
Лабораторна робота №1 Робота в середовищі Pascal abc мета роботи iconЛабораторна робота № Експериментальні дослідження тригерів у програмах...
Лабораторна робота № Експериментальні дослідження тригерів у програмах Electronics Workbench
Лабораторна робота №1 Робота в середовищі Pascal abc мета роботи iconРобота в інтегрованому середовищі програмування
Мета: Ознайомитися з основними елементами інтерфейсу середовища програмування Turbo Pascal (головне меню, гарячі клавіші, вікна програм,...
Лабораторна робота №1 Робота в середовищі Pascal abc мета роботи iconЛабораторна робота №16-б перехідні процеси в послідовному колі r-l-c мета роботи
Мета роботи – дослідити характер перехідних процесів в колі r-l-c, встановити їх залежність від параметрів кола
Додайте кнопку на своєму сайті:
Школьные материалы


База даних захищена авторським правом © 2015
звернутися до адміністрації
skaz.com.ua
Головна сторінка