Алгоритмічні мови та програмування

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

ВУЗ:
Тернопільський національний економічний університет
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра інформатики

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

Рік:
2010
Тип роботи:
Курсова робота
Предмет:
Алгоритмізація і програмування
Група:
ЕМ
Варіант:
2 11

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ТЕРНОПІЛЬСЬКИЙ НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕР ім.Івана Пулюя Кафедра інформатики та математичного моделювання Курсова робота З курсу «Алгоритмічні мови і програмне забезпечення» Варіант №5 Зміст Розділ 1. Різновидності структур алгоритмів. Обчислення скінченної суми і добутку. Алгоритм табулювання функції.…………………………………………………………………………...2 Розділ 2. Програмування на Паскалі…………………………………………. 2.1 Задача 1. Обробка одновимірного масиву……………………………... Умова задачі;……………………………………………………………. Схема алгоритму;……………………………………………………….. Текст програми;……………………………………………………….... Результати контрольних розрахунків;……………………………….... 2.2 Задача 2. Табулювання функції……………………………………….. Умова задачі;……………………………………………………………. Схема алгоритму;……………………………………………………….. Текст програми;………………………………………………………… Результати контрольних розрахунків;……………………………….... Розділ 3.Робота в табличному процесорі Excel……………………………... 3.1. Задача 1. Побудувати електронну таблицю розрахунку задачі 1…… 3.2. Задача 2. Побудова електронної таблиці табулювання функції;……………... Побудова графіка функції на задому інтервалі;…………………….... Висновки…………………………………………………………………….. Перелік використаної літератури………………………………………….. Розділ 1. Різновидності структур алгоритмів. Обчислення скінченної суми і добутку. Алгоритм табулювання функції Алгоритм – це послідовність точно визначених дій, що однозначно призводять до вирішення поставленого завдання. Термін "алгоритм" походить від імені узбекського математика Аль Хорезмі, який у IX сторіччі розробив правила арифметичних дій над числами у десятковій системі числення. Процес алгоритмізації передує процесу програмування. Навіть ще не маючи досвіду в створенні алгоритмів, ми інтуїтивно розуміємо, що вони розрізняються за своєю структурою. Так є алгоритми, що виконуються за будь-яких обставин. Але таке трапляється нечасто, тому що людина завжди коригує свої плани в залежності від оточуючих умов і тому виникає ситуація "якщо трапиться...", "якщо зустрінуся...", "якщо встигну..." тощо. А іноді ми змушені повторювати якийсь процес кілька разів, доки не отримаємо бажаного результату. Найчастіше ж ми і умови враховуємо, і повторюємо щось. Ось так і виникають різні типи алгоритмів. Всього існують чотири базових структури алгоритмів: лінійні; розгалужені; циклічні; змішані. Найпростіша в написанні та виконанні перша з цих структур - лінійна. До неї відносяться алгоритми, що складаються лише з простих команд. Які ж команди можна назвати простими? Простими з точки зору комп'ютера являються ті команди, що виконуються виконавцем безумовно, тобто після першої команди виконується друга, потім третя і т.д. Загальний вигляд лінійного алгоритму, поданий мовою блок-схем, наступний:  Лінійний алгоритм — алгоритм, у якому використовується тільки структура «слідування». На відміну від людини виконавець "комп'ютер" не може відмовитися від виконання команди, він не може подібно недбалому учню сказати "не хочу", "не можу", " в мене болить голова і поганий настрій". Команда, записана в алгоритмі, повинна бути виконаною, тому, якщо знехтувати суто людськими якостями ("не хочу", "не можу" і т.д.), лінійним можна назвати алгоритм ранкового збирання . проснутися; зробити ранковий туалет; одягнутися; поснідати; зібрати речі; одягнути верхній одяг; вийти. Та, навіть, в такому простому алгоритмі в зразу ж знайдете недоліки. А що робити, якщо я себе погано почуваю (захворів), а якщо я вже зібрав речі ввечері, а якщо я не встиг напередодні вивчити всі уроки і мені необхідно щось повторити, а що значить одягнути верхній одяг (він залежить від пори року, погоди тощо). Якщо ж спробувати прослідкувати за вашою поведінкою на протязі дня, то з'ясується, що майже ніколи ви не дієте за лінійним алгоритмом. Весь час ви аналізуєте ситуацію, змінюєте свою поведінку та свої плани, пристосовуєтесь до обставин.  Тому набагато частіше зустрічається другий тип алгоритму - розгалужений. Цей алгоритм обов'язково містить в собі хоча б одну умову (як правило, їх набагато більше) і виконується він в залежності від цієї умови. Мовою блок-схем розгалужений алгоритм подається наступним чином:  Тепер розберемось, що ж таке умова з точки зору виконавця.  Умовою називається таке речення, на яке можна дати відповідь "так" чи "ні". Як правило, кажуть, що в першому випадку (коли ми відповіли на речення "так") умова являється істиною, а в другому хибною. Виходячи з цього, речення "Якого кольору твій піджак?" не можна вважати умовою, а речення "Твоє волосся русяве?" - можна. Примітка: На цьому етапі можна запропонувати дітям пограти і придумати речення, що можна вважати умовами, а потім перефразувати їх так, щоб вони стали помилковими і запропонувати дітям знайти помилки. Дуже часто в житті ми змушені враховувати велику кількість найрізноманітніших умов. Наприклад, ми йдемо гуляти на вулицю, якщо "мама відпустила" та "гарна погода", а ще якщо "подруга покликала". Уроки ми робимо, якщо знов таки "мама примусила" або "тато лається" або "вчителька дуже сувора". Такі умови в інформатиці називаються складеними. Вони містять кілька простих умов і об'єднуються між собою словами "або" або "та".  Перше з цих слів ("або") використовується у тих випадках, коли необхідно виконання хоча б однієї з умов, тобто хоча б одна з умов являється істиною. Наприклад, діти залишаються вдома (не йдуть до школи), якщо "сьогодні вихідний" або "сьогодні канікули" або "сьогодні свято" або "дитина хвора". Ясно, що зовсім не обов'язково, щоб сьогодні були одночасно і канікули, і свято, і вихідний та ще й хвороба, щоб не піти до школи. Друге слово ("та"), навпаки, використовується лише в тих випадках, коли тільки одночасне виконання всіх умов призводить до результату. Наприклад, тільки у випадку вже зроблених домашніх справ та виконаних домашніх завдань та гарної погоди у нас є надія, що мама дозволить погуляти з подругою. Примітка: На цьому етапі уроку теж рекомендується дати відпочити дітям і пограти з ними в гру "Чи виконається подія, якщо?", запропонувавши кілька умов, що повинні виконуватися одночасно або по черзі. Однак, навіть маючи в своєму арсеналі команду розгалуження, важко реалізувати алгоритми, що потребують багаторазового повторення деякої послідовності однакових дій. В цих випадках нас виручає циклічний  алгоритм.  У нашому житті дуже часто зустрічаються алгоритми з повторами, причому чітко визначаються два типи повторів. В одному випадку ми чітко знаємо, скільки разів необхідно повторити задану послідовність команд, а в іншому - ні.  В залежності від того, чи знаємо ми скільки разів необхідно повторювати якусь послідовність команд розрізняють цикли з лічильником (кількість повторень відома заздалегідь) та цикли з умовою (цикл робиться доки не виконається якась умова).  Примітка: Знов запропонуйте дітям пофантазувати і придумати ситуації, коли можна визначити кількість повторень, а коли не можна. Крім того, в циклах з умовою теж можна виділити два різних випадки: цикл з передумовою - коли ми спочатку перевіряємо умову, а потім виконуємо деяку послідовність дій (так, ми спочатку перевіряємо, чи вимита підлога в тій класній кімнаті, де нам потрібно чергувати, а потім починаємо прибирання); цикл с післяумовою - спочатку ми виконуємо хоч один раз необхідну послідовність дій, а потім перевіряємо, чи не досягли ми бажаного результату (коли ми хочемо пити, ми спочатку ковтаємо хоч глоток води, а потім починаємо контролювати, чи не вгамували ми свою спрагу). Мовою блок-схем обидва типи циклів виглядають наступним чином:  Найчастіше ж у житті ми використовуємо змішані алгоритми. Так, дійсно, зранку ми контролюємо свій стан здоров'я, погоду, розклад уроків (коли збираємо речі), свій одяг і таке інше. Коли ми снідаємо, ми повторюємо одну й ту саму послідовність дій (зачерпнути ложкою їжу, піднести до рота, забрати в рот, прожувати, проковтнути, зачерпнути ложкою їжу, піднести до рота і т.д.), коли ми миємо посуд, ми теж повторюємо одну й ту саму послідовність дій. Навіть, коли ми йдемо, ми повторюємо визначені дії (подумайте, які). От ми й підійшли до того, що найбільш поширеним являється змішаний тип алгоритму, в якому поєднуються елементи лінійних, розгалужених та циклічних алгоритмів. Під час складання алгоритмів іноді виникає ситуація, коли необхідно виконати повторювану послідовність дій, але не зовсім ідентичну. Наприклад, необхідно почистити картоплю, моркву, буряк та цибулю. Всі алгоритми чищення загалом схожі, але все ж таки є деякі відмінності. Щоб не переписувати алгоритми, що суттєво не розрізняються, використовують так звані допоміжні алгоритми, що викликаються і виконуються тільки тоді, коли в них є потреба. Перевага використання допоміжних алгоритмів полягає ще в тому, що склавши їх один раз, ми можемо їх потім використовувати при написанні навіть інших алгоритмів. В цьому випадку вони об'єднуються в так звані бібліотеки і ними можна користуватися так, як в реальному житті ми користуємось справжніми бібліотеками (тобто не доходячи до суті справи). 1.2 Табулювання функції. Табулювання функції – це побудова таблиці значень функції у = f(x) для різних значень аргументу x, де x змінюється на деякому проміжку [а; b] з кроком h. Розглянемо на прикладі задачі виконання табулювання функції: Протабулювати функцію у = xsinx на проміжку [1; 2] з кроком h = 0,1.   program Tabul;       var x, а, b, h, у : real; begin write ('Bведіть а, b, h (тут 1   2   0.1):   '); readln (a, b, h); writeln ('    x        y=xsinx   '); x := а; while x <= b + h/2 do begin у := x * sin(x); writeln(x:6:1, y:9:2); x := x + h end end. Умова х <= b не завжди забезпечує попадання в останню точку x=b через особливості машинної арифметики. Тому тут використано умову x <= b + h/2. Виконавши алгоритм, отримаємо таблицю значень заданої функції:   X y=xsinx  1.0 0.84  1.1 0.98  1.2 1.12  1.3 1.25  1.4 1.38  1.5 1.50  1.6 1.60  1.7 1.69  1.8 1.75  1.9 1.80  2.0 1.82   Розділ 2. Програмування на Паскалі задача 1 Обробка одновимірного масиву Знайти процент перевиконання плану випуску продукції, який обчислюється за формулою:  Де n – кількість видів продукції; ai– загальні витрати на виробництво і-го виду продукції у базовому періоді;bi - загальні витрати на виробництво і-го виду продукції у базовому періоді. Вхідна інформація: n=9 видів продукції; a= {105, 120, 130, 130.4, 150, 170, 190, 90, 82.4} млн. грош. од.;b= {105, 119, 131, 152, 172, 189, 89, 84, 120} млн. грош. од. Короткий огляд та значення поставленої задачі: Процент перевиконання плану випуску продукції – відсоток перевиконання норми випуску продукції. Витрати виробниицтва - витрати різних видів економічних ресурсів (сировини, праці, основних засобів, послуг, грошей), безпосередньо пов'язані з виробництвом економічних благ. Економічна теорія вирізняє такі основні види витрат виробництва фірми: постійні, змінні, валові (загальні), середні, граничні, альтернативні. Базовий період - період, який використовується як точка звіту при розрахункахіндексу зміни економічних параметрів. У кожному випадку розрахунку проценту перевиконання плану Випуску продукції за базовий період необхідно брати той рік, за який обсяг виготовлення досягав максимального значення. Схема алгоритму:   Текст програми program kyrsova1; {курсова робота студента групи ЕМ-11 Білінського Василя} const n=9;{ n – кількість видів продукції; ai– загальні витрати на виробництво і-го виду продукції у базовому періоді;bi - загальні витрати на виробництво і-го виду продукції у базовому періоді.} var b:ARRAY [1..n] OF REAL; a:array [1..n] of real; i:integer; sb,S,sa, p :real; begin for i:=1 to n do begin write ('a[',i,']='); readln (a[i]); end; for i:=1 to n do begin write ('b[',i,']=') ;readln (b [i]); end; sb:=0 ; for i:=1 to n do begin sb:=sb+b[i]; sa:=sa+a[i]; end; S:=(sb-sa)/sa; writeln ('S=',S:8:4); End. Результати контрольних розрахунків: Задача 2.2 Протабулювати функцію  , якщо хпоч=4,6 хкін=13, h=1.2, а=1.35, b= 8.4, знайти суму 1<y<3. Схема алгоритму: Текст програми program kyrsova 2; {курсова робота студента групи ЕМ-11 Білінського Василя} const a=1.35; b=8.4;h=1.2; var s,x,xp,xk,y :real ; begin s:=0; x:=xp; while x<=xk do begin y:= exp (1/4*ln(1+sqrt(a*x+b)))/(sqr(sin(b*x))+a); if (y>1) and (y>=3) then s:= s+y; x:= x+h; end; writeln ('s=',s:8:4); end. Розділ 3 Робота в табличному процесорі Excel Задача 3.1. Побудувати електронну таблицю розрахунку задачі 1. Задача 3.2. Побудувати електронну таблицю розрахунку задачі 2. висновок
Антиботан аватар за замовчуванням

09.09.2013 19:09-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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