Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

PROGRAM name




Завдання

Мета роботи

АРИФМЕТИЧНОГО ВИРАЖЕННЯ З ВИКОРИСТАННЯМ СТАНДАРТНИХ

ПРОГРАМА З ПРОСТОЮ СТРУКТУРОЮ. ОБЧИСЛЕННЯ

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

ФУНКЦІЙ МОВИ ПРОГРАМУВАННЯ FORTRAN

Метою даної лабораторної роботи є освоєння основних правил написання програм з використанням мови програмування FORTRAN, ознайомлення з основними типами даних і способами їхнього опису, введенням / виводом даних без використання форматів. Також завданням даної лабораторної роботи є придбання навичок запису арифметичних виражень мовою програмування FORTRAN і використання в них стандартних функцій мови.

1. Скласти блок-схему програми для обчислення арифметичного вираження згідно індивідуального завдання. Варіанти завдань дані в Додатку 4. Номер варіанта призначається викладачем.

2. Написати програму рішення задачі, провести її налагодження і тестування.

3. Скласти звіт про роботу.

Вказівки до виконання завдання

Програма мовою програмування FORTRAN записується построчно, маючи в кожнім рядку один оператор або продовження попереднього оператора. У цьому випадку на шостій позиції в рядку встановлюється символ «*». Також у рядку може знаходитися коментар до виконання програми, що дозволяє зробити програму більш очевидної. У цьому випадку на початку рядка встановлюється символ «С» або «*». Коментар також може знаходитися поруч з оператором після символу «!». Перші п'ять позицій рядка приділяються під запис мітки.

Програма складається з наступних основних блоків:

I - початок програми;

II - блок опису даних;

III - блок уведення даних;

IV - обчислювальний блок;

V - блок виводу результатів;

VI - кінець програми.

Розглянемо теоретичні основи організації основних блоків програми.

I. Програма завжди починається з оператора

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

II. Кожна змінна в програмі має свій тип, що характеризує її властивості, діапазон значень, спосіб розміщення і розмір виділеної для неї пам'яті. У мові програмування FORTRAN існує три способи опису даних: автоматичний, неявний і явний. Найвищим пріоритетом володіє явний спосіб опису змінних (рекомендується для використання). У цьому випадку типи змінних у програмі можна установити за допомогою операторів типу, що мають наступний загальний вигляд:

ТИП*О si[*i], s1,…,sn,

де ТИП - один з операторів типів даних (найбільше часто використовуються змінні цілого (INTEGER), дійсного (REAL), символьного (CHARACTER) і логічного (LOGICAL) типів); О, і - загальний і індивідуальний (має більш високий пріоритет) показник довжини змінної в байтах; si, s 1…, sn –імена змінних.

Неявний опис даних реалізується за допомогою оператора

IMPLICIT ТИП Q, (R - T),

де ТИП – один з типів змінних, зазначених вище. Цей оператор дозволяє задати тип даних, імена яких починаються з указаних букв.

Якщо в програмі використовуються змінні, не описані явним чи неявним способом, то їхній тип визначається автоматично. У мові програмування FORTRAN усі змінні вважаються дійсними, крім змінних, імена яких починаються на літери I, J, K, L, M, N.

III. Оператор уведення має вид:

READ(*,*) список уведення

Перше місце в дужках визначає пристрій, з якого здійснюється введення даних («*» – уведення з клавіатури), друге місце – спосіб уведення (форматний чи без використання форматів, «*» – введення без використання форматів).

Як тільки в програмі зустрічається оператор READ, її виконання припиняється. Для продовження роботи необхідно увести значення для кожного з елементів списку введення.

IV. Цей блок містить оператори, що виконуються. У програмі, даної в прикладі, він містить оператори, що дозволяють обчислити арифметичні вираження.

Для запису арифметичного вираження використовуються арифметичні операції: +, -, *, / і зведення в ступінь. Для правильного запису арифметичного вираження необхідно знати пріоритет виконання цих операцій.

Пріоритет виконання арифметичних операцій (від вищого до нижчого):

1) зведення в ступінь (**);

2) операції множення (*) і ділення (/);

3) операції додавання (+) і віднімання (().

Для зміни порядку виконання операцій використовуються скобки. Операції, що мають однаковий пріоритет, виконуються зліва направо.

Якщо тип результату обчислення вираження заздалегідь зазначений явно, то перед присвоєнням здійснюється приведення результату обчислень до цього типу. Слід зазначити, що при приведенні дійсного числа до цілого типу дробова частина відкидається. Якщо тип результату не заданий явно, то тип вираження призначається по типу операндів, що бувають дійсного і цілого типів. За умовчанням, якщо зустрічаються операнди різних типів, то пріоритет має дійсний тип, якщо однакові - то тип з більшим показником довжини. З сказаного вище виходить, що при діленні цілих чисел результат буде цілою величиною. Приведення результату, нагадаємо, до цілого типу проводиться відкиданням дробової частини. Це іноді приводить до істотних помилок, наприклад: 1/2+1/2=0. Для запобігання цього під час запису арифметичних виражень краще скрізь, крім цілих показників ступеня, заміняти цілі константи на дійсні, доповнивши їх десятковими крапками.

В арифметичному вираженні можуть бути використані стандартні функції мови FORTRAN. Основні стандартні функції дані в табл. 1.

Таблиця 1.

Форма запису в мові FORTRAN Опис
ACOS(X) arccos(x)
ASIN(X) arcsin(x)
ATAN(X) arctg(x)
SIN(X) sinx
TAN(X) tg(x)
COS(X) cos(x)
EXP(X) ex
LOG(X) ln(x)
LOG10(X) lg(x)
SQRT(X)
ABS(X)

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

V. Вивід даних здійснюється за допомогою оператора

WRITE(*,*) список аргументів

Приклад: WRITE(*,*) ‘REZ=’, REZ.

Цей оператор зробить вивід на екран (перша «*» у скобках) без використання форматів (друга «*») двох перемінних: символьної ’ REZ =’ і дійсної REZ. Оператор WRITE часто використовується в парі з оператором READ для введення даних із клавіатури:

WRITE(*,*) ‘Уведіть A B C’

READ(*,*) A, B, C

Через те що при виявленні оператора READ програма зупиняється і чекає введення трьох змінних, бажано вивести попередньо на екран символьну змінну, що повторює список уведення, що і виконується оператором WRITE.

VI. Програма мовою FORTRAN завжди закінчується оператором END.

Приклад. Обчислити , якщо ; .

PROGRAM EXAMPLE

С Блок опису перемінних

REAL T, B, Y, P, X, PI

С Уведення даних

WRITE(*,*) 'Уведіть X, PI, Р'

READ(*,*) X, PI, P

С Обчислювальний блок

Y=SQRT(4*X)*EXP(-X)

B=(EXP(X)*COS(X)+EXP(X)*SIN(X))/TAN(X/PI)

T=B*EXP(-Y/(2*P*X)

С Вивід результатів

WRITE(*,*)'Проміжні результати'

WRITE(*,*)'Y=', Y, 'B=', B

WRITE(*,*)'Підсумкове значення'

WRITE(*,*) ‘T=’, T




Поделиться с друзьями:


Дата добавления: 2014-12-07; Просмотров: 320; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.