Використання заголовних файлів
//
#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++;
}
}
- Складіть програму, в якій Сел повинен три рази виконати вправу, що складається з|із| підскоку і|та| поворотів вправо-вліво.
#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++;
}
}
- Складіть програму, в якій спочатку Сел, а потім Салі повинні виконати по п'ять підскоків.
#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");
}
- Напишіть функцію 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>;
}