+ All Categories

New1

Date post: 25-Dec-2015
Category:
Upload: ion-domnicu
View: 16 times
Download: 4 times
Share this document with a friend
Description:
k
29
Ministerul Educaţiei al Republicii Moldova Colegiul Industrial-Pedagogic din Cahul Catedra Informatică RAPORT practica de inițiere în specialitate Efectuat : Domnicu Ion, I.1.1_________ (Numele, prenumele studentului, grupa) Verificat : Pîrvan Svetlana___________ (Numele, prenumele coordonatorului) Nota : _________________________ _ Cahul 2014
Transcript
Page 1: New1

Ministerul Educaţiei al Republicii Moldova

Colegiul Industrial-Pedagogic din Cahul

Catedra Informatică

RAPORT

practica de inițiere în specialitate

Efectuat : Domnicu Ion, I.1.1_________

(Numele, prenumele studentului, grupa)

Verificat : Pîrvan Svetlana___________

(Numele, prenumele coordonatorului)

Nota: __________________________

Cahul 2014

Page 2: New1

2

CuprinsI.Introducere........................................................................................................................................... 3

II.Obiectivele practicii:............................................................................................................................ 3

III. Competenţe transversale:..................................................................................................................4

IV. Competenţe generale:....................................................................................................................... 4

V. Competențe specifice:........................................................................................................................ 4

VI. Tabelul de corelare a competenţelor şi conţinuturilor.......................................................................5

VII.Sarcină individuală........................................................................................................................ 10

Problema I........................................................................................................................................ 10

Condiția:....................................................................................................................................... 10

Listingul programului:................................................................................................................... 10

Rezultatele testării programului................................................................................................... 11

Problema II....................................................................................................................................... 12

Condiția........................................................................................................................................ 12

Listingul programului:................................................................................................................... 12

Rezultatele testării programului................................................................................................... 13

Problema III...................................................................................................................................... 13

Condiția........................................................................................................................................ 13

Listingul programului:................................................................................................................... 14

Rezultatele testării programului................................................................................................... 15

Problema IV...................................................................................................................................... 15

Condiția........................................................................................................................................ 15

Listingul programului:................................................................................................................... 15

Rezultatele testării programului................................................................................................... 17

Problema V....................................................................................................................................... 18

Condiția........................................................................................................................................ 18

Listingul programului:................................................................................................................... 18

Rezultatele testării programului................................................................................................... 19

Problema VI...................................................................................................................................... 19

Condiția........................................................................................................................................ 19

Listingul programului:................................................................................................................... 19

VIII. Concluzie....................................................................................................................................... 26

IX. Lista bibliografică............................................................................................................................. 26

Page 3: New1

3

I.IntroducereObiectivele practicii sunt realizarea programului dat de către profesorul de practică.

Principalul obiectiv al acestui program este realizarea, să ne pună într-o situaţie din care noisă putem găsi o soluţie. Odată cu realizarea programului, noi ca studenţi ne vedem deja înpostura de angajat care are o anumită responsabilitate de a elabora programul conformcerinţelor date de conducătorul practicii. După finisarea programului, şi a perioadei depractică, noi devenim mai maturi în domeniul nostru. Toate dificultăţile întîlnite pe perioadapracticii, sunt doar un plus pentru noi.

Programele pe care le-am avut la practică sunt programe în domeniul tipurilor de date.Toate acestea sunt doar cîteva din mulţimea de întrebări care trebuie de realizat pe bazaobiectivului practicii.

Pe tot parcursul practicii programul care trebuia de realizat ne impunea să citim noisurse de informaţie care ne dezvolta capacităţile de programare în limbajul Pascal ABC.

Limbajul de programare Pascal a fost elaborat în anul 1970 de profesorul NikolausWirth de la Universitatea Tehnică din Elveţia. Numit astfel în cinstea matematicianului şifilozofului francez Blaise Pascal, limbajul a cunoscut o răspândire mondială şi a fostimplementat practic pe toate categoriile de calculatoare: supercalculatoare, calculatoarelemari şi calculatoare personale.

Pe parcursul anilor elementele limbajului standard Pascal au fost îmbogăţitesubstanţial, creându-se astfel versiunile Turbo Pascal 6.0, Turbo Pascal 7.0, Borland Pascal şichiar limbaje noi, de exemplu, Modula-2, Delphi şi altele. Pascal este unul din cele maiaccesibile limbaje specializate pentru scrierea aplicaţii în domeniul automatizării procesuluide prelucrare pe calculator a informaţiei.

II.Obiectivele practicii:Obiectivele generale ale practicii instructive:

consolidarea cunoştinţelor teoretice, obţinute pe parcursul studierii limbajelor de

programare (Pascal ABC, Procesarea textului, calcul tabelar, prezentări

multimedia, Comunicație electronică );

însuşirea tehnologiei de elaborare a programelor;

dezvoltarea abilităţilor muncii de sine stătător și în echipă;

formarea deprinderilor de cercetător.

Elevul la practica de instruire imită întregul proces de elaborare a unui set de programe, ce-i

permite să evolueze în rolul de elaborator şi organizator al proiectului.

Sarcina individuală pentru elev constă dintr-un set din 6 probleme, formulate în aşa mod,

încât să cuprindă cât mai deplin toate compartimentele cursului studiat. Gradul complexităţii

problemelor de rezolvat variază larg, ţinând cont de capacităţile şi pregătirea generală a

elevului respectiv.În procesul lucrului de sine stătător asupra sarcinii individuale, elevii

elaborează şi descriu algoritmi  într-un limbaj de programare, testează şi depanează

programele respective.

Page 4: New1

4

III. Competenţe transversale:CT1. Competenţe de învăţare / de a învăţa să înveţi;CT2. Competenţe de comunicare în limba maternă / limba de stat;CT3. Competenţe de comunicare într-o limbă străină;CT4. Competenţe acţional-strategice;CT5. Competenţe de autocunoaştere şi autorealizare;CT6. Competenţe interpersonale, civice, morale;CT7. Competenţe de bază în matematică, ştiinţe şi tehnologie.CT8. Competenţe digitale în domeniul tehnologiei informaţiei şicomunicaţiilor (TIC);CT9. Competenţe culturale, interculturale (de a recepta şi a crea valori);CT10. Competenţe antreprenoriale.

IV. Competenţe generale:CG1. Formarea unei viziuni ştiinţifice asupra componentei informatice în societateacontemporană.CG2. Identificarea structurii generale a sistemelor digitale, a principiilor defuncţionare a sistemelor de transmitere, stocare şi de prelucrare a informaţiei.CG3. Elaborarea modelelor informatice a obiectelor, sistemelor şi proceselor frecventîntâlnite în activitatea cotidiană.CG4. Aplicarea metodelor de algoritmizare, de formalizare, de analiză, de sinteză şide programare pentru soluţionarea problemelor legate de prelucrarea automatizată ainformaţiei.CG5. Translarea algoritmilor frecvent utilizaţi într-un limbaj de programare de nivelînalt.CG7. Efectuarea experimentelor virtuale, rezolvarea problemelor de activitatecotidiană şi elaborarea de modele ale fenomenelor studiate, folosind aplicaţii,laboratoare şi medii digitale educaţionale; interpretarea rezultatelor obţinute.CG8. Folosirea competenţelor informatice pentru căutarea şi selectarea informaţiilor în interes de autoinstruire şi orientare profesională.CG9. Respectarea dreptului de autor asupra resurselor digitale, a normelor de etică şisecuritate informaţională. Protejarea de infracţiunile informatice.

V. Competențe specifice:CS1. Analiza structurală a problemei;CS2. Divizarea problemelor complexe în probleme mai simple şi reducerea lor la celedeja rezolvate;CS3. Aplicarea principiilor programării structurate și procedurale în scriereaalgoritmilor;CS4 Utilizarea tipurilor structurate de date (tablou, şir de caractere, mulţime, articol,fişier) adecvate pentru organizarea şi prelucrarea datelor;CS5. Utilizarea subprogramelor la elaborarea algoritmilor de rezolvare a problemelor;CS6. Estimarea complexităţii algoritmilor destinaţi soluţionării problemelor propuse;CS7 Editarea și procesare textelor cu ajutorul aplicațiilor corespunzătoare;

Page 5: New1

5

CS8 Aplicarea tehnicilor de testare şi depanare a programelor elaborate;CS9 Utilizarea aplicațiilor de crearea a prezentărilor multimedia;CS10 Utilizarea tehnologiilor cloud de păstrarea și partajare a informațiilor.

VI. Tabelul de corelare a competenţelor şi conţinuturilor.

Denumirea

competenţei specifice

Abilități Cunoștințe

Analiza structurală a

problemei;

Elaborează specificaţiile

problemei.

Reprezintă formal

algoritmii de rezolvare a

problemelor.

Etapele rezolvării problemelor.

Algoritmi. Caracteristicile algoritmilor.

Programarea structurata. Structurile

fundamentale:

structura liniară,

structurile repetitive (cu test final, cu test iniţial, cu număr cunoscut de paşi)

structura alternativă

divizarea problemelorcomplexe în problememai simple şi reducerealor la cele dejarezolvate;

Lucrează cu

subprograme.

Subprograme.

Modularizarea programelor

variabile globale şi locale,

domeniul de vizibilitate,

plasarea subprogramelor în cadrul programului

utilizarea tipurilor

structurate de date

(tablou, şir de

caractere, mulţime,

articol, fişier) adecvate

pentru organizarea şi

prelucrarea datelor;

Implementează tipurile

structurate de date în

rezolvarea problemelor.

Tablouri unidimensionale (Vectori);

Tablou bidimensional (Matrice);

Şiruri de caractere;

Tipul inregistrare (articol);

Fişiere.

estimarea

complexităţii

algoritmilor destinaţi s

oluţionării

Verifică corectitudinea

algoritmilor.

Analiza algoritmilor. Complexitatea algoritmilor.

necesar de memorie,

timpul de execuţie al algoritmului,

Page 6: New1

6

problemelor propuse; optimalitatea algoritmului, număr de operaţii

utilizarea tehnicilor

adecvate de

programare pentru

elaborarea algoritmilor

şi scrierea programelor

respective;

Utilizează tehnicile

clasice de programare.

Implementează

algoritmii de sortare şi

căutare.

- restricţii de utilizare,

- schema generală a tehnicii,

- identificarea dimensiunii subproblemelor,

- identificarea modalităţii de impărţire în subprobleme,

- rezolvarea subproblemelor,

- identificarea modalităţii de combinare arezultatelor subproblemelor

Criterii de preformanţă:

complexitatea metodei,

utilizarea memoriei şi a altor resurse ale calculatorului,

metoda de implementare

Aplicarea operaţiilor

specifice editării

textelor;

Utilizarea

instrumentelor de

corectare gramaticală a

textelor;

Crearea şi prelucrarea

listelor;

Utilizarea

instrumentelor de

corectare gramaticală a

textelor;

Inserarea obiectelor;

Generarea unui cuprins;

Aplicarea operaţiilor

;specifice editării

textului.

Editarea unui

document.

Formatarea

caracterelor:

-tehnoredactare;

-font;

-stil de afișare;

-formatarea

caracterelor.

Formatarea

paragrafelor:

-paragraf, aliniere,

identare, spațiere, stil

de paragraf.

Așezare în pagină:

-formatare a paginilor,

antet și subsol,

secțiune, stil de

caractere, șablon.

Liste:

-tipuri de marcare,

Exerciţii de:

Editare şi formatare acoaracterelor şi paragrafelor.

Creare a listelor marcate şi numerotate.

Creare a listelor pe nivele.

Supradimensionare a primului character şi

divizare a textului în mai multe coloane.

Configurare a documentului Word ş.a.

Transformare, editare, copiere a obiectelor.

Scriere a formulelor matematice şi de inserare a

simbolurilor.

Creare de anteturi şi subsoluri.

Formatare a elementelor unui tabel.

Calcul cu datele din tabel.

Sortare a datelor din tabel utilizînd anumite 

criterii.

Convertirea unui text în tabel şi invers.

Studii de caz:

Generare de cuprins. Liste.

Page 7: New1

7

Crearea şi editarea

tabelelor;

Aplicarea operaţiilor

specifice editării

tabelelor

tipuri de numerotare;

Obiecte. Referinţe.

Generarea cuprinsului.

-imagini desenate,

imagini predesenate,

formule, fișiere audio,

fișiere video.

Metode de inserare a

obiectelor:

-prin memoria tampon,

prin apelul altor

aplicații, din fișiere

externe.

Crearea tabelelor.

-rînd, coloană, celulă;

-înserarea unei linii,

coloane;

-unirea celulelor;

-divizarea celulelor;

-template a tabelelor;

-formatarea celulelor;

-autoformat,

formatarea

condiţională;

-convertirea unui text în

tabel şi invers.

Elaborarea

prezentărilor utilizînd 

instrmentele de

operare cu diapozitive.

Introducerea şi editarea

textelor din

componenţa

prezentărilor;

Crearea prezentărilor

ținînd cont de regulile

de bază a unei

prezentări electronice..

Efecte de animaţie și

tranziție a slide-urilor.

Inserarea sunetelor și

fişierelor video.

Exerciţii de:

Editare a slide-urilor

Efectuare a operaţiilor cu slide-urile;

Inserare şi utilizare a elementelor din alte

aplicaţii a SO Windows în aplicaţia MS Power

Point;

Page 8: New1

8

Inserarea elementelor;

Schimbarea

proprietăţilor slide-

ului;

Derularea prezentărilor;

Utilizarea efectelor de

animaţie.

Utilizarea fișierelor

sunet și fișierelor video.

- structura prezentării;

-inserarea casetelor de

text pe diapozitive.

-formatarea textului:

font, dimensiune, stil de

afișare, aliniere,

marcaje de listă,

proprietăți ale

paragrafului.

-selectarea copierea,

mutarea și ștergerea

fragmentelor de text.

-inserarea imaginilor pe

diapozitive: dintr-o

locație externă, din

biblioteca sistemului de

prezentări, din colecția

de primitive grafice, din

dispozitivele foto

digitale și scanere.

-formatarea imaginilor:

poziționarea,

redimensionarea,

selectarea gamei

coloristice, ajustarea

parametrilor de

luminozitate și contrast,

rotirea imaginilor,

decuparea

fragmentelor de

imagini.

-utilizarea efectelor de

animație: efecte de

apariție, efecte de

deplasare, efecte de

redimensionare; efecte

de dispariție.

-difuzarea prezentărilor.

Studii de caz:

Elaborarea unei prezentări electronice la o

anumita temă din Informatică

Page 9: New1

9

Utilizarea metodelor de

navigare prin Internet;

Utilizarea

instrumentelor de

căutare în Internet;

Descărcarea datelor din

reţeaua Internet.

Crearea unui cont de

poştă electronică;

Utilizarea poştei

electronice pentru

transmiterea mesajelor

şi a fişierelor.

Descrierea unui

Browser. Internet.

Conectarea unui

computer la internet.

Serviciul de poştă

electronică. Motoare

de căutare.

-posta electronică;

- transferul de fișiere;

- accesul la

calculatoarele

aflate la distanță;

- serviciul de căutare și

vizualizare a

informațiilor

-istoria și dezvoltarea

rețelei World Wide

Web.

-navigarea pe Web.

Copierea datelor din

rețea:

- copierea textelor,

copierea imaginilor,

copierea fișierelor

multimedia, copierea

paginilor web,

permisiunile de copiere

și utilizare a

materialelor accesate.

Exerciţii de:

Aplicare a brows-erelor.

Ataşare a fişierelor la scrisori.

Folosire a motoarelor de căutare;

Creare a unui cont de poşta electronică şi

utilizarea ei (schimb de informaţie dintre cutiile

poştale).

Studii de caz:

Oameni celebri în Republica Moldova-informaţie

din Internet.

VII.Sarcină individuală

Problema I

Condiția:1. Fişierul date.in conţine elementele unei matrice. În  prima linie sunt scrise numărul de lini şi de coloane separate printr-un spaţiu. Pe următoarele linii sunt scrise elementele

Page 10: New1

10

matricei. Elaboraţi un program care va afişa la ecran şi va scrie în fişierul date.out elementele matricei şi poziţiile pe care se află valoarea maximală.

Listingul programului:type matrice = array[1..100, 1..100] of integer; //se defineste tipul matrice

var t: matrice; f, g: text;//fisierele logice de tip text n, m: integer;//numarul de rinduri si coloane

procedure citeste;var i, j: integer;//se declara variabilele localebegin assign(f, 'date.in');//asociaza fisierului extern "date.in" variabila de tip text "f" reset(f);//se pregateste fisierul "f" pentru citirea datelor readln(f, n, m);//se citeste numarul de rinduri si coloane din fisierul "f" for i := 1 to n do for j := 1 to m do read(f, t[i, j]);//se citesc elementele matricei din fisierul "f" close(f);//se inchide fisierul logic "f"end;

procedure afiseaza;var i, j: integer;//se declara variabilele locale procedure pozitia; var i, j, max: integer;//se declara variabilele locale begin max := t[1, 1];//se presupune ca elementul maxim ar fi primul element for i := 1 to n do for j := 1 to m do if max < t[i, j] then max := t[i, j];//se compara valoarea elementul maximal cu cea a celorlalte elemente ale matricei for i := 1 to n do for j := 1 to m do if max = t[i, j] then begin write(g, ' rindul ',i, ' ',' coloana ', j); write(' rindul ',i, ' ',' coloana ', j); end;//se identifica pozitia elementului maxim dupa care se afiseaza la ecran si in fisierul "date.out" pozitia elementului maxim end;

begin assign(g, 'date.out'); //asociaza fisierului extern "date.out" variabila de tip text "g" rewrite(g);//se pregateste fisierul g pentru rescrierea datelor

Page 11: New1

11

for i := 1 to n do begin for j := 1 to m do begin write( t[i, j]:4);//se afiseaza la ecran elementele matricei pe 4 pozitii write(g, t[i, j]:4);//se afiseaza in fisierul "date.out" elementele matricei pe 4 pozitii end; writeln; writeln(g); end; pozitia;//se apeleaza procedura pozitia close(g);//se inchide fisierul gend;

begin citeste;//se apeleaza procedura citeste afiseaza;//se afiseaza procedura afiseazaend.

Rezultatele testării programuluiDate de intrare

Date de iesire

Problema II

Condiția2. Fişierul date.in conţine un şir de caractere. Elaboraţi un program care va determina numărul de majuscule din şir. Rezultatul va fi afişat la ecran cât şi în fişierul date.out.

Listingul programului:

Page 12: New1

12

var s: string;//sirul de caractere n: integer;//numarul de majuscule f, g: text;//fisierele logice de tip text

procedure citeste;begin assign(f, 'date.in');//asociaza fisierului extern "date.in" variabila de tip text "f" reset(f);//se pregateste fisierul "f" pentru citirea datelor readln(f, s);//se citeste sirul in fisierul "f" close(f);//se inchide fisierul "f"end;

function majuscule(sir: string): integer;var i: integer;//se declara variabilele locale ch: set of char;//sunt salvate toate literele majuscule din alfabetbegin n := 0;//numarul majusculelor se initializeaza cu 0 ch := ['A'..'Z'];//variabila ce contine caractere MAJUSCULE for i := 1 to length(sir) do if sir[i] in ch then inc(n);//daca caracterul cu numarul de ordine i se include in variabila "ch" atunci se mareste numarul majusculelor cu 1 majuscule := n;end;

begin citeste;//se apeleaza procedura cireste; assign(g, 'date.out');//asociaza fisierului extern "date.out" variabila de tip text "g" rewrite(g);//se pregateste fisierul "g" pentru rescrierea datelor writeln(g, majuscule(s));//se afiseaza in fisierul "g" numarul majusculelor writeln(majuscule(s));//se afiseaza la ecran numarul majusculelor apelind procedura majuscule close(g);//se inchide fisierul "g" readln;end.

Rezultatele testării programuluiDate de intrare

Date de iesire

Page 13: New1

13

Problema III

Condiția3. Ionel a scris un program, care generează numere întregi aleatoare. El a observat, cănumărul N, generat de program, de obicei conţin o cifră, care apare mai des decît celelalte.Scrieţi un program, care determină această cifră. Dacă există mai multe cifre cu numărmaxim de apariţii, afişaţi cea mai mică cifră

Intrare: Fişierul text cifre.in conţine o singură linie cu numărul generat de programul lui Ionel.

Ieşire: Fişierul text cifre.out conţine un singur număr întreg: cifra cu număr maxim de apariţii.

Restricţii: 1<N<10200

Notă : testele cu valori N < 2000000000 se apreciază cu câte 5 pt.

Exemplu:

cifre.in cifre.out

1234565 5

11111222223333322222 2

Listingul programului:type cifre = array[0..9] of integer;//tipul pentru salvarea numarului de apariti a cifrelor numere = array[1..255] of integer;//tipul in care salvam cifrele din fisier maxim = array[0..9] of integer;//cifrele care se repeta de un nr maxim de ori

var//variabile globale f, g: text;//fisierele logice de tip text

Page 14: New1

14

s: string;//sirul de caractere c: cifre; max, err, i, j: integer; n: numere; nmax: maxim;

begin assign(f, 'date.in');//asociaza fisierului extern "date.in" variabila de tip text "f" assign(g, 'date.out');//asociaza fisierului extern "date.out" variabila de tip text "g" reset(f);//deshidem fisierul pentru citire rewrite(g);//deschidem fisierul pentru scriere read(f, s);//citim din fisierul "f" sirul de numere for j := 1 to length(s) do val(s[j], n[j], err);//transformam sirul in numere de tip intreg for j := 0 to 9 do //salvam nr de apariti a cifrelor in varibaila c for i := 1 to length(S) do if n[i] = j then inc(c[j]); max := c[0]; for i := 1 to 9 do //aflam maximul care se gaseste de mai multe ori if c[i] > max then max := c[i]; j := 1; for i := 0 to 9 do //aflam care cifra este mai mica daca sunt 2 cifre cu numarul egal de aparitii if c[i] = max then begin nmax[j] := i; inc(j); end; writeln(g, nmax[1]);//afisam in G numarul care se gaseste de cel mai multe ori close(f);//se inchide fisierul f close(g);//se inchide fisierul gend.

Page 15: New1

15

Page 16: New1

16

Page 17: New1

17

Rezultatele testării programuluiDate de intrare

Date de iesire

Problema IV

Condiția

4. Se consideră un tablou bidimensional cu numere întregi. Elaboraţi un program cufuncţii/proceduri prin intermediul cărora:

a) De la tastatură se vor citi elementele tabloului;b) Se vor afişa elementele tabloului la ecran;c) Va fi determinat elementul maximal;d) Va fi determinat elementul minimal;e) Se va determina numărul de elemente maximale;f) Se va determina numărul de elemente minimale;g) Se va afişa sumele pe linii;

Listingul programului:type matrice = array[1..100, 1..100] of integer;//se defineste tipul matrice

var ma: matrice;//se declara variabilele globale m, n: integer;//numarul de rinduri si coloane

procedure citeste;var i, j: integer;//se declara variabilele localebegin read(n, m);//se citeste numarul de linii si coloane ale matricii

Page 18: New1

18

for i := 1 to n do for j := 1 to m do read(ma[i, j]);//se citesc elementele matriciiend;

procedure afiseaza;var i, j: integer;//se declara variabilele localebegin for i := 1 to n do begin for j := 1 to m do write(ma[i, j]:2);//se afiseaza elementele matricei pe 2 pozitii writeln; end;end;

procedure minim;var elmn, min, i, j: integer;//se declara varibilele localebegin elmn := 0;//se initializeaza numarul de elemente minime min := ma[1, 1];//se presupune ca elementul minim este primul element al matricei for i := 1 to n do for j := 1 to m do if ma[i, j] < min then min := ma[i, j];//se identifica elementul minim writeln('min= ', min);//se afiseaza la ecran elementul minim for i := 1 to n do for j := 1 to m do if min = ma[i, j] then inc(elmn);//se identifica numarul de elemente minime writeln('elemente minime ', elmn);//se afiseaza la ecran numarul de elemente minimeend;

procedure maxim;var elmx, max, i, j: integer;//se declara variabilele localebegin elmx := 0;//se initializeaza numarul de elemente maxime max := ma[1, 1];//se presupune ca elementul maxim ar fi primul element al matricei for i := 1 to n do for j := 1 to m do if max < ma[i, j] then max := ma[i, j];//se identifica elementul maxim writeln('max= ', max);//se afiseaza la ecran elementul maxim for i := 1 to n do for j := 1 to m do if max = ma[i, j] then inc(elmx);//se identifica numarul de elemente maxime writeln('elemente maxime ', elmx);//se afiseaza la ecran numarul de elemente maxime

Page 19: New1

19

end;

procedure sumaln;var i, j, s: integer;//se declara variabilele localebegin for i := 1 to n do begin s := 0;//suma se initializeaza cu 0 for j := 1 to m do s := s + ma[i, j];//suma elementelor de pe linia i writeln('suma pe linia ', i, ' este ', s);//se afiseaza la ecran suma elementelor de pe fiecare linie

end;end;

begin citeste;//se face apelul la procedra citeste afiseaza;//se face apelul la procedra afiseaza minim;//se face apelul la procedra minim maxim;//se face apelul la procedra maxim sumaln;//se face apelul la procedra sumaln readln;end.

Rezultatele testării programuluiDate de intrare

Date de iesire

Page 20: New1

20

Problema V

Condiția

5. Calcule. Unitatea gramaticală <Expresie> este definită cu ajutorul următoarelor formulemetalingvistice:

<Cifră>::= 0|1|2|3|4|5|6|7|8|9

<Număr>::= <Cifră>|<Număr><Cifră>

<Semn>::= +|-

<Expresie>::= <Număr>|<Număr><Semn><Expresie>

Elaboraţi un program care evaluează astfel de expresii.

Restricţii. Un număr poate conţine cel mult cinci cifre. O expresie poate include cel mult 250 de caractere.

Date de intrare Date de ieşire

22+01-342+000 -319

Listingul programului:var s: string;//sirul de caractere i, j, error, summa: longint;//suma c: array[0..100]of char;//semnul "+" /"-" s1: array[1..100]of string;//caracterele -string pina la "+"/"-" si dupa numar: array [1..100] of integer;//numerele- integer pina la "+"/"-" si dupa

begin readln(s);//se citeste de la tastatura sirul de caractere j := 1;//se initializeaza nr de semne cu 1; for i := 1 to length(s) do begin if (s[i] = '+') or (s[i] = '-') then begin c[j] := s[i];inc(j); end else s1[j] := s1[j] + s[i]; //daca s[i] este un semn se salveaza in vectorul c[j] altfel se concatineaza caracterele string pina la "+"/"-" si dupa in vectorul s1[j] end;

for i := 1 to j do val(s1[i], numar[i], error);//se transforma elementele vectorului ce contine elemente tip string in elemente de tip intreg summa := numar[1]; for i := 1 to j do case c[i] of '+': summa := summa + numar[i + 1];

Page 21: New1

21

'-': summa := summa - numar[i + 1]; end; writeln(summa);//se afiseaza la ecran suma readln;end.

Rezultatele testării programuluiDate de intrare

Date de iesire

Problema VI

Condiția

6.Elaborați un program de creare a unui fișier, ce conține informație despre elevii uneigrupe. Fiecare componentă a acestui fișier trebuie sa conțină următoarele date:Numărulgrupei; Numărul în grupă după lista; Numele, Prenumele; data nașterii; notele de la ultimasesiune (minimum 5 discipline). Programul trebuie să conțină un meniu de comenzi cerealizează următoarele:

- Crearea fișierului

- Afișarea datelor din fișier

- Adăugarea datelor în fișier

- Crearea unui fișier text cu lista elevilor ce au cel puțin o restanță

- Creare uni fișier text și afișarea listei elevilor în ordine alfabetică

Listingul programului:

uses crt;

label 1, 2, 3, menu;{lista de etichete}//Declararea tipului inregistraretype elev = record nrgrup: string[15];

Page 22: New1

22

nume: string[15]; prenume: string[15]; an: integer; nrlis: integer; nota: array[1..5] of byte; end;//lista variabilelor globalevar e: array [1..50] of elev; f: file of elev; c: integer; d: char;//Crearea fiierului(f,'elevi.dat')/Stergerea datelor din el (daca exista);procedure creeaza;begin assign(f, 'elevi.dat');//asociaza fisierului extern "elevi.dat" variabila de tip text "f" rewrite(f);//se pregateste fisierul "f" pentru scrierea datelor close(f);//se inchide fisierul "f"end;

//Introducerea datelor in fisierprocedure introdu;var n, i, a: integer;begin assign(f, 'elevi.dat');//asociaza fisierului extern "elevi.dat" variabila de tip text "f" reset(f);//se pregateste fisierul "f" pentru citire textcolor(15);//se seteaza culoarea textului a := 0;//nr de elevi se initializeaza cu 0 while not eof(f) do//cit nu-i sfirsit de fisier se citeste in "f" datele referitoare la fiecare elev begin inc(a); read(f, e[a]); end; close(f);//se inchide fisierul "f" rewrite(f);//se pregateste fisierul "f" pentru rescrierea datelor write('Nr de elevi care doriti sa introduceti:'); read(n); for i := a + 1 to a + n do with e[i] do begin writeln('elevul nr :', i); write('Numarul in lista: '); readln(nrlis); write('Numarul grup: '); readln(nrgrup); write('numele: '); readln(nume); write('prenumele: '); readln(prenume); write('anul: '); readln(an); writeln('notele: ');

Page 23: New1

23

write('Matematica: '); read(nota[1]); write('L.romana: '); read(nota[2]); write('Fizica: '); read(nota[3]); write('Birotica: '); read(nota[4]); write('Informatica: '); read(nota[5]); writeln;

end; for i := 1 to a + n do write(f, e[i]); close(f);end;//Afisarea datelorprocedure afis;var i, a: integer;begin assign(f, 'elevi.dat'); reset(f); a := 0; while not eof(f) do begin inc(a); read(f, e[a]); end; write('Nr.grup':7, ' Nr.lista':9, 'Numele':10, 'Prenumle':12, ' AnN.':5, 'Mat.':3, 'L.ro.':3, 'Fiz.':3, ' Bir.':3, 'Inf.':3 ); writeln; for i := 1 to a do with e[i] do begin writeln(nrgrup:7, ' ', nrlis:7, ' ', nume:10, ' ', prenume:10, ' ', an:5, ' ', nota[1]:3, ' ', nota[2]:3, ' ', nota[3]:3, ' ', nota[4]:3, ' ', nota[5]:3); end; writeln;end;//Restantieriprocedure restantieri;var a, i, j, m, s: integer;

g, y: text;begin assign(f, 'elevi.dat'); assign(g, 'restantieri.txt'); reset(f); rewrite(g);

Page 24: New1

24

a := 0; while not eof(f) do begin inc(a); read(f, e[a]); end; writeln('Elevi cu cel putin o singura restanta'); write('Nr.grup':7, ' Nr.lista':9, 'Numele':10, 'Prenumle':12, ' AnN.':5, 'Mat.':5, 'L.ro.':3, 'Fiz.':3, ' Bir.':3, 'Inf.':3 ); writeln(g, 'Nr.grup':7, ' Nr.lista':9, 'Numele':10, 'Prenumle':12, ' AnN.':5, 'Mat.':5, 'L.ro.':3, 'Fiz.':3, ' Bir.':3, 'Inf.':3 ); writeln; for i := 1 to a do begin m := 0; for j := 1 to 5 do if (e[i].nota[j] < 5) and (m = 0) then begin with e[i] do begin writeln(nrgrup:7, ' ', nrlis:7, ' ', nume:10, ' ', prenume:10, ' ', an:5, ' ', nota[1]:3, ' ', nota[2]:3, ' ', nota[3]:3, ' ', nota[4]:3, ' ', nota[5]:3); writeln(g, nrgrup:7, ' ', nrlis:7, ' ', nume:10, ' ', prenume:10, ' ', an:5, ' ', nota[1]:3, ' ', nota[2]:3, ' ', nota[3]:3, ' ', nota[4]:3, ' ', nota[5]:3); inc(m); end; end; end;

writeln; close(f); close(g);

end;//Afisare ordine alfabeticaprocedure ordine;var i, j, n: integer; aux: elev;begin assign(f, 'elevi.dat'); reset(f); n := 0; while not eof(f) do begin n := n + 1; read(f, e[n]); end;

Page 25: New1

25

for i := 1 to n do for j := 1 to n do if e[i].nume[1] < e[j].nume[1] then begin aux := e[i]; e[i] := e[j]; e[j] := aux; end; write('Nr.grup':7, ' Nr.lista':9, 'Numele':10, 'Prenumle':12, ' An.N':5, 'Mat.':7, 'L.ro.':5, 'Fiz.':4, ' Bir.':4, 'Inf.':4 ); writeln; for i := 1 to n do with e[i] do begin writeln(nrgrup:7, ' ', nrlis:7, ' ', nume:10, ' ', prenume:11, ' ', an:4, ' ', nota[1]:5, ' ', nota[2]:3, ' ', nota[3]:3, ' ', nota[4]:4, ' ', nota[5]:3); end; writeln; close(f);end;//Program de bazabegin menu://Afisarea comenzilor valabile textcolor(11); writeln('~MENU~':42); textcolor(10);write('1: ':20);textcolor(14);writeln('Adaugarea datelor în fisier : '); textcolor(10);write('2: ':20);textcolor(14);writeln('Afisarea datelor din fisier : '); textcolor(10);write('3: ':20);textcolor(14);writeln('Afisarea/Salvarea listei elevilor restantieri: '); textcolor(10);write('4: ':20);textcolor(14);writeln('Afisarea listei elevilor în ordine alfabetica : '); textcolor(10);write('5: ':20);textcolor(12);writeln('Crearea fisierului / Stergerea datelor din fisier: '); textcolor(10);write('6: ':20);textcolor(13);writeln('Inchiderea Programului : '); textcolor(15); //Folosirea uneea din comenzile propuse readln(c); case c of 1: introdu; 2: afis; 3: restantieri; 4: ordine; 5: creeaza; 6: goto 3; end; //Reintoarcerea inapoi la menu,in caz ca mai este nevoie in caz contrar sfirsit program textcolor(12);write('In caz ca doriti sa mai efectuati operatii ,tastati Enter:'); textcolor(15); readln; clrscr; goto menu; 3: end.

Page 26: New1

26

Meniul este compus din 9 puncte:

- Crearea fișierului

- Afișarea datelor din fișier

Page 27: New1

27

- Adăugarea datelor în fișier

- Crearea unui fișier text cu lista elevilor ce au cel puțin o restanță

Page 28: New1

28

- Crearea uni fișier text și afișarea listei elevilor în ordine

alfabetică

VIII. Concluzie

Efectuind acesta practica pot sa deduc foarte multe lucruri si concluzii,dar cel mai important consider  ca dupa finisarea ei apar deja unele deprinderi din domeniul,si aceasta mi-a dat posibilitatea de a intelege cu adevarat importanta subprogramelor.

Cu ajutorul acestei practici am putut înţelege mai bine cum lucrează programul cu fişiere. Am înţeles cum e mai bine să fac programul ca să fie mai eficient şi cît mai mic în volum. La fel am înţeles că trebuie să te atîrni destul de serios faţă de aceea ce faci (de program), pentru al face mai plăcut la folosire şi mai uşor de înţeles. Mi-au apărut unele idei pe viitor la care mă gândeam înainte dar nu ştiam cum să le fac în program.

Practica instructiva reprezinta o parte componenta a procesului – educativ care esteo perioada importanta petru noi, deoarece anume in timpul petrecerii practicii ne aprofundam cunostintele accumulate timp de un an, de asemenea ne permite sa aplicam in practica si cunostintele teoretice la obiectul “Programarii Procedurala”.

Studentul începător se familiarizează cu programarea, de regulă, în baza elaborării şi transcrierii într-un limbaj de programare a algoritmilor de rezolvare a unor probleme concrete simple. Însă, rezolvarea problemelor reale presupune elaborarea unor complexe programate mari, care include o gamă întreagă de probleme:proiectarea sistemului, elaborarea părţilor componente ale algoritmului, reuniunea diverselor fragmente ale programului într-un produs final, documentare etc.

În cadrul lecţiilor este posibilă examinarea doar a principiilor generale ale metodicii de elaborare a programelor şi  anumitor aspecte ale rezolvării problemelor. La rîndul său, practica de instruire imită întregul proces de elaborare a unui complex programat mare, permite studentului să evolueze în rolul de elaborator şi organizator al proiectului.

Practica de instruire constituie o primă lucrare de sine stătătoare a studenţilor şi după rezultatele realizării ei se pot face concluzii cu privire la pregătirea studentului pentru aactiva în domeniul programării, de a evidenţia studenţii cei mai capabili pentru instruirea

Page 29: New1

29

ulterioară în calitate de specialist în programare. 

IX. Lista bibliografică

1. Anatol Gremalschi, Iurie Mocanu, Ion Spinei, „Informatica, Limbajul Pascal”, manual

pentru clasele IX-XI, Editura Ştiinţa 1999.

2. Andrei Braicov, „Turbo Pascal, Culegere de probleme”, Editura Prut Internaţional,

2005.

3. Daniela Saru, „Algoritmi şi Limbaje de Programare”, manual pentru cl. 9, Editura

„Didactica şi Pedagogica”, R.A. Bucureşti, 1998.

4. Cornelia Ivasc, Mona Pruna, „Tehnici de Programare, Aplicaţii”, Editura „Petrion”

Bucureşti 1999.

5. V. Cristea, P. Dumitru, C. Giumale s.a., Dicţionar de informatică, Editura Ştiinţifică şi

Enciclopedică, Bucureşti, 1981.

6. T.Sorin, Tehnici de programare, Teora, Bucureşti, 1996.

7. K. Şandor, Turbo PASCAL 6.0. Ghid de utilizare, Editura Microlnformatica, Cluj-

Napoca, 1993.

8. O.Chirchin, Metodica predării informaticii, Chişinău, Tipogr.UPS „Ion Creangă”, 2004.

9. T.Sorin, Tehnici de programare, Bucureşti, Editura Teora, 1996.

10. V.Cristea, P.Dumitru, C.Giumale ş.a., Dicţionar de informatică, Bucureşti, Editura

Ştiinţifică şi Enciclopedică, 1981.

11. W.Okosi, Învăţămîntul problematizat în şcoala contemporană, Bucureşti, Editura

Didactică şi Pedagogică, 1978.

12. I.Jinga, Manual de pedagogie, Bucureşti, Editura All

13. Educaţional, 1998.

14. I.Nicola, Tratat de pedagogie şcolară, Bucureşti, Editura Didactică şi Pedagogică,

1996.

15. C.Narly, Pedagogie generală, Bucureşti, Editura Didactică şi Pedagogică, 1996.


Recommended