Dan inteligencije 2022

I ove godine tradicionalno S.Š. „Nikola Tesla“ organizuje aktivnosti sa kojima je dat doprinos obeležavanju međunarodnog događaja „Dan inteligencije 2022“.

Organizatori događaja su zajedno sa svojim učenicima pokušali da u toku oktobra upriliče aktivnosti koje stimulišu logički način razmišljanja u cilju prepoznavanja darovite dece i pojačan rad sa njima.

C++ solving programi

Šta je solving problem?

Umeće rešavanja realnih situacija iz svakodnevnog života je top veština savremenog sveta. Za rešavanje problema iz svakodnevnog života problem solveri, pojedinci ili grupe, koriste znanje koje je prethodno stečeno, razmatraju novonastalu situaciju na kritički i kreativan način i pronalaze više rešenja od kojih analizom i proverom bijaju najoptimalnije.

Koraci u procesu problem solvinga

  1. Razumevanje problema
  2. Istraživawe i prikupljanje informacija
  3. Pravljenje strategija i brainstorming
  4. Odabir najboljeg rešenja
  5. Akcija
  6. Provera

Pogledajte prezentaciju.

Jednostavni solving problem primeri

Problemi prema težini mogu da budu prosti i komleksniji, složeni. Prosti problemi rešavamo u „hodu“ dez da budemo svesni da koristimo problem solving u njihovom rešavanju. Kompleksni problemi zahtevaju koncentaciju posvećenost, a često i neizvesnost oko pronalaženja rešenja.

Za događaj „Dan inteligencije 20 22“ pripremljeni su prosti solving problemi za koje treba da se nađe rešenje koje omogućava automatsko rešavanje problema kodiranjem. Proste solving kodove kreiraju učenici ETR21 podeljeni u grupama. Svaka grupa rešava zadatke na origialan način koristeći solving problem veštine.

U prilogu su pripremljeni zadaci.

Kako se radilo?

Učenici odeljenja ETR21 formiraju tročlane timove koje imaju originalne nazive i prepoznatljive logoe. Svaki tim se trudi da kreiraju programe u C++-u za postavljene probleme. Prethodno analiziraju više načina i opcije rešavanja problema. Kreiraju algoritam koristeći Veb 2.00 alat Floworithm, a zatim kod u radnom okruženju DEV C++. Proverom konstatuju određene ndostatke koda koje rešavaju u „u hodu“. Razvijaju svoje komunikacione, logičke, matematičke, lingvističke i problem solving veštine. Svaka grupa svoje ideje, obrazloženja, algoritme i kodove skladišti na gugl drajv i deli sa članovima komisije „Dan inteligencije“. (Članovi komisije su profesori računarstva i informatike i programiranja: Biljana Ivanović, Mirjana Radosavljević, Srboljub Milosavljević.) Najbolje rešenje se prestavlja na javnom času koji ima za cilj da prikaže najbolje segmente događaja koji su u prijavljeni i realizovani u okviru međunarodnog projekta „DAN INTELIGENCIJE“ sa ciljem da se stimuliše rad sa darovitim učenicima. Najbolja ekipa dobija zahvalnicu škole za doprinos aktivnostima upriličenih za pomenuti događaj.

Pogledajte kako postupno timovi dolaze do rešenja.

Video pokazuje faze u procesu rešavanja prvig solving problema.

Delić atmosfere

Timu koji je imao najbolju implementiranu solving problem ideju dodeliće se zahvalnice.

Na oglednom času koji je održan 10.11.2022.god pobednički tim je prezentovao ideju realizacije C++ solvin problem kod. Učenicima su podeljene zahvalnice koje su kreirani kao dokaz angažovanja za međunarodni događaj „Dan inteligencije 2022“

Mape uma za proveru znanja

Učenici G41 iz predmeta računarstvo I informatika, u okviru nastavne teme “Rad sa bazama podataka”,  imaju zadatak da osmisle, projektuju I kreiraju bazu podataka. Etapno, prateći nastavno gradivo, na časovima ali I kući učenici podeljeni u grupe od po tri člana polako stvaraju  bazu podataka koja je originalna i  jedinstvena kreativno koncipirana i ažurirana  u toku izrade. Projektni zadatak zahteva logički pristup rešavanja problema. Za kreiranje ER dijagrama koristi se Veb 2.00 alat Dijagrams.net. Za kreiranje bazu koristi se SUBP SQLites.

Za dan inteligencije na  javnom čas učenici pokazuju kako na drugačiji način može da se utvrdi gradivo koristeći mape uma. Svaka grupa kreira koristeći Veb 2.00 alat Mind mapu uma koja predstavlja logičko objašnjenje postupka projektovanja, kreiranja I ažuriranja baze. Tročlana komisija sastavljena od profesora: informatike, srpskog jezika i likovne kulture vrednuju pretstavljene mape uma i nagrađuju najbolju mapu sa prigodnim skromnim poklonom.

Najbolja mapa uma:


Ako želite da pogledate ostale mape uma pogledajte video

Proces izrade projektnog zadataka koji osmišljava, projektuje i kreira bazu podataka.

Učeničkom timu čija mapa uma je najbolja idodeliće se zahvalnice.

Jednostruko povezane liste

Jedan oblik organizacije dinamičkog čuvanja podataka je jednostruko povezana lista. Lista prestavlja skup čvorova, elemenata, povezani pokazivačima u jednom smeru. Svaki čvor je strukturna promenljiva koja ima najmanje dva polja: jedno za čuvanje podataka, ili informacija o čuvanju podataka,  drugo za čuvanje pokazivača na sledećeg čvora liste.

Deklaracija jednostruko povezanih lista

struct cvor
{
char inf;
struct cvor *sledeci;
};
struct cvor *pocetak_liste;

lista1

Na početak liste pokazuje pokazivačka promenljiva početak_liste. Krajnji čvor liste u elementu za vezu (sledeći) sadrži vrednost NULL. Ako je lista prazna početak_liste takođe, ima vrednost NULL.

Formiranje jednostruke liste

Da bi formirali listu, prvo inicijaliziramo praznu listu dodelom

pocetak_liste=NULL;      

pocetakliste

Kako bi se kreirao prvi dinamički objekat (čvor liste), neophodno je da se dodeli memorijski prostor,
novi=new cvor;, gde je novi pokazivač na strukturu cvor  lista2

Dinamičkom objektu novi, mogu se dodeliti vrednosti
novi→inf= „A“;
novi→ sledeci=pocetak_liste; lista3.PNG

Da bi promenljiva pocetak_liste pokazivala na početak, treba joj dodeliti vrednost promenljivve novi, pocetak_liste=novi; 

lista5.PNG

Prostor za novi cvor liste se odvaja operatorom novi=new cvor;

lista4

Nakon novi→inf=“B“;
            novi→sledeci=pocetak_liste; Informacioni deo čvora dobija vrednost, uključuje se u  listu i to na njen početak lista 6

Da bi promenljiva pocetak_liste pokazivala na početak, ponavlja se dodela pocetak_liste=novi;

 lista7

Pr.1 
Formirati i ispisati jednostruko spregnutu listu?

Rešenje:

#include <cstdlib>
#include <iostream>

using namespace std;
/* Definicija cvora liste*/
struct cvor
{
char pod;
cvor* sledeci;
};
/*Funkcija za ispis liste*/
void ispis(cvor *tekuci)
{
while(tekuci!=NULL)
{
cout<<tekuci->pod<<;
tekuci=tekuci->sledeci;
}
return;
}

int main(int argc, char *argv[])
{
char ceo;
cvor *pocetni, *novi;
pocetni=NULL;
cout<<„Unesi sadrzaj liste“<<endl;
cout<<endl;
while ((ceo=getchar())!=’ ‘)
{
novi= new cvor;
novi->pod=ceo;
novi->sledeci=pocetni;
pocetni=novi;

}
ispis(pocetni);

system(„PAUSE“);
return EXIT_SUCCESS;
}

Pr. 2
Kreiraj i ispisi jednostruko spregnutu listu ciji elementi su celi brojevi?

Rešenje:

#include <cstdlib>
#include <iostream>

using namespace std;
/* Definicija cvora liste*/
struct cvor
{
int pod;
cvor* sledeci;
};
/*Funkcija za ispis liste*/
void ispis(cvor *tekuci)
{
while(tekuci!=NULL)
{
cout<<tekuci->pod<<endl;
tekuci=tekuci->sledeci;
}
return;
}

int main(int argc, char *argv[])
{
int ceo;
cvor *pocetni, *novi;
pocetni=NULL;
cout<<„Unesi sadrzaj liste“<<endl;
cout<<endl;
while (ceo!=9999)
{
cout<<„Unesi ceo broj kao element liste“<<endl;
cout<<„Za kraj unesi 9999″<<endl;
cin>>ceo;
if (ceo!=9999)
{
novi= new cvor;
novi->pod=ceo;
novi->sledeci=pocetni;
pocetni=novi;
cout<<endl;
}
}
ispis(pocetni);
system(„PAUSE“);
return EXIT_SUCCESS;
}

 

Pr.
Kreiraj jednostruko spregnutu listu pri čemu novi čvor se ubacuje na kraj liste?

Rešenje:

#include <cstdlib>
#include <iostream>

using namespace std;
/* definicija strukturnog podatka cvor*/
struct cvor
{
char inf;
struct cvor *sledeci;
};
void pisi (cvor *tekuci)
{
while (tekuci!=NULL)
{
cout<<tekuci->inf<<endl;
tekuci=tekuci->sledeci;
}
return ;
}
int main(int argc, char *argv[])
{
cvor *novi;
cvor *pocl=NULL;
cvor *krajl=NULL;
char ch;
cout<<„Ünesi sadryaj liste“<<endl;
while ((ch=getchar())!=’ ‘)
{
novi= new cvor;
novi->inf=ch;
if(pocl==NULL)
{
pocl=novi;
}
else
{
krajl->sledeci=NULL;
}
krajl=novi;
krajl->sledeci=NULL;
cout<<„Sadrzaj liste“<<endl;
pisi(pocl);
}

system(„PAUSE“);
return EXIT_SUCCESS;
}

 

 

 

Dropbox

Рачунари и програмирање

Дропбокс – мој фаворит.
Дропбокс је мрежни сервис за синхронизацију датотека (фајлова) између више уређаја (истог корисника!): кућни рачунар, рачунар на послу, таблет, паметни телефон…
То је складиште на мрежи у које се пакују фајлови којима корисник може приступити са било ког места: или преко претраживача (фајерфокс, хром…) или преко инсталираног програма, који сам обавља синхронизацију! Подршка је одлична за све системе: линукс, виндовс, андроид…  Бесплатан је и нуди 2GB простора. Тај простор се може повећати до 5GB, позивањем пријатеља да користе дропбокс. Уз доплату од 9,99$ месечно добија се 1ТB!

Pogledaj originalni članak 680 more words

Datoteke-upis/čitanje

Pr 1.

Kreiraj tekstualnu datoteku čiji sadržaj su brojevi od 1 do 10?

Rešenje:

#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char** argv)
{
int i;
ofstream izlaz(„brojevi.txt“);
for (i=1;i<=10;i++)
izlaz<<i<<endl;
return 0;
}

Primer 2.

Kreiraj datoteku koja sadrži brojeve od 1 do 10 koristeći metod open()?

Rešenje:

#include <iostream>
#include <fstream>
using namespace std;

/* run this program using the console pauser or add your own getch, system(„pause“) or input loop */

int main(int argc, char** argv)
{
int i;
ofstream izlaz;
izlaz.open(„brojevi.txt“);
for (i=1;i<=10;i++)
izlaz<<i;
izlaz.close();
for (i=1;i<=10;i++)
izlaz<<i<<endl;

return 0;
}

Primer 3.

Napravite program koji u datoteku Kvadrat.txt unosi kvadrate brojeva od 1 do 10?

Rešenje:

#include <iostream>
#include <fstream>
using namespace std;

/* run this program using the console pauser or add your own getch, system(„pause“) or input loop */

int main(int argc, char** argv)
{
int i;
ofstream izlaz;
izlaz.open(„kvadrati.txt“);
for (i=1;i<=10;i++)
izlaz<<i*i<<endl;;
izlaz.close();
return 0;

Primer 4.

Na predhodno kreiranu  datoteku, dodaj kvadrate brojeva pd 10 do 20?

Rešenje:

#include <iostream>
#include <fstream>
using namespace std;

/* run this program using the console pauser or add your own getch, system(„pause“) or input loop */

int main(int argc, char** argv)
{
ofstream izlaz;
izlaz.open(„kvadrati.txt“);
for (int i=11;i<=100;i++)
izlaz<<i*i<<endl;;
izlaz.close();

return 0;
}

Primer 5.

Napravite program koji popunjava datoteku sa vašim imenima i prezimenima i prosečna ocena iz računare i programiranje 2?

Rešenje:

#include <iostream>
#include <fstream>
#include <string>
using namespace std;

/* run this program using the console pauser or add your own getch, system(„pause“) or input loop */

int main(int argc, char** argv)
{
int i, n;
string ime;
string prezime;
float ocena;
ofstream izlaz;
izlaz.open(„MTKK31.txt“);
cout<<“ Unesi broj u;enika u odelenju“<<endl;
cin>>n;
for (i=1;i<=n;i++)
{
cout<<„unesi ime ucenika br“<<i<<endl;
cin>> ime;

cout<<„unesi prezime ucenika br“<<i<<endl;
cin>> prezime;
cout<<„unesi prosecnu ocenu za ucenika br „<<i<<endl;
cin>> ocena;
izlaz<<ime<<prezime<<ocena<<endl;
}
izlaz.close();
return 0;
}

Video-citanje iz datoteke

Primer 6:

Napravite program koji izračunava srednju ocenu iz predmeta računari i programiranje na nivou rayreda?

Rešenje:

#include <iostream>
#include <fstream>
#include <string>
using namespace std;

/* run this program using the console pauser or add your own getch, system(„pause“) or input loop */

int main(int argc, char** argv)
{
ifstream cita;
cita.open(„Mtkk31.txt“);
string ime, prezime;
float ocena, socena;
int br=0;
while(cita>> ime>>prezime>>ocena)
{
br++;
socena+=ocena;
cout<<ime<<prezime<<ocena<<endl;
}

cita.close();
socena=socena/br;
cout<< „srednja ocena za Mtkk11 je“ <<socena<<endl;

return 0;
}

Napomena: Datoteka je formirana sa predhodnim zadatkom

Primer 6.

Napravite program koji kreira datoteku čiji je sadržaj  su imena i prezimena učenika i njihova visina i težina; Izračunaj prosečnu visinu i težinu u razredu?

Rešenje: