Інформатика

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут телекомунікацій, радіоелектроніки та електронної техніки
Факультет:
УІ
Кафедра:
Радіоелектроніки та електронної техніки (РЕПС)

Інформація про роботу

Рік:
2024
Тип роботи:
Лабораторна робота
Предмет:
Інформатика та обчислювальна техніка
Варіант:
2 11

Частина тексту файла (без зображень, графіків і формул):

Мета роботи - засвоїти методику та виробити практичні навички застотування однієї з керуючих структур ( повторення операцій або циклів ( для багаторазових обчислень значень виразу. 1.ЗАВДАННЯ: Задано функцію sin(1.28)(cos(2x) і значення меж інтервалу та кроку табулювання: a= 0; b=; x= ; 2.ПОСТАНОВКА ЗАДАЧІ. Вхідними даними програми є границі інтервалу табулювання а, b та крок зміни аргументу x. Спосіб введення даних (присвоєнням, з клавіатури, раніш підготованих у файлі даних, чи використовуючи типізовані константи) обирається розробником програми. Методом розрахунку є безпосереднє обчислення значення за заданою формулою. При більш складних функціях обчислення реалізується за допомогою підпрограми-функції. Обчислення повторюються багаторазово для різних значень аргументу. Виведення результатів обчислень ускладнюється тим, що всі задані для обчислення значення функції не можуть бути одночасно розміщені на екрані. Тому необхідно організувати поекранний вивід, а саме: вивести ту кількість рядків таблиці, яка розміщується на екрані (сторінку); затримати подальший вивід до команди користувача (натиснення клавіші); вивести наступну сторінку з початку екрану. На екран мають бути виведені (див. Рис. 0.1): шапка таблиці; значення аргументу та відповідні значення функції; номер виведеної сторінки. Сторінка хх +--------------+-------------+ | Аргумент | Функція | +--------------+-------------+ | | | Рис. 0.1. Ескіз формату виведення таблиці на екран EOM. 3.РОЗРОБКА СТРУКТУРИ ДАНИХ. Для реалізації поставленої задачі необхідно передбачити крім змінних, що містять початкові дані, змінні та константи для зберігання допоміжних величин, таких як кількість рядків на сторінку, номер сторінки, проміжних змінних для спрощення запису заданого виразу та скорочення кількості операцій, тощо. Приклад розробки структури даних приведений в Табл. 0.1. Табл. 0.1. Розробка структури даних. Позначення  Ім’я  Тип  Призначеня, опис   а  a дійсна змінна  початок інтервалу табулювання, вхідна   b  b  -“- кінець інтервалу табулювання, вхідна   x  x  -“-  аргумент функції   x  dx  -“- крок табулювання, вхідна   f(x)  fx(x) функція підпрограма обчислення функції   y  y дійсна змінна значення функції    Row ціла змінна  номер рядка на сторінці    Page  -“- номер сторінки   ColumnsNum  -“- кількість рядків, що можуть бути розміщені на сторінці   4.РОЗРОБКА АЛГОРИТМУ Після введення вхідних даних доцільно очистити екран та вивести шапку таблиці і номер сторінки. Оскільки кількість обчислень можна визначити, то для табулювань потрібно використати цикл з параметром. Для визначення моменту заповнення екрану необхідно організувати лічильник виведених рядків таблиці та порівнювати його з кількістю рядків, що можуть бути розміщені на екрані. При заповненні екрану необхідно організувати затримку, обнулити лічильник рядків, збільшити на 1 лічильник сторінок та продовжити виведення з першого рядка. Для обчислення складної функції, доцільне виділення її у підпрограму. Спрощена блок схема алгоритму наведена на Рис.  Рис 1. Блок-схема алгоритму табулювання функції. 5.ТЕКСТ ПРОГРАМИ. program table; uses CRT; const MaxRowsNum=24; var a,b,dx,x,y:real; Page:integer; Row:integer; ColumnsNum:integer; function f(a:real):real; begin f:= sin(1.28)*cos(2*a); end; Procedure Zatrymka; begin Repeat until KeyPressed; end; begin ClrScr; WriteLn('Obchyslennja znachen funktsiji y=sin(1.28)*cos(2*a)'); Write('Liva granytsja intervalu: '); ReadLn(a); Write('Prava granytsja intervalu: '); ReadLn(b); Write('Krok: '); ReadLn(dx);x:=a; ClrScr; Page:=1;Row:=5; GotoXY(1,1);Write('Storinka:');GotoXY(10,1);Write(Page); GotoXY(1,2); WriteLn('+--------------------------------------+--------------------------------------+'); WriteLn('| Argument | Functsija |'); WriteLn('+--------------------------------------+--------------------------------------+'); repeat y:=f(x); GotoXY(1,Row);Write('|');GotoXY(40,Row);Write('|');GotoXY(79,Row);Write('|'); GotoXY(2,Row); Write(x); GotoXY(41,Row); Write(y); inc(Row); x:=x+dx; if Row=MaxRowsNum then begin GotoXY(10,1); Write(Page); Zatrymka; Row:=5; Inc(Page); end; until x>b; Zatrymka; end. 65.Перевірка програми: Програма працює правильно виводить всі значення х та f(x) правильній послідовності .   Висновок : я ознайомився з циклічними алгоритмами, а також з табулюванням функцій, з операторами керованого виводу в текстовому режимі, операторами вводу одного символа, а також з підпрограмою – функції. Міністерство освіти і науки України Національний університет «Львівська політехніка» Кафедра теоретичної радіотехніки та радіовимірювань ЗВІТ З ЛАБОРАТОРНОЇ РОБОТИ №6 НА ТЕМУ «ТАБУЛЮВАННЯ ФУНКЦІЇ ОДНОГО АРГУМЕНТУ.» з дисципліни «Інформатика та обчислювальна техніка» Варіант №2 Підготував: студент групи РТ-11 Кук Святослав Прийняв: Нестор Н. І. Львів 2010р.
Антиботан аватар за замовчуванням

27.04.2014 02:04-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!