Atestat Bulai Alin
-
Upload
alin-bulai -
Category
Documents
-
view
39 -
download
2
description
Transcript of Atestat Bulai Alin
Colegiul National “Vasile Alecsandri”Galati
Proiect pentrususţinerea atestatului profesional
la informatică
Filieră: teoreticăProfil: realSpecializare: matematică-informatică-intensiv
informatica
Autor: Bulai Alin-VladCoordonator : Stan Mihaela
Mai 2015
Lecţii şi chestionar de informatică
Cuprins:
1. Descrierea temei si motivatia alegerii ei
2. Cerinte de sistem
3. Programe utilizate
4. Prezentarea in ansamblu a aplicatiei.Scurta descriere
5. Prezentarea in detaliu a aplicatiei
6. Bibliografie
1. Descrierea temei şi motivaţia alegerii ei
Ţinând cont de faptul ca o mare parte din elevii clasei a XII-a optează pentru informatica în vederea sustinerii probei la alegere din cadrul examenului de bacalaureat, este important ca informaţiile de care elevii au nevoie sa fie grupate într-un singur loc. De asemenea, am decis să fac şi un chestionar pentru ca cei care parcurg materia sa poată verifica daca au acumulat cunoştinţele necesare.
Motivaţia mea în ceea ce priveşte alegerea acestei teme a fost atât de autoverificare, având în vedere că şi eu personal o să susţin proba la informatică, cât şi de sprijin pentru colegii care au nevoie de informaţii suplimentare înainte de examen.
Am decis ca proiectul să fie bazat pe teoria grafurilor, deoarece, în opinia mea, acesta e unul din cele mai dificile capitole ale informaticii. Totodata, ţinând seama de faptul că în examenul de bacalaureat se regăsesc întrebări din acest capitol, consider că lecţiile sunt utile pentru actualizarea cunoştinţelor, iar chestionarul este un exerciţiu util.
2. Cerinţe de sistem
Programul poate fi rulat pe orice calculator ce foloseşte un sistem de
operare Windows XP SP3 sau mai nou de atât(Vista,7,8,8.1), pe orice tip de
arhitectură, şi are instalat pachetul .NET Framework 4. Este recomandat totuşi
ca procesorul să fie cel puţin Pentium de 1 Ghz şi memoria RAM de cel puţin
512 MB.
3. Programe utilizate
In proiectarea si realizarea acestui proiect a fost folosit Microsoft Visual
Studio 2010 si limbajul C#. Visual Studio include un set complet de instrumente
de dezvoltare pentru generarea de aplicații ASP.NET, Servicii Web XML,
aplicații desktop și aplicații mobile. Visual Basic, Visual C++, Visual C# și
Visual J#, toate folosesc același mediu de dezvoltare integrat (IDE) care le
permite partajarea instrumentelor și facilitează crearea de soluții folosind mai
multe limbaje de programare. Aceste limbaje permit să beneficieze de
caracteristicile .NET Framework care oferă acces la tehnologii cheie care
simplifica dezvoltarea de aplicații web ASP și XML Web Services cu Visual
Web Developer.
Visual Studio 2010 are numele de cod Dev10 și a fost lansat pe 12 aprilie
2010 alături de .NET Framework 4. Visual Studio 2010 are un editor nou care
utilizează WPF (Windows Presentation Foundation), sprină interfața de tip
Ribbon, suportă monitoare multiple, Windows 7 multitouch, funcționalitatea
SharePoint, instrumente de Windows Azure și IntelliTrace, un nou produs care
ajută la eradicarea bug-urilor irepetabile. Va veni furnizată împreună cu
Expression Studio, Business & Enterprise Servers și Microsoft Office și în
versiunile Ultimate și Premium.
De asemenea, butoanele din cadrul aplicaţiei fac trimiteri către documente
scrise în programul Microsoft Word şi către documente PDF.
4. Prezentarea in ansamblu a aplicatiei.Scurta descriere
Programul se deschide într-un formluar care reprezintă meniul principal al
proiectului. La apăsarea butoanelor aferente vor fi deschise alte formulare,
specifice pentru textul de pe buton. Pe fiecare dintre aceste formulare exista un
buton de întoarcere la meniul principal. Programul se închide în momentul
apăsării butonului “Închidere”.
5. Prezentarea în detaliu a aplicaţiei
Meniul principal cuprinde butoanele care deschid formularele proiectului. Astfel, de aici se pot accesa urmatoarele părţi ale proiectului: Lecţie grafuri neorientate, Lecţie grafuri orientate, Lecţie arbori, Test de evaluare a cunoşinţelor şi Informaţiile despre realizator. De asemenea, aici se află butonul Inchidere, care opreste executarea aplicaţiei.
Formularul despre grafuri neorientate cuprinde definiţia acestora, şi un buton care deschide un document care conţine toate informaţiile utile despre ele. De asemenea, în formular se regăseşte un buton de întoarcere la meniul principal.
Formularul despre grafuri orientate conţine de asemenea o
definiţie, un buton care deschide un document cu informaţii şi un
buton de revenire la meniul principal.
Formularul despre arbori cuprinde definiţia, un buton care
deschide un document despre arborii cu rădăcină, un buton care
deschide un document în care este prezentat arborele parţial de cost
minim, un buton care deschide un document despre forma poloneză a
unei expresii, iar
în colţul dreapta
jos se află butonul
de revenire.
Formularul chestionar cuprinde enuntul fiecărei întrebări, 4
butoane radio pentru răspunsuri (fiecare întrebare are un singur
răspuns corect), două butoane pentru schimarea întrebării către
următoarea sau către precedenta şi butonul de revenire la meniu. La
finalul testului,
rezultatul va fi
afişat în colţul
din stânga-jos al
formularului.
Acest formular cuprinde informaţii despre realizator şi butonul
de întoarcere la meniu.
Form 1
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;
namespace WindowsFormsApplication1{ public partial class Form1 : Form { public Form1() { InitializeComponent(); }
private void Form1_Load(object sender, EventArgs e) {
}
private void button1_Click(object sender, EventArgs e) { Form2 f2 = new Form2(); f2.ShowDialog(); }
private void button2_Click(object sender, EventArgs e) { Form3 f3 = new Form3(); f3.ShowDialog(); }
private void button3_Click(object sender, EventArgs e) { Form4 f4 = new Form4(); f4.ShowDialog(); }
private void button4_Click(object sender, EventArgs e) { Form5 f5 = new Form5(); f5.ShowDialog(); }
private void button5_Click(object sender, EventArgs e) { Form6 f6 = new Form6(); f6.ShowDialog(); }
private void button6_Click(object sender, EventArgs e)
{ Application.Exit(); } }}
Form 2
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;
namespace WindowsFormsApplication1{ public partial class Form2 : Form { public Form2() { InitializeComponent(); }
private void button1_Click(object sender, EventArgs e) { this.Close(); }
private void textBox1_TextChanged(object sender, EventArgs e) {
}
private void button2_Click(object sender, EventArgs e) { string path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase);
System.Diagnostics.Process.Start(path + @"\Grafuri neorientate.docx"); }
private void pictureBox1_Click(object sender, EventArgs e) {
} }}
Form 3using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;
using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;
namespace WindowsFormsApplication1{ public partial class Form3 : Form { public Form3() { InitializeComponent(); }
private void button1_Click(object sender, EventArgs e) { this.Close(); }
private void button2_Click(object sender, EventArgs e) { string path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase);
System.Diagnostics.Process.Start(path + @"\Grafuri orientate.pdf"); }
private void pictureBox1_Click(object sender, EventArgs e) {
} }}
Form 4using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;
namespace WindowsFormsApplication1{ public partial class Form4 : Form { public Form4() { InitializeComponent(); }
private void button1_Click(object sender, EventArgs e) { this.Close(); }
private void button2_Click(object sender, EventArgs e) {
string path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase);
System.Diagnostics.Process.Start(path + @"\Arbori cu radacina.doc"); }
private void button3_Click(object sender, EventArgs e) { string path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase);
System.Diagnostics.Process.Start(path + @"\Arborele de cost minim.docx"); }
private void button4_Click(object sender, EventArgs e) { string path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase);
System.Diagnostics.Process.Start(path + @"\Forma poloneza a unei expresii.pdf"); }
private void pictureBox1_Click(object sender, EventArgs e) {
} }}
Form 5using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms; namespace WindowsFormsApplication1{ public partial class Form5 : Form { int intrebare = 1; int[] rc = new int[10]; int[] r = new int[10]; public Form5() { InitializeComponent(); }
private void button1_Click(object sender, EventArgs e) {
}
private void button2_Click(object sender, EventArgs e) { this.Close(); }
private void button3_Click(object sender, EventArgs e) {
rc[1] = 3; rc[2] = 2; rc[3] = 4; rc[4] = 1; rc[5] = 3; rc[6] = 3; rc[7] = 1; rc[8] = 1; rc[9] = 4; if (intrebare == 1) { if (radioButton1.Checked) r[1] = 1; if (radioButton2.Checked) r[1] = 2; if (radioButton3.Checked) r[1] = 3; if (radioButton4.Checked) r[1] = 4;
if (r[2] == 0 || r[2] == 1) radioButton1.Checked = true; if (r[2] == 2) radioButton2.Checked = true; if (r[2] == 3) radioButton3.Checked = true; if (r[2] == 4) radioButton4.Checked = true; label1.Text = "2. Care este numarul de muchii dintr-un graf complet cu n noduri?"; radioButton1.Text = "2^n"; radioButton2.Text = "n*(n-1)/2"; radioButton3.Text = "2^((n-1)*n/2)"; radioButton4.Text = "n!"; intrebare = 2; } else if (intrebare == 2) { if (radioButton1.Checked) r[2] = 1; if (radioButton2.Checked) r[2] = 2; if (radioButton3.Checked) r[2] = 3; if (radioButton4.Checked) r[2] = 4; if (r[3] == 0 || r[3] == 1) radioButton1.Checked = true; if (r[3] == 2) radioButton2.Checked = true; if (r[3] == 3) radioButton3.Checked = true; if (r[3] == 4) radioButton4.Checked = true; label1.Text = "3. Dacă gradul unui vârf este 0, vârful respectiv se numeste?"; radioButton1.Text = "terminal"; radioButton2.Text = "exterior"; radioButton3.Text = "interior"; radioButton4.Text = "izolat"; intrebare = 3; } else if (intrebare == 3) { if (radioButton1.Checked) r[3] = 1; if (radioButton2.Checked) r[3] = 2;
if (radioButton3.Checked) r[3] = 3; if (radioButton4.Checked) r[3] = 4; if (r[4] == 0 || r[4] == 1) radioButton1.Checked = true; if (r[4] == 2) radioButton2.Checked = true; if (r[4] == 3) radioButton3.Checked = true; if (r[4] == 4) radioButton4.Checked = true; label1.Text = "4. Carui tip de parcurgere a arborilor corespunde presurtare SVD?"; radioButton1.Text = "parcurgearea in inordine"; radioButton2.Text = "parcurgerea in latime"; radioButton3.Text = "parcurgerea in postordine"; radioButton4.Text = "parcurgerea in preordine"; intrebare = 4; } else if (intrebare == 4) { if (radioButton1.Checked) r[4] = 1; if (radioButton2.Checked) r[4] = 2; if (radioButton3.Checked) r[4] = 3; if (radioButton4.Checked) r[4] = 4; if (r[5] == 0 || r[5] == 1) radioButton1.Checked = true; if (r[5] == 2) radioButton2.Checked = true; if (r[5] == 3) radioButton3.Checked = true; if (r[5] == 4) radioButton4.Checked = true; label1.Text = "5. Cate noduri are in total un arbore binar complet cu n noduri terminale, toate situate pe acelasi nivel?"; radioButton1.Text = "2^n"; radioButton2.Text = "2n"; radioButton3.Text = "2n-1"; radioButton4.Text = "n!/2"; intrebare = 5; } else if (intrebare == 5) { if (radioButton1.Checked) r[5] = 1; if (radioButton2.Checked) r[5] = 2; if (radioButton3.Checked) r[5] = 3; if (radioButton4.Checked) r[5] = 4; if (r[6] == 0 || r[6] == 1) radioButton1.Checked = true; if (r[6] == 2) radioButton2.Checked = true; if (r[6] == 3) radioButton3.Checked = true; if (r[6] == 4) radioButton4.Checked = true; label1.Text = "6. Cate grafuri orientate complete cu n varfuri exista?"; radioButton1.Text = "n^2"; radioButton2.Text = "2^(n*(n-1)/2)"; radioButton3.Text = "3^(n*(n-1)/2)"; radioButton4.Text = "3*n*(n-1)/2"; intrebare = 6; } else if (intrebare == 6) { if (radioButton1.Checked) r[6] = 1; if (radioButton2.Checked) r[6] = 2; if (radioButton3.Checked) r[6] = 3; if (radioButton4.Checked) r[6] = 4;
if (r[7] == 0 || r[7] == 1) radioButton1.Checked = true; if (r[7] == 2) radioButton2.Checked = true; if (r[7] == 3) radioButton3.Checked = true; if (r[7] == 4) radioButton4.Checked = true; label1.Text = "7. Intr-un graf orientat, un varf se numeste terminal daca?"; radioButton1.Text = "are gradul interior 1 si cel exterior 0"; radioButton2.Text = "are gradul interior si cel exterior egale"; radioButton3.Text = "are gradul interior 0 si cel exterior 1"; radioButton4.Text = "gradul interior este mai mic decat cel exterior"; intrebare = 7; } else if (intrebare == 7) { if (radioButton1.Checked) r[7] = 1; if (radioButton2.Checked) r[7] = 2; if (radioButton3.Checked) r[7] = 3; if (radioButton4.Checked) r[7] = 4; if (r[8] == 0 || r[8] == 1) radioButton1.Checked = true; if (r[8] == 2) radioButton2.Checked = true; if (r[8] == 3) radioButton3.Checked = true; if (r[8] == 4) radioButton4.Checked = true; label1.Text = "8. Ce tip de parcurgere determina crearea unei secvente ordonate crescator a cheilor din nodurile arborelui in cazul arborilor de cautare?"; radioButton1.Text = "parcurgerea in inordine"; radioButton2.Text = "parcurgerea in preordine"; radioButton3.Text = "parcurgerea in postordine"; radioButton4.Text = "parcurgerea in latime"; intrebare = 8; } else if (intrebare == 8) { if (radioButton1.Checked) r[8] = 1; if (radioButton2.Checked) r[8] = 2; if (radioButton3.Checked) r[8] = 3; if (radioButton4.Checked) r[8] = 4; if (r[9] == 0 || r[9] == 1) radioButton1.Checked = true; if (r[9] == 2) radioButton2.Checked = true; if (r[9] == 3) radioButton3.Checked = true; if (r[9] == 4) radioButton4.Checked = true; label1.Text = "9. Se consideră un graf neorientat G cu 12 noduri si 7 muchii. Care este numărul maxim de componente conexe din care poate fi format graful G?";
radioButton1.Text = "5"; radioButton2.Text = "9"; radioButton3.Text = "7"; radioButton4.Text = "8"; intrebare = 9; } else if (intrebare == 9) { if (radioButton1.Checked) r[9] = 1; if (radioButton2.Checked) r[9] = 2; if (radioButton3.Checked) r[9] = 3; if (radioButton4.Checked) r[9] = 4; int scor = 0; for (int i = 1; i <= 9; i++) if (r[i] == rc[i]) scor++; button3.Enabled = false; button4.Enabled = false; label2.Text = "Punctaj final: " + scor.ToString(); /* MessageBox.Show("Punctaj final: " + scor.ToString());*/
} }
private void button4_Click(object sender, EventArgs e) { int[] r = new int [10]; if (intrebare == 1) { if (radioButton1.Checked) r[1] = 1; if (radioButton2.Checked) r[1] = 2; if (radioButton3.Checked) r[1] = 3; if (radioButton4.Checked) r[1] = 4;
} else if (intrebare == 2) {
if (radioButton1.Checked) r[2] = 1; if (radioButton2.Checked) r[2] = 2; if (radioButton3.Checked) r[2] = 3; if (radioButton4.Checked) r[2] = 4; if (r[1] == 0 || r[1] == 1) radioButton1.Checked = true; if (r[1] == 2) radioButton2.Checked = true; if (r[1] == 3) radioButton3.Checked = true; if (r[1] == 4) radioButton4.Checked = true; label1.Text = "1. Într-un graf complet cu n vârfuri gradul fiecărui vârf este?"; radioButton1.Text = "2"; radioButton2.Text = "2^n"; radioButton3.Text = "n-1"; radioButton4.Text = "1"; intrebare = 1; } else
if (intrebare == 3) { if (radioButton1.Checked) r[3] = 1; if (radioButton2.Checked) r[3] = 2; if (radioButton3.Checked) r[3] = 3; if (radioButton4.Checked) r[3] = 4; if (r[2] == 0 || r[2] == 1) radioButton1.Checked = true; if (r[2] == 2) radioButton2.Checked = true; if (r[2] == 3) radioButton3.Checked = true; if (r[2] == 4) radioButton4.Checked = true; label1.Text = "2. Care este numarul de muchii dintr-un graf complet cu n noduri?"; radioButton1.Text = "2^n"; radioButton2.Text = "n*(n-1)/2"; radioButton3.Text = "2^((n-1)*n/2)"; radioButton4.Text = "n!"; intrebare = 2; } else if (intrebare == 4) { if (radioButton1.Checked) r[4] = 1; if (radioButton2.Checked) r[4] = 2; if (radioButton3.Checked) r[4] = 3; if (radioButton4.Checked) r[4] = 4; if (r[3] == 0 || r[3] == 1) radioButton1.Checked = true; if (r[3] == 2) radioButton2.Checked = true; if (r[3] == 3) radioButton3.Checked = true; if (r[3] == 4) radioButton4.Checked = true; label1.Text = "3. Dacă gradul unui vârf este 0, vârful respectiv se numeste?"; radioButton1.Text = "terminal"; radioButton2.Text = "exterior"; radioButton3.Text = "interior"; radioButton4.Text = "izolat"; intrebare = 3; } else if (intrebare == 5) { if (radioButton1.Checked) r[5] = 1; if (radioButton2.Checked) r[5] = 2; if (radioButton3.Checked) r[5] = 3; if (radioButton4.Checked) r[5] = 4; if (r[4] == 0 || r[4] == 1) radioButton1.Checked = true; if (r[4] == 2) radioButton2.Checked = true; if (r[4] == 3) radioButton3.Checked = true; if (r[4] == 4) radioButton4.Checked = true; label1.Text = "4. Carui tip de parcurgere a arborilor corespunde presurtare SVD?"; radioButton1.Text = "parcurgearea in inordine"; radioButton2.Text = "parcurgerea in latime"; radioButton3.Text = "parcurgerea in postordine"; radioButton4.Text = "parcurgerea in preordine"; intrebare = 4; } else
if (intrebare == 6)
{ if (radioButton1.Checked) r[6] = 1; if (radioButton2.Checked) r[6] = 2; if (radioButton3.Checked) r[6] = 3; if (radioButton4.Checked) r[6] = 4; if (r[5] == 0 || r[5] == 1) radioButton1.Checked = true; if (r[5] == 2) radioButton2.Checked = true; if (r[5] == 3) radioButton3.Checked = true; if (r[5] == 4) radioButton4.Checked = true; label1.Text = "5. Cate noduri are in total un arbore binar complet cu n noduri terminale, toate situate pe acelasi nivel?"; radioButton1.Text = "2^n"; radioButton2.Text = "2n"; radioButton3.Text = "2n-1"; radioButton4.Text = "n!/2"; intrebare = 5; } else if (intrebare == 7) { if (radioButton1.Checked) r[7] = 1; if (radioButton2.Checked) r[7] = 2; if (radioButton3.Checked) r[7] = 3; if (radioButton4.Checked) r[7] = 4; if (r[6] == 0 || r[6] == 1) radioButton1.Checked = true; if (r[6] == 2) radioButton2.Checked = true; if (r[6] == 3) radioButton3.Checked = true; if (r[6] == 4) radioButton4.Checked = true; label1.Text = "6. Cate grafuri orientate complete cu n varfuri exista?"; radioButton1.Text = "n^2"; radioButton2.Text = "2^(n*(n-1)/2)"; radioButton3.Text = "3^(n*(n-1)/2)"; radioButton4.Text = "3*n*(n-1)/2"; intrebare = 6; } else if (intrebare == 8) { if (radioButton1.Checked) r[8] = 1; if (radioButton2.Checked) r[8] = 2; if (radioButton3.Checked) r[8] = 3; if (radioButton4.Checked) r[8] = 4; if (r[7] == 0 || r[7] == 1) radioButton1.Checked = true; if (r[7] == 2) radioButton2.Checked = true; if (r[7] == 3) radioButton3.Checked = true; if (r[7] == 4) radioButton4.Checked = true; label1.Text = "7. Intr-un graf orientat, un varf se numeste terminal daca?"; radioButton1.Text = "are gradul interior 1 si cel exterior 0"; radioButton2.Text = "are gradul interior si cel exterior egale";
radioButton3.Text = "are gradul interior 0 si cel exterior 1"; radioButton4.Text = "gradul interior este mai mic decat cel exterior"; intrebare = 7; } else if (intrebare == 9) { if (radioButton1.Checked) r[9] = 1; if (radioButton2.Checked) r[9] = 2; if (radioButton3.Checked) r[9] = 3; if (radioButton4.Checked) r[9] = 4; if (r[8] == 0 || r[8] == 1) radioButton1.Checked = true; if (r[8] == 2) radioButton2.Checked = true; if (r[8] == 3) radioButton3.Checked = true; if (r[8] == 4) radioButton4.Checked = true; label1.Text = "8. Ce tip de parcurgere determina crearea unei secvente ordonate crescator a cheilor din nodurile arborelui in cazul arborilor de cautare?"; radioButton1.Text = "parcurgerea in inordine"; radioButton2.Text = "parcurgerea in preordine"; radioButton3.Text = "parcurgerea in postordine"; radioButton4.Text = "parcurgerea in latime"; intrebare = 8; button3.Text = ">> Urmatorul"; } }
private void pictureBox1_Click(object sender, EventArgs e) {
} }}
Form 6using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;
namespace WindowsFormsApplication1{ public partial class Form6 : Form
{ public Form6() { InitializeComponent(); }
private void button1_Click(object sender, EventArgs e) { this.Close(); }
private void textBox1_TextChanged(object sender, EventArgs e) {
}
private void pictureBox1_Click(object sender, EventArgs e) {
} }}
Bibliografie
1. http://blogs.msdn.com/b/vbteam/archive/2004/07/14/183403.aspx
2. https://msdn.microsoft.com/en-us/library/system.windows.forms.button
%28v=vs.110%29.aspx
3. https://msdn.microsoft.com/en-us/library/6taasyc6%28v=vs.90%29.aspx
4. https://msdn.microsoft.com/en-us/library/ws1btzy8%28v=vs.90%29.aspx
5. https://social.msdn.microsoft.com/Forums/windows/en-US/13e34c62-
52c7-45b3-8bb4-16d9574d76be/how-to-close-c-form?forum=winforms
6. http://ro.wikipedia.org/wiki/Microsoft_Visual_Studio