Єдина Країна!

Головне меню

Наша кнопка

Українські уроки про ІТ

Друзі

Підтримка української армії



Блок-схеми алгоритмів
Написав kims   
Середа, 22 лютого 2012 11:36
Переглядів: 128159

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

 

Графічне зображення базових  алгоритмічних структур.

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

 



Просте слідування

Слідування означає, що дії повинні виконуватись послідовно одна за одною.

Лінійний алгоритм – алгоритм, в якому всі вказівки виконуються одна за одною і не містить розгалужень та повторень.

Приклад

Алгоритм знаходження суми S трьох чисел a,b,c.

 

 



Розгалуження

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

Умова - це будь-яке твердження, яке або виконується або не виконується, тобто можна дістати одну з двох відповідей: «так» або «ні». Блок-схемою це можна зобразити так:

Якщо умова виконується, то виконується серія команд 1 (гілка так), якщо умова не виконується, то виконується команд 2 (гілка ні). Після виконання серії команд виконавець переходить до наступної команди після команди розгалуження.

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

 

 

Можливий випадок, що у випадку невиконання умови не потрібно виконувати ніяких дій. Тоді використовується скорочена форма розгалуження («Якщо-то»).

Блок-схема структури «якщо-то»

 

Приклад

Алгоритм обчислення модуля:

 

Приклад

 

 



Повторення(цикл)

Часто зустрічаються такі задачі при виконанні яких потрібно виконувати одні і ті самі дії декілька разів. Тоді кажуть, що така структура команд називається циклічною, або утворена структура «повторення».

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

Є два типи повторень: з передумовою та післяумовою. У першому випадку спочатку перевіряється умова і, якщо вона істинна, то вказана дія виконується черговий раз, якщо ж ні – то виконання дії припиняється.

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

Можливі ситуації, коли «цикл поки» не виконується жодного разу. Це відбувається в тому випадку, коли на першому кроці умова є хибною. Якщо при повторенні циклу умова залишається завжди  істинною, то цикл може повторюватись нескінченно.

Приклад

Алгоритм підрахунку суми N перших натуральних чисел. Суму позначимо через S, через і – черговий доданок. Спочатку S=0, оскільки ще суми не знаходили, i=1 (перше натуральне число). Щоб знайти суму, то потрібно до попередньої суми додати наступний доданок: S=S+i. Для отримання наступного числа потрібно попереднє збільшити на одиницю: i=i+1. Виконання циклу продовжується до тих пір, поки i<=N.

 

 



Принципи структурного програмування

Алгоритми, у яких використовується тільки структура «слідування», називаються  лінійними.

Алгоритми, в основі яких лежить структура «розгалуження», називаються алгоритмами з розгалуженнями.

Алгоритми, в основі яких лежить структура «повторення», називають циклічними.

На практиці алгоритми розв’язування складних задач містять у собі всі три типи базових структур алгоритмів. Розглянуті принципи конструювання алгоритмів називають принципами структурного програмування.

 



Практичні завдання

 

 

Ця стаття входить в курс уроків по Delphi.

Зміст курсу лекцій та практичних занять по Delphi.

 

Кузбит І.М.


( 54 Проголосувало )

Схожі статті:
Новіші матеріали:
Старіші матеріали:

Коментарі
Добавити новий
Анонімно   |2012-12-14 13:29:00

Анонімно   |2018-06-14 21:49:21
ждлорпа
Дядя Пьотя  - я хачу пайти дамой и я не снаю што йа сдесь делаю   |2018-09-27 16:24:07
Андрій  - допоможіть зробити блок схему до цієї програми   |2013-11-25 10:49:40
#include
using namespace std;
int main()
{
int sum=0;
int a=0;
int
b=0;

coutb;

do {
a=b%10;
a*=a;
sum+=a;
b/=10;
} while
(b);


cout
Адміністратор  - привіт   |2013-12-04 17:21:55
avatar тут буде невелика схема для циклу і все,
що
саме незрозуміло для її створення?
Адміністратор   |2013-12-04 17:27:47
avatar і що таке coutb?
і чесно кажучи я не бачу ідеї
як має працювати ця програма, якщо всі
змінні в нулі
ВАСЯ ГРИНЕВИЧ  - YF[EQ   |2018-11-15 13:34:46
ОТЕБИСЬ *матюк*
Анонімно   |2014-01-10 11:58:11
Анонімно   |2014-04-28 11:00:20
Program wk_1;
Const
A=0.5; х=3.4; b1=1.65;
A2=true; B2=true; C=false; x2=1.5;
y2=2.5;
Var
ch,zh,y1:double;
Z2:boolean;
Begin
ch:
=ln(sqr(x+1))+(1.5*x*1.5*x*1.5*x)+exp(ln(1/3)*(x+0
.6+10*10*10));
zh:=x*x*x*x*x+1.25*0.01*sin(b1*b1)+
exp(1/3)*(a+0.6));
y1:=ch/zh;
writeln(‘y=’,y2) ;
Z2:=A2 and B2 or C or
not(x2-0.15);
Writeln(‘Z=’,Z2);
End.
yazon777   |2015-11-21 19:27:10
здається у вас помилка....
1/3 = 0
1.0/3 = 0.33333(3)
1/3.0 =
0.33333(3)
уцва  - уцасцу   |2014-11-11 02:59:09
Анонімно   |2016-02-04 00:23:41
Микола  - допоможіть скласти блок схему   |2016-05-21 14:23:56
#include
#include
#include
#include

void openw(int x1, int y1, int x2, int y2,
int wcol, int wbk,char* title);
void xlib(void);
void makaron(void);
void
konduterka(void);
void main(void)
{
char *menu[4] ={"Xlibopekarske
vurobnutstvo", "Makaronne vurobnutstvo", "Kondutorske
vurobnutstvo", NULL} ;
int i, ch, y, oldy, N ;
N = 3 ;
clrscr()
;

_wscroll=0;
openw(1,1,80,25,11,8,"Sanitarno-texnichna chastuna
XMK";
_wscroll=1;

textcolor(3) ;
textbackground(BLACK)
;
gotoxy(25,1);
cprintf("Rozraxunok vutrat vodu";
textcolor(7)
;
for(i=0; i
roman  - допоможіть скласти блок схему   |2016-05-22 20:28:30
#include
#include
#include
#include

struct piople
{
char name[15];
char
prizv[15];
char pobatkovi[15];
int riknar;
char street[15];
int dim;
int
kvart;
float telef;
char danizapusy[127];
}
men;

//------------------------Zastavka begin------------
void ZastBeg()
{

clrscr();
gotoxy(24,10);
textcolor(YELLOW);
cprintf(">";

delay(1500);
}

//------------------------Zastavka End--------------
void
ZastEnd()
{
clrscr();
textcolor(YELLOW);
gotoxy(21.5,10);

cprintf("Ѓ §  ¤ ­Ёе";
gotoxy(32,11);

cprintf("“бЇiи­® § ўҐpиЁ« 
p®Ў®вг";
}


//------------------------M
ake----------------------
void Make()
{

clrscr();
cprintf("‚Ё
ўЇҐў­Ґ­i й® е®зҐвҐ § Єi­зЁвЁ а®Ў®вг ?";

textcolor(RED);
cprintf("nr‘в аi ¤ ­i Ўг¤гвм
ўЁ¤ «Ґ­i!nr";
textcolor(GREEN);
cprintf(" - TAK, -
ЌI";
int...
Дима  - намалювати блок-схему для задачі пошуку тавиведенн   |2016-09-17 22:14:36
Віталя  - поможіть розвязати 2 задачки   |2016-11-17 00:17:37
Група студентів з N чоловік складали іспити
з М придметів. Скласти алгоритм знаходження
кількості студентів які отримали хоча б
одну незадовільну оцінку
Задано інформацію
про розмір заробітної плати працівників
фірми Знайти загальну кількість
працівників розмір заробітної плати яких
дорівнює максимальній по фірмі
Буду дуже
вдячний) будь ласка поможіть
назар   |2017-03-04 22:46:24

Влад  - Циклічний алгоритм.   |2018-05-10 18:48:39
У чому полягає різниця при використанні
різних видів циклічного алгоритму до
розв'язування задач?
Аня  - Блок-схема   |2018-06-04 16:01:51
Допоможіть визначити кількість цілих чисел
з деякого відрізка a,b
САШКА СТРОАН   |2020-02-17 10:52:58
Я НИПОНІМАЮ ІНФАРМАТИКИ НО ТУТ ВСЕ ЯСНА БО
ТУТ НЕМА ЦИФР И БУКВ
Дддддддддддддд  - пчкіякуічеквае   |2023-12-04 22:40:15
Залишити коментар
Ім`я:
e-mail:
 
Тема:
 
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch:
:(:shock::X:side::):P:unsure::woohoo::huh::whistle:;):s
:!::?::idea::arrow:
 
Введіть цей настирливий код
Русская редакция: www.freedom-ru.net & www.joobb.ru

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

 

Підписка

Хто онлайн?

Немає
На даний момент 32 гостей на сайті

Український рейтинг
TOP.TOPUA.NET