МегаПредмет

ПОЗНАВАТЕЛЬНОЕ

Сила воли ведет к действию, а позитивные действия формируют позитивное отношение


Как определить диапазон голоса - ваш вокал


Игровые автоматы с быстрым выводом


Как цель узнает о ваших желаниях прежде, чем вы начнете действовать. Как компании прогнозируют привычки и манипулируют ими


Целительная привычка


Как самому избавиться от обидчивости


Противоречивые взгляды на качества, присущие мужчинам


Тренинг уверенности в себе


Вкуснейший "Салат из свеклы с чесноком"


Натюрморт и его изобразительные возможности


Применение, как принимать мумие? Мумие для волос, лица, при переломах, при кровотечении и т.д.


Как научиться брать на себя ответственность


Зачем нужны границы в отношениях с детьми?


Световозвращающие элементы на детской одежде


Как победить свой возраст? Восемь уникальных способов, которые помогут достичь долголетия


Как слышать голос Бога


Классификация ожирения по ИМТ (ВОЗ)


Глава 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. 1 унція = 28.353495 г = 142 карати;
  2. 1 драхм = 1.77185 г = 0ю06249 унцій;
  3. 1 карат = 0ю2 г = 2.9412 гран;
  4. 1 гран = 0.068 г = 0.038378 драхм;
  5. 1 пайп = 54.18 пек = 477.33 л;
  6. 1 галон (Британія) = 1.2 галон (США) = 4.546 л;
  7. 1 галон (США) = 0ю0347 сак = 3.785 л;
  8. 1 чарка = 0.0568 л = 0.00012 пайпа;
  9. 1 квартет = 291 л = 5123.24 чарок;
  10. 1 страйк = 72.73 л = 1280.46 чарок;
  11. 1 челдрон = 1.309 л = 0.149 пека;
  12. 1 сак = 109 л = 1.499 страйка;
  13. 1 пек = 8.81 л = 0.07929 сака;
  14. 1 корд малий = 3.624 куб.м = 128 куб. футів;
  15. 1 стандарт = 4.672 куб.м. = 0.165 рода;
  16. 1 род = 28.3 куб. м = 1000 куб. футів;
  17. 1 чейн будівельний = 30.48 м = 100 футів;
  18. 1 фінгер = 11.4 см = 4.5 дюймів;
  19. 1 нейл = 5.7 см = 2.25 дюймів;
  20. 1 фут = 0.3048 м = 12 дюймів;
  21. 1 ярд = 0.9144 м = 3 фути;
  22. 1 кабельт Брит. = 0.183 км = 680 футів;
  23. 1 кабельт США = 219ю5 м = 720 футів;
  24. 1 дюйм = 2.54 см = 12 ліній;
  25. 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.

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

  1. Обчислити суму першого та останнього членів функції. Визначити кількість усіх значень.
  2. Обчислити суму й добуток усіх значень функції, для яких виконується нерівність: або .
  3. Обчислити добуток та кількість усіх значень функції для яких виконується нерівність: .
  4. Обчислити добуток усіх від’ємних значень функції та вивести кількість додатних.
  5. Обчислити добуток значень аргументна для яких досягаються мінімальні та максимальні значення функції .
  6. Скільки було від’ємних значень? Визначити максимальне значення.
  7. Визначити суму додатних значень функції та кількість від’ємних.
  8. Скільки відємних і додатних значень має функція?
  9. Обчислити модуль різниці максимального та першого значень функції.
  10. Обчислити суму першого та останнього членів функції. Визначити кількість усіх значень.
  11. Обчислити суму й добуток усіх значень функції, для яких виконується нерівність: або .
  12. Обчислити добуток та кількість усіх значень функції для яких виконується нерівність: .
  13. Обчислити добуток усіх від’ємних значень функції та вивести кількість додатних.
  14. Обчислити добуток значень аргументна для яких досягаються мінімальні та максимальні значення функції .
  15. Скільки було від’ємних значень? Визначити максимальне значення.
  16. Визначити суму додатних значень функції та кількість від’ємних.
  17. Скільки відємних і додатних значень має функція?
  18. Обчислити модуль різниці максимального та першого значень функції.
  19. Обчислити суму першого та останнього членів функції. Визначити кількість усіх значень.
  20. Обчислити суму й добуток усіх значень функції, для яких виконується нерівність: або .
  21. Обчислити добуток та кількість усіх значень функції для яких виконується нерівність: .
  22. Обчислити добуток усіх від’ємних значень функції та вивести кількість додатних.
  23. Обчислити добуток значень аргументна для яких досягаються мінімальні та максимальні значення функції .
  24. Скільки було від’ємних значень? Визначити максимальне значення.
  25. Визначити суму додатних значень функції та кількість від’ємних.

 

Задача 5*.

  1. Написати програму, що визначає, чи є дане число поліномом?
  2. Написати програму, що обчислює суму цифр заданого числа.
  3. Написати програму, що знаходить найбільшу цифру даного числа.
  4. Обчислити і вивести на екран у вигляді таблиці значення функції, заданих за допомогою ряду Тейлора з точністю на інтервалі з кроком . Таблиці створити заголовок та шапку. Кожен рядок таблиці повинен містити значення аргументу, значення функції і кількість членів: . (Модуль числа описується функцією fabs(a))
  5. Написати програму, що виводить на екран всі дільники заданого числа.
  6. Написати програму, що виводить всі прості числа з проміжку між А та В.

 

Таблиця 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. ЗМІСТ ЗВІТУ

  1. Тема та мета лабораторної роботи.
  2. Виконання домашнього завдання.
  3. Звіт за пунктами виконання лабораторної роботи.
  4. Відповіді на контрольні запитання.

 

8. ЛІТЕРАТУРА

  1. Динман М.И. С++. Освой на примерах. – СПб.: БХВ –Питербург, 2006
  2. Прата Стивен. Язик программирования С++. Лекции и упражнения. Ученик: Пер. с англ. – СПб.: ООО, 2005
  3. Павловская Т.А. С/С++. Программирование на языке високого уровня. – СПб.: Питер, 2007.
  4. Я.М. Глинський, В.Є. Анохін С++

 





©2015 www.megapredmet.ru Все права принадлежат авторам размещенных материалов.