Saturday, April 25, 2020

WHILE структура за повторување

WHILE структурата има иста намена како и FOR структурата за повторување, односно повторување на одреден блок на наредби. Разликата меѓу овие две структури е во тоа што WHILE структурата не содржи бројач, како што е во FOR. 
WHILE структурата нема бројач, но има услов. Тој услов овозможува да се повторуваат наредбите, се додека условот е исполнет. Ако условот не е исполнет, не се повторуваат наредбите. 

Додека условот е исполнет:

  • Изврши ја наредбата1                                 Говорен јазик
  • Изврши ја наредбата2
  • ...



WHILE услов:                                              

  • Блок наредби1                                   Python програмски јазик
  • Блок наредби2
  • ...


WHILE структурата е многу едноставна и овозможува повторување само кога одреден услов е исполнет. Условот во WHILE може да биде одреден со оператори за споредување, логички оператори и со аритметички оператори.

Пример1:
Напиши програма со која на корисникот ќе му се даде можност за погодување на лозинката. Можноста за погодување на лозинката ќе се повторува се додека корисникот не ја погоди лозинката. Кога корисникот ќе ја погоди лозинката да се испише „Внесовте точна лозинка“, а во спротивно да се каже дека лозинката е грешна и да се повтори внесувањето.

Приказ ако лозинката е точна:

Vnesite lozinka: tajna
Vnesоvte tocna lozinka

Приказ ако лозинката не е точна:

Vnesete lozinka: cajna
Vnesovte pogresna lozinka - obidete se povtorno
Vnesete lozinka: 

Решение:

password=' '
while password != 'tajna':
    password=input('Vnesete lozinka: ')
    if password=='tajna':
        print('Vnesovte tocna lozinka')
    else:
        print('Vnesovte pogresna lozinka - obidete se povtorno')

Во решението на местото за while условот е користен операторот за споредување !=. Програмата повторува “внесете лозинка“ толку долго колку што е потребно додека условот во while циклусот не се исполни, односно password=="tajna".

Погледнете го видеото за овој пример:


Пример2: 
Направете програма која ќе му овозможи на корисникот да погодува броеви. Ако одбереме 0, се прекинува програмата. Прекинот на програмата ќе се направи со командата break. Ако корисникот впише точен број, ќе се испише порака дека е погодени бројот. Ако корисникот напише поголем или помал број од бараниот, да се испише порака до корисникот дека внесениот број е поголем или помал од бараниот и така додека корисникот не одбере (нула) 0.

Пример на приказ:
Igra za pogoduvanje broj
Za prekin na igrata vnesete 0
Vnesete broj: 5
Brojot e pomal od zadadeniot, obidete se povtorno
Vnesete broj: 18
Brojot e pogolem od zadadeniot, obidete se povtorno
Vnesete broj: 17
Go pogodivte dadeniot broj, cestitki
Vnesete broj: 


Решение1:
print ('Igra za pogoduvanje broj')
print ('Za prekin na igrata vnesete 0')

pogodi=17

while 1:
    broj=int(input('Vnesete broj: '))
    if broj==pogodi:
        print('Go pogodivte dadeniot broj, cestitki')
    elif broj==0:
        break
    elif broj>pogodi:
        print('Brojot e pogolem od zadadeniot, obidete se povtorno')
    elif broj<pogodi:
        print('Brojot e pomal od zadadeniot, obidete se povtorno'





Варијаблата pogodi е поставена фиксно на 17. Тоа е бројот што корисникот треба да го погоди. Во while условот е поставен на 1, што всушност значи true. Таа единица (1) во условот значи дека ако внесеме било кој број кој не е нула, ќе се извршуваат наредбите во while. Кога корисникот одбере 0, тоа е исто како да одбрал  false, односно програмата се прекинува. Прекинот е овозможен од наредбата break. Наредбата break има само една функција: прекин на програмата на одредено место на кое програмерот ја поставил.



Решение2:
print ('Igra za pogoduvanje broj')
print ('Za prekin na igrata vnesete 0')

import random
pogodi = random.randint(1,100)


while 1:
    broj=int(input('Vnesete broj: '))
    if broj==pogodi:
        print('Go pogodivte dadeniot broj, cestitki')
    elif broj==0:
        break
    elif broj>pogodi:
        print('Brojot e pogolem od zadadeniot, obidete se povtorno')
    elif broj<pogodi:
        print('Brojot e pomal od zadadeniot, obidete se povtorno')


Што е разликата меѓу првото и второто решение? Дали варијаблата pogodi има фиксна вредност? Во кој интервал може да се движи pogodi? Кое решение е подобро и поинтересно за тие што ќе погодуваат?
Размисли и одговори!

Погледни го видеото пример2:



Пример3: 
Програмата треба да бара од корисникот да внесе број во интервал од 10 до 20. Доколку корисникот внесе таков број, да се напише “Cestitame - vnesovte broj vo baraniot interval“. Ако корисникот не внесе број од тој интервал, да се испише: “Brojot ne e vo intervalot od 10 do 20, obidete se povtorno“. Циклусот да се извршува толку долго се додека условот е на TRUE, односно додека корисникот внесува броеви поголеми од нула. Ако корисникот внесе 0 односно False, се прекинува програмата.


Приказ на излезот:






Решение:

while True:
    broj = int(input('Vnesete broj vo intervalot od 10 do 20: '))
    if broj>=10 and broj<=20:
      print('Cestitame - vnesovte broj vo baraniot interval ', broj)

    elif broj==False:
        break
    else:
        print('Brojot ne e vo intervalot od 10 do 20')

        print('Obidete se povtorno')


Во условот можевме наместо True да напишеме еден (1). И во двата случаи тоа значи дека програмата се прекинува само кога ќе внесеме нула (0).

Погледнете го видеото за пример3:



Задача за дома:
Напишете програма која ќе внесува број во интервал од 30 до 50. Ако е точно да се напише порака “Brojot e vo baraniot interval“, а ако не е, да напише порака “Obidete se povtorno, brojot ne e vo baraniot interval!

Wednesday, April 15, 2020

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

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

Пример за циклус е следниов:

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

Решение:


Вежба1: Испишете ја реченицата “Vnesete ucenik broj“ десет пати., односно треба да го добиеме следниот излез:



Решение на вежба1:

Вежба2: Да се испишат само парните броеви од првите 10 природни броја!


Решение на вежба2:


Воочи!!! Во решението овде гледате дека во заградата има три вредности: 0-прва вредност,10 - крајна вредност и 2 е чекорот на зголемување од еден до друг број. Ако чекорот на зголемување е 1, не мора да се пишува третата вредност. Затоа кога броиме со чекор единица, во заградата има само две вредности-почетната и крајната)


Вежба3: Да се испишат шест броеви во спротивен ред. На пример 1,2,3,4,5,6 да се испишат како 6,5,4,3,2,1.



Решение на вежба3: 

Вежба4: Да се испишат првите 10 природни броеви, освен бројот 7.


Решение на вежба4:

Вежба5: Да се најде збирот на броевите до 10. (1+2+3+...+9+10)

Решение на вежба5:

Добиваме:

Домашна работа: 

Пробајте како работат вежбите од 1 до 5 во Python, а потоа креирајте Python програми со кои ќе се решат следниве задачи:

1. Да се испишат сите броеви од 1 до 10 со користење на for циклус.
2. Да се испишат непарните броеви од втората десетка со помош на for циклус. (11,13,15,17,19)
3. Да се испишат сите броеви до 15, освен бројот 9.
4. Да се најде збирот на сите парни броеви до 100. (2+4+6+...+98+100)

(Решенијата да се испратат најкасно до 24.4.2020 (петок))

Sunday, April 5, 2020

Задачи за вежбање со Структура за избор

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

Решение:

broj=float(input('Vnesete broj: '))
if broj>0:
    print('Pozitiven broj')
elif broj==0:
    print('Nula')
else:
    print('Negativen broj')

Тест примери:

Vnesete broj: 4
Pozitiven broj

Vnesete broj: -1
Negativen broj

Vnesete broj: 0

Nula


Пример2: Да се креира програма со која ќе се внесе температурата на воздухот. Ако температурата е поголема од 30 да се запише Mnogu topol den. Ако е помала од 10 да се запише Denes e ladno и ако е било која друга температура, да се запише Nitu e toplo nitu e ladno.

Решение: 

temp=float(input('Vnesete temperatura: '))
if temp>30:
    print('Mnogu topol den')
elif temp<10:
    print('Denes e ladno')
else:
    print('Nitu e toplo, nitu e ladno')

Тест примери:

Vnesete temperatura: 12
Nitu e toplo, nitu e ladno

Vnesete temperatura: -1
Denes e ladno

Vnesete temperatura: 34

Mnogu topol den


Пример3:  Овозможете му на корисникот да внесе оценка од 1 до 5. Доколку корисникот избере некоја од  оценките (2, 3, 4 или 5), да се испише „dobienata ocenka e (so zborovi se zapisuva ocenkata), pominavte"; а ако е оценката 1, да ви напише dobienata ocenka e nedovolna, ne pominavte. Доколку корисникот одбере број кој не e во интеравалот од 1 до 5, да се напише Nepostoecka ocenka.

Решение:

ocenka=int(input('Vnesete ocenka (1-5): '))
if ocenka==1:
    print('Ocenkata e nedovolna, ne pominavte')
elif ocenka==2:
    print('Ocenkata e dovolna, pominavte')
elif ocenka==3:
    print('Ocenkata e dobra, pominavte')
elif ocenka==4:
    print('Ocenkata e mnogu dobra, pominavte')
elif ocenka==5:

    print('Ocenkata e odlicna, pominavte')
else:
    print('Nepostoecka ocenka')

Тест примери:

Vnesete ocenka: 1
Ocenkata e nedovolna, ne pominavte

Vnesete ocenka: 3
Ocenkata e dobra, pominavte

Vnesete ocenka: 7

Nepostoecka ocenka



Да се решат следните задачи, и решението да се испрати најкасно до петок (10.04.2020):

Задача1: Да се напише програма која ќе го праша корисникот за внесување на број во интервалот од 1 до 12. Кога корисникот ќе одбере број, да се испише името на месецот кој одговара на тој број. 

На пример, ако внесеме број 5, да ни испише Maj.

Vnesete broj: 5
Maj


Задача 2: Да му се овозможи на корисникот да внесе час и да дознае кое време од денот е тоа. Интервалите се следни:

За час помал од 10, да се напише Utro
За час помал од 12, да се напише Pladne
За час помал од 18, да се напише Popladne
За час помал од 22, да се напише Vecer
За сите останати, да се напише Nok

На пример, ако внесеме 7, да ни напише Utro
ако внесеме 17, да ни напише Popladne....

Vnesete cas: 7
Utro

Vnesete cas: 17

Popladne


Креирање и уредување на блог

Постојат многу сервери што нудат услуги за изработка на блог. Еден од нив е blogger.com на кој ќе објасниме како се креира блог. Следи ја ...