Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Оформлення звіту по лабораторній роботі↑ Стр 1 из 8Следующая ⇒ Содержание книги Поиск на нашем сайте
Введення Програма підготовки бакалаврів, фахівців і магістрів за фахом "Комп'ютеризовані системи управління і автоматики" передбачає вивчення основ програмування і обчислювальної техніки. У даних методичних вказівках приведені завдання до лабораторних робіт по курсу "АП". Як мова програмування був вибраний Borland Pascal. Для вирішення завдань, приведених в даних методичних вказівках, використовуються версії 3.1 Borland Pascal фірми Borland International. Більшість завдань можуть бути виконані із застосуванням компіляторів інших фірм. Дана мова є в даний час однією з найпоширеніших і надає широкі можливості для вирішення всіх завдань сучасного програмування. Мета лабораторних робіт: · опанувати мову програмування Borland Pascal; · вивчити і освоїти основні прийоми програмування; · отримати навики самостійного вирішення завдань. Вивчення мови програмування Borland Pascal передбачається впродовж одного семестру. Опис кожної лабораторної роботи містить короткі теоретичні відомості, необхідні для вирішення завдань і варіанти завдань. Викладені теоретичні відомості до лабораторних робіт не претендують на повноту і для виконання деяких завдань необхідне використання додаткової літератури, список якої приведений в додатку. Список лабораторних робіт
1. Лінійний обчислювальний процес. 2. Обчислювальний процес, що розгалужується. 3. Обчислювальний процес, що повторюється. 4. Типи даних. 5. Одновимірні і двовимірні масиви. 6. Функції і процедури. 7. Множини і операції над ними. 8. Використання записів. 9. Робота з файлами. Оформлення звіту по лабораторній роботі Звіт виконується кожним студентом індивідуально до кожної лабораторної роботи. Звіт повинен містити:
Допускається оформлення всіх звітів по лабораторних роботах в зошиті. В цьому випадку звіт починається з назви теми лабораторної роботи і містить всі розділи, окрім титульного листа. Схеми алгоритмів виконуються відповідно до ГОСТ 19.701-90. Лістинг програми, результати обчислень або звіт цілком допускається оформляти як вручну, так і з використанням принтера. Протокол результатів виконання програми повинен включати в собі все, що виводиться на екран дисплея в процесі роботи програми: запити значень змінних; повідомлення; результати обробки; службові або аварійні повідомлення.
Правила написання програм
Кожна програма лабораторної роботи повинна виводити на екран інформацію в наступному порядку: · Ініціали і номер групи автора програми; · Номер, назва і завдання лабораторної роботи; · Введення вхідних параметрів; · Виведення результатів рахунку програми; Уведення-виведення параметрів повинне супроводжуватися текстом пояснення, виходячи з конкретного завдання лабораторної роботи. Наприклад, замість тексту «A=», необхідно писати «Значення функції A=». ЛАБОРАТОРНА РОБОТА № 1 ЛАБОРАТОРНА РОБОТА № 2 ЛАБОРАТОРНА РОБОТА № 3
ЦИКЛІЧНИЙ ПРОЦЕС
Завдання: Написати програми розрахунку функції, використовуючи операторів циклу WHILE, REPEAT і FOR. Для кожного конкретного завдання з таблиці 3 визначити ефективність кожного оператора циклу. Цикл це послідовність операторів, яка може виконуватися більше одного разу. Для реалізації циклів в Паскалі передбачено три різні інструкції. WHILE і REPEAT використовуються, якщо число повторень (ітерацій) заздалегідь не відомі, але відомі умови завершення циклу. Інструкція FOR застосовується, коли число ітерацій відоме.
3.1 Оператор WHILE
При виконанні оператора WHILE повторюється група операторів до тих пір, поки визначене в операторі WHILE булева умова істинно. Як тільки умова циклу не задовольняється, управління передається інструкції, наступній за WHILE. Якщо умова не виконується до початку виконання циклу, тіло циклу пропускається.
Загальна форма запису: WHILE булева умова DO оператор;
Приклад підрахунку суми додатніх чисел: program sum; var a, sch, sum:integer; begin sum:=0;sch:=0; while a>0 do begin read(a); sum:=sum+a; sch:=sch+1; end; writeln('сума',sch,' чисел рівна',sum); end.
3.2 Оператор REPEAT
Між інструкціями REPEAT і WHILE існує три істотні відмінності:
Загальна форма запису: REPEAT список операторів; UNTIL умова;
Приклад підрахунку суми додатніх чисел:
program sum; var a, sch, sum:integer; begin sum:=0;sch:=0; repeat read(a); sum:=sum+a; sch:=sch+1; until a>0; writeln(' сума',sch', чисел рівна',sum); end.
3.3 Оператор FOR
Ця інструкція призначена для організації покрокових циклічних процесів, керованих за допомогою спеціальної змінної.
Загальна форма запису 1: FOR керуюча зм і нна:=початкове значення TO кінцеве значення DO оператор;
Загальна форма запису 2: FOR керуюча зм і нна:= початкове значення DOWNTO кінцеве значення DO оператор;
Керуюча змінна, набуває значень починаючи з першого (їм є вираз після символу :=) і, закінчуючи останнім (їм є вираз після TO і DOWNTO). Значення керуючої змінної, міняються з кроком +1, якщо використовується ключове слово TO, або з кроком -1, якщо використовується ключове слово DOWNTO. Інструкція після ключового слова DO виконується один раз для кожного нового значення змінної, що управляє. Цикл завершується досягнувши керуючої змінної свого кінцевого значення.
Приклад підрахунку суми 10 чисел:
program sum; var a,i,sch,sum:integer; begin sum:=0;sch:=0; for i:=1 to 10 do begin read(a); sum:=sum+a; sch:=sch+1; end; writeln(' сума',sch', чисел рівна',sum); end.
Таблиця 3 - Варіанти завдань для лабораторної роботи № 3
ЛАБОРАТОРНА РОБОТА № 4 ЛАБОРАТОРНА РОБОТА № 5
ЛАБОРАТОРНА РОБОТА № 6 ЛАБОРАТОРНА РОБОТА № 7 BEGIN тіло процедури END;
Процедури, що мають внутрішні описи (оголошення), повинні слідувати тим же правилам розташування описів, що і основна програма. Таким чином, процедури треба сприймати як програму в мініатюрі. У них можуть бути власні змінні, власні описи типів і навіть власні процедури і функції.
Змінні, використовувані тільки усередині процедури, називаються локальними. Змінні, які використовуються і в процедурі і в основній програмі називаються глобальними.
Приклад. program prim; var a,b:integer; procedure pas(i:integer); var b:real;k:integer; begin a:=0; for k:=1 to i do a:=a+k; b:=cos(a); end; begin { основна програма} a:=a+1;b:=0; pas(5); writeln('a=',a,'b=',b); end.
У даному прикладі змінна А є глобальною, оскільки вона визначена тільки в основній частині програми, і відома як в викликанній програмі, так і в процедурі, але тільки в тому разі якщо в процедурі немає іншого оголошення А. змінна К є локальною, вона оголошена в процедурі і не доступна для викликанної програми. Будь-яке оголошення ідентифікатора в процедурі робить недоступним об'єкт, що має те ж ім'я і оголошений в зовнішньої по відношенню до процедури частини програми. Наприклад, для програми. У є цілій змінній, але в процедурі PAS є своя власна змінна,щовідноситься до типу REAL. Процедурі PAS недоступна змінна В з головної програми. Всі зміни, що відбуваються із змінній в процедурі PAS, стають неістотними при виході з цієї процедури. Отже, після виклику процедури і виконання інструкції WRITELN, на екрані з'явиться А=16 В=0.
Паскаль дає можливість задавати параметри, що набувають певних значень в процедурі. Такі змінні називаються формальними параметрами. Таким формальним параметром є змінна i, розташована в дужках при описі процедури, і далі в зухвалій програмі цієї змінної при виклику привласнено значення, рівне 5.
Функції
Функція відрізняється від процедури тільки тим, що завжди повертає в точку виклику скалярне значення. Таким чином, визначення функції схоже на визначення процедури. Відмітні особливості функції:
Загальна форма запису: FUNCTION ім'я (список параметрів): тип результату; FUNCTION ім'я: тип результату;
Тип результату представляється ідентифікатором типу, який описує тип значення, що отримується після виконання функції. Список параметрів будується з параметрів даної функції. Якщо список параметрів не визначений, то функції ніякі аргументи не передаються. Тип результату функції є або порядковим, або REAL. Результат функції не може бути масивом або іншим структурованим типом. Тип параметра може бути будь-яким, включаючи структурований.
Приклад.
program summa; var a:integer; function sum(b,c:integer):integer; begin sum:=b+c; end; begin {тіло основної програми} a:=sum(5,4); writeln('сума дорівнює ',a:2); end.
Таблиця 7.1 - Варіанти завдань для лабораторної роботи № 7 (процедури)
Таблиця 7.2 - Варіанти завдань для лабораторної роботи № 6 (функції)
ЛАБОРАТОРНА РОБОТА № 8 МОДУЛІ І ДИНАМІЧНО ЗВ'ЯЗУВАНІ БІБЛІОТЕКИ.
Завдання: написати модуль і динамічну бібліотеку, для створення особистих бібліотек процедур і функцій. Розробити програму з використанням модуля і динамічної бібліотеки.
Модулі призначені для підтримки принципів модульного програмування при розробці програм. Згідно цьому принципу взаємовплив логічно незалежних фрагментів програми повинен бути зведений до мінімуму. У мові Borland Pascal модулі використовуються переважно для створення бібліотек процедур, функцій і об'єктів, які потім можуть використовуватися в програмах, що розробляються користувачем.
Структура модулів Модуль складається з 4 частин: Заголовка модуля; Розділу оголошень або інтерфейсу; Розділу реалізації; Розділу ініціалізації.
UNIT M; INTERFACE IMPLEMENTATION END.
Заголовок модуля починається із зарезервованого слова UNIT, за яким слідує ім'я модуля.
Інтерфейсний розділ позначається словом INTERFACE, після чого при необхідності можуть розташовуватися: розділ підключення модулів розділ опису констант розділ опису типів змінних розділ опису змінних розділ заголовків процедур і функцій.
Розділ реалізації починається словом IMPLEMENTATION, який у свою чергу при необхідності може складатися з розділів: розділ підключення модулів розділ опису міток розділ опису констант розділ опису типів змінних розділ опису змінних розділ описів процедур і функцій.
Розділ ініціалізації закінчується, словом END. У ньому можуть знаходитися оператори, які задають стартові значення для викликаючої програми.
Використовуючи модулі важливо правильно указувати їх імена. При підключенні стандартні модулі досить коректно записати їх ідентифікатори в пропозиції USES. При розробці власних модулів необхідно пам'ятати деякі особливості: ♦ не допускається одночасне використання модулів з однаковими іменами; ♦ ідентифікатор модуля, вказаний в заголовку (UNIT ), повинен співпадати з іменами файлів, що містять початковий (.раs) і об'єктний (.трu,.трр,.трw) код; ♦ якщо ідентифікатор модуля довший за вісім символів, то він повинен співпадати з іменами файлів по перших восьми символах.
Динамічно зв'язувані бібліотеки - Dynamically Linked Libraries (DLL) - надають собою прикладним програмам, які згодом можна використовувати разом із стандартними. Цінність бібліотек DLL полягає в тому, що вони після завантаження в оперативну пам'ять можуть спільно використовуватися декількома прикладними програмами. Хоча DLL для DOS працюють в захищеному режимі DOS, проте вони повністю сумісні з DLL для Windows. Ця властивість дозволяє розробникам створювати програми що працюють як в DOS, так і в Windows. DLL підтримують "багатоязикові" проекти в програмах, написаних на мові Borland Pascal допускається використання DLL, створених на інших мовах, а в програмах, написаних на інших мовах, допускається використання DLL, створених на Borland Pascal. Синтаксис опису динамічно зв'язуваної бібліотеки має наступний вигляд:
Бібліотека заголовок бібліотеки; пропозиція USES блок розділ експорту розділ ініціалізації.
Мовна конструкція "динамічно зв'язувана бібліотека" з одного боку є продовженням і розвитком конструкції "модуль", а з іншого боку має деякі обмеження в порівнянні з нею. Особливості DLL полягають в наступних відмінностях: компоновка модулів з головною програмою виконується статично під час компіляції, а DLL - динамічно, під час виконання програми. Це дозволяє для декількох одночасно працюючих програм тримати в оперативній пам'яті тільки по одній копії процедур і функцій.
♦ Код і ресурси DLL, на відміну від модуля, не компонуються з програмою, що використовує її, а знаходяться в окремому виконуваному файлі з розширенням. DLL, який повинен бути доступним при виконанні програми. Процедури і функції DLL, що викликаються програмою, зв'язуються з нею динамічно; ♦ Обмеженість DLL в порівнянні з модулями полягає в тому, що модулі можуть експортувати різні мовні одиниці (типи, константи, змінні і так далі), а DLL тільки процедури і функції. Хоча DLL може містити змінні, проте модулі не зможуть імпортувати їх для використання. Будь-який доступ до змінних DLL повинен здійснюватися через процедурний інтерфейс; ♦ При запуску створеної користувачем програми на компіляцію, DLL, використовувані в ній автоматично, не компілюються як модулі. DLL потрібно компілювати окремо.
ЛАБОРАТОРНА РОБОТА № 9 МНОЖИНИ І ОПЕРАЦІЇ НАД НИМИ Завдання. Робота з множинами. Умови завдань приведені в таблиці 9
Множиною називається сукупність об'єктів. Множина відноситься до структурованих типів даних. Загальна форма запису: ім'я: SET OF тип компонент; Членами множини можуть бути значення порядкового типу. Тип, якому повинні належати всі члени множини, називаються базовим типом множини і максимально можливе число елементів, що входять в одну множину, 255.
Оголошення: SET OF CHAR;
SET OF 1...50;
У програмі множина задається у вигляді списку елементів, взятих в квадратні дужки. Як елемент може виступати константа, змінна, вираз або інтервал значень. Отже, в Паскалі можна використовувати наступні інструкції привласнення: M:=[]; (*порожня множина *) M:=[MAR]; (*множину включає один елемент *) M:=[JAN...APR,AUG,OKT...DEC]; (*у множину входять елементи JAN,FEB,MAR,APR,AUG,OKT,NOV,DEC *)
M:=[RED,A]; (*у множину входять елементи RED і значення змінної M *)
Операції над множинами
Операція приналежності множині. У мові Паскаль існує можливість визначення приналежності деякого значення безлічі його елементів. Ця можливість реалізується операцією IN. Наприклад: red IN color; Операнд, розташований зліва від слова IN, - значення базового типу операнд, що стоїть справа, - ім'я множини. Результатом є значення типу BOOLEAN: TRUE, якщо значення є елементом множини; FALSE, якщо немає. Наприклад:
if today in week days then writeln (' сьогодні робочий день') else writeln (' сьогодні день відпочинку')
Об'єднання множин Об'єднання двох множин є множина, складена з елементів обох множин. Для позначення операції об'єднання множин використовується знаком "плюс" ("+"). Наприклад:
[red, blue]+[yelloy] = [red,blue,yelloy]
Перетин множин Перетином двох множин є множина, що складається з елементів, які входять одночасно в обидві множини. Для позначення операції перетину множин використовується знак "зірочка" ("*"). Наприклад: [red,blue]*[red,yellou,green] =[red]
Різниця множин Різницею двох множин є множина, що складається з елементів першої множини, які не є елементами другої множини. Для позначення операції різниці двох множин застосовується знак "мінус" ("-"). Наприклад: [red,blue]-[green,red]=[blue]
Таблиця 9 - Варіанти завдань для лабораторної роботи № 9
ЛАБОРАТОРНА РОБОТА № 10 КОМБІНОВАНІ ТИПИ (ЗАПИСИ) Завдання. Написати програму з використанням записів. Умови завдань приведені в таблиці 10.
Записом є сукупність різнотипних даних. Запису зручно використовувати, коли різноманітні дані, що відносяться до одного і того ж об'єкту, необхідно об'єднати. До компонентів запису необхідно звертатися по імені. Наприклад, в запис про студентів можуть входити: Ім'я Прізвище Дата народження Рік навчання і так далі
Комбінованих типів, об'єктами яких є записи, здійснюється за допомогою ключового слова RECORD. Записи складаються з фіксованого числа компонент, званих полями. При оголошенні повинні бути вказані ім'я і тип кожного поля. Ім'ям поля може бути будь-який ідентифікатор. Оголошення запису закінчується зарезервованим словом END.
Приклади оголошень запису: type date = record day:1...31; month:(jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec); year:integer; end; Тип date включає три поля: day, month і year. day відноситься до інтервального типу, month - до перераховуваного і year - до цілого. Після введення типу date можна визначити змінні, значення яких належать цим типам. var secondary,firstday:date;
Інструкція WITH Для компактнішого запису привласнення значень всім полям запису в Паскалі передбачена інструкція WITH. Загальна форма запису: WITH ім'я запису DO оператор
В цьому випадку програміст тільки один раз згадує в програмі ім'я запису, а імена полів використовує як прості змінні. Наприклад: with firstday do begin day:=3; month:='jun'; year:=1989; end; Таким чином, за допомогою інструкції WITH встановлюється область, усередині якої до компонентів запису можна звертатися на ім'я полів, не вживаючи ні імені запису, ні крапки.
Таблиця 10 - Варіанти завдань для лабораторної роботи № 10
ЛАБОРАТОРНА РОБОТА № 11 ФАЙЛИ І РОБОТА З НИМИ Завдання. Створити три типи файлів: типізований, текстовий і нетипізований. Умови завдань приведені в таблиці 11.
Файлом називається послідовність компонент, що відносяться до одного і того ж типу. Виділяються два основні типи файлів: файли послідовного і прямого доступу.
Файли послідовного доступу. Послідовний файл читають (записують) послідовно від початку до кінця, причому під час одного звернення прочитується (записується) один елемент файлу. Послідовний файл можна обробляти тільки з початку. Нові елементи завжди додаються в кінці фай
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2017-01-25; просмотров: 255; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 52.14.255.122 (0.011 с.) |