ПОЗНАВАТЕЛЬНОЕ Сила воли ведет к действию, а позитивные действия формируют позитивное отношение Как определить диапазон голоса - ваш вокал
Игровые автоматы с быстрым выводом Как цель узнает о ваших желаниях прежде, чем вы начнете действовать. Как компании прогнозируют привычки и манипулируют ими Целительная привычка Как самому избавиться от обидчивости Противоречивые взгляды на качества, присущие мужчинам Тренинг уверенности в себе Вкуснейший "Салат из свеклы с чесноком" Натюрморт и его изобразительные возможности Применение, как принимать мумие? Мумие для волос, лица, при переломах, при кровотечении и т.д. Как научиться брать на себя ответственность Зачем нужны границы в отношениях с детьми? Световозвращающие элементы на детской одежде Как победить свой возраст? Восемь уникальных способов, которые помогут достичь долголетия Как слышать голос Бога Классификация ожирения по ИМТ (ВОЗ) Глава 3. Завет мужчины с женщиной 
Оси и плоскости тела человека - Тело человека состоит из определенных топографических частей и участков, в которых расположены органы, мышцы, сосуды, нервы и т.д. Отёска стен и прирубка косяков - Когда на доме не достаёт окон и дверей, красивое высокое крыльцо ещё только в воображении, приходится подниматься с улицы в дом по трапу. Дифференциальные уравнения второго порядка (модель рынка с прогнозируемыми ценами) - В простых моделях рынка спрос и предложение обычно полагают зависящими только от текущей цены на товар. | ПРОГРАМУВАННЯ ЦИКЛІЧНИХ АЛГОРИТМІВ з дисципліни: “Програмування” Для студентів, що навчаються за освітньо-кваліфікаційним рівнем “молодший спеціаліст” зі спеціальності 6.091500 – “Комп’ютерна інженерія ” Розробив викладач __________Коваленко Т.О. “___”_________2008р. 1. МЕТА РОБОТИ Навчитися застосовувати цикл з передумовою while, цикл do while і цикл з параметром for у написанні програм мовою С++. Встановити переваги та недоліки кожного з циклів. 2. ПРИЛАДИ ТА МАТЕРІАЛИ ПК, середовище програмування Borland 5.0 3. ТЕОРЕТИЧНІ ВІДОМОСТІ Цикл – процесс виконання певного набору команд деяку кількість разів. Розрізняють три команди циклу: for, while, do-while. Команда циклу з лічильником for має вигляд: for (ініціалізація; вираз; модифікація) оператор; Ініціалізація використовується для оголошення і присвоєння початкових значень величинам, що використовуються в циклі. В цій частині можна записати декілька операторів, що розділені комами. Областю дії змінних є цикл. Вираз визначає умову виконання циклу: якщо умова істинна, то цикл виконується. Модифікації виконуються після кожної ітерації циклу і слугують зазвичай для зміни параметрів циклу. В частині модифікацій можна записати декілька операторів через кому. Простий або складений оператор є тілом циклу. Будь-яка з частин оператора завжди може бути пропущена, але знак “;” завжди залишається на своєму місті!!!! Приклад 1. Написати програму, що друкує таблицю значень функції для введеного діапазону. #include <iostream.h> #include <conio.h> int main () { const n=5; float x_n, x_k, h, x; cout<<"put a and b\n"; cin>>x_n>>x_k>>h; cout<<"| x | y |\n"; for (x=x_n; x<=x_k; x+=h) cout<<"| "<<x<<"|"<<x*x-1<<"|\n"; getch (); return 0; } Команда циклу з параметром while має вигляд: while (вираз) оператор; Вираз визначає умову повторення циклу, що подається простим або складеним оператором. Виконання оператора починається з обчислення виразу. Оператор циклу виконується в тому випадку, якщо вираз є істиною. Вираз обчислюється перед кожною ітерацією циклу. Поширеним прийомом програмування є організація нескінченного циклу з заголовком While(1) і примусовим виходом з тіла циклу є виконання якоїсь умови. В круглих дужках після слова While можна вводити опис змінних, дія яких поширюється лише на цикл. Приклад 2. Написати програму, що знаходить всі дільники додатного цілого числа. #include <iostream.h> #include <conio.h> int main () { int n; cout<<"put number"; cin>>n; int half=n; int div=1; while(div<=half) { if (!(n%div)) cout<<div<<"\n"; div++; } getch (); return 0; } Команда циклу з після умовою має вигляд: do оператор while (вираз); Спочатку виконується простий або складений оператор, що складає тіло циклу, а потім обчислюється вираз. Якщо вираз є істиною, то тіло циклу виконується ще раз, тобто даний оператор виконається як мінімум один раз. Приклад 3. Написати програму, що здійснює перевірку введення даних. #include <iostream.h> #include <conio.h> int main () { char n; do { cout<<"\nKupu slona\n"; cin>>n; } while (n!='y'); getch (); return 0; } Іноді виникає необхідність в циклі обчислити циклічну операцію. Така конструкція називається вкладеним циклом. Приклад 4. Написати програму, що обчислює значення виразу: . #include <iostream.h> #include <conio.h> int main () { int s=0; for (int i=1; i<23; i++) for (int j=i; j<5; j++) s=s+(i+j); cout<<s; getch (); return 0; } 4. ДОМАШНЄ ЗАВДАННЯ 4.1. Вивчити за конспектом та підручником способи організації циклів, їх записи та застосування [1, ст. 35 - 50]. 4.2. Нехай м’яч падає вертикально вниз із башти висотою H і щоразу відскакує на 33,3% попередньої висоти. Напишіть програму, що обчислює відстань пройдену м’ячем до зупинки. 4.3. Знайти суму: . 4.4. Надрукувати всі прості числа , що не перевищують заданого М. 4.5. Обчислити: . 5. ВИКОНАННЯ РОБОТИ Розв’язати наступні задачі відповідно до свого варіанту. Номер варіанту відповідає номеру в списку журналу. Задача 1. Побудувати таблицю відповідностей між мірами. Початкове значення міри, крок зміни цього значення та кількість рядків у таблиці (10-15) задати самостійно у режимі діалогу. Оформити таблицю якнайкраще, використовуючи формати виведення. - 1 унція = 28.353495 г = 142 карати;
- 1 драхм = 1.77185 г = 0ю06249 унцій;
- 1 карат = 0ю2 г = 2.9412 гран;
- 1 гран = 0.068 г = 0.038378 драхм;
- 1 пайп = 54.18 пек = 477.33 л;
- 1 галон (Британія) = 1.2 галон (США) = 4.546 л;
- 1 галон (США) = 0ю0347 сак = 3.785 л;
- 1 чарка = 0.0568 л = 0.00012 пайпа;
- 1 квартет = 291 л = 5123.24 чарок;
- 1 страйк = 72.73 л = 1280.46 чарок;
- 1 челдрон = 1.309 л = 0.149 пека;
- 1 сак = 109 л = 1.499 страйка;
- 1 пек = 8.81 л = 0.07929 сака;
- 1 корд малий = 3.624 куб.м = 128 куб. футів;
- 1 стандарт = 4.672 куб.м. = 0.165 рода;
- 1 род = 28.3 куб. м = 1000 куб. футів;
- 1 чейн будівельний = 30.48 м = 100 футів;
- 1 фінгер = 11.4 см = 4.5 дюймів;
- 1 нейл = 5.7 см = 2.25 дюймів;
- 1 фут = 0.3048 м = 12 дюймів;
- 1 ярд = 0.9144 м = 3 фути;
- 1 кабельт Брит. = 0.183 км = 680 футів;
- 1 кабельт США = 219ю5 м = 720 футів;
- 1 дюйм = 2.54 см = 12 ліній;
- 1 морська миля = 1.852 км = 6076 футів.
Задача 2. Обчислити значення змінної свого варіанта: № | Вираз | № | Вираз | № | Вираз | № | Вираз | № | Вираз | | Z=a+b | | Z=sin(a)-b | | Z=a-2b | | Z=e3ab | | Z=tg(a+b) | | Z=ab | | Z=ab | | Z=ba | | Z=4ba-b | | Z=ln|a+4b| | | Z=tg(b)-a | | Z=a2+3b | | Z=cos(ab) | | Z=2a-b | | Z=3ab-b2 | | Z=(a+b)2 | | Z=(ab)1/4 | | Z=|a-b| | | Z=|12a-b| | | Z=a+eb | | Z=5ab-4 | | Z=ab-  | | Z=ctg(2a)-b | | Z=a2-3b | | Z=5a-  | , , і – номер варіанта, к – цілі числа. Функцію вибрати з таблиці 1. Вивести значення . Задача 3. Обчислити суму ряду , де , де – номер варіанту, – довільне значення з проміжку (0; 1) з точністю . Скільки потрібно доданків для досягнення заданої точності? Виконайте програму тричі для різних значень точності. Задача 4. Протабулювати функцію на проміжку з кроком , де – номер варіанту. Результати обчислень вивести у вигляді таблиці пар чисел . Виконати завдання пошуку даних відповідно до вашого варіанта. Якщо шуканих даних немає, то вивести про це повідомлення. - Обчислити суму першого та останнього членів функції. Визначити кількість усіх значень.
- Обчислити суму й добуток усіх значень функції, для яких виконується нерівність:
або . - Обчислити добуток та кількість усіх значень функції для яких виконується нерівність:
. - Обчислити добуток усіх від’ємних значень функції та вивести кількість додатних.
- Обчислити добуток значень аргументна
для яких досягаються мінімальні та максимальні значення функції . - Скільки було від’ємних значень? Визначити максимальне значення.
- Визначити суму додатних значень функції та кількість від’ємних.
- Скільки відємних і додатних значень має функція?
- Обчислити модуль різниці максимального та першого значень функції.
- Обчислити суму першого та останнього членів функції. Визначити кількість усіх значень.
- Обчислити суму й добуток усіх значень функції, для яких виконується нерівність:
або . - Обчислити добуток та кількість усіх значень функції для яких виконується нерівність:
. - Обчислити добуток усіх від’ємних значень функції та вивести кількість додатних.
- Обчислити добуток значень аргументна
для яких досягаються мінімальні та максимальні значення функції . - Скільки було від’ємних значень? Визначити максимальне значення.
- Визначити суму додатних значень функції та кількість від’ємних.
- Скільки відємних і додатних значень має функція?
- Обчислити модуль різниці максимального та першого значень функції.
- Обчислити суму першого та останнього членів функції. Визначити кількість усіх значень.
- Обчислити суму й добуток усіх значень функції, для яких виконується нерівність:
або . - Обчислити добуток та кількість усіх значень функції для яких виконується нерівність:
. - Обчислити добуток усіх від’ємних значень функції та вивести кількість додатних.
- Обчислити добуток значень аргументна
для яких досягаються мінімальні та максимальні значення функції . - Скільки було від’ємних значень? Визначити максимальне значення.
- Визначити суму додатних значень функції та кількість від’ємних.
Задача 5*. - Написати програму, що визначає, чи є дане число поліномом?
- Написати програму, що обчислює суму цифр заданого числа.
- Написати програму, що знаходить найбільшу цифру даного числа.
- Обчислити і вивести на екран у вигляді таблиці значення функції, заданих за допомогою ряду Тейлора з точністю
на інтервалі з кроком . Таблиці створити заголовок та шапку. Кожен рядок таблиці повинен містити значення аргументу, значення функції і кількість членів: . (Модуль числа описується функцією fabs(a)) - Написати програму, що виводить на екран всі дільники заданого числа.
- Написати програму, що виводить всі прості числа з проміжку між А та В.
Таблиця 1. № | Функція  | № | Функція  | № | Функція  | | 9/2cos2x-|sin(x/1.1)| | | 7log(3,8+|x|)/(x2+2) | | 0.7lg|6+x|+cos(4.6x) | | 12.4sin|x/2/1|+9.1cos(x-1) | | 4sin(2x2+cos(x)) | | 2lg7(3,8+|x|)/(x2+2) | | 2sin2(x/3.2)*ln|x| | | 8lg(|sinx+5|) | | 2cos2x-|sin(x/1.1)| | | 3.1cos(x+2.3)/(sinx+3) | | 1/(sin3x+5.4)-lg|x| | | 4sin|x/2/1|+9.1cos(x-1) | | 3.1cos(x)*sin(2x) | | 3cos(x+2.3)/(sinx+3) | | 2sin2(x/3.2)*ln|x+9| | | 2sin(x-4.5)/(sin4-x) | | 7cos(x)*sin(7+2x) | | 3.8cos(x+2.3)/(sinx+6) | | 3ln|x-1.5|/lg(|x-3.7|+8) | | 2sin(x-4.5)/(sin0-x) | | 7.1cos(x-4)*sin(2x) | | 6.9lg|6+x|+cos(4.6x) | | 2ln6|x-1.5|/lg(|x-3.7|+8) | | 2sin6(x-4.5)/(sin4-x) | | sin|x-1.5|/lg(|x-3.7|+8) | 6. КОНТРОЛЬНІ ЗАПИТАННЯ 6.1. Мета використання операторів циклу. 6.2. Блок-схема оператора циклу з передумовою. 6.3. Що називають параметром циклу? 6.4. Що називають тілом циклу? 6.5. Формат оператора циклу з передумовою While. 6.6. Як організувати нескінченний цикл? 7. ЗМІСТ ЗВІТУ - Тема та мета лабораторної роботи.
- Виконання домашнього завдання.
- Звіт за пунктами виконання лабораторної роботи.
- Відповіді на контрольні запитання.
8. ЛІТЕРАТУРА - Динман М.И. С++. Освой на примерах. – СПб.: БХВ –Питербург, 2006
- Прата Стивен. Язик программирования С++. Лекции и упражнения. Ученик: Пер. с англ. – СПб.: ООО, 2005
- Павловская Т.А. С/С++. Программирование на языке високого уровня. – СПб.: Питер, 2007.
- Я.М. Глинський, В.Є. Анохін С++
|