уторак, 9. април 2019.

1. Razred: 5. Uvod u algoritme - Jucerasnji cas - Ukratko

Drage učenice i dragi učenici 1. razreda,
 
Na jučerašnjem času smo diskutovali o algoritmima i algoritamskom načinu rešavanja problema. Videli smo da algoritme možemo da zapišemo na 3 različita načina:
  1. Komandim rečenicama na bilo kom živom jeziku.
  2. Pseudo kodom, koji prilično liči na živi jezik.
  3. Grafičkim simbolima dijagrama toka.
Još jednom smo naglasili da prilikom pisanja novog i/ili provere (testiranja) ranije napisanog algoritma, obratimo pažnju na 3 različita nivoa mogućih grešaka:
  1. Gramatičke (sintaksa) - koje su istovremeno i najjednostavnije za uočavanje i otklanjanje. Takođe, važno je da znamo da algoritam najverovatnije neće moći da se pokrene (izvrši) ukoliko postoji bar jedna sintaksna greška.
  2. Semantičke (smislene) - koje se malo teže otkrivaju i otklanjaju.
  3. Greške u toku izvršavanja algoritma (RUN TIME ERROR) - koje su najteže otkrivaju i otklanjaju. Kao najčešći primer naveli smo deljenje nulom.
Takođe, naglasili smo i sledeće:
  1. Da svaki algoritam mora da ima jedan početak i jedan kraj.
  2. Jednom ispravno napisan algoritam može više puta da se koristi, odnosno pokrene (izvrši, testira).
  3. Svaki zadatak može da ima mnogo tačnih (a različitih) algoritamskih rešenja. Naravno, to ne znači da je svako od tih rešenja nama (kao korisnicima) i dovoljno dobro, upotrebljivo i/ili korisno.
  4. Nema mnogo smisla da pišemo algoritme za nešto što je veoma jednostanvo i što već prilično dobro znamo i sami da uradimo (izračunamo) bez pomoći drugih uređaja (kalkulatora i sl), kao što su na primer: zbir brojeva 2 i 3, stepen broja 5, koren broja 9, kako se u obrnutom redosledu piše rečenica "Dobar dan" i sl.
  5. Ima smisla pisati algotirtme za zadatke za koje procenimo da će nam biti korisno da ih rešava (izračunava) računar ili neki drugi (digitalni) uređaj umesto nas. Kao primer naveli smo izračunavanje prosečne ocene učenika. Iako svi znamo da izračunamo prosečne ocene i bez pomoći uređaja, ipak, ukoliko to treba da uradimo za veliki broj učenika (odnosno da ponovimo isti postupak za svakog učenika u odeljenju), onda će nam svakako biti značajno i korisno da imamo neki algoritam (program / alat / uređaj) koji će izračunavati umesto nas.
  6. Da bi mogli da pišemo takve algoritme zaključili smo da je potrebno da ih pišemo tako da mogu da prihavte bilo koje podatke (brojeve, odnosno različite ocene), a to znači da je neophodno da koristimo promenljive (x,y, a, b i sl) i svih 5 osnovnih algoritamskih koraka (početak, ulaz, obrada, izlaz i kraj).
  7. Kao prvi primer takvog algoritma koristili smo algoritam iz zadatka 111 za sabiranje 2 broja.
Pred kraj časa uočili smo sledeće:
  1. Čal i ovako napisane algoritme mašine još uvek nisu u mogućnosti da ih primene, ali smo im se približili. Algoritmi su namenjeni ljudima (uglavnom programerima, ali ne nužno). Algoritme pišemo ukoliko želimo da pokušamo da neki uređaj prilagodimo tako da uskoro umesto nas izvršava (pokreće) taj algoritam.
  2. Da bi mašina (uređaj) bila sposobna da pokrene algoritam, neophodno je da ispravno napisan algoritam prevedemo na mašini razumljiv jezik, odnosno mašinski kod ili mašinski jezik. Da bi to uradili sledeći korak je da algoritam najpre prevedemo na neki (bilo koji) od programskih jezika (C, C++, C#, Java, Pajton, PHP, VB, Pascal...) kako bi mogli, nakon toga, da ga konačno prevedemo i na mašini razumljiv jezik, odnosno mašinski kod, koji se sastoji od niza bitova (nula i jedinica).
  3. Pre svega toga neophodno je da napisan algoritam najpre testiramo.
  4. Za testiranje ispravnosti (tačnosti) algoritma možemo da koristimo čak i gotove besplatne programe kao što je, na primer, FlowGorithm.
Prilikom rešavanja zadataka od 101. do 107. možete koristiti bilo koje navedene tehnike. Drugim rečima, zadatke od 101. do 107. možete rešavati na nekoliko načina:
  1. Pisanjem komandnih rečenica na živom jeziku (koristeći Word ili neki drugi jednostavan tekst editor za uređivanje tekstualnih podataka).
  2. Pisanjem pseudo koda (koristeći Word ili neki drugi jednostavan tekst editor za uređivanje tekstualnih podataka).
  3. Crtanjem dijagrama toka koristeći alate za crtanje figura (Shape) (koristeći Word ili Power Point ili neki drugi tekst editor za uređivanje dokumenta).
  4. Crtanjem i testiranjem algoritma koristeći besplatan program poput programa kao što je FlowGorithm.
Kako bi bili u mogućnosti da što bolje pratite sledeće teme iz ove oblasti, potrebno je da rešenja zadataka od 101. do 107. postavite na sistem do nedelje 14.aprila uveče.
 
Pozdrav,
Dragan Ilić
 
----- Original Message -----
Sent: Friday, March 29, 2019 6:03 PM
Subject: 1. Razred: 5. Uvod u algoritme

Drage učenice i dragi učenici 1. razreda,
 
Potrebno je da svako od vas do kraja sledeće nedelje, do 07.aprila, kod kuće, korišćenjem udžbenika, računara i interneta, pregleda i prouči dostupne materijale u okviru teme 8. Uvod u algoritme:
 
5. Увод у алгоритме и програмирање
5.0. Зашто учити алгоритме и програмирање
Pozdrav,
Dragan Ilić

Нема коментара: