Pages

24.Примери за основни конепти на програмирање


Редоследна структура
Пример 1: Напиши алгоритам и состави дијаграм на текот на програмата кој ќе прочита три броја а потоа ќе го пресмета и испише нивниот збир.





23. Основни концепти на програмирање


Основни концепти од програмирањето се:

-         редоследно извршување на инструкции
-         повторување (концепт на циклус)
-         гранење  (избор)
-         концепт на променливи


Пример: алгоритам за правење колач
-----------------------------------------------------------------------------
ПОЧЕТОК
ПОБАРАЈ го  готвачот на мајка ти
ПРОВЕРИ дали дома ги имаш сите  потребни состојки
јајца, шеќер, брашно, путер
АКО ги немаш сите состојки, ТОГАШ  оди до продавница
                                                     ИНАКУ почни со правење на колачот
ЗЕМИ  сад, миксер и вага
ОДДЕЛИ ги жолчката од белката
ДОДАЈ шеќер
ДОДАЈ путер
сите состојки добро ИЗМЕШАЈ ги
ИЗМАТИ  снег од белки
ДОДАДИ по  една лажица
                 снег од белки
                 брашно
                 Додека има состојки
ЗЕМИ  плех за печење
СТАВИ ја  смесата во садот
ВКЛУЧИ ја  рерната
ДОДЕКА Тестото  не се испече
                  печи на тивок оган
ИЗВАДИ го  колачот
СТАВИ шеќер на колачот
КРАЈ

--------------------------------------------------------------------------------


1. Редоследно (секвенцијално) извршување - инструкциите се извршуваат по редоследот на кој се напишани.

Пример:
-------------------------------------------------
ЗЕМИ  сад, миксер и вага
ОДДЕЛИ ги жолчката од белката
ДОДАЈ шеќер
ДОДАЈ Путер
--------------------------------------------------
За учење преку игри за совладување на концептот на редоследност кликни на линкот

2.Повторување (концепт на циклуси) 
- се користи кога една или повеќе инструкции се повторуваат одреден број на пати.

Пример1:
---------------------------------------
ДОДАДИ по  една лажица
                 снег од белки
                 брашно
              Додека има состојки
---------------------------------------



Пример2:
----------------------------------------
ДОДЕКА Тестото  не се испече
                  печи во тивок оган
-------------------------------------------

 Може да имаме две ситуации:
- Пред почетокот на повторувањето,  точно се знае колку пати треба да се повтори постапката,
- бројот на повторувања не е однапред познат и зависи од извршувањето на низа команди кои се повторуваат.

Низа на инструкции кои се повторуваат со команди кои го одредуваат повторувањето најчесто се нарекуваат циклуси.

За учење преку игри за совладување на концептот на повторување кликни на линкот


3.Гранење (Избор)
Кај гранење прво се поставув некој услов.
Условот може да биде вистина или невистина. Ако условот е исполнет се извршува некоја активност. Ако не е исполнет, активноста не се извршува, а може или немора да се изврши некоја друга активност.

Пример:
-------------------------------------------------------------------------------------
АКО ги немаш сите состојки, ТОГАШ  оди до продавница
                                                    ИНАКУ почни со правење на колачот
-------------------------------------------------------------------------------------

Пример:
“Ако времето е убаво ќе одам во парк. Инаку ќе останам дома.
“Ако светлото на семафорот е зелено помини ја улицата.“


4.Концепт на променливи
Вредноста на променливите можe да се менува во текот на извршувањето на програмата.

За учење преку игри за совладување на концептите на избор и променливи кликни  на линкот






22. Програмата како низа од последователни функции. Извршување на програмата од компјутерот

Да се потсетиме!
      Програма низа од инструкции за решавање на одреден проблем со компјутер.


      Компјутерот извршува одредена програма како процес на  прецизно и недвосмислено следење и извршување на последователните инструкции.

Поимот инструкција ќе го разбереме преку игра.
https://studio.code.org/s/course1/stage/1/puzzle/1

https://studio.code.org/s/course1/stage/1/puzzle/2

https://studio.code.org/s/course1/stage/4/puzzle/1


Пример1
Помогни му на Бушавко да дојде до цветот.

Инструкции  кои можат да ги задаваат се:
◦ → оди едно квадратче десно
◦ ↓ оди едно квадратче надолу
◦ ← оди едно квадратче лево
◦ ↑ оди едно квадратче нагоре







Пример 2

  Треба да се програмира топка  да се движи по одредена патека (најкратката) и да стаса до определена цел.
Откако ќе се заврши алгоритамот програмата се пушта да работи (топката ја поминува патеката) – тоа претставува извршување на програмата. 
Доколку алгоритамот е добро направен – правилен тогаш програмата ќе се изврши до крај. Доколку има грешка компјутерот нема да може да ја изврши програмата .
.

При извршување на програмите доколку се направи грешка во алгоритамот топката не можеше да стаса до целта. Тогаш програмата треба да се поправи т.е. да се дебагира. 

Грешките може да  се однесуваат на неправилно напишани зборови од програмскиот јазик, неправилно користени или испуштени интерпукциски знаци и сл.

Пример:           L=2*(а-b
грешка е – недостасува заграда на крајот од изразот.

Има и логички  грешки кои треба да ги открие и поправи програмерот при тестирањето на извршната програма.
Пример:   a=5
                 b=”Maja”
                 c= b-a 
Логичка грешка – b е текст и не може да биде намаленик.

 ДЕБАГИРАЊЕ – поправање на грешки во програмата.Програмата се дебагира, повторно се пушта и се гледа дали работи точно.





21. Програма како дел од софтверот, улогата на програмите во компјутерот.


Компјутерите не работат ништо без некој да им каже што да прават. За компјутерот да направи нешто, мора да му се дадат инструкции - чекор по чекор.

Програма претставува множество (низа, листа) од инструкции за решавање на одреден проблем со компјутер.


Системските програми управуваат со работата на компјутерот. 
Апликативните програми се наменети за извршување на конкретна обработка на податоците со компјутер кои уште се нарекуваат апликации.



Дали програмите се дел од софтверот? Кои се разликите помеѓу алгоритам и програма? Кои програми ги познаваш?

Алгоритмите се поопшти и поапстактни од програмите.
Еден алгоритам може да биде решен од човек или машина, или од двете. 
Програмата мора да биде извршена од компјутер. 
Врската помеѓу програма, алгоритам и податоци е дадена во формулата на NiklausWirth (автор на јазикот Pascal)

Програма = Алгоритам + Податоци

Пример:
Проблем: Задавање упатство каде се наоѓа кабинетот по информатика во училиштето.
Чекор 1: Влези во училиштето на главниот влез.
Чекор 2: Оди право.
Чекор 3: .......

При создавање програма мора да се даде одговор на прашањата:
1. Како ќе се идентификува главниот влез во училиштето?
2. Колку треба да се оди право?
3. .....

Улогата на програмата во компјутерот
Што е задача на програмите? Кои програми учениците ги користеле при работата со компјутер? 
Програмите му кажуваат на компјутерот како да реши одреден проблем. Всушност, задача на програмите е да му кажат на компјутерот како да ги прифати влезните податоци, да оперира со нив и да врати излезни податоци.  


Дали само компјутерите користат програми? Каде во секојдневниот живот се сре ќа ва - ме со програми?
Програмите не се користат само во работата со компјутер. ТВ - уредите, музичките системи, клима уредите можат да се програмираат и со нив да се управува од одредено растојание. Тоа значи дека овие уреди користат програми кои се вградени.
 Пример:
Tелевизорот за да може да ги разбере влезните команди што ги испраќа корисникот преку далечинскиот управувач мора да има вградено програма. Врз основа на добиената команда, чипот во кој е испрограмирана логиката на телевизорот иницира одредена активност, т.е. поттикнува други електронски компненти.

20. Поим за алгоритми

Алгоритам претставува определен број на јасно дефинирани кратки и прости инструкции  (чекори) со точно зададен редослед со цел извршување на одредена задача, или решавање на зададен проблем.

Примери на алгоритми од секојдневниот живот      
1.   Јавување по телефон.
Чекор 1: Дигни ја слушалката.
Чекор 2: Сврти го бројот.
Чекор 3: Почекај да се јави личноста.
Чекор 4: Зборувај со личноста.
Чекор 5: Спушти ја слушалката.

     2. Рецепт за чоколадна торта
       Состојки: 400 г. чоколада, 3 јајца, 1 маргарин, 1 пакетче ванилин шеќер, 2 чаши шеќер, 1 чаша брашно.
       Чекор 1: Стопи ги чоколадата и маргаринот.
       Чекор 2: Истури го шеќерот во стопената чоколада и измешај.
       Чекор 3: Истури ги јајцата и ванилата и измешај.
       Чекор 4: Истури го брашното и измешај.
       Чекор 5: Добиената смеса истури ја во тавче.
       Чекор 6: Печи на 250 степени околу 40 минути.
       Чекор 7: Се остава да се излади и се јаде.


Кои карактеристики треба да ги има добриот алгоритам?     
     Алгоритмите треба да се недвосмислени, јасни, прецизни - секоја инструкција треба да е јасно определена.
     Треба прецизно да е утврден редоследот на извршувањето на инструкциите.
     Алгоритамот треба да е разбирлив за секого, независно кој го напишал.

За даден проблем може да се напишат различни алгоритми и сите тие да бидат правилни, т.е. да даваат точно решение.

 Се што правиме во секојдневниот живот го правиме во чекори. Доколку некој чекор прескокниме задачата нема да се реши. 
Погледнете видео во кое се даваат насоки  како да се намачка една кришка со џем.


Алгоритамот може да се прикаже на два начини: текстуално и графички.

 а) текстуално

      1 чекор    Нацртај една хоризонтална линија
-        2 чекор     Од левиот крај нацртај малку помала линија вертикално нагоре
-       чекор.       Од десниот крај нацртај линија вертикално нагоре со иста должина како претходната
-       4 чекор        Од средината нацртај линија од вертикално нагоре

       б) графички

                 
Кои се предностите и недостатоците при графичкото претставување алгоритам?

Графичкото претставување дава поголемата прегледност на текот на дејствата во алгоритамот.
Графичкото преставување е непогодно за поголем алгоритам кој може да зафати повеќе страници, во кои тешко би се снаоѓале.