luni, 28 februarie 2011
duminică, 27 februarie 2011
Problemă rezolvată în Pascal - elevi ordonaţi după înălţime
30.Un grup de n elevi avand inaltimile h1,h2...hn, trebuie ordonati pe un rand astfel incat fiecare elev sa vada,privind de-a lungul sirului,cel putin unul dintre elevii aflati la extremitatiile sirului.Acest lucru este posibil daca intre acest elev si cel aflat la capat nu exista un alt elev cu o inaltime mai mare sau egala cu a lui.Se cere sa se verifice daca elevii sunt corect asezati in sir conform acesteo reguli.
{Problema 30. Elevi ordonati dupa inaltime}
program vector;
var x : array [1..100] of integer; {vector de numere intregi}
i, j, n, m, temp: integer;
begin
{-citirea vectorului}
{--se citeste dimensiunea vectorului}
write('Introduceti numarul de elemente ale vectorului x: ');
readln(n); {n = numarul de elemente}
{--se citesc elementele vectorului}
for i := 1 to n do
begin
write('x[',i,']='); {afiseaza "x[i]=" unde i va fi 1,2,...,n}
readln(x[i]); {citeste elementul din vector x[i]}
end;
{-afisarea vectorului citit}
temp := 1;
for i := 1 to n do
for j:= i to n do
if ((x[j]>x[i]) and (x[j]>x[n])) then
temp := 0;
{-Rezultat}
if(temp = 1) then
write('Este odonat ok.')
else
write('Nu este odonat ok.');
readln;
end.
{Problema 30. Elevi ordonati dupa inaltime}
program vector;
var x : array [1..100] of integer; {vector de numere intregi}
i, j, n, m, temp: integer;
begin
{-citirea vectorului}
{--se citeste dimensiunea vectorului}
write('Introduceti numarul de elemente ale vectorului x: ');
readln(n); {n = numarul de elemente}
{--se citesc elementele vectorului}
for i := 1 to n do
begin
write('x[',i,']='); {afiseaza "x[i]=" unde i va fi 1,2,...,n}
readln(x[i]); {citeste elementul din vector x[i]}
end;
{-afisarea vectorului citit}
temp := 1;
for i := 1 to n do
for j:= i to n do
if ((x[j]>x[i]) and (x[j]>x[n])) then
temp := 0;
{-Rezultat}
if(temp = 1) then
write('Este odonat ok.')
else
write('Nu este odonat ok.');
readln;
end.
Problemă rezolvată în Pascal - ultima cifra
29.Sa se calculeze ultima cifra a numarului x[1]+x[2]+...+x[n],unde x este un vector cu n componente numere naturla citite de la tastatura.
{Problema 29. Ultima cifra a numarului x[1]+x[2]+...+x[n]}
program vector;
var x : array [1..100] of integer; {vector de numere intregi}
i, j, n, m, temp: integer;
begin
{-citirea vectorului}
{--se citeste dimensiunea vectorului}
write('Introduceti numarul de elemente ale vectorului x: ');
readln(n); {n = numarul de elemente}
{--se citesc elementele vectorului}
temp := 0;
for i := 1 to n do
begin
write('x[',i,']='); {afiseaza "x[i]=" unde i va fi 1,2,...,n}
readln(x[i]); {citeste elementul din vector x[i]}
temp := temp + x[i];
end;
{-afisarea vectorului citit}
for i := 1 to n do
write(x[i],' '); {afiseaza elementele din vector}
{-Ultima cifra}
write('Ultima cifra a numarului x[1]+x[2]+...+x[n]: ', temp mod 10);
readln;
end.
{Problema 29. Ultima cifra a numarului x[1]+x[2]+...+x[n]}
program vector;
var x : array [1..100] of integer; {vector de numere intregi}
i, j, n, m, temp: integer;
begin
{-citirea vectorului}
{--se citeste dimensiunea vectorului}
write('Introduceti numarul de elemente ale vectorului x: ');
readln(n); {n = numarul de elemente}
{--se citesc elementele vectorului}
temp := 0;
for i := 1 to n do
begin
write('x[',i,']='); {afiseaza "x[i]=" unde i va fi 1,2,...,n}
readln(x[i]); {citeste elementul din vector x[i]}
temp := temp + x[i];
end;
{-afisarea vectorului citit}
for i := 1 to n do
write(x[i],' '); {afiseaza elementele din vector}
{-Ultima cifra}
write('Ultima cifra a numarului x[1]+x[2]+...+x[n]: ', temp mod 10);
readln;
end.
Problemă rezolvată în Pascal - număr majoritar în şir
28.Dandu-se n numere intregi sa se decida daca exista un numar majoritar in aceasta secventa.Un numar este daca numarul sau de aparitii in vector este mai mare decat n/2.
{Problema 28. Numar majoritar in vector.}
program vector;
var x : array [1..100] of integer; {vector de numere intregi}
i, j, n, m, temp: integer;
begin
{-citirea vectorului}
{--se citeste dimensiunea vectorului}
write('Introduceti numarul de elemente ale vectorului x: ');
readln(n); {n = numarul de elemente}
{--se citesc elementele vectorului}
for i := 1 to n do
begin
write('x[',i,']='); {afiseaza "x[i]=" unde i va fi 1,2,...,n}
readln(x[i]); {citeste elementul din vector x[i]}
end;
{-afisarea vectorului citit}
for i := 1 to n do
write(x[i],' '); {afiseaza elementele din vector}
{-Numere majoritare}
write('Numere majoritare din vector: ');
for i := 1 to n do
begin
temp := 0;
for j:= 1 to n do
if (x[j]=x[i]) then
temp := temp + 1;
if(temp >= n div 2) then
write(x[i],' ');
end;
readln;
end.
{Problema 28. Numar majoritar in vector.}
program vector;
var x : array [1..100] of integer; {vector de numere intregi}
i, j, n, m, temp: integer;
begin
{-citirea vectorului}
{--se citeste dimensiunea vectorului}
write('Introduceti numarul de elemente ale vectorului x: ');
readln(n); {n = numarul de elemente}
{--se citesc elementele vectorului}
for i := 1 to n do
begin
write('x[',i,']='); {afiseaza "x[i]=" unde i va fi 1,2,...,n}
readln(x[i]); {citeste elementul din vector x[i]}
end;
{-afisarea vectorului citit}
for i := 1 to n do
write(x[i],' '); {afiseaza elementele din vector}
{-Numere majoritare}
write('Numere majoritare din vector: ');
for i := 1 to n do
begin
temp := 0;
for j:= 1 to n do
if (x[j]=x[i]) then
temp := temp + 1;
if(temp >= n div 2) then
write(x[i],' ');
end;
readln;
end.
Problemă rezolvată în Pascal - mutare elemente in vector
26. Se considera un A cu n componente numere intregi.Sa se modifice vectorul astfel incat primele m componente sa apara in final pe ultimele m pozitii,iar ultimele n-m componente sa apara pe primele pozitii.Numarul natural nenul m se citeste de la tastatura(m
{Problema 26. Muta m elemente din vector la capatul lui.}
program vector;
var x : array [1..100] of integer; {vector de numere intregi}
i, j, n, m, temp: integer;
begin
{-citirea vectorului}
{--se citeste dimensiunea vectorului}
write('Introduceti numarul de elemente ale vectorului x: ');
readln(n); {n = numarul de elemente}
{--se citesc elementele vectorului}
for i := 1 to n do
begin
write('x[',i,']='); {afiseaza "x[i]=" unde i va fi 1,2,...,n}
readln(x[i]); {citeste elementul din vector x[i]}
end;
{-afisarea vectorului citit}
for i := 1 to n do
write(x[i],' '); {afiseaza elementele din vector}
write('Introduceti numarul m: ');
readln(m);
{-modificam vectorul cum cere problema}
for i := 1 to m do
begin
temp := x[1];
for j:= 1 to n-1 do
x[j] := x[j+1];
x[n] := temp;
end;
writeln('Vectorul modificat:');
for i := 1 to n do
write(x[i],' '); {afiseaza elementele din vector}
readln;
end.
{Problema 26. Muta m elemente din vector la capatul lui.}
program vector;
var x : array [1..100] of integer; {vector de numere intregi}
i, j, n, m, temp: integer;
begin
{-citirea vectorului}
{--se citeste dimensiunea vectorului}
write('Introduceti numarul de elemente ale vectorului x: ');
readln(n); {n = numarul de elemente}
{--se citesc elementele vectorului}
for i := 1 to n do
begin
write('x[',i,']='); {afiseaza "x[i]=" unde i va fi 1,2,...,n}
readln(x[i]); {citeste elementul din vector x[i]}
end;
{-afisarea vectorului citit}
for i := 1 to n do
write(x[i],' '); {afiseaza elementele din vector}
write('Introduceti numarul m: ');
readln(m);
{-modificam vectorul cum cere problema}
for i := 1 to m do
begin
temp := x[1];
for j:= 1 to n-1 do
x[j] := x[j+1];
x[n] := temp;
end;
writeln('Vectorul modificat:');
for i := 1 to n do
write(x[i],' '); {afiseaza elementele din vector}
readln;
end.
Problemă rezolvată în Pascal - vectori, medie aritmetica
25. Se da un vector x cu n>2 componente numere intregi.Sa se insereze intre oricare doua componente ale acestui vector media aritmetica a celorlaltor n-2 componenete ale vectorului.
program vector;
var x : array [1..100] of real; {media numerelor nu va fi numere intregi}
i, n: integer;
suma, temp : real; {in "temp" salvam de fiecare data media celor 2 elemente}
begin
{-citirea vectorului}
{--se citeste dimensiunea vectorului}
write('Introduceti numarul de elemente ale vectorului x: ');
readln(n); {n = numarul de elemente}
{--se citesc elementele vectorului si se calculeaza suma elementelor (suma)}
suma := 0; {initial suma este 0}
for i := 1 to n do
begin
write('x[',i,']='); {afiseaza "x[i]=" unde i va fi 1,2,...,n}
readln(x[i]); {citeste elementul din vector x[i]}
suma := suma + x[i]; {de suma avem nevoie pentru medie}
end;
{-afisarea vectorului citit}
for i := 1 to n do
write(x[i]:2:2,' '); {afiseaza elementele din vector}
{-modificam vectorul cum cere problema}
{-- for-ul are efect afisarea elementelor cerute, insa sirul nu este modificat,
pentru a modifica si sirul ar trebui deplasate elementele la fiecare pas si n
crescut cu 1...}
writeln('Elementele cerute sunt:');
for i := 1 to n-1 do {atentie n-1 si nu n...! lucram tot timpul cu x[i] si x[i+1]}
begin
temp := (suma - x[i] - x[i+1])/(n-2); {pentru a putea face
media ceruta vom scadea din suma cele doua elemente si
impartim la numarul de elemente pentru care se face media
adica n-2 (numarul total de elemente fara cele 2)}
write(x[i]:2:2,' '); {afiseaza x[i]}
write(temp:2:2,' '); {apoi afiseaza media}
end;
write(x[n]:2:2); {afiseaza ultimul element, care nu este afisat de bucla for}
readln;
end.
program vector;
var x : array [1..100] of real; {media numerelor nu va fi numere intregi}
i, n: integer;
suma, temp : real; {in "temp" salvam de fiecare data media celor 2 elemente}
begin
{-citirea vectorului}
{--se citeste dimensiunea vectorului}
write('Introduceti numarul de elemente ale vectorului x: ');
readln(n); {n = numarul de elemente}
{--se citesc elementele vectorului si se calculeaza suma elementelor (suma)}
suma := 0; {initial suma este 0}
for i := 1 to n do
begin
write('x[',i,']='); {afiseaza "x[i]=" unde i va fi 1,2,...,n}
readln(x[i]); {citeste elementul din vector x[i]}
suma := suma + x[i]; {de suma avem nevoie pentru medie}
end;
{-afisarea vectorului citit}
for i := 1 to n do
write(x[i]:2:2,' '); {afiseaza elementele din vector}
{-modificam vectorul cum cere problema}
{-- for-ul are efect afisarea elementelor cerute, insa sirul nu este modificat,
pentru a modifica si sirul ar trebui deplasate elementele la fiecare pas si n
crescut cu 1...}
writeln('Elementele cerute sunt:');
for i := 1 to n-1 do {atentie n-1 si nu n...! lucram tot timpul cu x[i] si x[i+1]}
begin
temp := (suma - x[i] - x[i+1])/(n-2); {pentru a putea face
media ceruta vom scadea din suma cele doua elemente si
impartim la numarul de elemente pentru care se face media
adica n-2 (numarul total de elemente fara cele 2)}
write(x[i]:2:2,' '); {afiseaza x[i]}
write(temp:2:2,' '); {apoi afiseaza media}
end;
write(x[n]:2:2); {afiseaza ultimul element, care nu este afisat de bucla for}
readln;
end.
luni, 21 februarie 2011
miercuri, 16 februarie 2011
Universităţi din lume
Căutam şi eu de curios o listă cu cele mai bune universităţi din lume. Am găsit pe undeva lista asta:
1 -Harvard University
2 -University of California, Berkeley
3 -Stanford University
4 -Massachusetts Institute of Technology
5 -University of Cambridge
6 -California Institute of Technology
7 -Princeton University
8 -Columbia University
9 -University of Chicago
10 -University of Oxford
11 -Yale University
12 -Cornell University
13 -University of California, Los Angeles
14 -University of California, San Diego
15 -University of Pennsylvania
16 -University of Washington
17 -University of Wisconsin, Madison
18 -The Johns Hopkins University
18 -University of California, San Francisco
20 -The University of Tokyo
21 -University College London
22 -University of Michigan, Ann Arbor
23 -Swiss Federal Institute of Technology Zurich
24 -Kyoto University
25 -University of illinois at Urbana-Champaign
26 -The Imperial College of Science, technology and Medecine
27 -University of Toronto
28 -University of Minnesota, Twin Cities
29 -Northwestern Uniersity in Saint Louis
30 -Washington University in Saint Louis
31 -New York University
32 -University of California, Santa Barbara
32 -University of Colorado at Boulder
34 -Rockfeller University
35 -Duke University
36 -University of British Columbia
36 -University of Maryland, College Park
38 -The University of Texas at Austin
39 -Pierre and Marie Curie University -Paris 6
40 -University of Copenhagen
41 -University of North Carolina at Chapel Hill
42 -Karolina Institute
43 -Pennsylvania State University -University Park
44 -The University of Manchester
45 -University of Paris Sud -Paris 11
46 -University of California, David
46 -University of California, Irvine
46 -University of Southern California
49 -The University of Texas Southwestern Medical Center at Dallas
50 -Utrecht University
51 -University of Zurich
52 -University of Munich
53 -Vanderbilt University
54 -Rutgers, The State University of New-Jersey -New Brunswick
54 -The University of Edinburgh
56 -Technical University Munich
56 -University of Pittsburgh
58 -Carnegie Mellon University
59 -The Australian National University
59-The Ohio State University -Columbus
61 -McGill University
62 -University of Melbourne
63 -King's College London
63-University of Heidelberg
65 -Brown University
66 -University of Bristol
66-Uppsala University
68 -University of Florida
69 -Purdue University -West Lafayette
70 -Leiden University
71 -Ecole Normale Supérieure -Paris
72 -The Hebrew University of Jerusalem
72 -University of Helsinki
74 -Moscow State university
75 -Osaka University
75 -University of Oslo
77 -Boston University
78 -University of Arizona
79 -Stockholm University
79 -Nagoya University
81 -Arizona State University -Tempe
82 -University of Rochester
82 -University of Utah
84 -Tohoku University
84 -University of Nottingham
86 -Michigan State University
86 -University of Basel
88 -McMaster University
88 -The University of Sheffield
90-Ghent University
90-Indiana University Bloomington
92 -University of Sidney
93 -University of Bonn
93 -University of Goettingen
95 -Texas A&M University -College Station
96 -University of Virginia
97 -Case Western Reserve University
98 -University of Aarhus
99 -Rice University
99 -University of Birmingham
1 -Harvard University
2 -University of California, Berkeley
3 -Stanford University
4 -Massachusetts Institute of Technology
5 -University of Cambridge
6 -California Institute of Technology
7 -Princeton University
8 -Columbia University
9 -University of Chicago
10 -University of Oxford
11 -Yale University
12 -Cornell University
13 -University of California, Los Angeles
14 -University of California, San Diego
15 -University of Pennsylvania
16 -University of Washington
17 -University of Wisconsin, Madison
18 -The Johns Hopkins University
18 -University of California, San Francisco
20 -The University of Tokyo
21 -University College London
22 -University of Michigan, Ann Arbor
23 -Swiss Federal Institute of Technology Zurich
24 -Kyoto University
25 -University of illinois at Urbana-Champaign
26 -The Imperial College of Science, technology and Medecine
27 -University of Toronto
28 -University of Minnesota, Twin Cities
29 -Northwestern Uniersity in Saint Louis
30 -Washington University in Saint Louis
31 -New York University
32 -University of California, Santa Barbara
32 -University of Colorado at Boulder
34 -Rockfeller University
35 -Duke University
36 -University of British Columbia
36 -University of Maryland, College Park
38 -The University of Texas at Austin
39 -Pierre and Marie Curie University -Paris 6
40 -University of Copenhagen
41 -University of North Carolina at Chapel Hill
42 -Karolina Institute
43 -Pennsylvania State University -University Park
44 -The University of Manchester
45 -University of Paris Sud -Paris 11
46 -University of California, David
46 -University of California, Irvine
46 -University of Southern California
49 -The University of Texas Southwestern Medical Center at Dallas
50 -Utrecht University
51 -University of Zurich
52 -University of Munich
53 -Vanderbilt University
54 -Rutgers, The State University of New-Jersey -New Brunswick
54 -The University of Edinburgh
56 -Technical University Munich
56 -University of Pittsburgh
58 -Carnegie Mellon University
59 -The Australian National University
59-The Ohio State University -Columbus
61 -McGill University
62 -University of Melbourne
63 -King's College London
63-University of Heidelberg
65 -Brown University
66 -University of Bristol
66-Uppsala University
68 -University of Florida
69 -Purdue University -West Lafayette
70 -Leiden University
71 -Ecole Normale Supérieure -Paris
72 -The Hebrew University of Jerusalem
72 -University of Helsinki
74 -Moscow State university
75 -Osaka University
75 -University of Oslo
77 -Boston University
78 -University of Arizona
79 -Stockholm University
79 -Nagoya University
81 -Arizona State University -Tempe
82 -University of Rochester
82 -University of Utah
84 -Tohoku University
84 -University of Nottingham
86 -Michigan State University
86 -University of Basel
88 -McMaster University
88 -The University of Sheffield
90-Ghent University
90-Indiana University Bloomington
92 -University of Sidney
93 -University of Bonn
93 -University of Goettingen
95 -Texas A&M University -College Station
96 -University of Virginia
97 -Case Western Reserve University
98 -University of Aarhus
99 -Rice University
99 -University of Birmingham
marți, 15 februarie 2011
luni, 14 februarie 2011
...
;)) Am sosie. Cel puţin una:
"Ghita mi se pare mie sau azi(dimineata) te-am vazut printr-o loc gorjeana?S-ar putea sa nu fie asa dar cel din masina mi sa parut ca esti tu si desi nu eram prea sigur cand m-am uitat la numar era de Bihor" scrie pe forum un utilizator al site-ului Desenez.net.
Nu eram eu.
Vânzare site-uri
Am ajuns la concluzia că un site începe să merite vândut, în momentul în care începe să merite păstrat.
Totuşi, dacă vreţi să cumpăraţi www.desenez.net contactaţi-mă.
Desenez.net a ajuns la peste 800 de vizitatori pe zi, peste 500 de desenatori, peste 4000 de desene.
Mă puteţi contacta la ghita_bizau[at]yahoo[punct]com.
duminică, 13 februarie 2011
Problemă curs de administrator de rețea eadmin.cpi.ro
Semnalez o problema a platformei educationale http://eadmin.cpi.ro/
La testele de antrenament ale cursului
Dezvoltarea resurselor umane în educaţie pentru administrarea reţelelor de calculatoare din scolile româneşti prin dezvoltarea şi susţinerea de programe care să sprijine noi profesii în educaţie, în contextul procesului de reconversie a profesorilor şi atingerea masei critice de stabilizare a acestora în şcoli, precum şi orientarea lor către domenii cerute pe piaţa muncii
se poate obţine uşor punctaj maxim. Vezi imaginea:
Cum se procedează?
1. Dai "Finalizare test" fără a bifa vreun răspuns.
2. Copiezi pe o foaie răspunsurile corecte oferite după finalizare.
3. Dai "Back", introduci răspunsurile corecte în formular.
4. Dai "Finalizare test" obținând punctaj maxim.
Spor!
La testele de antrenament ale cursului
Dezvoltarea resurselor umane în educaţie pentru administrarea reţelelor de calculatoare din scolile româneşti prin dezvoltarea şi susţinerea de programe care să sprijine noi profesii în educaţie, în contextul procesului de reconversie a profesorilor şi atingerea masei critice de stabilizare a acestora în şcoli, precum şi orientarea lor către domenii cerute pe piaţa muncii
se poate obţine uşor punctaj maxim. Vezi imaginea:
Cum se procedează?
1. Dai "Finalizare test" fără a bifa vreun răspuns.
2. Copiezi pe o foaie răspunsurile corecte oferite după finalizare.
3. Dai "Back", introduci răspunsurile corecte în formular.
4. Dai "Finalizare test" obținând punctaj maxim.
Spor!
vineri, 11 februarie 2011
miercuri, 9 februarie 2011
Internet Explorer şi discriminarea browser-elor
Întâmplător am găsit pe un site (serios): HURRY and join before this offer closes!!! (This form works ONLY in Internet Explorer, and NOT in other web browsers. If you get an error message, use Internet Explorer to join)
Asta vrea să convingă utilizatorul că IE e cel mai bun browser? Sau ce? :)
Asta vrea să convingă utilizatorul că IE e cel mai bun browser? Sau ce? :)
marți, 8 februarie 2011
luni, 7 februarie 2011
duminică, 6 februarie 2011
vineri, 4 februarie 2011
Psalmul 100
Strigaţi de bucurie către Domnul, toţi locuitorii pământului!
Slujiţi Domnului cu bucurie, veniţi cu veselie înaintea Lui.
Să ştiţi că Domnul este Dumnezeu! El ne-a făcut, ai Lui suntem:
noi suntem poporul Lui şi turma păşunei Lui.
Intraţi cu laude pe porţile Lui, intraţi cu cântări în curţile Lui!
Lăudaţi-L şi binecuvântaţi-I Numele.
Căci Domnul este bun; bunătatea Lui ţine în veci,
şi credincioşia Lui din neam în neam.
Slujiţi Domnului cu bucurie, veniţi cu veselie înaintea Lui.
Să ştiţi că Domnul este Dumnezeu! El ne-a făcut, ai Lui suntem:
noi suntem poporul Lui şi turma păşunei Lui.
Intraţi cu laude pe porţile Lui, intraţi cu cântări în curţile Lui!
Lăudaţi-L şi binecuvântaţi-I Numele.
Căci Domnul este bun; bunătatea Lui ţine în veci,
şi credincioşia Lui din neam în neam.
joi, 3 februarie 2011
30 atestate informatică Pascal gratuite
Azi am publicat cele vreo 30 de atestate care le-am făcut în perioada 2005-2006, când eram elev clasele XI-XII. Le găsiţi făcând click pe link-ul următor:
Lista cu atestate gratuite informatică Pascal
Publicându-le aici le declar GRATUITE şi pot fi folosite şi modificate oricând şi oricum. Sper să vă fie de ajutor! :)
[P.S. Unele atestate au şi fişiere text suplimentare. Vi le pot oferi la cerere, deşi nu e mare lucru să le creaţi voi.]
Concluzia mea în urma acestui volum destul de mare de muncă e că mi-a prins foarte bine. E important pentru cei care învaţă informatică să exerseze programarea, iar a programa diferite jocuri e binevenit fiindcă apar provocări care de obicei la orele de informatică nu-s atinse prea mult... de exemplu: un joc are nevoie şi de un pic de grafică, e nevoie de creativitate, plus că e plăcut a face câte un astfel de proiect. Atestatele care vi le prezint au fost cumpărate la vremea respectivă cu aproximativ 40-50 lei bucata... mi-a prins bine, deci.
Dacă eşti clasa a XII-a şi vrei să dai atestatul recomandarea mea e să încerci să-ţi faci propriul proiect, să munceşti singur, chiar dacă te inspiri din alte proiecte. Contează mult să ştii ce face fiecare părticică din programul tău. Poţi folosi, deci, ca inspiraţie şi materialul publicat de mine.
Momentan lucrez prof de informatică. Dacă credeţi că vă pot fi de folos puteţi să mă contactaţi la adresa ghita_bizau[at]yahoo[dot]com.
Numai bine!
Lista cu atestate gratuite informatică Pascal
Publicându-le aici le declar GRATUITE şi pot fi folosite şi modificate oricând şi oricum. Sper să vă fie de ajutor! :)
[P.S. Unele atestate au şi fişiere text suplimentare. Vi le pot oferi la cerere, deşi nu e mare lucru să le creaţi voi.]
Concluzia mea în urma acestui volum destul de mare de muncă e că mi-a prins foarte bine. E important pentru cei care învaţă informatică să exerseze programarea, iar a programa diferite jocuri e binevenit fiindcă apar provocări care de obicei la orele de informatică nu-s atinse prea mult... de exemplu: un joc are nevoie şi de un pic de grafică, e nevoie de creativitate, plus că e plăcut a face câte un astfel de proiect. Atestatele care vi le prezint au fost cumpărate la vremea respectivă cu aproximativ 40-50 lei bucata... mi-a prins bine, deci.
Dacă eşti clasa a XII-a şi vrei să dai atestatul recomandarea mea e să încerci să-ţi faci propriul proiect, să munceşti singur, chiar dacă te inspiri din alte proiecte. Contează mult să ştii ce face fiecare părticică din programul tău. Poţi folosi, deci, ca inspiraţie şi materialul publicat de mine.
Momentan lucrez prof de informatică. Dacă credeţi că vă pot fi de folos puteţi să mă contactaţi la adresa ghita_bizau[at]yahoo[dot]com.
Numai bine!
Turnurile din Hanoi - atestat informatică Pascal
{---------------------------------------------------------------------------}
{ 2006 \\ CNSV \\ XII B \\ MARCHIS ALEXANDRA \\ HANOI \\ 698 lines }
{---------------------------------------------------------------------------}
uses Graph,crt;{foloseste graph si crt}
var{lista variabile globale}
grDriver: Integer;
grMode: Integer;
ErrCode,i,j,x,y: Integer;
c: char;
nivel_joc: integer;
a: array[0..10,0..10] of integer;
iesire_joc: boolean;
tija_sel,tij_sel2,iii,mar: integer;
{deseneaza disc folosit in meniu}
procedure disc(x,y,k: integer);
begin
setcolor(k);
line(320+x,220+y,315+x,220+y);
line(315+x,220+y,290+x,225+y);
line(290+x,225+y,280+x,235+y);
line(280+x,235+y,290+x,245+y);
line(290+x,245+y,310+x,250+y);
line(310+x,250+y,345+x,250+y);
line(345+x,250+y,365+x,240+y);
line(365+x,240+y,370+x,230+y);
line(370+x,230+y,355+x,225+y);
line(355+x,225+y,335+x,220+y);
line(335+x,220+y,320+x,220+y);
line(320+x,230+y,330+x,230+y);
line(330+x,230+y,340+x,235+y);
line(340+x,235+y,330+x,240+y);
line(330+x,240+y,310+x,235+y);
line(310+x,235+y,320+x,230+y);
end;
{deseneaza fond}
procedure fond;
begin
cleardevice;{curata ecran}
setbkcolor(0);{seteaza cul fond}
for i:=1 to 1000 do putpixel(random(640),random(480),random(16));{pune puncte}
setfillstyle(1,8);{stil hasurare}
setlinestyle(0,0,3);{stil linii}
bar(0,470,640,480);{dreptunghi hasurat}
bar(400,460,640,480);{dreptunghi hasurat}
setcolor(11);{seteaza cul}
{///deseneaza hanoi}
line(5,470,75,465);
line(75,465,265,475);
line(265,475,355,475);
line(355,475,420,460);
line(420,460,540,465);
line(540,465,610,465);
setcolor(7);
line(155,475,155,440);
line(155,440,145,440);
line(145,440,145,475);
line(145,475,155,475);
line(155,470,145,470);
line(145,465,155,465);
line(155,460,145,460);
line(145,455,155,455);
line(155,450,145,450);
line(145,445,155,445);
line(150,475,150,440);
line(135,475,135,455);
line(135,455,130,455);
line(130,455,130,475);
line(130,475,135,475);
line(132,475,132,457);
line(168,478,168,460);
line(168,460,171,460);
line(171,460,171,478);
line(171,478,168,478);
line(123,478,132,478);
line(147,478,165,478);
line(165,481,195,481);
line(195,478,186,478);
setcolor(9);
line(105,448,96,445);
line(96,445,78,445);
line(78,445,69,448);
line(69,448,81,451);
line(81,451,105,448);
line(171,448,189,451);
line(189,451,216,451);
line(216,451,231,448);
line(231,445,216,445);
line(198,445,171,445);
line(183,439,210,439);
end;
{realizeaza introducerea la program fiind prima procedura apelata de program}
procedure introducere;
begin
fond;
{///text "Turnurile din Hanoi"}
setcolor(12);
settextstyle(0,0,3);
outtextxy(120,150,'Turnurile din');
settextstyle(0,0,10);
outtextxy(100,200,'Hanoi');
setcolor(14);
settextstyle(0,0,3);
outtextxy(122,152,'Turnurile din');
settextstyle(0,0,10);
outtextxy(105,205,'Hanoi');
readkey;
end;
{deseneaza sageata folosita la selectarea discurilor}
procedure sageata(x,y,cul: integer);
begin
setcolor(cul);
setlinestyle(0,0,3);
line(310+x,240+y,330+x,240+y);
line(330+x,240+y,330+x,255+y);
line(330+x,255+y,340+x,255+y);
line(340+x,255+y,320+x,275+y);
line(320+x,275+y,300+x,255+y);
line(300+x,255+y,310+x,255+y);
line(310+x,255+y,310+x,240+y);
end;
{meniul de selectare discuri}
procedure selectare_nivel;
var c1: char;
dsc: integer;
begin
setfillstyle(0,0);
bar(100,100,500,400);
settextstyle(0,0,3);
setcolor(12);
for i:=-1 to 1 do
for j:=-1 to 1 do
outtextxy(125+i,105+j,'Selectare nivel');
setcolor(4);
outtextxy(125,105,'Selectare nivel');
setcolor(7);
settextstyle(0,0,2);
outtextxy(150,150,'2 d i s c u r i');
outtextxy(150,170,'3 d i s c u r i');
outtextxy(150,190,'4 d i s c u r i');
outtextxy(150,210,'5 d i s c u r i');
outtextxy(150,230,'6 d i s c u r i');
outtextxy(150,250,'7 d i s c u r i');
outtextxy(150,270,'8 d i s c u r i');
outtextxy(150,290,'9 d i s c u r i');
dsc:=1;
repeat
if dsc=1 then begin
setcolor(10);
outtextxy(150,150,'2 d i s c u r i');
setcolor(7);
outtextxy(150,170,'3 d i s c u r i');
outtextxy(150,290,'9 d i s c u r i');
end;
if dsc=2 then begin
setcolor(2);
outtextxy(150,170,'3 d i s c u r i');
setcolor(7);
outtextxy(150,150,'2 d i s c u r i');
outtextxy(150,190,'4 d i s c u r i');
end;
if dsc=3 then begin
setcolor(1);
outtextxy(150,190,'4 d i s c u r i');
setcolor(7);
outtextxy(150,170,'3 d i s c u r i');
outtextxy(150,210,'5 d i s c u r i');
end;
if dsc=4 then begin
setcolor(9);
outtextxy(150,210,'5 d i s c u r i');
setcolor(7);
outtextxy(150,190,'4 d i s c u r i');
outtextxy(150,230,'6 d i s c u r i');
end;
if dsc=5 then begin
setcolor(11);
outtextxy(150,230,'6 d i s c u r i');
setcolor(7);
outtextxy(150,210,'5 d i s c u r i');
outtextxy(150,250,'7 d i s c u r i');
end;
if dsc=6 then begin
setcolor(14);
outtextxy(150,250,'7 d i s c u r i');
setcolor(7);
outtextxy(150,230,'6 d i s c u r i');
outtextxy(150,270,'8 d i s c u r i');
end;
if dsc=7 then begin
setcolor(13);
outtextxy(150,270,'8 d i s c u r i');
setcolor(7);
outtextxy(150,250,'7 d i s c u r i');
outtextxy(150,290,'9 d i s c u r i');
end;
if dsc=8 then begin
setcolor(12);
outtextxy(150,290,'9 d i s c u r i');
setcolor(7);
outtextxy(150,150,'2 d i s c u r i');
outtextxy(150,270,'8 d i s c u r i');
end;
c1:=readkey;
if c1=#80 then dsc:=dsc+1;
if c1=#72 then dsc:=dsc-1;
if dsc>8 then dsc:=1;
if dsc<1 then dsc:=8; until c1=#13; nivel_joc:=dsc+1; setfillstyle(0,0); bar(100,100,500,400); end; {initializeaza matricea folosita de algoritm} procedure initializare; var niv:integer; begin {init cu 0} for i:=1 to 9 do for j:=1 to 3 do a[i,j]:=0; {pune discuri} niv:=nivel_joc; for i:=9 downto 1 do begin a[i,1]:=niv; niv:=niv-1; end; {verificare} for i:=1 to 9 do for j:=1 to 3 do if a[i,j]<0 then a[i,j]:=0; end; {pune disc in functie de locul, marimea si culoarea dorite} procedure pune_disc(i,j,val,cul: integer); begin setfillstyle(1,cul); if j=1 then x:=125; if j=2 then x:=315; if j=3 then x:=505; bar(x-(20*val)div 2,i*30+150,x+(20*val)div 2,i*30+10+150); end; {deseneaza tijele pentru joc} procedure desenare_tije; begin setlinestyle(0,0,3); setcolor(14); line(125,100,125,440); line(315,100,315,440); line(505,100,505,440); setfillstyle(1,14); bar(120,440,130,450); bar(310,440,320,450); bar(500,440,510,450); end; {deseneaza discurile} procedure desenare_discuri; begin for i:=1 to 9 do for j:=1 to 3 do if a[i,j]<>0 then pune_disc(i,j,a[i,j],12);
end;
{returneaza "true" cand scopul jocului a fost atins}
function gata : boolean;
begin
gata:=false;
if ((a[9,1]=0)and(a[9,2]=0)) or ((a[9,3]=0)and(a[9,1]=0)) then gata:=true;
end;
{meniul de selectare tija}
procedure sel_tija;
var ccc: char;
ti: integer;
begin
ti:=tija_sel;
repeat
if ti=1 then begin
sageata(-195,-191,12);
sageata(-195+190,-191,8);
sageata(-195+380,-191,8);
end;
if ti=2 then begin
sageata(-195,-191,8);
sageata(-195+190,-191,12);
sageata(-195+380,-191,8);
end;
if ti=3 then begin
sageata(-195,-191,8);
sageata(-195+190,-191,8);
sageata(-195+380,-191,12);
end;
ccc:=readkey;
if ccc=#77 then ti:=ti+1;
if ccc=#75 then ti:=ti-1;
if ti>3 then ti:=1;
if ti<1 then ti:=3; until (ccc=#13)or(ccc=#27); if ccc=#27 then iesire_joc:=true; tija_sel:=ti; end; {ia disc} procedure ia_disc(x: integer); begin i:=0; j:=x; repeat i:=i+1; until a[i,j]<>0;
iii:=i;
mar:=a[i,j];
pune_disc(iii,tija_sel,a[i,j],5);
end;
{muta disc}
procedure muta_disc(x: integer);
var dim: integer;
begin
dim:=10;
for i:=1 to 9 do if (a[i,x]0) then dim:=a[i,x];
if dim=10 then
begin
a[iii,tij_sel2]:=0;
pune_disc(9,tija_sel,mar,12);
a[9,tija_sel]:=mar;
end
else
if dim>mar then
begin
i:=9;
repeat
i:=i-1;
until a[i,tija_sel]=0;
a[iii,tij_sel2]:=0;
pune_disc(i,tija_sel,mar,12);
a[i,tija_sel]:=mar;
end;
end;
{joc}
procedure joc;
var d:integer;
disc_luat: boolean;
begin
{desenare background}
cleardevice;
setbkcolor(0);
setcolor(12);
setlinestyle(0,0,3);
line(35,15,45,25);
line(45,25,605,15);
line(605,15,605,45);
line(605,45,625,60);
line(625,60,625,385);
line(625,385,615,405);
line(615,405,615,455);
line(615,455,565,455);
line(565,455,430,470);
line(430,470,20,470);
line(20,470,20,420);
line(20,420,10,395);
line(10,395,10,70);
line(10,70,35,15);
setfillstyle(1,14);
floodfill(1,1,12);
settextstyle(0,0,4);
setcolor(12);
for x:=-1 to 1 do
for y:=-1 to 1 do
outtextxy(10+x,5+y,'Turnurile din Hanoi');
setcolor(4);
outtextxy(10,5,'Turnurile din Hanoi');
{joc}
{pasul 1: se alege un nivel de la 2 la 9}
selectare_nivel;
{pasul 2: se initializeaza matricea in functie de nivel}
initializare;
{pasul 3: se deseneaza tijele}
desenare_tije;
{pasul 4: incepe jocul}
tija_sel:=1;
disc_luat:=false;
repeat
setfillstyle(1,0);
bar(30,50,600,450);
desenare_tije;
desenare_discuri;
sel_tija;
if a[9,tija_sel]<>0 then
begin
ia_disc(tija_sel);
disc_luat:=true;
end;
tij_sel2:=tija_sel;
if disc_luat then
begin
sel_tija;
muta_disc(tija_sel);
disc_luat:=false;
end;
{pasul 5: jocul se termina prin iesire fortzata (ESC) sau normal
prin terminarea jocului}
until gata or iesire_joc;
{pasul 6: afisare rezultat}
if gata then
begin
end;
end;
procedure ajutor;
begin
fond;
setcolor(9);
settextstyle(0,0,4);
outtextxy(100,100,'Ajutor');
settextstyle(0,0,2);
outtextxy(20,200,'Scopul jocului este de a muta dicurile');
outtextxy(20,250,'de pe prima tija pe a 2-a sau pe a 3-a');
outtextxy(20,300,'folosind tastele directionale si ENTER.');
readkey;
end;
procedure despre;
begin
fond;
setcolor(9);
settextstyle(0,0,4);
outtextxy(100,100,'Despre');
settextstyle(0,0,2);
outtextxy(20,200,'Programul a fost realizat de catre');
outtextxy(20,250,'eleva Marchis Alexandra clasa XII B');
outtextxy(20,300,'de la Colegiul National Samuil Vulcan');
readkey;
end;
procedure meniu;
begin
cleardevice;
setbkcolor(0);
setlinestyle(0,0,3);
for i:=1 to 1000 do putpixel(random(640),random(480),random(16));{pune puncte}
setcolor(12);
line(295,415,315,90);
line(315,90,325,90);
line(325,90,350,415);
line(350,415,345,420);
line(345,420,320,425);
line(320,425,300,420);
line(300,420,295,415);
line(305,410,310,325);
line(335,360,325,185);
line(315,240,320,95);
line(295,400,270,400);
line(270,400,260,410);
line(260,410,270,440);
line(270,440,285,450);
line(285,450,370,450);
line(370,450,380,435);
line(380,435,365,415);
line(365,415,355,405);
line(345,405,340,390);
line(155,75,185,80);
line(185,80,220,80);
line(220,80,225,55);
line(225,55,200,40);
line(200,40,160,40);
line(160,50,160,40);
line(160,50,190,55);
line(155,75,155,45);
line(155,40,160,40);
line(210,55,205,75);
line(200,65,215,65);
line(160,85,155,85);
line(155,85,155,90);
line(155,90,160,105);
line(205,100,215,115);
line(215,115,205,115);
line(200,90,195,95);
line(210,90,215,95);
line(205,120,200,125);
line(200,125,205,150);
line(205,150,210,150);
line(210,150,215,130);
line(215,130,210,120);
line(165,95,160,110);
line(160,110,165,135);
line(165,135,205,155);
line(160,140,120,120);
line(120,120,110,60);
line(110,60,100,85);
line(100,85,75,85);
line(75,85,85,65);
line(85,65,105,60);
line(75,85,120,170);
line(120,170,170,170);
line(155,170,140,360);
line(140,360,195,375);
line(195,375,250,365);
line(250,365,235,170);
line(215,150,290,140);
line(235,185,305,180);
line(290,140,310,135);
line(215,185,215,205);
line(215,205,205,205);
line(205,205,205,220);
line(205,220,215,215);
line(215,215,215,260);
line(215,260,225,260);
line(225,260,220,215);
line(220,215,225,210);
line(225,210,225,205);
line(225,205,220,205);
line(220,205,220,185);
line(220,185,215,185);
line(145,345,190,355);
line(190,355,225,355);
line(225,355,245,345);
line(170,370,170,385);
line(170,385,165,395);
line(165,395,180,400);
line(180,400,210,400);
line(210,400,190,390);
line(190,390,190,375);
line(215,375,215,395);
line(215,395,235,400);
line(235,400,250,400);
line(250,400,250,395);
line(250,395,235,385);
line(235,385,235,370);
line(155,410,185,425);
line(255,415,185,425);
line(185,425,185,455);
line(100,70,100,45);
line(95,70,90,45);
line(90,45,95,35);
line(90,75,80,55);
line(80,55,80,45);
line(85,80,65,75);
line(85,75,75,65);
line(75,65,70,60);
line(400,395,400,405);
line(400,405,420,410);
line(420,410,435,410);
line(435,410,440,405);
line(440,405,420,155);
line(420,155,410,155);
line(410,155,400,395);
line(410,395,415,330);
line(450,365,460,370);
line(460,370,470,365);
line(470,365,460,230);
line(460,230,455,230);
line(455,230,450,365);
line(460,365,460,280);
setcolor(14);
line(210,260,210,225);
line(210,200,210,190);
line(175,150,210,185);
line(215,155,215,180);
line(175,390,180,395);
line(300,395,320,100);
line(415,160,405,400);
line(455,360,460,230);
line(435,245,460,250);
line(485,245,460,250);
line(485,245,460,240);
line(460,240,435,245);
line(430,265,440,270);
line(440,270,475,270);
line(475,270,495,265);
line(495,265,470,260);
line(470,260,465,260);
line(450,260,430,265);
line(430,295,470,300);
line(470,300,495,295);
line(495,295,465,290);
line(450,290,430,290);
line(435,315,455,320);
line(455,320,505,315);
line(505,315,470,310);
line(450,310,435,310);
line(435,350,480,350);
line(480,350,510,345);
line(510,345,470,340);
line(450,340,435,340);
settextstyle(0,0,3);
setcolor(4);
for x:=-2 to 2 do
for y:=-2 to 2 do
begin
outtextxy(285+x,100+y,'Joc');
outtextxy(250+x,180+y,'Despre');
outtextxy(250+x,270+y,'Ajutor');
outtextxy(250+x,350+y,'Iesire');
end;
setcolor(12);
outtextxy(285,100,'Joc');
outtextxy(250,180,'Despre');
outtextxy(250,270,'Ajutor');
outtextxy(250,350,'Iesire');
x:=1;
repeat
if x=1 then begin
setcolor(14);
outtextxy(285,100,'Joc');
setcolor(12);
outtextxy(250,180,'Despre');
outtextxy(250,270,'Ajutor');
outtextxy(250,350,'Iesire');
disc(-244,0,14);
disc(-244,50,0);
disc(-244,100,0);
disc(-244,150,0);
end;
if x=2 then begin
setcolor(14);
outtextxy(250,180,'Despre');
setcolor(12);
outtextxy(285,100,'Joc');
outtextxy(250,270,'Ajutor');
outtextxy(250,350,'Iesire');
disc(-244,0,0);
disc(-244,50,14);
disc(-244,100,0);
disc(-244,150,0);
end;
if x=3 then begin
setcolor(14);
outtextxy(250,270,'Ajutor');
setcolor(12);
outtextxy(285,100,'Joc');
outtextxy(250,180,'Despre');
outtextxy(250,350,'Iesire');
disc(-244,0,0);
disc(-244,50,0);
disc(-244,100,14);
disc(-244,150,0);
end;
if x=4 then begin
setcolor(14);
outtextxy(250,350,'Iesire');
setcolor(12);
outtextxy(285,100,'Joc');
outtextxy(250,180,'Despre');
outtextxy(250,270,'Ajutor');
disc(-244,0,0);
disc(-244,50,0);
disc(-244,100,0);
disc(-244,150,14);
end;
c:=readkey;
if c=#72 then x:=x-1;
if c=#80 then x:=x+1;
if x>4 then x:=1;
if x<1 then x:=4;
until c=#13;
if x=1 then begin
joc;
meniu;
end;
if x=2 then begin
despre;
meniu;
end;
if x=3 then begin
ajutor;
meniu;
end;
end;
begin
grDriver := Detect;
InitGraph(grDriver, grMode,' ');
ErrCode := GraphResult;
if ErrCode = grOk then
begin { Do graphics }
introducere;
meniu;
CloseGraph;
end
else
Writeln('Graphics error:', GraphErrorMsg(ErrCode));
end.
{ 2006 \\ CNSV \\ XII B \\ MARCHIS ALEXANDRA \\ HANOI \\ 698 lines }
{---------------------------------------------------------------------------}
uses Graph,crt;{foloseste graph si crt}
var{lista variabile globale}
grDriver: Integer;
grMode: Integer;
ErrCode,i,j,x,y: Integer;
c: char;
nivel_joc: integer;
a: array[0..10,0..10] of integer;
iesire_joc: boolean;
tija_sel,tij_sel2,iii,mar: integer;
{deseneaza disc folosit in meniu}
procedure disc(x,y,k: integer);
begin
setcolor(k);
line(320+x,220+y,315+x,220+y);
line(315+x,220+y,290+x,225+y);
line(290+x,225+y,280+x,235+y);
line(280+x,235+y,290+x,245+y);
line(290+x,245+y,310+x,250+y);
line(310+x,250+y,345+x,250+y);
line(345+x,250+y,365+x,240+y);
line(365+x,240+y,370+x,230+y);
line(370+x,230+y,355+x,225+y);
line(355+x,225+y,335+x,220+y);
line(335+x,220+y,320+x,220+y);
line(320+x,230+y,330+x,230+y);
line(330+x,230+y,340+x,235+y);
line(340+x,235+y,330+x,240+y);
line(330+x,240+y,310+x,235+y);
line(310+x,235+y,320+x,230+y);
end;
{deseneaza fond}
procedure fond;
begin
cleardevice;{curata ecran}
setbkcolor(0);{seteaza cul fond}
for i:=1 to 1000 do putpixel(random(640),random(480),random(16));{pune puncte}
setfillstyle(1,8);{stil hasurare}
setlinestyle(0,0,3);{stil linii}
bar(0,470,640,480);{dreptunghi hasurat}
bar(400,460,640,480);{dreptunghi hasurat}
setcolor(11);{seteaza cul}
{///deseneaza hanoi}
line(5,470,75,465);
line(75,465,265,475);
line(265,475,355,475);
line(355,475,420,460);
line(420,460,540,465);
line(540,465,610,465);
setcolor(7);
line(155,475,155,440);
line(155,440,145,440);
line(145,440,145,475);
line(145,475,155,475);
line(155,470,145,470);
line(145,465,155,465);
line(155,460,145,460);
line(145,455,155,455);
line(155,450,145,450);
line(145,445,155,445);
line(150,475,150,440);
line(135,475,135,455);
line(135,455,130,455);
line(130,455,130,475);
line(130,475,135,475);
line(132,475,132,457);
line(168,478,168,460);
line(168,460,171,460);
line(171,460,171,478);
line(171,478,168,478);
line(123,478,132,478);
line(147,478,165,478);
line(165,481,195,481);
line(195,478,186,478);
setcolor(9);
line(105,448,96,445);
line(96,445,78,445);
line(78,445,69,448);
line(69,448,81,451);
line(81,451,105,448);
line(171,448,189,451);
line(189,451,216,451);
line(216,451,231,448);
line(231,445,216,445);
line(198,445,171,445);
line(183,439,210,439);
end;
{realizeaza introducerea la program fiind prima procedura apelata de program}
procedure introducere;
begin
fond;
{///text "Turnurile din Hanoi"}
setcolor(12);
settextstyle(0,0,3);
outtextxy(120,150,'Turnurile din');
settextstyle(0,0,10);
outtextxy(100,200,'Hanoi');
setcolor(14);
settextstyle(0,0,3);
outtextxy(122,152,'Turnurile din');
settextstyle(0,0,10);
outtextxy(105,205,'Hanoi');
readkey;
end;
{deseneaza sageata folosita la selectarea discurilor}
procedure sageata(x,y,cul: integer);
begin
setcolor(cul);
setlinestyle(0,0,3);
line(310+x,240+y,330+x,240+y);
line(330+x,240+y,330+x,255+y);
line(330+x,255+y,340+x,255+y);
line(340+x,255+y,320+x,275+y);
line(320+x,275+y,300+x,255+y);
line(300+x,255+y,310+x,255+y);
line(310+x,255+y,310+x,240+y);
end;
{meniul de selectare discuri}
procedure selectare_nivel;
var c1: char;
dsc: integer;
begin
setfillstyle(0,0);
bar(100,100,500,400);
settextstyle(0,0,3);
setcolor(12);
for i:=-1 to 1 do
for j:=-1 to 1 do
outtextxy(125+i,105+j,'Selectare nivel');
setcolor(4);
outtextxy(125,105,'Selectare nivel');
setcolor(7);
settextstyle(0,0,2);
outtextxy(150,150,'2 d i s c u r i');
outtextxy(150,170,'3 d i s c u r i');
outtextxy(150,190,'4 d i s c u r i');
outtextxy(150,210,'5 d i s c u r i');
outtextxy(150,230,'6 d i s c u r i');
outtextxy(150,250,'7 d i s c u r i');
outtextxy(150,270,'8 d i s c u r i');
outtextxy(150,290,'9 d i s c u r i');
dsc:=1;
repeat
if dsc=1 then begin
setcolor(10);
outtextxy(150,150,'2 d i s c u r i');
setcolor(7);
outtextxy(150,170,'3 d i s c u r i');
outtextxy(150,290,'9 d i s c u r i');
end;
if dsc=2 then begin
setcolor(2);
outtextxy(150,170,'3 d i s c u r i');
setcolor(7);
outtextxy(150,150,'2 d i s c u r i');
outtextxy(150,190,'4 d i s c u r i');
end;
if dsc=3 then begin
setcolor(1);
outtextxy(150,190,'4 d i s c u r i');
setcolor(7);
outtextxy(150,170,'3 d i s c u r i');
outtextxy(150,210,'5 d i s c u r i');
end;
if dsc=4 then begin
setcolor(9);
outtextxy(150,210,'5 d i s c u r i');
setcolor(7);
outtextxy(150,190,'4 d i s c u r i');
outtextxy(150,230,'6 d i s c u r i');
end;
if dsc=5 then begin
setcolor(11);
outtextxy(150,230,'6 d i s c u r i');
setcolor(7);
outtextxy(150,210,'5 d i s c u r i');
outtextxy(150,250,'7 d i s c u r i');
end;
if dsc=6 then begin
setcolor(14);
outtextxy(150,250,'7 d i s c u r i');
setcolor(7);
outtextxy(150,230,'6 d i s c u r i');
outtextxy(150,270,'8 d i s c u r i');
end;
if dsc=7 then begin
setcolor(13);
outtextxy(150,270,'8 d i s c u r i');
setcolor(7);
outtextxy(150,250,'7 d i s c u r i');
outtextxy(150,290,'9 d i s c u r i');
end;
if dsc=8 then begin
setcolor(12);
outtextxy(150,290,'9 d i s c u r i');
setcolor(7);
outtextxy(150,150,'2 d i s c u r i');
outtextxy(150,270,'8 d i s c u r i');
end;
c1:=readkey;
if c1=#80 then dsc:=dsc+1;
if c1=#72 then dsc:=dsc-1;
if dsc>8 then dsc:=1;
if dsc<1 then dsc:=8; until c1=#13; nivel_joc:=dsc+1; setfillstyle(0,0); bar(100,100,500,400); end; {initializeaza matricea folosita de algoritm} procedure initializare; var niv:integer; begin {init cu 0} for i:=1 to 9 do for j:=1 to 3 do a[i,j]:=0; {pune discuri} niv:=nivel_joc; for i:=9 downto 1 do begin a[i,1]:=niv; niv:=niv-1; end; {verificare} for i:=1 to 9 do for j:=1 to 3 do if a[i,j]<0 then a[i,j]:=0; end; {pune disc in functie de locul, marimea si culoarea dorite} procedure pune_disc(i,j,val,cul: integer); begin setfillstyle(1,cul); if j=1 then x:=125; if j=2 then x:=315; if j=3 then x:=505; bar(x-(20*val)div 2,i*30+150,x+(20*val)div 2,i*30+10+150); end; {deseneaza tijele pentru joc} procedure desenare_tije; begin setlinestyle(0,0,3); setcolor(14); line(125,100,125,440); line(315,100,315,440); line(505,100,505,440); setfillstyle(1,14); bar(120,440,130,450); bar(310,440,320,450); bar(500,440,510,450); end; {deseneaza discurile} procedure desenare_discuri; begin for i:=1 to 9 do for j:=1 to 3 do if a[i,j]<>0 then pune_disc(i,j,a[i,j],12);
end;
{returneaza "true" cand scopul jocului a fost atins}
function gata : boolean;
begin
gata:=false;
if ((a[9,1]=0)and(a[9,2]=0)) or ((a[9,3]=0)and(a[9,1]=0)) then gata:=true;
end;
{meniul de selectare tija}
procedure sel_tija;
var ccc: char;
ti: integer;
begin
ti:=tija_sel;
repeat
if ti=1 then begin
sageata(-195,-191,12);
sageata(-195+190,-191,8);
sageata(-195+380,-191,8);
end;
if ti=2 then begin
sageata(-195,-191,8);
sageata(-195+190,-191,12);
sageata(-195+380,-191,8);
end;
if ti=3 then begin
sageata(-195,-191,8);
sageata(-195+190,-191,8);
sageata(-195+380,-191,12);
end;
ccc:=readkey;
if ccc=#77 then ti:=ti+1;
if ccc=#75 then ti:=ti-1;
if ti>3 then ti:=1;
if ti<1 then ti:=3; until (ccc=#13)or(ccc=#27); if ccc=#27 then iesire_joc:=true; tija_sel:=ti; end; {ia disc} procedure ia_disc(x: integer); begin i:=0; j:=x; repeat i:=i+1; until a[i,j]<>0;
iii:=i;
mar:=a[i,j];
pune_disc(iii,tija_sel,a[i,j],5);
end;
{muta disc}
procedure muta_disc(x: integer);
var dim: integer;
begin
dim:=10;
for i:=1 to 9 do if (a[i,x]
if dim=10 then
begin
a[iii,tij_sel2]:=0;
pune_disc(9,tija_sel,mar,12);
a[9,tija_sel]:=mar;
end
else
if dim>mar then
begin
i:=9;
repeat
i:=i-1;
until a[i,tija_sel]=0;
a[iii,tij_sel2]:=0;
pune_disc(i,tija_sel,mar,12);
a[i,tija_sel]:=mar;
end;
end;
{joc}
procedure joc;
var d:integer;
disc_luat: boolean;
begin
{desenare background}
cleardevice;
setbkcolor(0);
setcolor(12);
setlinestyle(0,0,3);
line(35,15,45,25);
line(45,25,605,15);
line(605,15,605,45);
line(605,45,625,60);
line(625,60,625,385);
line(625,385,615,405);
line(615,405,615,455);
line(615,455,565,455);
line(565,455,430,470);
line(430,470,20,470);
line(20,470,20,420);
line(20,420,10,395);
line(10,395,10,70);
line(10,70,35,15);
setfillstyle(1,14);
floodfill(1,1,12);
settextstyle(0,0,4);
setcolor(12);
for x:=-1 to 1 do
for y:=-1 to 1 do
outtextxy(10+x,5+y,'Turnurile din Hanoi');
setcolor(4);
outtextxy(10,5,'Turnurile din Hanoi');
{joc}
{pasul 1: se alege un nivel de la 2 la 9}
selectare_nivel;
{pasul 2: se initializeaza matricea in functie de nivel}
initializare;
{pasul 3: se deseneaza tijele}
desenare_tije;
{pasul 4: incepe jocul}
tija_sel:=1;
disc_luat:=false;
repeat
setfillstyle(1,0);
bar(30,50,600,450);
desenare_tije;
desenare_discuri;
sel_tija;
if a[9,tija_sel]<>0 then
begin
ia_disc(tija_sel);
disc_luat:=true;
end;
tij_sel2:=tija_sel;
if disc_luat then
begin
sel_tija;
muta_disc(tija_sel);
disc_luat:=false;
end;
{pasul 5: jocul se termina prin iesire fortzata (ESC) sau normal
prin terminarea jocului}
until gata or iesire_joc;
{pasul 6: afisare rezultat}
if gata then
begin
end;
end;
procedure ajutor;
begin
fond;
setcolor(9);
settextstyle(0,0,4);
outtextxy(100,100,'Ajutor');
settextstyle(0,0,2);
outtextxy(20,200,'Scopul jocului este de a muta dicurile');
outtextxy(20,250,'de pe prima tija pe a 2-a sau pe a 3-a');
outtextxy(20,300,'folosind tastele directionale si ENTER.');
readkey;
end;
procedure despre;
begin
fond;
setcolor(9);
settextstyle(0,0,4);
outtextxy(100,100,'Despre');
settextstyle(0,0,2);
outtextxy(20,200,'Programul a fost realizat de catre');
outtextxy(20,250,'eleva Marchis Alexandra clasa XII B');
outtextxy(20,300,'de la Colegiul National Samuil Vulcan');
readkey;
end;
procedure meniu;
begin
cleardevice;
setbkcolor(0);
setlinestyle(0,0,3);
for i:=1 to 1000 do putpixel(random(640),random(480),random(16));{pune puncte}
setcolor(12);
line(295,415,315,90);
line(315,90,325,90);
line(325,90,350,415);
line(350,415,345,420);
line(345,420,320,425);
line(320,425,300,420);
line(300,420,295,415);
line(305,410,310,325);
line(335,360,325,185);
line(315,240,320,95);
line(295,400,270,400);
line(270,400,260,410);
line(260,410,270,440);
line(270,440,285,450);
line(285,450,370,450);
line(370,450,380,435);
line(380,435,365,415);
line(365,415,355,405);
line(345,405,340,390);
line(155,75,185,80);
line(185,80,220,80);
line(220,80,225,55);
line(225,55,200,40);
line(200,40,160,40);
line(160,50,160,40);
line(160,50,190,55);
line(155,75,155,45);
line(155,40,160,40);
line(210,55,205,75);
line(200,65,215,65);
line(160,85,155,85);
line(155,85,155,90);
line(155,90,160,105);
line(205,100,215,115);
line(215,115,205,115);
line(200,90,195,95);
line(210,90,215,95);
line(205,120,200,125);
line(200,125,205,150);
line(205,150,210,150);
line(210,150,215,130);
line(215,130,210,120);
line(165,95,160,110);
line(160,110,165,135);
line(165,135,205,155);
line(160,140,120,120);
line(120,120,110,60);
line(110,60,100,85);
line(100,85,75,85);
line(75,85,85,65);
line(85,65,105,60);
line(75,85,120,170);
line(120,170,170,170);
line(155,170,140,360);
line(140,360,195,375);
line(195,375,250,365);
line(250,365,235,170);
line(215,150,290,140);
line(235,185,305,180);
line(290,140,310,135);
line(215,185,215,205);
line(215,205,205,205);
line(205,205,205,220);
line(205,220,215,215);
line(215,215,215,260);
line(215,260,225,260);
line(225,260,220,215);
line(220,215,225,210);
line(225,210,225,205);
line(225,205,220,205);
line(220,205,220,185);
line(220,185,215,185);
line(145,345,190,355);
line(190,355,225,355);
line(225,355,245,345);
line(170,370,170,385);
line(170,385,165,395);
line(165,395,180,400);
line(180,400,210,400);
line(210,400,190,390);
line(190,390,190,375);
line(215,375,215,395);
line(215,395,235,400);
line(235,400,250,400);
line(250,400,250,395);
line(250,395,235,385);
line(235,385,235,370);
line(155,410,185,425);
line(255,415,185,425);
line(185,425,185,455);
line(100,70,100,45);
line(95,70,90,45);
line(90,45,95,35);
line(90,75,80,55);
line(80,55,80,45);
line(85,80,65,75);
line(85,75,75,65);
line(75,65,70,60);
line(400,395,400,405);
line(400,405,420,410);
line(420,410,435,410);
line(435,410,440,405);
line(440,405,420,155);
line(420,155,410,155);
line(410,155,400,395);
line(410,395,415,330);
line(450,365,460,370);
line(460,370,470,365);
line(470,365,460,230);
line(460,230,455,230);
line(455,230,450,365);
line(460,365,460,280);
setcolor(14);
line(210,260,210,225);
line(210,200,210,190);
line(175,150,210,185);
line(215,155,215,180);
line(175,390,180,395);
line(300,395,320,100);
line(415,160,405,400);
line(455,360,460,230);
line(435,245,460,250);
line(485,245,460,250);
line(485,245,460,240);
line(460,240,435,245);
line(430,265,440,270);
line(440,270,475,270);
line(475,270,495,265);
line(495,265,470,260);
line(470,260,465,260);
line(450,260,430,265);
line(430,295,470,300);
line(470,300,495,295);
line(495,295,465,290);
line(450,290,430,290);
line(435,315,455,320);
line(455,320,505,315);
line(505,315,470,310);
line(450,310,435,310);
line(435,350,480,350);
line(480,350,510,345);
line(510,345,470,340);
line(450,340,435,340);
settextstyle(0,0,3);
setcolor(4);
for x:=-2 to 2 do
for y:=-2 to 2 do
begin
outtextxy(285+x,100+y,'Joc');
outtextxy(250+x,180+y,'Despre');
outtextxy(250+x,270+y,'Ajutor');
outtextxy(250+x,350+y,'Iesire');
end;
setcolor(12);
outtextxy(285,100,'Joc');
outtextxy(250,180,'Despre');
outtextxy(250,270,'Ajutor');
outtextxy(250,350,'Iesire');
x:=1;
repeat
if x=1 then begin
setcolor(14);
outtextxy(285,100,'Joc');
setcolor(12);
outtextxy(250,180,'Despre');
outtextxy(250,270,'Ajutor');
outtextxy(250,350,'Iesire');
disc(-244,0,14);
disc(-244,50,0);
disc(-244,100,0);
disc(-244,150,0);
end;
if x=2 then begin
setcolor(14);
outtextxy(250,180,'Despre');
setcolor(12);
outtextxy(285,100,'Joc');
outtextxy(250,270,'Ajutor');
outtextxy(250,350,'Iesire');
disc(-244,0,0);
disc(-244,50,14);
disc(-244,100,0);
disc(-244,150,0);
end;
if x=3 then begin
setcolor(14);
outtextxy(250,270,'Ajutor');
setcolor(12);
outtextxy(285,100,'Joc');
outtextxy(250,180,'Despre');
outtextxy(250,350,'Iesire');
disc(-244,0,0);
disc(-244,50,0);
disc(-244,100,14);
disc(-244,150,0);
end;
if x=4 then begin
setcolor(14);
outtextxy(250,350,'Iesire');
setcolor(12);
outtextxy(285,100,'Joc');
outtextxy(250,180,'Despre');
outtextxy(250,270,'Ajutor');
disc(-244,0,0);
disc(-244,50,0);
disc(-244,100,0);
disc(-244,150,14);
end;
c:=readkey;
if c=#72 then x:=x-1;
if c=#80 then x:=x+1;
if x>4 then x:=1;
if x<1 then x:=4;
until c=#13;
if x=1 then begin
joc;
meniu;
end;
if x=2 then begin
despre;
meniu;
end;
if x=3 then begin
ajutor;
meniu;
end;
end;
begin
grDriver := Detect;
InitGraph(grDriver, grMode,' ');
ErrCode := GraphResult;
if ErrCode = grOk then
begin { Do graphics }
introducere;
meniu;
CloseGraph;
end
else
Writeln('Graphics error:', GraphErrorMsg(ErrCode));
end.
Teste de română - atestat informatică Pascal
{----------------------------------------------------------------------------}
{ 2006 // CNSV // XII B // VAIDA NICOLETA // TESTE DE ROMANA... // 339 lines }
{----------------------------------------------------------------------------}
uses Graph, Crt;
var
grDriver: Integer;
grMode: Integer;
ErrCode: Integer;
i,j,x,y, punctaj: integer;
s: string;
procedure introducere;
begin
setbkcolor(7);
setcolor(7);
settextstyle(10,0,5);
outtextxy(100,50,'Vaida Nicoleta');
settextstyle(10,0,3);
outtextxy(200,150,'clasa a XII-a B');
settextstyle(10,0,3);
outtextxy(150,250,'la Colegiul National');
outtextxy(130,300,'"Samuil Vulcan" Beius');
settextstyle(10,0,5);
outtextxy(180,350,'prezinta...');
for i:=1 to 640 do
for j:=1 to 480 do
if getpixel(i,j)=7 then begin
putpixel(i,j,12);
putpixel(i+round(cos(j)),j+round(cos(i)),12);
end;
readkey;
cleardevice;
settextstyle(10,0,5);
setcolor(12);
setfillstyle(7,8);
bar(0,0,640,480);
setfillstyle(1,8);
bar(10,100,630,300);
outtextxy(20,100,'Teste de ROMANA');
outtextxy(20,200,'pt BACALAUREAT');
readkey;
end;
procedure test;
var tt, rc, rr: integer;
cc: char;
f: text;
begin
cleardevice;
setbkcolor(7);
setfillstyle(7,8);
bar(0,0,640,480);
setfillstyle(1,8);
bar(10,100,630,470);
settextstyle(10,0,5);
setcolor(12);
for i:=-1 to 1 do
for j:=-1 to 1 do
begin
outtextxy(20+i,100+j,'Testul 1');
outtextxy(120+i,200+j,'Testul 2');
outtextxy(220+i,300+j,'Testul 3');
outtextxy(20+i,0+j,'Alegeti un test:');
end;
setcolor(14);
outtextxy(20,0,'Alegeti un test:');
tt:=1;
repeat
if tt=1 then begin
setcolor(14);
outtextxy(20,100,'Testul 1');
setcolor(12);
outtextxy(120,200,'Testul 2');
outtextxy(220,300,'Testul 3');
end;
if tt=2 then begin
setcolor(14);
outtextxy(120,200,'Testul 2');
setcolor(12);
outtextxy(20,100,'Testul 1');
outtextxy(220,300,'Testul 3');
end;
if tt=3 then begin
setcolor(14);
outtextxy(220,300,'Testul 3');
setcolor(12);
outtextxy(20,100,'Testul 1');
outtextxy(120,200,'Testul 2');
end;
cc:=readkey;
if cc=#80 then tt:=tt+1;
if cc=#72 then tt:=tt-1;
if tt>3 then tt:=1;
if tt<1 then tt:=3; until cc=#13; cleardevice; setbkcolor(7); if tt=1 then begin assign(f,'ro_1.txt');reset(f); end; if tt=2 then begin assign(f,'ro_2.txt');reset(f); end; if tt=3 then begin assign(f,'ro_3.txt');reset(f); end; cleardevice; for i:=1 to 10 do begin setcolor(11); settextstyle(3,0,2); setfillstyle(1,7); bar(0,100,640,480); readln(f,s); outtextxy(10,100,s); readln(f,s); outtextxy(10,150,s); settextstyle(3,0,3); readln(f,s); outtextxy(100,200,s); readln(f,s); outtextxy(100,250,s); readln(f,s); outtextxy(100,300,s); readln(f,rc); readln(f); rr:=1; repeat if rr=1 then begin setcolor(15); outtextxy(70,200,'>');
setcolor(0);
outtextxy(70,250,'>');
outtextxy(70,300,'>');
end;
if rr=2 then begin
setcolor(15);
outtextxy(70,250,'>');
setcolor(0);
outtextxy(70,200,'>');
outtextxy(70,300,'>');
end;
if rr=3 then begin
setcolor(15);
outtextxy(70,300,'>');
setcolor(0);
outtextxy(70,200,'>');
outtextxy(70,250,'>');
end;
cc:=readkey;
if cc=#80 then rr:=rr+1;
if cc=#72 then rr:=rr-1;
if rr>3 then rr:=1;
if rr<1 then rr:=3; until cc=#13; if rr=rc then punctaj:=punctaj+1; end; str(punctaj,s); cleardevice; setcolor(12); settextstyle(4,0,7); outtextxy(200,180,'Nota: '+s); close(f); readkey; end; procedure despre; begin cleardevice; setbkcolor(7); setfillstyle(7,8); bar(0,0,640,480); setfillstyle(1,8); bar(10,10,630,420); settextstyle(0,0,6); setcolor(8); outtextxy(40,420,'D E S P R E'); setcolor(12); settextstyle(0,0,6); outtextxy(50,410,'D E S P R E'); setcolor(14); settextstyle(4,0,5); outtextxy(20,50,'Acest program a fost realizat de'); outtextxy(20,100,'catre eleva Vaida Nicoleta de la'); outtextxy(20,150,'Col. Nat. "Samuil Vulcan" Beius'); outtextxy(20,200,'la terminarea clasei a XII-a. '); outtextxy(20,250,'Contine teste grila de romana. '); readkey; end; procedure ajutor; begin cleardevice; setbkcolor(7); setfillstyle(7,8); bar(0,0,640,480); setfillstyle(1,8); bar(10,10,630,420); settextstyle(0,0,6); setcolor(8); outtextxy(40,420,'A J U T O R'); setcolor(12); settextstyle(0,0,6); outtextxy(50,410,'A J U T O R'); setcolor(11); settextstyle(4,0,5); outtextxy(20,50,'Tastele care se folosesc sunt '); outtextxy(20,100,'tastele directionale si tasta '); outtextxy(20,150,'. ');
outtextxy(20,200,'Pentru mai multe detalii puteti ');
outtextxy(20,250,'consulta Manualul de prezentare.');
readkey;
end;
procedure meniu;
var opt: integer;
c: char;
begin
cleardevice;
setbkcolor(7);
setcolor(12);
setfillstyle(7,8);
bar(0,0,640,480);
setfillstyle(1,8);
bar(10,100,630,420);
settextstyle(0,0,6);
outtextxy(440,20,'2006');
setcolor(8);
outtextxy(100,420,'M E N I U');
settextstyle(0,0,3);
outtextxy(0,20,'Teste de ROMANA');
outtextxy(0,60,' pt BACALAUREAT');
setcolor(12);
settextstyle(0,0,6);
outtextxy(110,410,'M E N I U');
settextstyle(0,0,3);
outtextxy(10,10,'Teste de ROMANA');
outtextxy(10,50,' pt BACALAUREAT');
setcolor(7);
settextstyle(9,0,4);
for i:=-2 to 2 do
for j:=-2 to 2 do
begin
outtextxy(100+i,100+j,'Testare');
outtextxy(100+i,180+j,'Despre');
outtextxy(100+i,260+j,'Ajutor');
outtextxy(100+i,340+j,'Iesire');
end;
opt:=1;
repeat
if opt=1 then begin
setcolor(11);
outtextxy(100,100,'Testare');
setcolor(7);
outtextxy(100,180,'Despre');
outtextxy(100,260,'Ajutor');
outtextxy(100,340,'Iesire');
end;
if opt=2 then begin
setcolor(11);
outtextxy(100,180,'Despre');
setcolor(7);
outtextxy(100,100,'Testare');
outtextxy(100,260,'Ajutor');
outtextxy(100,340,'Iesire');
end;
if opt=3 then begin
setcolor(11);
outtextxy(100,260,'Ajutor');
setcolor(7);
outtextxy(100,100,'Testare');
outtextxy(100,180,'Despre');
outtextxy(100,340,'Iesire');
end;
if opt=4 then begin
setcolor(11);
outtextxy(100,340,'Iesire');
setcolor(7);
outtextxy(100,100,'Testare');
outtextxy(100,180,'Despre');
outtextxy(100,260,'Ajutor');
end;
c:=readkey;
if c=#80 then opt:=opt+1;
if c=#72 then opt:=opt-1;
if opt>4 then opt:=1;
if opt<1 then opt:=4; if c<>#13 then
begin
sound(1000);
delay(20);
nosound;
end;
until c=#13;
for i:=1000 to 1150 do
begin
sound(i);
delay(1);
end;
nosound;
if opt=1 then begin
test;
meniu;
end;
if opt=2 then begin
despre;
meniu;
end;
if opt=3 then begin
ajutor;
meniu;
end;
end;
begin
grDriver := Detect;
InitGraph(grDriver, grMode,' ');
ErrCode := GraphResult;
if ErrCode = grOk then
begin { Do graphics }
randomize;
introducere;
meniu;
CloseGraph;
end
else
Writeln('Graphics error:', GraphErrorMsg(ErrCode));
end.
{ 2006 // CNSV // XII B // VAIDA NICOLETA // TESTE DE ROMANA... // 339 lines }
{----------------------------------------------------------------------------}
uses Graph, Crt;
var
grDriver: Integer;
grMode: Integer;
ErrCode: Integer;
i,j,x,y, punctaj: integer;
s: string;
procedure introducere;
begin
setbkcolor(7);
setcolor(7);
settextstyle(10,0,5);
outtextxy(100,50,'Vaida Nicoleta');
settextstyle(10,0,3);
outtextxy(200,150,'clasa a XII-a B');
settextstyle(10,0,3);
outtextxy(150,250,'la Colegiul National');
outtextxy(130,300,'"Samuil Vulcan" Beius');
settextstyle(10,0,5);
outtextxy(180,350,'prezinta...');
for i:=1 to 640 do
for j:=1 to 480 do
if getpixel(i,j)=7 then begin
putpixel(i,j,12);
putpixel(i+round(cos(j)),j+round(cos(i)),12);
end;
readkey;
cleardevice;
settextstyle(10,0,5);
setcolor(12);
setfillstyle(7,8);
bar(0,0,640,480);
setfillstyle(1,8);
bar(10,100,630,300);
outtextxy(20,100,'Teste de ROMANA');
outtextxy(20,200,'pt BACALAUREAT');
readkey;
end;
procedure test;
var tt, rc, rr: integer;
cc: char;
f: text;
begin
cleardevice;
setbkcolor(7);
setfillstyle(7,8);
bar(0,0,640,480);
setfillstyle(1,8);
bar(10,100,630,470);
settextstyle(10,0,5);
setcolor(12);
for i:=-1 to 1 do
for j:=-1 to 1 do
begin
outtextxy(20+i,100+j,'Testul 1');
outtextxy(120+i,200+j,'Testul 2');
outtextxy(220+i,300+j,'Testul 3');
outtextxy(20+i,0+j,'Alegeti un test:');
end;
setcolor(14);
outtextxy(20,0,'Alegeti un test:');
tt:=1;
repeat
if tt=1 then begin
setcolor(14);
outtextxy(20,100,'Testul 1');
setcolor(12);
outtextxy(120,200,'Testul 2');
outtextxy(220,300,'Testul 3');
end;
if tt=2 then begin
setcolor(14);
outtextxy(120,200,'Testul 2');
setcolor(12);
outtextxy(20,100,'Testul 1');
outtextxy(220,300,'Testul 3');
end;
if tt=3 then begin
setcolor(14);
outtextxy(220,300,'Testul 3');
setcolor(12);
outtextxy(20,100,'Testul 1');
outtextxy(120,200,'Testul 2');
end;
cc:=readkey;
if cc=#80 then tt:=tt+1;
if cc=#72 then tt:=tt-1;
if tt>3 then tt:=1;
if tt<1 then tt:=3; until cc=#13; cleardevice; setbkcolor(7); if tt=1 then begin assign(f,'ro_1.txt');reset(f); end; if tt=2 then begin assign(f,'ro_2.txt');reset(f); end; if tt=3 then begin assign(f,'ro_3.txt');reset(f); end; cleardevice; for i:=1 to 10 do begin setcolor(11); settextstyle(3,0,2); setfillstyle(1,7); bar(0,100,640,480); readln(f,s); outtextxy(10,100,s); readln(f,s); outtextxy(10,150,s); settextstyle(3,0,3); readln(f,s); outtextxy(100,200,s); readln(f,s); outtextxy(100,250,s); readln(f,s); outtextxy(100,300,s); readln(f,rc); readln(f); rr:=1; repeat if rr=1 then begin setcolor(15); outtextxy(70,200,'>');
setcolor(0);
outtextxy(70,250,'>');
outtextxy(70,300,'>');
end;
if rr=2 then begin
setcolor(15);
outtextxy(70,250,'>');
setcolor(0);
outtextxy(70,200,'>');
outtextxy(70,300,'>');
end;
if rr=3 then begin
setcolor(15);
outtextxy(70,300,'>');
setcolor(0);
outtextxy(70,200,'>');
outtextxy(70,250,'>');
end;
cc:=readkey;
if cc=#80 then rr:=rr+1;
if cc=#72 then rr:=rr-1;
if rr>3 then rr:=1;
if rr<1 then rr:=3; until cc=#13; if rr=rc then punctaj:=punctaj+1; end; str(punctaj,s); cleardevice; setcolor(12); settextstyle(4,0,7); outtextxy(200,180,'Nota: '+s); close(f); readkey; end; procedure despre; begin cleardevice; setbkcolor(7); setfillstyle(7,8); bar(0,0,640,480); setfillstyle(1,8); bar(10,10,630,420); settextstyle(0,0,6); setcolor(8); outtextxy(40,420,'D E S P R E'); setcolor(12); settextstyle(0,0,6); outtextxy(50,410,'D E S P R E'); setcolor(14); settextstyle(4,0,5); outtextxy(20,50,'Acest program a fost realizat de'); outtextxy(20,100,'catre eleva Vaida Nicoleta de la'); outtextxy(20,150,'Col. Nat. "Samuil Vulcan" Beius'); outtextxy(20,200,'la terminarea clasei a XII-a. '); outtextxy(20,250,'Contine teste grila de romana. '); readkey; end; procedure ajutor; begin cleardevice; setbkcolor(7); setfillstyle(7,8); bar(0,0,640,480); setfillstyle(1,8); bar(10,10,630,420); settextstyle(0,0,6); setcolor(8); outtextxy(40,420,'A J U T O R'); setcolor(12); settextstyle(0,0,6); outtextxy(50,410,'A J U T O R'); setcolor(11); settextstyle(4,0,5); outtextxy(20,50,'Tastele care se folosesc sunt '); outtextxy(20,100,'tastele directionale si tasta '); outtextxy(20,150,'
outtextxy(20,200,'Pentru mai multe detalii puteti ');
outtextxy(20,250,'consulta Manualul de prezentare.');
readkey;
end;
procedure meniu;
var opt: integer;
c: char;
begin
cleardevice;
setbkcolor(7);
setcolor(12);
setfillstyle(7,8);
bar(0,0,640,480);
setfillstyle(1,8);
bar(10,100,630,420);
settextstyle(0,0,6);
outtextxy(440,20,'2006');
setcolor(8);
outtextxy(100,420,'M E N I U');
settextstyle(0,0,3);
outtextxy(0,20,'Teste de ROMANA');
outtextxy(0,60,' pt BACALAUREAT');
setcolor(12);
settextstyle(0,0,6);
outtextxy(110,410,'M E N I U');
settextstyle(0,0,3);
outtextxy(10,10,'Teste de ROMANA');
outtextxy(10,50,' pt BACALAUREAT');
setcolor(7);
settextstyle(9,0,4);
for i:=-2 to 2 do
for j:=-2 to 2 do
begin
outtextxy(100+i,100+j,'Testare');
outtextxy(100+i,180+j,'Despre');
outtextxy(100+i,260+j,'Ajutor');
outtextxy(100+i,340+j,'Iesire');
end;
opt:=1;
repeat
if opt=1 then begin
setcolor(11);
outtextxy(100,100,'Testare');
setcolor(7);
outtextxy(100,180,'Despre');
outtextxy(100,260,'Ajutor');
outtextxy(100,340,'Iesire');
end;
if opt=2 then begin
setcolor(11);
outtextxy(100,180,'Despre');
setcolor(7);
outtextxy(100,100,'Testare');
outtextxy(100,260,'Ajutor');
outtextxy(100,340,'Iesire');
end;
if opt=3 then begin
setcolor(11);
outtextxy(100,260,'Ajutor');
setcolor(7);
outtextxy(100,100,'Testare');
outtextxy(100,180,'Despre');
outtextxy(100,340,'Iesire');
end;
if opt=4 then begin
setcolor(11);
outtextxy(100,340,'Iesire');
setcolor(7);
outtextxy(100,100,'Testare');
outtextxy(100,180,'Despre');
outtextxy(100,260,'Ajutor');
end;
c:=readkey;
if c=#80 then opt:=opt+1;
if c=#72 then opt:=opt-1;
if opt>4 then opt:=1;
if opt<1 then opt:=4; if c<>#13 then
begin
sound(1000);
delay(20);
nosound;
end;
until c=#13;
for i:=1000 to 1150 do
begin
sound(i);
delay(1);
end;
nosound;
if opt=1 then begin
test;
meniu;
end;
if opt=2 then begin
despre;
meniu;
end;
if opt=3 then begin
ajutor;
meniu;
end;
end;
begin
grDriver := Detect;
InitGraph(grDriver, grMode,' ');
ErrCode := GraphResult;
if ErrCode = grOk then
begin { Do graphics }
randomize;
introducere;
meniu;
CloseGraph;
end
else
Writeln('Graphics error:', GraphErrorMsg(ErrCode));
end.
Abonaţi-vă la:
Postări (Atom)
