Циклус ПОСТОЈАНО
Постојат голем број на ситуации од секојдневниот живот во кои одредена активност се повторува постојано(на пр. изгрејсонце и зајдисонце).
Пример на програма со балерина која постојано менува маски.
Вежба 2: Програма со која текстот “информатика“ произволно ќе се движи и притоа постојано ќе ја менува бојата.
Вежба 3: Програма со која ако фигурата-дух се допре со покажувачот тогаш се менува неговата боја.
Вежба 4: Напиши програма за внесување броеви. Броевите се внесуваат сѐ додека нивниот
збир е помал или еднаков на 100. Можно решение:
збир е помал или еднаков на 100. Можно решение:
ПРИМЕР!!!!!!
ВЕЖБИ ЗА ДОМА
- Напиши програма со која ќе овозможиш постојано движење на рибите во аквариум во случаен правец!!
- Напиши програма со која ќе прикажеш сцена од некоја бајка!!
- Напиши програма со која ќе симулираш сообраќајница!!!
- Напиши програма која ги собира парните броеви во опсегот од 10 до 20!!!
ОСНОВНА СТРУКТУРА ЗА ПОВТОРУВАЊЕ
Сложен исказ за повторување – циклус со услов
Во секојдневниот живот се сретнуваме со голем број на ситуации во кои одредена активност се повторува се додека одреден услов е исполнет:
- додека има тесто прави палачинки;
- додека не добиеш слободно бирај го бројот;
- додека има листови печати копии.
Дали во овие ситуации однапред се знае бројот на палачинки, бројот на бирање на телефонскиот број или бројот на копии? Одговорот е - не.
При пишувањето на програмите многу често се јавува потреба од повторување на еден ист исказ повеќе пати. За да не се повторува пишувањето на исказот, во програмскиот код се користи структура за повторување која се вика циклус, петелка, јамка или loop.
- додека има тесто прави палачинки;
- додека не добиеш слободно бирај го бројот;
- додека има листови печати копии.
Дали во овие ситуации однапред се знае бројот на палачинки, бројот на бирање на телефонскиот број или бројот на копии? Одговорот е - не.
При пишувањето на програмите многу често се јавува потреба од повторување на еден ист исказ повеќе пати. За да не се повторува пишувањето на исказот, во програмскиот код се користи структура за повторување која се вика циклус, петелка, јамка или loop.
Во зависност од начинот на кој функционираат постојат неколку видови циклуси (јамки).
Циклус со услов
Циклус со услов
Циклусот се повторува сѐ додека условот е исполнет. Условот во циклусот може да биде споредбен или логички.
Ова е пример на програма со која една фигура ќе се движи сѐ додека не допре друга фигура.
Вежба број 1: Напиши програма за пресметување на збир на непарните броеви од 101 до 1000.
Вежба број 2: Напиши програма за внесување броеви. Броевите се внесуваат сѐ додека нивниот збир е помал или еднаков на 100.
Задачи за вежбање: (ЗА ДОМА)
1. Изработи програма која од корисникот бара да ја внесува лозинката сѐ додека не ја внесе правилно.
2.Изработи програма за внесување броеви. Броевите се внесуваат сѐ додека нивниот збир е помал или еднаков на 100.
3. Изработи програма која внесен број од корисникот го дели со два сѐ додека количникот e поголем од еден и ги испишува меѓу резултатите.
Сложен исказ за повторување – циклус со бројач
Во секојдневниот живот се сретнуваме со голем број на ситуации во кои одредена активност се повторува одреден број на пати:
- Направи 5 палачинки преку следните активности: земи тесто, истури го во тава, почекај 1 минута, преврти ја палачинката, почекај 1 минута, стави ја во чинија.
- Постави 4 места на масата преку следните активности: стави чинија, лажица, виљушка, нож и чаша.
Направи споредба со ситуациите во кои се повторува активноста додека условот е исполнет!!!
•Дали овде има услов кој се проверува?
•Дали во овие ситуации однапред е познат бројот на повторување на активностите?
Циклусот со бројач се извршува дефиниран број пати
Вежба 1: Напиши програма за движење на фигура со користење циклус со бројач!
Вежба 2 : Напиши програма со која ќе се намалува и зголемува големината на една фигура 50 пати!
ПРИМЕНИ ВО ГРАФИЧКО ПРОГРАМИРАЊЕ И ЖЕЛКА-ГРАФИКА
Опис на околината за графички излез
Етапа - како простор каде може да се гледаат приказните, игрите и анимациите и каде фигурите се движат и дејствуваат меѓусебно.
Запознавање со карактеристиките на Етапата
•Широка е 480 единици, а висока 360 единици.
•Целата површина е поделена со координатна мрежа.
•Центарот на координатниот систем, точката (0,0) се наоѓа точно во средината.
•Горниот лев агол има координати (-240, 180), а долниот десен агол (240, -180).
Пример програма со употреба на координати: скокач на трамболина.
•Зошто се потребни (x,y) координатите?
•Дали може да се направи истата програма без употреба на (x,y) координати?
Пример: програма со која една иста фигура поставена повеќе пати на Етапа се движи, т.е. го следи движењето на глувчето
•Дали за сите фигури мора да се направи посебна скрипта?
•Во што е единствената разлика во скриптите на фигурите?
Одговор: Во примерот е прикажана скрипта (програма) за првата фигура.
•Останатите фигури имаат иста скрипта, но различни координати на Етапата.
•Во што е единствената разлика во скриптите на фигурите?
Одговор: Во примерот е прикажана скрипта (програма) за првата фигура.
•Останатите фигури имаат иста скрипта, но различни координати на Етапата.
•Задача: Изработи програма со рок група која свири!!
Желка графика како дел од програмските јазици
Желка графиката е компјутерска графика препознатлива по желчето кое се прикажува во прозорец на екранот и извршува наредби од типот: оди напред, сврти десно, сврти лево и сл. и на тој начин овозможува исцртување интересни форми на екранот.
За прв пат е воведена во 1970 год. како дел од едноставниот, но моќен програмски јазик Logo.
Желка графиката и денес е дел од некои програмски јазици.
Задача 1: Напиши ја пример програмата со која се исцртува квадрат во прозорецот:
Програмата може да се запише пократко со јамка со бројач:
Воочи: аголот на завртување е 360/4 = 90 степени
Задача2: Направи промена во програмата:
•За секоја линија од квадратот да биде друга боја користи ја операцијата за случајна боја !
•Каде ќе го поставиш исказот, во или надвор од циклусот? Објасни!
Што се случува ако блокот за случајна боја го вметниме во циклусот, а што ако е надвор од него???
Задача3: Обиди се со „управување“ на желката да нацрташ рамностран триаголник со страна 100 и секоја страна да биде во различна боја!
Внимавај при изборот на аголот на вртење!
Внимавај при изборот на аголот на вртење!
•При изработка на програмата пред да почнеш со цртањето позиционирај ја желката/моливот на позиција (10,10) на етапата.
•потоа вметни ги блоковите за цртање на триаголник, со помош на циклусот со бројач!
•Воочи: рамностран триаголник со страна 100 = 3 исти страни со големина 100 чекори.
•Воочи: аголот на завртување е 360/3 = 120 степениЕдно можно решение би било:
•Употреби го блокот за промена на големината и сенката на моливот!!
Пример:
Воочи:
•Чекорот на желката може да биде негативен (желката се враќа назад).
•Негативен може да биде и аголот на вртење. Кога е негативен, аголот на вртење е обратен од стрелката на часовникот.
Изработка на програми со желка графика
Постапка за цртање правилен n - аголник со желката:
Во програмата се дефинира бројот на страните.
Вкупниот периметар на n - аголникот се дели со бројот на страните за да се најде должината на една странаи на крај 360 се дели со бројот на страни за да се пресмета аголот меѓу две соседни страни.
Задача 5: Нацртај правилен 6-то аголник со периметар 500!!
На пример во оваа програма:
Се дефинира бројот на страните (6 страни)
Вкупниот периметар на 6-то аголникот (е 500) се дели со бројот на страните – 6 за да се најде должината на една страна и на крај 360 се дели со бројот на страни - 6 за да се пресмета аголот меѓу две соседни страни.
Се дефинира бројот на страните (6 страни)
Вкупниот периметар на 6-то аголникот (е 500) се дели со бројот на страните – 6 за да се најде должината на една страна и на крај 360 се дели со бројот на страни - 6 за да се пресмета аголот меѓу две соседни страни.
Задача6:Промени ја програмата да биде интерактивна, односно корисникот да внесува број на страни и периметар на правилниот n - аголник !!!
Задача7: Ако бројот на страните на n-аголникот е доволно голем желката ќе исцрта круг. Провери!
Задача8:Обиди се да ја промениш програмата со додавање на уште еден циклус со бројач за исцртување на серија n - аголници меѓусебно поместени за одреден агол што се постигнува со промена на ориентација на желката за агол кој помножен со бројот на повторувања во надворешниот циклус (бројот на многуаголници) треба да биде 360.
На пример: (30- многуаголници *агол од 12 степени = 360 степени)
Пример:
Задача9: Направи програма со која ќе ја анимираш секоја буква од твоето име. Притоа секоја буква користејќи желка графика ќе исцртува линии во боја!
Како најлесно ќе ја завршиш задачата? Направи ја скриптата само за првата буква, а потоа ископирај ја за сите останати.
Единствено нешто што треба да смениш се координатите на секоја буква и бојата на моливот.