- •Текстовий редактор microsoft word Мета роботи
- •Завдання
- •Вказівки до виконання завдання
- •Електронні таблиці Excel Мета роботи
- •Завдання
- •Вказівки до виконання завдання
- •Лабораторна робота № 3
- •Program name
- •Неявний опис даних реалізується за допомогою оператора
- •Implicit тип q, (r t),
- •Read(*,*) список уведення
- •V. Вивід даних здійснюється за допомогою оператора write(*,*) список аргументів
- •Write(*,*) ‘Уведіть a b c’
- •10 Write(*,*) 'Уведіть координати точки X, у'
- •Read(m,*) a
- •Обчислення визначеного інтеграла Мета роботи
- •Завдання
- •Вказівки до виконання завдання
- •Циклічні алгоритми. Обчислення суми послідовності чисел Мета роботи
- •Завдання
- •Вказівки до виконання завдання
- •Робота з одномірними масивами. Обчислення максимуму,
- •Робота з одномірними масивами.
- •Робота з двовимірними масивами.
- •Робота з двовимірними масивами.
- •Підпрограма subroutine і загальні блоки Мета роботи
- •Завдання
- •Вказівки до виконання завдання
- •Тут ex – символьне ім'я функції, (x1, x2, …, xn) – список формальних параметрів функції.
- •Common [/ ім'я 1/], список аргументів, [/ ім'я 2/], список аргументів
- •Додаток 3
- •Продовження додатку 5
- •Продовження додатку 5
- •Додаток 6
- •Продовження додатку 6
- •Додаток 7
- •Продовження додатку 9
- •Додаток 10 Завдання до лабораторної роботи № 9
- •Продовження додатка 10
- •Додаток 11 Завдання до лабораторної роботи № 10
- •Продовження додатка 11
- •Додаток 12 Завдання до лабораторної роботи № 11
- •Додаток 13 Завдання до лабораторної роботи № 12
- •Список літератури
Завдання
1. Скласти алгоритм і написати програму обробки елементів двовимірного масиву. Уведення масиву здійснити з файлу даних, результати також записати у файл. Основна програмна одиниця повинна містити тільки введення / вивід даних. Обробка масиву повинна бути виконана в підпрограмі. Варіанти завдань дані в додатку 13. Номер варіанта призначається викладачем.
2. Провести налагодження програми і її тестування.
3. Скласти звіт про роботу.
Вказівки до виконання завдання
Як було вказано раніше, підпрограма – це окрема програмна одиниця, що виконує частину загального алгоритму. Обчислення, які в ній виконуються, можуть повторюватися кілька разів з різними варіантами вихідних даних. Використання підпрограм дозволяє уникнути повторного програмування і додає програмі модульність.
Загальна форма використання підпрограми SUBROUTINE має два етапи:
1. Опис – окремий модуль, у якому обчислення записані з використанням формальних параметрів. Загальна форма запису:
SUBROUTINE ex (x1, x2, …, xn)
{ тіло підпрограми}
RETURN
END
Тут ex – символьне ім'я функції, (x1, x2, …, xn) – список формальних параметрів функції.
2. Виклик підпрограми розміщається в основному модулі і для підпрограми SUBROUTINE виглядає так:
CALL ex (f1, f2, …, fn)
Тут f1, f2, … , fn – список фактичних параметрів, що заміняють формальні параметри в описі при виклику підпрограми.
Основною різницею між даними програмними одиницями є те, що функція повертає значення під своїм ім'ям (це вимагає його опису і присвоєння йому значення в тілі функції), а підпрограма SUBROUTINE повертає значення під іменами, зазначеними в списку аргументів. З цього випливає, що функція може повернути в основну програмну одиницю одне значення, а підпрограма SUBROUTINE – множину.
При розгляданні підпрограми FUNCTION згадувалось, що дані передаються в підпрограму за допомогою аргументів. Іноді це буває не дуже зручно, особливо у випадках багатомірних масивів або при передачі частини масиву (у цьому випадку необхідно указувати верхню і нижню границю переданої частини масиву). Велика кількість аргументів приводить до збільшення помилок при програмуванні. Ефективний обмін даними між програмними одиницями можна організувати за допомогою загального блоку (оператор COMMON). Він установлює загальні області пам'яті для збереження й обробки даних і має наступний загальний вид запису:
Common [/ ім'я 1/], список аргументів, [/ ім'я 2/], список аргументів
Перемінні, вхідні в загальний блок, не включаються в список аргументів підпрограми, якщо в програмній одиниці зазначений загальний блок, що їх містить.
Приклад. Дано масив дійсних чисел А(30, 30). Знайти множення мінімальних значень кожного стовпця і вишикувати рядки по убуванню.
Тому що наше завдання чітко підрозділяється на двох підзадачі, програма буде містити дві підпрограми.
PROGRAM EXAMPLE
С Застосування загального блоку
COMMON /K/ A(30, 30)
INTEGER I, J,Z
REAL PR
С Файл даних, що містить масив
OPEN(1, FILE='A.DAT', STATUS='OLD')
С Файл для запису результатів роботи
OPEN(2, FILE='REZ.DAT', STATUS='NEW')
С Зчитування масиву
READ(1, *) A
С Виклик підпрограми.
CALL STR(Z)
WRITE(2, *) 'Добуток дорівнює', Z
С Виклик підпрограми SUBROUTINE.
С Масив передається за допомогою загального блоку
CALL MAS
С Роздруківка масиву у файл результатів у виді матриці
DO 10 I=1, 30
DO 20 J=1, 30
IF(J.EQ.30) THEN
WRITE(2, ‘(F8.2)’) A(I, J)
ELSE
WRITE(2, ‘(F8.2\)’) A(I, J)
ENDIF
20 CONTINUE
10 CONTINUE
END
С Підпрограма для розрахунку добутку мінімальних значень
С елементів стовпців
SUBROUTINE STR (Z)
REAL MIN
INTEGER Z, K1, I1
COMMON /K/A(30,30)
Z=1
D0 30 K1=1, 30
MIN=A(1, K1)
DO 40 I1=1, 30
IF(A(I1, K1). LE. MIN) MIN=A(I1, K1)
40 CONTINUE
Z=Z*MIN
30 CONTINUE
END
С Підпрограма для обробки масиву. Вишиковує рядки по убуванню
SUBROUTINE MAS
REAL A1
INTEGER K1, L1, L2
С Елементи даного загального блоку доступні цій програмній одиниці
COMMON /K/ A(30, 30)
DO 50 L1=1, 30
DO 60 K1=1, 30
DO 70 L2=1, 29
IF(A(L1, L2).GT.A(L1, L2+1)) THEN
A1=A(L1, L2)
A(L1, L2) = A(L1, L2+1)
A(L1, L2+1) = A1
ENDIF
70 CONTINUE
60 CONTINUE
50 CONTINUE
END
Звіт про роботу повинний містити короткий опис роботи, текст програми і результати її роботи.
ДОДАТОК 1
Приклад титульного листа
МІНІСТЕРСТВО НАУКИ І ОСВІТИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ
«ХАРКІВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ»
Кафедра турбінобудування
ЛАБОРАТОРНА РОБОТА № 1
«Текстовий редактор Microsoft Word»
Виконав ст. Петров О.О.
Група ЕМ-20
Перевірив викл. Сідоров І.І.
Харків 2011
ДОДАТОК 2
Завдання до лабораторної роботи № 1
№ п/п |
Параметр |
Характеристика |
Результати | ||
1 |
2 |
3 | |||
1 |
|
|
| ||
|
|
|
|
| |
|
|
|
|
| |
|
|
| |||
2 |
|
|
| ||
|
|
|
|
| |
|
|
|
|
| |
|
|
| |||
Висновки |
|