

Revistă școlara periodică
ISSN 2457-8606
ISSN-L 2457-8606
Anul I, Nr. 1
2015, iunie
Proiect avizat ISJ Bacau


Colegiul Tehnic
"Dimitrie Ghika" Comănești
PROGRAMARE ORIENTATA PE OBIECTE- DEFINIREA CLASEI PRODUS IN C#
OPERATIA DE ADAUGARE



Sistemul informatic "POO - DEFINIREA CLASEI "PRODUSE" " este realizat in limbajul de programare Microsoft Visual C# 2010 Express si manipuleaza datele despre produsele gestionate in cadrul unei unitati economice. Programul este controlat din interfata principala a sistemului de catre optiuni care gestioneaza operatiile cu produse din cadrul sistemului.
Optiunea „Adaugare produs nou” permite introducerea datelor de la tastatura pentru a putea fi prelucrate de asemenea in cadrul sistemului. Fereastra de dialog este realizata in cadrul unui formular nou care are urmatoarea sursa:
namespace WindowsFormsApplication1
{
public partial class Form2 : Form
{ private string item1;
private string item2;
private string item3;
private string item4;
private string item5;
private string item6;
private string item7;
public string Item1 {get { return item1; } }
public string Item2 {get { return item2; } }
public string Item3 {get { return item3; } }
public string Item4 {get { return item4; } }
public string Item5 {get { return item5; } }
public string Item6 {get { return item6; } }
public string Item7 {get { return item7; } }
public Form2()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
item1 = textBox1.Text.Trim();
item2 = textBox2.Text.Trim();
item3 = textBox3.Text.Trim();
item4 = textBox4.Text.Trim();
item5 = textBox5.Text.Trim();
item6 = textBox6.Text.Trim();
item7 = textBox7.Text.Trim();
Close();
} } }
Metoda "Click" asociata butonului de adaugare este:
private void ADAUGA_Click(object sender, EventArgs e)
{string s;
f = new Form2();
f.ShowDialog();
if (f.Item1 != "" && f.Item2!="" && f.Item3!="" && f.Item4!="" && f.Item5!="" && f.Item6!="" && f.Item7!="")
{
s = f.Item1 + " " + f.Item2 + " " + f.Item3 + " " + f.Item4 + " " + f.Item5 + " " + f.Item6 + " " + f.Item7;
listBox1.Items.Add(s);
v[n,0] = f.Item1;
v[n, 1] = f.Item2;
v[n, 2] = f.Item3;
v[n, 3] = f.Item4;
v[n, 4] = f.Item5;
v[n, 5] = f.Item6;
v[n, 6] = f.Item7;
n++; } }
Aceasta operatie este doar o secventa din cadrul sistemului informatic implementat , celelalte operatii vor fi prezentate in numerele viitoare ale revistei.
Articol realizat de
prof. Salaru Antonia

STIINTE SI TEHNOLOGII
RESPECT
+ + + + + + + + + + + +
Like Us
Tweet Us
Follow Us
Watch Us



+ + + + + + + + + + + + + + + + + + + + +
Dar ce inseamna 3D? Sunt convins ca multi dintre noi am intalnit aceste termen fie si din auzite , dar ce presupune?
3D sau Tridimensional este o tehnica de redare a obiectelor in trei dimensiuni (latime, intaltime si adancime).
Bun, acum folosind puterea exemplului va voi prezenta in continuare
un program de grafica 3D disponibil atat in versiune freeware cat si o variant profesionala contra cost, desigur.
SketchUp e un soft realizat de cei de la Google, care iti permite sa realizezi obiecte tridimensionale in timp real, dimensiunile putand fi precizate cu exactitate, in orice unitate de masura dorita. Este un program destinat celor ce pasesc pentru prima data in tainele acestui tip de proiectare fiind mai limitat decat alte programe cum ar fii AutoCad sau 3D Studio Max.
Cu toate acestea, este un soft ce contine un set de unelte numeros, ce permite realizarea de modele de la foarte simple la foarte complexe.
Interfata este una prietenoasa, clara si intuitiva ceea ce permite invatarea usoara. Mai mult chiar, fiind un produs Google ne putem bucura si de cateva “plusuri”. SketchUp are legatura cu Google Earth deci se pot insera direct in program imaginii cu anumite bucati de teren. Un alt plus este 3D Warehouse-ul, care il putem compara cu o biblioteca uriasa ce contine numeroase obiecte 3D ce pot fi descarcate in computerul personal si folosite in proiectele dumneavoastra ( de exemplu, dupa ce ati modelat o casa, descarcati mobila si o amplasati in locurile dorite).
Ca tot vorbeam mai sus de exemplu haideti sa trecem prin cateva imagini:
Se poate incepe cu elementarele figuri geometrice.

+ + + + + + + + + + + + + + + + + + + + +


CRONOBIOLOGIA
După cum se cunoaşte, funcţiile biologice au proprietatea fundamentală de a se desfăşura ritmic. Această ritmicitate o regăsim la toate nivelurile de organizare ale materiei vii- de la cicluri moleculare, până la activităţile cele mai complexe ale fiinţei umane.
Cronobiologia studiază ritmurile biologice, situând procesele fiziologice sau patologice nu numai în structura spaţială a organismului, ci şi în cea temporală. Oscilaţiile ritmice biologice arată că fiecare organ, ţesut, celulă, etc., are momente de maximă activitate pentru unele funcţii, minimă pentru altele şi invers. La om, ca şi la alte fiinţe superior organizate se desfăşoară în acelaşi timp mai multe ritmuri biologice, fapt care atestă existenţa unui ,,ceas biologic’’ în care sunt codificate genetic timpul de pornire, perioada, frecvenţa, etc. şi care controlează fiecare funcţie a organismului.
Ritmurile biologice ar putea fi considerate ca reflectarea modalităţilor de adaptare a organismului la factorii de mediu, deoarece între organism şi mediu există un echilibru realizat în cursul dezvoltării filogenetice şi ontogenetice ce reprezintă o punte de legătură între mediul intern şi cel extern. S-ar putea afirma că integritatea fiinţei umane se menţine datorită echilibrului dinamic şi schimbului permanent de substanţe cu mediul ambiant, datorită capacităţii sistemelor şi funcţiilor de autoreglare. În condiţiile progresului tehnic, ceasul biologic al organismului uman poate fi influenţat sau chiar dereglat. Valorile diferiţilor parametri biologici depind nu numai de momentul zilei în raport cu ritmul circadian, ci şi de condiţiile complexe ale mediului. Dacă factorii de mediu sunt deosebit de agresivi, depăşesc posibilităţile de adaptare, deci şi de sincronizare a bioritmurilor şi se poate instala starea de boală ca urmare a perturbării homeostaziei biologice.
Bioritmul înseamnă desfăşurarea ciclică a unor procese biologice vitale organismului, acestă ciclizare fiind un proces fundamental al desfăşurării evenimentelor de la macrocosmos la microcosmos. Ciclizarea ţine de fundamentul său material -mişcarea- ca element componistic al materiei.
Autor: Popa Florentina, cls. a IX-a B
Prof. coord.: Popa Camelia
Operația de căutare folosind tehnica de programare Divide et impera
-ARTICOL ȘTIINȚIFIC IN DOMENIUL INFORMATICII
Operația de căutare este o operație uzuală într-un sistem informatic deoarece în orice moment trebuie să se cunoască situația datelor care sunt manipulate.
Operația de căutare poate fi realizată în mai multe feluri: operație de căutare secvențială, operație de căutare cu acces direct, operație de căutare specială utilizând tehnica de programare Divide et impera.
Acest curs pune accent pe tehnicile de programare folosite în cadrul sistemelor informatice în C# și de aceea în această lecție voi prezenta o căutare realizată cu ajutorul metodei Divide et impera. Pentru aceasta trebuie să se prezinte noțiunile teoretice ale acestei metode de programare.
Divide et impera este o tehnică de programare care poate fi aplicată anumitor clase de probleme ce pot fi împărțite în subprobleme de același fel, subprobleme care la rândul lor pot fi împărțite după același mecanism până când se ajunge la o problemă rezolvabilă și soluția problemei se obține concatenând soluțiile subproblemelor. Metoda presupune o implementare recursivă, iar o funcție care ar descrie (intuitiv) acest mecanism este:
int divide_et_impera(int a, int b) //se lucrează pe problema din intervalul [a,b]
{int c=(a+b)/2; // variabila c este mijlocul intervalului
if (abs(a-b)<=1) return rezultat; //dacă intervalul a ajuns la un element sau două, atunci problema poate fi rezolvată și se rezolvă
else {rez1=divide_et_impera(a,c); // când problema nu este rezolvabilă se împarte în două
rez2= divide_et_impera(c+1,b); //subprobleme identice pe intervale [a,c] si [c+1,b] adică se înjumătațește intervalul
rez3=rez1 concatenat rez2; //rezultatul final se obține concatenând soluțiile subproblemelor
return rez3;
}}
Pentru a realiza o operație de căutare a datelor folosind mecanismul Divide et impera se parcurg pașii:
-
Se construiește fereastra de dialog pentru a permite utilizatorului introducerea informației după care să se realizeze căutarea. Se acționează click secundar pe WindowsFormsApplication1 în fereastra poziționată în dreapta ecranului SolutionExplorer și se selectează opțiunea Add si opțiunea New Item:
2. Se selectează din fereastra Add New Item opțiunea Windows Form:
3. Se construiește ecranul de dialog folosind pentru text elementul Label, pentru câmpul de editare elementul TextBox și pentru declanșatorul OK Button, element care va permite introducerea datelor. Elementele vizuale se trag pe ecran, element cu element iar textul asociat se scrie în fereastra de proprietăți în secțiunea Text.
4. În această etapă vom asocia câmpului de editare de pe ecran o variabilă pentru a putea prelua codul introdus de la tastatură, pentru a realiza căutarea. Se realizează urmatoarele:
-se accesează codul ferestrei noi, pentru exemplul nostru în Form4 acționăm tasta F7,
-în clasa Form4 se va declara variabila camp1 și proprietatea corespunzătoare:
public partial class Form4 : Form
{
private string camp1;
public string Camp1
{ get { return camp1; } }
5. Se revine în partea de Design al lui Form4 acționând Shift+F7, se apasă dublu click pe butonul ok pentru a-i defini acțiunea (metoda click). Deci vom scrie in metoda click :
private void button1_Click(object sender, EventArgs e)
{
camp1 = textBox1.Text.Trim();
Close(); }
6. În această etapă se definește acțiunea propriu-zisă a butonului de căutare, adică se va activa dialogul modal care permite citirea datelor de la tastatură, se va folosi un algoritm de căutare în care se folosește tehnica de programare Divide et impera și în cazul în care se găsește informația, se va afișa într-o fereastră mesajul corespunzator. Deci vom parcurge pașii (pentru exemplul nostru):
-se implementează în formularul principal modulul de Divide et impera care va realiza căutarea:
private bool divide_et_impera(int a, int b, string caut) // subprogramul recursiv de Divide et impera care cauta elementul caut in intervalul din matrice[a,b]
{int c=(a+b)/2;
if (a==b) { //daca s-a ajuns la un element(conditia de oprire)
if (caut==v[a,0]) return true; //se testeaza daca elementul coincide cu informatia cautata caut si daca da se returneaza valoarea adevarat
else return false; //daca nu se gaseste se returneaza fals}
else return (divide_et_impera(a,c,caut) || divide_et_impera(c+1,b,caut));
//altfel se produce mecanismul de Divide et impera, adica problema este impartita in doua subprobleme, cautarea pe doua intervale de valori: de la a la jumatate [a,c] si de la jumatate plus unu la b [c+1,b]doua c. Solutia este obtinuta prin concatenarea cu operatorul || a rezultatelor celor doua cautari, deoarece rezultatul este boolean}
-se face dublu click pe butonul Cautare produs în funcție de cod,
-se scrie în butonul al operației codul :
private void button1_Click(object sender, EventArgs e)
{ bool ok;
l = new Form4();
l.ShowDialog(); //se activeaza dialogul modal
if (l.Camp1 != "") //daca s-a introdus valoare in campul de editare
{ ok=divide_et_impera(0, n - 1, l.Camp1); //se lanseaza subprogramul recursiv de Divide et impera pe intreaga matrice adica pe intervalul ce porneste de la 0 pana la numarul de elemente n-1
if (ok == true) //functie de ce rezultat se preia in variabila ok se afiseaza measajul
MessageBox.Show("Produsul exista!");
else MessageBox.Show("Produsul nu exista!");
} }
Obs. Programul de exemplu este folosit pentru ca dumneavoastră să puteți lucra asemănător , doar adaptând operația care se potrivește temei alese.
7. Se declară în formularul principal variabila l care este identificatorul ferestrei de căutare Form4. Se va scrie în codul lui Form1, în secțiunea de declarații (după variabilele declarate de voi vector sau matrice) instrucțiunea:
Form4 l;
Obs. Numele identificatorilor de clase sau variabile este pus de utilizator, deci puteți folosi orice nume doriți (l, h ,camp1, camp2 etc.), important este să păstrați corespondența operațiilor.
În acest exemplu structura de date este de tip matrice și deci trebuie să ținem cont de codificarea stabilită inițial. În acest exemplu, noi am căutat dacă ceea ce am scris în camp1 se potrivește cuelementul de pe coloana 0, deoarece în camp1 am stabilit că voi introduce codul produsului și coloana 0 era codificarea pentru codul produsului.
Trebuie să amintesc că secvențele de cod, acolo unde nu sunt explicate, sunt logice operațiilor descrise șirespectă noțiunile de limbaj C# învățate anterior. Deasemenea operațiile sunt orientative, se pot alege și alte metode pentru realizarea lor.
Prin urmare tehnica de programare Divide et impera este o metodă care poate fi aplicată pentru rezolvarea unei vaste clase de probleme și poate fi utilizată cu succes în operații de căutare, în operații pentru realizarea de calcule, în operații de ordonare a datelor (ordonarea prin interclasare).
Autor articol:
Profesor Șălaru Antonia
