Програмування на мові високого рівня при розв’язанні прикладної задачі на комп’ютері

Розробка, налагоджування, тестування і документування програми на мові високого рівня С++ при рішенні на комп'ютері прикладної інженерної задачі. Використання принципів модульного і структурного програмування, зображення алгоритму у вигляді блок-схеми.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык украинский
Дата добавления 07.08.2013
Размер файла 1,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ОДЕСЬКИЙ НАЦІОНАЛЬНИЙ ПОЛІТЕХНІЧНИЙ УНІВЕРСИТЕТ

Інститут радіоелектроніки та телекомунікацій

Кафедра електронних засобів та інформаційно-комп'ютерних технологій

КУРСОВА РОБОТА

з дисципліни: „Основи програмування та алгоритмічні мови"

Програмування на мові високого рівня при розв'язанні прикладної задачі на комп'ютері

Виконав студент гр.РК-091

Жмуд Є.В.

Керівник роботи

доц. Павлов О.Л.

Одеса ОНПУ 2012

Зміст

Вступ

Завдання на курсову роботу

1. Розробка алгоритму рішення задачі

2. Розробка програми на мові С++

3. Тестування і налагодження програми

4. Документування програми

Висновки

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

Додатки

Вступ

В даній курсовій роботі буде представлено навички розробки, налагоджування, тестування і документування програми на мові високого рівня С++ при рішенні на ЕОМ прикладної інженерної задачі. Також ця робота служить для закріплення навичок використання апаратного і програмного забезпечення персонального комп'ютера.

Завдання на курсову роботу

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

Резистори мікросхеми звичайно є смужками резистивної плівки різної форми. В даній роботі розглядаються тонкоплівкові резистори тільки двох видів: у формі прямокутника (мал.1) і у формі меандру (мал.2). Розрахунок резистора полягає у визначенні його розмірів (в мм) - довжини l і ширини b для прямокутного резистора (див. мал.1), ширини смужки b, відстані між смужками a, розмірів X і Y, а також числа ланок n - для резистора у формі меандру (див. мал.2).

Необхідні для розрахунку початкові дані зведені в таблицю. Для зручності розробки алгоритму і програми, початкові дані умовно розділені на дві групи - дані із змінними (табл.1) і постійними (табл.2) величинами, а також вказані їх реальні чисельні значення. Це дає можливість проводити контроль початкових даних і отримувати фізично обґрунтовані результати.

Таблиця 1 - Початкові дані для розрахунку (змінні значення)

Позначення і розмірність

R,

кОм

с,

кОм/кв

Р,

мВт

Р0,

мВт/мм2

Найменування

Номінальний опір резистора

Опір квадрата резистивної плівки

Потужність розсіювання резистора

Максимальна питома потужність розсіювання резистивної плівки

Значення

0,05…10000

0,01…50

5…50

10…30

Таблиця 2 - Початкові дані для розрахунку (постійні значення)

Позначення і розмірність

bтехн,

мм

lтехн,

мм

Дb,

мм

Дl,

мм

гR

amin,

мм

h,

мм

Найменування

Мінімально допустимі ширина і довжина резистора

Похибка відтворення ширини і довжини резистора

Допустима похибка коефіцієнта форми резистора

Мінімальна відстань між смужками резистора складної форми

Крок координатної сітки

Значення

0,1

0,3

0,01

0,03

0,1

0,3

0,01

Порядок розрахунку резистора

Визначається значення коефіцієнта форми резистора kф

kф = .

В залежності від значення kф обирається форма резистора:

? при 1 ? kф ? 10 - резистор прямокутної форми (мал.1);

? при 0,1 ? kф < 1 - резистор прямокутної форми, у якого довжина менше ширини (мал.1, l<b);

? при kф > 10 - резистор складної форми (використовуються резистори різних конструкцій, в даній роботі - резистор типа " меандр ", мал.2);

? при kф < 0,1 - резистор конструювати не рекомендується.

1. Розрахунок резисторів прямокутної форми

Шукані розміри прямокутного резистора зв'язані наступним співвідношенням:

kф = .(2)

Для резистора з kф?1 розрахунок розмірів починають з визначення ширини. Ширину резистора обирають із умови:

b ? max {bтехн b?, bпотужн},(3)

де b? - мінімальна ширина резистора, при якій забезпечується задана точність:

;(4)

bпотужн - мінімальна ширина резистора, при якій розсіюється задана потужність:

.(5)

Після того, як визначена ширина резистора b, знаходять його довжину l за допомогою формули (2). Отримані розрахункові значення b і l округляють з урахуванням кроку координатної сітки h по формулі:

,(6)

де функція int(X) позначає виділення цілої частини X;

Wокругл, Wрозрах - відповідно округлене і розрахункове значення.

На цьому розрахунок резистора з kф?1 завершують.

Для резистора з kф<1 розрахунок розмірів починають з визначення довжини. Довжину резистора вибирають з умови:

l ? max {техн., l?, lпотужн},(7)

де l? - мінімальна довжина резистора, при якій забезпечується задана точність:

;(8)

lпотужн - мінімальна довжина резистора, при якій розсіюється задана потужність:

.(9)

Після того, як визначена довжина резистора l, знаходять його ширину b, використовуючи формулу (2). Потім округляють набуті значення b і l по формулі (6), і на цьому розрахунок закінчують.

2. Розрахунок резистора складної форми

Розрахунок резистора типу " меандр " проводять в такій послідовності.

Визначають ширину резистора по формулах (3)…(5) і округляють отримане значення по формулі (6).

Знаходять довжину середньої лінії меандру

.(10)

Задають відстань між смужками а (див. мал.2). Рекомендується прийняти a=b. Якщо a<amin, то приймають a=amin.

Знаходять крок однієї ланки меандру

t = a + b.(11)

Визначають число ланок меандру по наближеній формулі

.(12)

Обчислюють довжину меандру

X = n • (a + b).(13)

Визначають ширину меандру

.(14)

Перевіряють умову

.(15)

Якщо ця умова виконується, то розрахунок закінчують. Інакше вимагається змінити конструкцію резистора через технологічні обмеження. Для цього змінюють відстань а і перераховують параметри резистора. В даній роботі при невиконанні умови (15) слід збільшити а на величину amin і повторити обчислення по формулах (11)…(14).

Кінець розрахунку

При необхідності розрахунку декількох резисторів, для кожного з них задаються свої початкові дані (див. табл.1 і табл.2) і виконуються відповідні дії за формулами (1)…(15).

Отже, остаточно загальна частина завдання на курсову роботу формулюється таким чином: розробити алгоритм і програму розрахунку e тонкоплівкових резисторів. Кількість резисторів N задається користувачем разом із іншими початковими даними до розрахунку.

Індивідуальне завдання

Номер варіанта

Контроль

початкових

даних

Організація взаємодії з користувачем

Використання масивів

Реалізація фрагмента методики у вигляді підпрограми (функції)

Розрахунок k-ого резистора в діапазоні значень с

Пошук максимального (max) або мінімального (min) розра-хунково-го значення ширини b

Сортування розрахункових значень ширини b за збільшенням (зменшенням)

Введення початкових даних

Розрахункова частина в цілому

Розрахунок коефіцієнта форми kф

Вибір максимального з трьох при розрахунку b і l

Округлення розрахункових значень b і l

Розрахунок резисторів прямокутної форми

Розрахунок резисторів у вигляді меандру

Візуальний на екрані

Перевірка діапазону

" Запит-відповідь "

Меню користувача

Задані с1,…, сm

Задані споч, скін, ?с

11

+

-

+

-

+

-

max

-

-

+

1

1

-

0

-

1. Розробка алгоритму рішення задачі

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

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

Розробка блок-схеми алгоритму

В розробці блок-схеми алгоритму можна виділити наступні етапи:

1) аналіз структури даних:

визначення початкових, проміжних і результуючих даних, типів даних (змінних і масивів; констант і змінні; цілих, дійсних і символьних);

2) розробка блок-схем допоміжних алгоритмів:

а) визначення параметрів (якщо вони є) і значення, що повертається (якщо воно є), їх типів;

б) складання блок-схем, які закінчуються словом " повернення " і значенням, що повертається (у блоці " пуск-зупинка ");

3) розробка блок-схеми основного алгоритму, який можна умовно розділити на наступні частини:

а) введення вихідних даних;

б) контроль даних;

в) основний розрахунок;

г) виведення результатів основного розрахунку;

ґ) пошук максимального розрахункового значення ширини і його виведення;

д) введення даних для додаткового розрахунку;

е) додатковий розрахунок;

є) виведення результатів додаткового розрахунку.

Блок-схема алгоритму находиться в ДОДАТКУ В.

2. Розробка програми

Коротка характеристика мови програмування С++

C і C++ відносяться до числа найбільш потужних і найпоширеніших мов високого рівня.

Спочатку ця мова набула популярність як мова розробки операційної системи UNIX. На сьогоднішній день C++ стала домінуючою системно-утворюючою мовою. На неї написана більшість сучасних операційних систем, у тому числі ОС Windows.

Мова C++ з'явилася на початку 80-х років. Створена Б. Страуструпом з початковою метою позбавити себе і своїх друзів від програмування на асемблері, Сі чи різних інших мовах високого рівня.

Очевидно, що найбільше C++ запозичив з мови Сі, а також з безпосереднього його попередника мови BCPL. Ці запозичення забезпечили C++ потужними засобами низького рівня, що дозволяють вирішувати складні задачі системного програмування. Але що в першу чергу відрізняє C++ від Сі - це різна ступінь уваги до типів та структур даних. Це пов'язано з появою понять класу, похідного класу і віртуальної функції, перейнятих у свою чергу з мови Сімула 67. Це дає в C++ більш ефективні можливості для контролю типів і забезпечує модульність програми.

Розробка програми на мові С++

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

3. Тестування і налагоджування програми

Мета тестування програми - виявлення помилок, що є в програмі.

Мета налагоджування - виявлення і усунення причин помилок.

План тестування

1) порівняння програми зі схемою алгоритму;

2) візуальний контроль програми на екрані дисплея або по роздруку;

3) трансляція програми;

4) редагування зовнішніх зв'язків (компоновка);

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

Тестовий приклад

Вихідні дані:

N = 4

R1 = 1 кОмP1 = 20 мВт с1 = 20 кОм/кв P01=10 мВт/мм2

R2 = 10 кОмP2 = 5 мВт с1 = 5 кОм/кв P01=10 мВт/мм2

R3 = 40 кОмP3 = 25 мВт с1 = 50 кОм/кв P01=10 мВт/мм2

R4 = 100 кОмP4 = 50 мВт с1 = 5 кОм/кв P01=20 мВт/мм2

Вихідні дані для додаткового розрахунку:

k = 2

с = (0,5;10;50) кОм/кв

Розрахунок вручну:

1) kф = 0,05 (-?;0,1)

Резистор №1 конструювати не рекомендується.

2) kф = 2 [1;10]

Резистор №2 має прямокутну форму.

b? = 0,25 (мм)

bпотужн = 0,5 (мм)

bтехн = 0,1 (мм)

b = 0,5 (мм)

l = 1 (мм)

bокругл = 0,51 (мм)

lокругл = 1,01 (мм)

3) kф = 0,8 [0,1;1)

Резистор №3 має прямокутну форму, у нього довжина менше ширини.

l? = 0,38 (мм)

lпотужн = 1,4142 (мм)

lтехн = 0,3 (мм)

l = 1,4142 (мм)

b = 1,76775 (мм)

lокругл = 1,42 (мм)

bокругл = 1,77 (мм)

4) kф = 20 (10;+?)

Резистор №4 типу меандр.

b? = 0,115 (мм)

bпотужн = 0,2886 (мм)

bтехн = 0,1 (мм)

b = 0,2886 (мм)

bокругл = 0,29 (мм)

lсер = 5,8 (мм)

b=0,29мм < amin=0,3мм , a = 0,3 (мм)

t = 0,59 (мм)

n = 3

X = 1,77 (мм)

Y = 1,6333 (мм)

Y / a = 5,4433 < 10

Додатковий розрахунок резистора №2:

1) При с = 0,5 кОм/кв:

kф = 20 (10;+?)

Резистор типу меандр.

b? = 0,115 (мм)

bпотужн = 0,15811 (мм)

bтехн = 0,1 (мм)

b = 0,15811 (мм)

bокругл = 0,16 (мм)

lсер = 3,2 (мм)

b=0,29мм < amin=0,3мм , a = 0,3 (мм)

t = 0,46 (мм)

n = 2

X = 0,92 (мм)

Y = 1,3 (мм)

Y / a = 4,3333 < 10

2) При с = 10 кОм/кв:

kф = 1 [1;10]

Резистор має прямокутну форму

b? = 0,5 (мм)

bпотужн = 0,7 (мм)

bтехн = 0,1 (мм)

b = 0,7 (мм)

l = 0.7 (мм)

bокругл = 0,71 (мм)

lокругл = 0,71 (мм)

3) При с = 50 кОм/кв:

kф = 0,2 [0,1;1)

Резистор має прямокутну форму, у нього довжина менше ширини.

l? = 0,32 (мм)

lпотужн = 0,316 (мм)

lтехн = 0,3 (мм)

l = 0,32(мм)

b = 1,6 (мм)

lокругл = 0,33 (мм)

bокругл = 1,6 (мм)

Розрахунок на ЕОМ: див. ДОДАТОК Б.

Налагодження програми

Налагодження програми заключається в виявленні та усуненні помилок, які з'явилися при її написанні, а саме:

1) недостача таких знаків як: "{", ";";

2) різні синтаксичні помилки;

3) виявлена помилка в розрахунку к-того резистора;

4) неправильно вказана мітка

Всі вище перечисленні помилки булі успішно виправлені.

4. Документування програми

Призначення програми. Дана програма призначена для рішення на ЕОМ прикладної інженерної задачі - задачі розрахунку резисторів мікросхеми.

Режим роботи. Діалог користувача з ЕОМ організований у режимі " запит-відповідь " (видача запиту на екран дисплея - відповідь користувача із клавіатури).

Опис принципу роботи програми. Користувач повинен ввести кількість резисторів для їхнього розрахунку (у змінну N) й інші вихідні дані: по N значень P і R (у масиви P[m] і R[m]), с і P0 (у змінні pO[m] і P0[m]).

Потім проводиться візуальний контроль введених даних - вивід вихідних даних для розрахунку на екран. Користувачу задається питання, чи відповідають ці дані таблиці №1. Якщо відповідь негативна, то провадиться повторне введення всіх вихідних даних, потім візуальний контроль цих нових даних і т.д. - і так доти, поки відповідь не буде позитивною. При позитивній відповіді відбувається розрахунок резисторів.

В основному розрахунку для кожного резистора програма визначає його форму й відповідно до неї знаходить його розміри, а також визначає резистори, конструювання яких не рекомендується. Для прямокутного резистора програма обчислює l[i] і b[i], де i - номер цього резистора (обчислюються значення i-их елементів масивів l[i] і b[i]), для резистора у вигляді меандру обчислюються значення елементів масивів b[i], a[i], X[i], Y[i], n[i]. Результати виводяться на екран.

Потім знаходиться максимальне розрахункове значення ширини в масиві b[m] і виводиться на екран монітора.

Потім відбувається додатковий розрахунок k-ого резистора в діапазоні значень с при фіксації інших вихідних даних.

Спочатку користувач вводить номер резистора для додаткового розрахунку - число k у діапазоні [1;N]. Потім користувач вводить початкове значення с, виконуються додатковий розрахунок k-ого резистора й вивід на екран його результатів аналогічний основному до тих пір поки не введе 0 (0 - кінець розрахунку k-го резистора).

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

Висновки

програма комп'ютер задача алгоритм

Виконавши цю курсову роботу, я отримав навички розробки, налагоджування, тестування і документування програми на мові високого рівня С++ при рішенні на ЕОМ прикладної інженерної задачі.

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

За цим алгоритмом була розроблена програма на мові С++, що містить власні підпрограми, використовує одномірні масиви для зберігання початкових даних і результатів розрахунку, забезпечує взаємодію з користувачем (у формі " запит-відповідь ") та виведення результатів розрахунку у зручній формі.

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

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

1. Інформатика. Комп'ютерна техніка. Комп'ютерні технології / Посібник для ВНЗ. - К.: 2001.

2. Вычислительная техника и программирование: Учебник для техн. вузов / Под ред. А.В.Петрова. - М.: Высш.шк., 1990.

3. Программирование на С++: Учеб. пособие / Под ред. А.Д.Хомоненко. - С-Пб.: 1999.

4. Конспект лекцій з дисципліни: " Алгоритмічні мови та програмування "

Додаток А

Текст програми на мові С++

#include <iostream>//Організація введення, виведення (cout, cin)

#include <math.h>//Математична бібліотека (sqrt () ...)

#include <conio.h>//Бібліотека для використання функції getch ()

using namespace std;

//Прототипи функції

double kf(double, double); //Обчислення коеф. форм. к-того резистора

double max_d(double, double, double); //Обчислення максимальної ширини

void Cal_pr_fo_bl(); //Розрахунок резистора прямокутної форми b>l

void Cal_pr_fo_lb(); //Розрахунок резистора прямокутної форми l>b

int i, k, Vv=0, povt=0, stp=0;//Глобальні змінні цілого типу

const double b_tex = 0.1, l_tex = 0.3, Db = 0.01, Dl = 0.03, Yr = 0.1, a_min = 0.3, h = 0.01;//Константи вещ. типу

const int m = 10;//Константа цілого типу

double R[m];//Номінальний опір резистора

double pO[m];//Опір квадрата резистивної плівки

double P[m];//Потужність розсіювання резистора

double Po[m];//Макс. питома потужність розсіювання резистивної плівки

double N;//Кількість резисторів

double kfe[m];//Коф. форм. к-того резистора

double l[m];//Довжина резистора

double b[m];//Ширина резистора

double X[m];//Довжина меандра

double Y[m];//Ширина меандра

double bD;//Мінімальна ширина резистора

double bpot;//Ширина задана потужністю

double lD;//Мінімальна довжина резистора

double lpot;//Довжина задана потужністю

double lser;//Середня лінія меандра

double piz;//Допоміжна змінна для рахунку к-того резистора

double maxb=0;//Максимальна ширина b

char Otv;// [Y/N]

double a[m];//Відстань між смугами

double t[m];//Крок ланки

double n[m];//Число ланок

double max_b(double a, double b, double c)//Обчислення максимальної ширини

{

if (a>b&&a>c)

return a;

if (b>a&&b>c)

return b;

else return c;

}

void Cal_pr_fo_bl()//Розрахунок резистора прямокутної форми b>l

{

bD=(Db+Dl/kfe[i])/Yr;

bpot=sqrt((pO[i]*P[i])/(R[i]*Po[i]));

b[i]=max_b(b_tex, bD, bpot);

l[i]=kfe[i]*b[i];

b[i]=int(b[i]/h)*h+h;

l[i]=int(l[i]/h)*h+h;

cout<<"\n Ширина резистора, b = "<<b[i]<<" мм"<<endl;

cout<<" Довжина резистора, l = "<<l[i]<<" мм"<<endl;

}

void Cal_pr_fo_lb()//Розрахунок резистора прямокутної форми l>b

{

lD=(Dl+kfe[i]*Db)/Yr;

lpot=sqrt((R[i]*P[i])/(pO[i]*Po[i]));

l[i]=max_b(l_tex, lD, lpot);

b[i]=l[i]/kfe[i];

l[i]=int(l[i]/h)*h+h;

b[i]=int(b[i]/h)*h+h;

cout<<"\n Ширина резистора, b = "<<b[i]<<" мм"<<endl;

cout<<" Довжина резистора, l = "<<l[i]<<" мм"<<endl;

}

double kf(double a, double b)//Обчислення коеф. форм. к-того резистора

{

return a/b;

}

void main () //Головна функція

{

while (1)

{

cout<<"Задайте кiлькiсть резисторiв для розрахунку [max 10] = ";

cin>>N;

if (N>=1 && N<=10)

break;

}

for (i=0; i<N; i++)

{

while (1)

{

cout<<"\n\tРезистор №"<<i+1<<endl;

cout<<"Номiнальний опiр резистора, [кОм] R = ";

cin>>R[i];

cout<<"Опiр квадрата резистивної плiвки, [кОм/кв] p = ";

cin>>pO[i];

cout<<"Потужнiсть розсiювання резистора, [мВт] P = ";

cin>>P[i];

cout<<"Макс.питома потужнiсть розсiювання резистивної плiвки, [мBт/мм2] Po = ";

cin>>Po[i];

cout<<endl;

cout<<"Початковi даннi вiдповiдают данним Табл. №1 ? [Y/N] = ";

cin>>Otv;

if (Otv=='Y' || Otv=='y')

break;

}

}

for (i=0; i<N; i++)

{

PS:

kfe[i]=kf(R[i], pO[i]);

if (1<=kfe[i] && kfe[i]<=10)

{

cout<<"\n_________________________________________"<<endl;

cout<<"\n\tРезистор №"<<i+1<<" -- прямокутрної форми"<<endl;

Cal_pr_fo_bl();

}

else if (0.1<=kfe[i] && kfe[i]<1)

{

cout<<"\n______________________________________"<<endl;

cout<<"\n\tРезистор №"<<i+1<<" -- прямокутрної форми в якого ширина меньше довжини (l>d)"<<endl;

Cal_pr_fo_lb();

}

else if (kf(R[i], pO[i])>10)

{

cout<<"\n______________________________________"<<endl;

cout<<"\n\tРезистор №"<<i+1<<" -- резистор типу (меандр)"<<endl;

bD=(Db+Dl/kfe[i])/Yr;

bpot=sqrt((pO[i]*P[i])/(R[i]*Po[i]));

b[i]=int(max_b(b_tex, bD, bpot)/h)*h+h;

lser=b[i]*kfe[i];

a[i]=b[i];

if (a[i]<a_min)

a[i]=a_min;

while (1)

{

t[i]=a[i]+b[i];

n[i]=int(sqrt(lser/t[i]));

X[i]=n[i]*(a[i]+b[i]);

Y[i]=(lser-a[i]*n[i])/n[i];

if ((Y[i]/a[i])<=10)

break;

else

a[i]=a[i]+a_min;

}

cout<<"\n Ширина меандри, Y = "<<Y[i]<<" мм"<<endl;

cout<<" Довжина меандри, X = "<<X[i]<<" мм"<<endl;

cout<<" Ширина смушки, b = "<<b[i]<<" мм"<<endl;

cout<<" Вiдстань мiж смужками, a = "<<a[i]<<" мм"<<endl;

cout<<" Число ланок, n = "<<n[i]<<endl;

}

else if (kfe[i]<0.1)

{

cout<<"\n_________________________________________"<<endl;

cout<<"\tРезистор №"<<i+1<<" -- резистор використовувати не рекомендовано"<<endl;

}

if (pO[i]==piz)

break;

}

if(1<N)

{

if(povt==0)

{

for (i=0; i<N; i++)

{

if(maxb<b[i])

maxb=b[i];

}

cout<<"\nМаксiмальная ширина b = "<<maxb<<" мм"<<endl;

povt++;

}

if (Vv==0)

{

while (1)

{

cout<<"\nВведiть номер резистора для додаткових обчислень = ";

cin>>k;

if(1<=k&&k<=N)

break;

else

cout<<"Цього резистора не iснує"<<endl;

}

k=k-1;

Vv++;

}

}

while (1)

{

cout<<"\nОпiр квадрата резистивної плiвки (для закiнчення обчислень введiть 0), [кОм/кв] p = ";

cin>>piz;

if(piz<=50)

break;

else

cout<<"\n\tMAX 50 [кОм/кв] "<<endl;

}

i=k;

pO[i]=piz;

if (piz!=0)

goto PS;

getch();

system("cls");//Функція очищення екрана

cout<<"\tАвтор програми : Жмуд Е.В."<<endl;

cout<<"\t20.09.2012"<<endl;

getch();

}

Додаток Б

Тестовий приклад (розрахунок на ЕОМ)

Мал.1. Введення початкових даних, розрахунок та виведення результату.

Мал.2. Розрахунок k-го резистора.

Додаток В

Блок-схема алгоритму

Размещено на Allbest.ru


Подобные документы

  • Основні розрахунки резисторів мікросхеми. Розробка алгоритму рішення задачі методом блок-схем. Характеристика та розробка програми на мові С++ з використанням принципів модульного і структурного програмування. План тестування і налагоджування програми.

    курсовая работа [2,9 M], добавлен 05.12.2012

  • Розробка та налагодження програми "Заробітна плата" на мові високого рівня С++ для комп'ютерів з операційною системою Windows 7. Текстуальний опис алгоритму. Створення UML-діаграми та обробка інформації з бази даних. Інструкція по роботі з програмою.

    курсовая работа [698,4 K], добавлен 14.10.2012

  • Розробка програми на мові програмування С++ з використанням об'єктно-орієнтованого програмування. Робота з файлами, графікою, класами, обробка числової інформації. Графічні засоби мови програмування. Алгоритм задачі та допоміжні програмні засоби.

    курсовая работа [102,5 K], добавлен 14.03.2013

  • Розробка програми для вирішення графічної задачі. При вирішенні задачі необхідно cтворювати програму у середовищі програмування Turbo Pascal. Розробка алгоритму функціонування програми і надання блок-схеми алгоритму. Демонстрація роботи програми.

    курсовая работа [1,3 M], добавлен 23.06.2010

  • Алгоритми розв’язання задач у вигляді блок–схем. Використання мови програмування MS VisualBasic for Application для написання програм у ході вирішення задач на одномірний, двовимірний масив, порядок розв’язання задачі на використання символьних величин.

    контрольная работа [742,9 K], добавлен 27.04.2010

  • Створення програми для роботи з веб-камерою з автоматичним визначенням встановленої камери на комп'ютері. Характеристика апаратної конфігурації програми. Опис мови і середовища програмування. Розробка алгоритму, інструкції для програміста та користувача.

    курсовая работа [1,2 M], добавлен 26.07.2013

  • Програма, що контролює програми, які запускаються на комп’ютері на мові ASM-86. Алгоритм програми: перевірка параметрів, які задані в командному рядку, та функції обробника переривання 21h. Компілювання Turbo Assembler, зв’язування за допомогою TLINK.

    курсовая работа [21,7 K], добавлен 08.08.2009

  • Програми, які виводять на екран характеристики комп'ютера. Розробка програми "Монітор використання ресурсів комп’ютера" на мові програмування ASM-86. Алгоритм програми та її реалізація. Системні вимоги, інструкція для користувача, лістинг програми.

    курсовая работа [22,2 K], добавлен 08.08.2009

  • Дослідження алгоритму роботи та коду програми. Оцінка методом "чорного ящика". Тестування і налагодження розробленої програми на алгоритмічній мові високого рівня. Оцінювання якості програмного забезпечення за об’єктно-орієнтованими метриками зв’язності.

    курсовая работа [143,1 K], добавлен 11.03.2021

  • Постановка та описання алгоритму розв’язання задачі про оптимальне призначення, формулювання вимог. Обґрунтування вибору засобів програмування. Розробка структури програми та системи її візуалізації, тестування та верифікація, оцінка ефективності.

    курсовая работа [1,1 M], добавлен 12.05.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.