Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


FUNCTION f2;




BEGIN

………………

u:=f1(b);

…………

END;

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

Програма, в якій є звертання до зовнішніх процедур чи функції, повинна містити їх опис. Проте це не повний опис процедури чи функції. Він складається лише з заголовка, після якого через крапку з комою записується слово EXTERN (в деяких реалізація мови EXTERNAL — зовнішній).

Приклад

Тут ілюструється використання функції lg (х) програмаою обчислен­ня значень, яка записана на диску у вигляді окремого файла

PROGRAM example;

VAR a,b,h,s,x: real;

FUNCTION lg (x: real): real; extern;

BEGIN

Readln (a,b,h);

s:=0; x:=a;

WHILE x<=b DO

BEGIN

s:=s+lg(x); x:=x+h

END;

Write (s)

END.

 

Список рекомендованої літератури

1.Доналд Алкок Язык Паскаль в иллюстрациях – М.”Мир”,-1991,192с.

2.Довгань С. И .,Литвинов Б .Ю. ,Сбитнев А.. И.- Персональные ЭВМ: ТурбоПаскаль V6.0, Объектное программирование,Локальные сети- К.”Информсистема сервис”,-1993,426с.

3. Абрамов В.Г,, Трифонов Н.П., Трифинова Г.Н. Введение в язьк паокаль. -М.: Наука, 1988.

4. Абрамов С.А. и др. Задачи по программированию,-М.:Наука,І988. 4.

5.. Вирт Н. Сиотематическое программирование. Введение. -М.: Мир, 1977.

6. Вьюкова Н. И., Галатенко В. А., Ходулев А.Б. Систематичеокий под-ход к программированию. -М.: Наука, 1988. '

7. Пул Л. Работа на персональном компьютере. -М.: Мир, 1986.

8. Форсайт Р. Паскаль для всех. -М.: Машиноотроение, 1986.

 

Вимоги до виконання лабораторних робіт

1. Постановка задачі, тобто завдання лабораторної роботи зі вказанням конкретної умови.

2. Математичне обґрунтування алгоритму, якщо реалізується складний математичний вираз: обчислення часткової суми ряду, формування послідовності, дії над і з многочленами, операції з матрицями тощо.

3. Блок–схема алгоритму, виконана згідно з вимогами: відповідні типорозміри, нумерація блоків, правильне скерування інформаційного потоку. Блок–схема повинна містити коментарі та роз’яснення як щодо характеру її складових, так і стосовно суті й ідеї самого алгоритму.

4. Перелік ідентифікаторів, тобто простих та структурних змінних і констант, які використані при побудові графічного зображення алгоритму.

5.Текст програми, так званий лістінг, який теж обов’язково містить коментарі і в описовій своїй частині, й у виконавчій частині програми. Текст програми з коментарями не повинен містити синтаксичних помилок. Якщо у програмі використані дещо відмінні ідентифікатори змінних і констант, тоді в коментарях до описової частини програми (декларування типів та змінних) вказується характер і зміст цих змінних. Якщо початкові дані передбачено вводити з клавіатури, а не з файлу, тоді операторам вводу повинен передувати оператор виводу з відповідною стрічковою константою у списку виводу. Наприклад, необхідно ввести елемент двовимірного масиву А , тоді у програмі це має таке відображення:

...{текст програми}

write(‘a[‘,I,’.’,j,’]= ‘); read(a{I,j});

{продовження лістінг.}

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

… repeat until keypressed;

6. Контрольний приклад з результатом виконаної програми. Доцільно протестувати програму в різних режимах роботи: з коректною вхідною інформацією, з некоректною, при відсутності вхідних даних у випадку роботи з файлами.

7. Інструкція користувачеві, котра містить вказівку на призначення програми, назву алгоритмічної мови, спосіб введення інформації та її характер, тип носія, на якому буде міститися результат виконання програми (екран монітора чи файл на відповідному драйвері), можливі зміни у програмі на потребу користувача чи замовника, що не матимуть фатального впливу на програмний продукт.

8. Можливі модифікації програми.

9. Висновки.


Варіанти завдань

 

Лабораторна робота №7

 

Тема роботи: Табулювання функцій.

Мета роботи: Складання найпростіших алгоритмів на мові програмування PASCAL .

Постановка задачі. За даними дійсними значеннями a, b, цілим n знайти значення функції , де . Одержані значення , надрукувати у вигляді таблиці. Визначити найбільше та найменше значення функції на проміжку табуляції, а також відповідні значення аргументів.

 

Варіанти завдань

Функція a b n
1.
2.
3.
4.
5.
6.
7.
8. 0.2 0.6
9. -2.5 -1
10.
11. 0.4
12.
13. 1.7 3.3
14. -1
15. 2.5

 

Лабораторна робота №8

 

Тема роботи: Обчислення сум, добутків і програмування ітераційних процесів

Мета роботи: Набуття практичних навичок у програмуванняі циклічних поцесів на мові PASCAL та відлагодження відповідних програм.

Варіанти завдань.

Обчислити вирази:

1. , де x = 1.2; 3 ;0.5; n =3.

2. , де x = 1.5; 1.7 ;4.2.

3. , де n =3; 4; 5; 8.

4. , де x = 2; 0.1; 3.

 

Обчислити n , при якому виконуватиметься нерівність:

 

5. , де .

6. , де .

7. , де .

8. .

9. , де .

 

Обчислити , для якого виконується нерівність . Вказати n , при якому ця нерівність справджується.

 

10. .

11. , де .

12. , де .

13. , де .

 

Розв’язати рівняння з точністю ε. Вказати необхідне число ітерацій.

14. ;

15.

 

Лабораторна робота №9

 

Тема роботи: Робота з масивами

Мета роботи: Набуття практичних навичок у застосуванні даних типу масив на мові PASCAL та відлагодження відповідних програм.

1. Вибрати найбільший та найменший елементи одновимірного масиву. Найменший елемент поміняти місцями з першим елементом масиву, а найбільший - з останнім.

2. Написати програму сортування одновимірного масиву у порядку зростання його елементів.

3. Написати програму обчислення значення многочлена n-степеня за заданими значеннями коефіцієнтів многочлена та аргументу х, а також значення похідної вказаного многочлена у цій же точці х.

4. У заданій квадратній матриці знайти координати найбільшого та найменшого елементів.

5. У заданій квадратній матриці знайти стрічку з найбільшою сумою елементів

6. Написати програму приведення системи n лінійних рівнянь до трикутного вигляду. Зробити висновок про розв’язність введеної системи рівнянь.

 

7. Написати програму розбиття квадратної матриці A на добуток двох матриць B i C трикутного виду за процедурою:

, ,

,

 

8. Написати програму обчислення коефіцієнтів многочлена, котрий одержується в результаті добутку многочлена n-степеня на двочлен.

9. Написати програму обчислення коефіцієнтів многочлена, що є добутком многочлена n-степеня на многочлен степеня m.

10. У квадратній матриці провести сортування стрічок у порядку спадання сум їх елементів.

11. У квадратній матриці провести сортування стовпчиків у порядку зростання сум їх елементів.

12. У заданій прямокутній матриці стрічку з найбільшою сумою елементів поміняти місцями зі стрічкою, сума елементів якої є найменшою.

13. Написати програму обчислення коефіцієнтів многочлена n-степеня зі старшим коефіцієнтом рівним одиниці, корені якого відомі ( ).

14. Написати програму злиття двох впорядкованих масивів.

15. Написати програму перетину двох невпорядкованих масивів.

16. Написати програму злиття двох невпорядкованих масивів.

17. Надрукувати в 3 стовпчики величини , де задане число, .

18. Задана послідовність зі 100 дійсних чисел. Знайти середнє арифметичне чисел, які розміщені між min та max елементами послідовності.

19. Задане ціле число k . Знайти коефіцієнти k – го многочлена Чебишева: .

20. Написати програму знаходження теоретико-множинної різниці двох масивів А\В.

21. Задано 80 дійсних чисел. Знайти порядковий номер того з них, яке найбільш близьке до цілого числа.

22. Обчислити величину , якщо числа для вводу задані в наступному порядку .

23. Задано 100 чисел. Роздрукувати їх в оберненому порядку по 6 чисел в стрічці.

 

Лабораторна робота №10

 

Тема роботи: Робота з даними стрічкового типу

Мета роботи: Набуття практичних навичок у обробці текстової інформації на мові PASCAL та відлагодження відповідних програм.

 

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

2. Заданий текст з 80 символів. Визначити, чи заданий текст є симетричним, тобто чи читається він однаково зліва направо так і справа наліво.

3. Скільки різних букв входить у текст із числом символів не більше 100 й обмеженому крапкою (.).

4. Задано натуральне число k. Надрукувати k-ту цифру послідовності чисел:

a. а) 1234567891011121314…, в якій виписані підряд всі натуральні числа;

b. б) 11235813…, в якій виписані підряд всі числа Фібоначчі: .

5. Ввести стрічку довільної довжини, яку трактуватимемо як текст, у якому слова відокремлені одним або кількома пробілами (довжина слів, загалом, довільна). Надрукувати в стовпчик всі слова з непарними номерами.

6. Ввести стрічку довільної довжини, яку трактуватимемо як текст, у якому слова відокремлені одним або кількома пробілами (довжина слів, загалом, довільна). Вивести на друк у вигляді стрічки всі слова з парними номерами, відокремлюючи слова двома пробілами.

7. Ввести стрічку довільної довжини, яку трактуватимемо як текст, у якому слова відокремлені одним або кількома пробілами (довжина слів, загалом, довільна). Вивести всі слова поданого тексту наступним чином: всі слова з непарними номерами надрукувати в першому стовпці, з парними – у другому.

8. Ввести стрічку довільної довжини, яку трактуватимемо як текст, у якому слова відокремлені одним або кількома пробілами (довжина слів, загалом, довільна, але не більша дев’яти символів). Вивести стрічку цифр, де кожна цифра визначає кількість символів у відповідному слові.

9. Ввести стрічку довільної довжини, яку трактуватимемо як текст, у якому слова відокремлені одним або кількома пробілами (довжина слів, загалом, довільна). Вивести слово найбільшої довжини. Якщо таких слів декілька, вивести найперше з них.

10. Ввести стрічку довільної довжини, яку трактуватимемо як текст, у якому слова відокремлені одним або кількома пробілами (довжина слів, загалом, довільна). Вивести слово найменшої довжини. Якщо таких слів декілька, вивести всі ці слова.

11. Ввести стрічку довільної довжини, яку трактуватимемо як текст, у якому слова відокремлені одним або кількома пробілами (довжина слів, загалом, довільна). Вважаючи, що в заданому тексті можливе повторення слів, вивести всі слова в стовпчик без повторень. У другому стовпці надрукувати частоту використання відповідного слова.

12. Ввести стрічку довільної довжини, яку трактуватимемо як текст, у якому слова відокремлені одним або кількома пробілами (довжина слів, загалом, довільна). Враховуючи, що в тексті зустрічаються слова, що містять як букви, так і цифри, а також просто числа, що містять цифри, вивести на екран монітора всі числа.

13. Ввести стрічку довільної довжини, яку трактуватимемо як текст, у якому слова відокремлені одним або кількома пробілами (довжина слів, загалом, довільна). Вважаючи, що текст може містити слова, які складаються як з букв, так із цифр, а також слова, у які цифри не входять, вивести у вигляді стрічки всі слова, що не містять цифри. Слова у стрічці відокремити трьома пробілами.

14. Ввести стрічку довільної довжини, яку трактуватимемо як текст, у якому слова відокремлені одним або кількома пробілами (довжина слів, загалом, довільна). Вивести слова, які починаються лише на певну задану з клавіатури букву, наприклад, букву А.

15. Ввести стрічку довільної довжини, яку трактуватимемо як текст, у якому слова відокремлені одним або кількома пробілами (довжина слів, загалом, довільна). Вивести всі слова, які закінчуються заданою буквою, наприклад літерою Z. Літеру задавати з клавіатури.

16. Ввести стрічку довільної довжини, яку трактуватимемо як текст, у якому слова відокремлені одним або кількома пробілами (довжина слів, загалом, довільна). Вивести лише слова, в які входить задане з клавіатури буквосполучення.

17. Ввести стрічку довільної довжини, яку трактуватимемо як арифметичний вираз, який містить ідентифікатори змінних, константи, знаки арифметичних операцій та дужки. Окремі конструкції можуть бути відокремлені одним або кількома пробілами. Підрахувати кількість відкриваючих та закриваючих дужок і вивести одержану інформацію на екран. Якщо число відкриваючих та закриваючих дужок не рівне між собою, тоді крім числової інформації вивести повідомлення про помилку.

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

19. Ввести стрічку довільної довжини, яку трактуватимемо як арифметичний вираз, який містить ідентифікатори змінних, константи, знаки арифметичних операцій та дужки. Окремі конструкції можуть бути відокремлені одним або кількома пробілами. Вивести інформацію про частоту використання арифметичних операцій у даному виразі (у першому стовпчику символ операції, у другому – частоту використання).

Лабораторна робота №11

 

Тема роботи: Робота з файлами.

Мета роботи: Набуття практичних навичок у створенні та обробці файлів.

1. Задано файл, компонентами якого є дійсні числа. Знайти:

a) суму компонент файлу;

b) добуток компонент файлу;

c) модуль суми та квадрат добутку компонент файлу;

d) суму квадратів компонент файлу.

2. Задано файл, компонентами якого є дійсні числа. Знайти:

a) найбільше зі значень компонент файлу;

b) найменше серед значень компонент файлу з парними номерами;

c) найбільше зі значень компонент файлу по модулю з непарними номерами;

d) суму найбільшого та найменшого значень компонент файлу;

e) різницю першої та останньої компоненти файлу.

3. Задано файл, компонентами якого є цілі числа. Знайти:

a) кількість парних серед компонент файлу;

b) кількість подвоєних непарних чисел серед компонент файлу;

c) кількість квадратів непарних чисел серед компонент файлу.

4. Послідовність утворена за законом . Задано дійсне число ε >0 . Записати у файл члени послідовності , зупинившись після першого члена, для якого виконується умова ε

5. Задано файл, компонентами якого є цілі числа. Записати в інший файл всі компоненти вихідного, що:

-а) є парними числами;

-б) діляться на 3 і не діляться на 7;

-в) є точними квадратами.

6. Задано файл, що містить дати. Кожна дата – це число, місяць і рік. Знайти :

-а) рік з найменшим номером;

-б) всі весняні дати;

-в) найближчу дату до сьогоднішньої.

7. Задано натуральне число k, символьний файл g та текстовий файл f. Файл g містить 30 слів, кожне з яких будемо називати ключовим. Сформувати файл ff ,який містить рядки файлу f, циклічно зсунуті так, щоб кожне ключове слово, яке входить в рядок , починалося з k –ої позиції. Рядки, що не містять ключових слів, у файл ff не включаються. Рядки, що містять n ключових слів, записуються у файл ff n разів.

8. Задано текстовий файл. Записати у вихідний файл рядки вхідного файлу в перевернутому вигляді. Порядок рядків у вихідному файлі:

а) повинен співпадати з порядком рядків у вхідному файлі;

b) повинен бути оберненим по відношенню до порядку рядків у вхідному файлі.

9. Задано два текстових файли. Визначити чи співпадають їх компоненти. Якщо ні, тоді отримати номер першого рядка і позицію першого відмінного символу у цьому рядку.

10. Задано файл, компонентами якого є натуральні числа, кількість чисел у файлі кратна 4. Перші два числа з кожних чотирьох задають координати лівого верхнього кута прямокутника, наступні два – координати його правого нижнього кута. Побудувати прямокутники задані у файлі.

11. Задано текстовий файл. Переписати в інший файл всі компоненти вихідного з заміною в них символу 0 на символ 1 і навпаки.

12. Задано файл, який містить номери телефонів співробітників організації: вказується прізвище та ініціали, номер телефону. Знайти телефон співробітника по його прізвищу та ініціалах.

13. Відомості про автомобіль складаються з його марки, номера і прізвища власника. Задано файл, що містить інформацію про кількість автомобілів. Знайти:

a) прізвища власників і номери автомобілів даної марки;

b) кількість автомобілів кожної марки.

14. Пряма на площині задається рівнянням , де a і b одночасно не рівні нулю: . Будемо розглядати лише ті прямі, коефіцієнти яких є цілі числа. Нехай у файлі містяться коефіцієнти декількох прямих (не менше 3). Сформувати вихідні файли з коефіцієнтів тих прямих, які:

a) паралельні першій із прямих, заданих у вхідному файлі;

b) перетинають першу пряму, задану у вхідному файлі;

15. Пряма на площині задається рівнянням , де a і b одночасно не рівні нулю: . Будемо розглядати лише ті прямі, коефіцієнти яких є цілі числа. Нехай у файлі містяться коефіцієнти декількох прямих (не менше 3). Сформувати вихідні файли з коефіцієнтів тих прямих, які:

a) паралельні першій із прямих, заданих у вхідному файлі, але не співпадають між собою;

b) перетинають першу пряму, задану у вхідному файлі, але щоб серед прямих, що записуються у вихідний файл, не було паралельних.

16. Написати програму злиття двох впорядкованих файлів.

17. Написати програму перетину двох невпорядкованих файлів.

18. Написати програму злиття двох невпорядкованих файлів.

Лабораторна робота №12

 

Тема роботи: Нестандартні типи даних

Мета роботи: Оволодіння інструментарієм створення власних структурних типів даних, а також оперування динамічним розподілом пам’яті.

1. N дітей розміщені по колу. Починаючи зпершого, видаляють з кола кожного к- ого , змикаючи коло після кожного видалення. Визначити порядок видалення дітей з кола.

2. Задано натуральне число. Створити стек з його цифр.

3. Задано натуральне число N. Надрукувати всі цифри числа

4. Задано натуральне число N. Надрукувати всі цифри числа N!

5. Задано ціле число N. Використовуючи метод “решето Ератосфена” надрукувати в зростаючому порядку всі прості числа з діапазону N..2N

6. Задана послідовність з N різних натуральних чисел, представлених списком. Надрукувати в оберненому порядку всі числа між найбільшим та найменшим елементами послідовності.

7. Задано натуральне число N. Надрукувати двійкове представлення всіх чисел від 1..N.

8. Число вводиться у вигляді стрічки символів. Представити його у вигляді стеку та підрахувати суму його цифр.

9. Число вводиться у вигляді стрічки символів. Представити його у вигляді стеку та підрахувати кількість різних цифр у його представленні.

10. Задано натуральне число. Створити стек з його цифр та замінити цифри 0 на 1 та навпаки.

11. У зростаючому порядку надрукувати всі цілі числа з діапазону 1 1000000, які зображаються у вигляді .

12. Задано деякий текст у вигляді стрічки. Встановити, чи є цей текст правильним записом “формули” згідно наступних вимог:

<формула>::= <терм> | (<формула><знак><формула>);

<знак> ::= + | – | *;

<терм> ::= <ім’я> | <ціле >;

<ім’я> ::= <буква> | <ім’я><буква> | <ім’я><цифра>;

<ціле> ::= <цифра> | <ціле><цифра>;

<буква> ::= a | b | c | d | e ;

<цифра> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 .

13. Встановити, чи правильно записана операція відношення у символьній стрічці, якщо саме відношення описано з допомогою граматики:

<відношення> ::= <число><знак відношення ><число>;

<знак відношення> ::= < | <= | > | >= | <> | =;

<число> ::= <цифра> | <цифри>;

<цифри> ::= <неноль><цифра> | <цифри><цифра>;

<неноль> ::= 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 ;

<цифра> ::= 0 | <неноль>.

14. Перевірити правильність запису арифметичного виразу, що є формулою згідно наступних вимог:

<формула>::= <терм> | (<формула><знак><формула>);

<знак> ::= + | – | *;

<терм> ::= <ціле >;

<ціле> ::= <цифра> | <ціле><цифра>;

<цифра> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9;

який містить тільки цілочисельні константи , а також обчислити його значення. Приклад: ((4-7)*5)+1 = –14.

15. У вхідному файлі задано текст, який закінчується символом крапки. Перевірити, чи задовольняє його структура наступному означенню:

<текст> ::= <елемент> | <елемент><текст>;

<елемент> ::= a | b | c | (<текст>) | [<текст>] | {<текст>}.

 

16. Задано nнатуральних чисел. Надрукувати всі перестановки з цих чисел.

17. N населених пунктів пронумеровані від 1 до n . Деякі пари пунктів з’єднані дорогами. Визначити, чи існує шлях із i–го пункту в j – тий.

18. Задано комплексне число z (як пара дійних чисел). Обчислити з точністю значення функції комплексного аргументу:

;

19. Задано комплексне число z (як пара дійних чисел). Обчислити з точністю значення функції комплексного аргументу:б) ;

20. Задано комплексне число z (як пара дійних чисел). Обчислити з точністю значення функції комплексного аргументу:

.

21. Знайти корені квадратного тричлена з комплексними коефіцієнтами і подати його у вигляді .

 


Поделиться:

Дата добавления: 2015-08-05; просмотров: 230; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты