русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Нескінченні|безконечні| цикли


Дата додавання: 2013-12-23; переглядів: 1439.


Використання заголовних файлів

//

#include "franca.h"

#include "Func_header.h"

athlete Sal, Sally;

 

void mainprog()

{

JmpJack(Sal, Sally);

JmpJack(Sal, Sally);

 

}

 

Т. ч. перед тим, як компілятор почне|зачинатиме| транслювати вашу програму на машинну мову|язик|, копія запрошуваної програми з'явиться|появлятиметься| там, де знаходиться|перебуває| директива #include. Файл, який необхідно|треба| включити в програму, повинен знаходитися|перебувати| в тому ж каталозі, що і ваша програма. Якщо це не так, треба вказати повний|цілковитий| шлях|дорогу| до файлу:

#include "c:\franca\franca.h"

Якщо необхідно|треба| включити файли, що знаходяться|перебувають| в каталогах компілятора потрібне|необхідне| ім'я файлу укласти в кутові дужки.

Наприклад:

#include <math.h>;

#include <iostream. h>;

 

 

Зона видимості

Зона видимості дозволяє вводити|запроваджувати| різні об'єкти з|із| однаковими іменами за умови, що|при умові , що| вони знаходяться|перебувають| в різних зонах видимості.

1. Глобальний об'єкт - це об'єкт визначений поза|зовні| усіма функціями і доступний для усіх функцій, визначених після нього|т.

Припустимо|передбачатимемо|, що ми забули включити в програму інструкцію:

Count++;

В цьому випадку значення лічильника зміняться не буде. Програма увесь час|весь час| порівнюватиме число 0 з|із| числом 15. Кожного разу лічильник буде менше 15. Результат - нескінченний|безконечний| циклом.

Якщо програма зависла (наприклад, потрапила|попала| в нескінченний|безконечний| цикл), можна перервати її роботу: Ctrl+Alt+Del.

Складені|складові| інструкції

У словесному описі алгоритму програми, інструкції, які повторяютя, зміщені управо|вправо|:

- Підскік (функція Jump)

- Інкремент лічильника

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

Усі функції, включаючи функцію main(), є складеними|складовими| інструкціями (саме тому після заголовка функції крапка з комою не ставиться).

Прості цикли

1. Цикл while

2. Цикл do...while

3. Цикл for

Цикл while.

Програма. Змусити|примусити| Сэла виконає вправу "підскік" 15 разів.

#include "franca.h"

void Jump(athlete somebody)

{

somebody.up();

somebody.ready();

}

void mainprog()

{

athlete Sal;

int count=0; // Установка счетчика в ноль

while(count<15)

{ // Начало цикла

Jump(Sal); // Подскок

count++; // Инкремент счетчика

} // Конец цикла

}

 

Якщо ми поставимо у кінці|в кінці| інструкції while(count<15) крапку з комою, то while цикл буде нескінченним|безконечним|: значення змінної Count буде завжди менше 15, оскільки повторювати буде нічого|немає чого|.

while(count<15); // Точка с запятой расположена неправильно!

{ // Начало цикла

Jump(Sal); // Подскок

count++; // Инкремент счетчика

}

 

Ключове|джерельне| слово while вказує|указує|, що послідовність інструкцій повинна виконуватися до тих пір, поки умова істинна|справжня|.


Умови

Умова є умовним виразом. У нашому прикладі|зразку| - це count<15.

Символ < (менше) відображає відношення|ставлення| між об'єктами і|та| називається умовним оператором.

Існують і інші оператори:

= = рівно

> більше

>= більше або рівно

< менше

<= менше або рівно

!= нерівно

Домашнє|хатнє| завдання|задавання|.

1. Складіть програму, в якій Сел повинен виконати чотири підскоки і|та| п'ять поворотів вправо-вліво. (Проект складається з|із| 3-х функцій: підскік, вправо-вліво і|та| головна|чільна| функця).

 

 

#include "franca.h"

athlete Sal;

void Jump()

{

Sal.up();

Sal.ready();

}

 

void left_right()

{

Sal.left();

Sal.right();

}

 

void mainprog()

{

int count=0;

while(count<3){

Jump();

count++;

}

count=0;

while(count<3){

left_right();

count++;

}

 

}


  1. Складіть програму, в якій Сел повинен три рази виконати вправу, що складається з|із| підскоку і|та| поворотів вправо-вліво.

 

#include "franca.h"

athlete Sal;

void Jump_right_left()

{

Sal.up();

Sal.ready();

Sal.left();

Sal.right();

}

 

void mainprog()

{

int count=0;

while(count<3){

Jump_right_left();

count++;

}

 

}

 

  1. Складіть програму, в якій спочатку Сел, а потім Салі повинні виконати по п'ять підскоків.

 

#include "franca.h"

 

void Jump(athlete somebody)

{

somebody.up();

somebody.ready();

}

 

void mainprog()

{

//--------------------------------------------- Sal

athlete Sal;

Sal.up();

int count=0;

while(count<3){

Jump(Sal);

count++;

}

Sal.say("Sal");

//-------------------------------------------- Sally

athlete Sally;

count=0;

while(count<5){

Jump(Sally);

count++;

}

Sally.say("Sally");

}

 

 

  1. Напишіть функцію Jack() з|із| двома параметрами: void Jmp(athlete somebody, int howmany). У цій функції об'єкт somebody класу athlete повинен повторити підскік стільки раз, скільки задано цілій змінній howmany.

 

#include "franca.h"

 

void Jump(athlete somebody, int howmany)

{

int count=0;

while (count<howmany)

{

somebody.up();

somebody.ready();

count++;

}

}

 

void mainprog()

{

athlete Sal;

Jump(Sal,2);

Sal.say("Sal");

athlete Sally;

Jump(Sally,3);

Sally.say("Sally");

}

 

Цикл do..while

Цикл do...while - це змінений варіант циклу while. У while умова перевіряється перед початком циклу. Тому цикл може бути не виконаний жодного разу (умова з самого початку не виконується).

У циклі do. .while порівняння виконується у кінці|в кінці| циклу.

Тому, один раз цикл завжди буде виконаний.

 


Пример. Змусити|примусити| Сэла виконає вправу "підскік" 5 разів.

#include "franca.h"

void Jump(athlete somebody)

{

somebody.up();

somebody.ready();

}

void mainprog()

{

athlete Sal;

int count=0; // Установка счетчика в ноль

do // Начало цикла

{

Jump(Sal); // Подскок

count++; // Инкремент счетчика

} while (count<5); // Конец цикла

}

Ключове|джерельне| слово do вказує|указує| на початок|начало| циклу, а while - на кінець. Після умови ставиться крапка з комою!

Крапка з комою - це ознака завершення поодинокої|одиночної| або складеної|складової| інструкції.

Цикл for

Замість циклу while часто зручніше вікористовувати цикл for.

Приклад|зразок|. Змусити|примусити| Сэла виконає вправу "підскік" 15 разів.

#include "franca.h"

void Jump(athlete somebody)

{

somebody.up();

somebody.ready();

}

void mainprog()

{

athlete Sal;

 

int count;

for( count=0;count<15; count++)

{

Jump(Sal); // Подскок

 

} // Конец цикла

}

 

У|в| циклу for ініціалізація, перевірка умови і|та| інкремент лічильника знаходяться|перебувають| в одному місці:

for( count=0;count<15; count++)

Замість попередньої інструкції можна використовувати наступну|таку| інструкцію:

for(count=1; count<=15; count++)

Усередині|всередині| інструкції for можна оголошувати нову змінну.

for( int count=0; count<15; count++)

Узагальнення.

Еквівалентність циклів for і|та| while

Програмний|програмовий| код циклу for повністю|цілком| еквівалентний програмному|програмовому| коду циклу while :

 

for(<выражение1>; <выражение2>; <аыражение3>)

{

<инструкции>

}

 

Це те ж саме, що і наступна|така| послідовність :

 

<выражение1>;

whi1е (<выражение2>)

{

<инструкции>

<выражение3>;

}

 

 


<== попередня лекція | наступна лекція ==>
Функція – це послідовність інструкцій, яку можна розглядати як групу окремих команд. Кожна функція має свої ім’я. Функція може бути виконана за допомогою виклику функції. | Часть I. Что есть CSS


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн