Microsoft PowerPoint - Fp_2.ppt

Documente similare
E_d_Informatica_sp_MI_2015_bar_02_LRO

ALGORITMII ŞI REPREZENTAREA LOR Noţiunea de algoritm Noţiunea de algoritm este foarte veche. Ea a fost introdusă în secolele VIII-IX de către Abu Ja f

Programarea şi utilizarea calculatoarelor

E_d_Informatica_sp_SN_2014_bar_10_LRO

Declararea variabilelor

Subiectul 1

Operatorii in C Expresii Operatori aritmetici Operatori de asignare Operatori de incrementare si decrementare Operatori relationali Operatori logici O

Laborator 2: Instrucţiuni Java şi lucru cu şiruri de caractere Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 18 octombrie 2011

ALGORITMICĂ. Seminar 3: Analiza eficienţei algoritmilor - estimarea timpului de execuţie şi notaţii asimptotice. Problema 1 (L) Să se determine număru

Microsoft Word - CarteC.doc

SUBPROGRAME

Backtracking_2018

Microsoft Word - CarteC.doc

Limbaje de Programare Curs 6 – Functii de intrare-iesire

ALGORITHMICS

proiectarea bazelor de date

Logică și structuri discrete Limbaje regulate și automate Marius Minea marius/curs/lsd/ 24 noiembrie 2014

Diapositive 1

Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru ecuaţia f(x) = 0. Date de intrare: - Funcţia f - Apro

DAN LASCU ADRIANA-LIGIA SPORIŞ ANDA OLTEANU PAUL VASILIU MATEMATICĂ. CULEGERE DE PROBLEME TIP GRILĂ PENTRU ADMITEREA ÎN ACADEMIA NAVALĂ MIRCEA CEL BĂT

Analiză statică Analiza fluxului de date 23 octombrie 2014

Programarea şi utilizarea calculatoarelor

Ministerul Educatiei, Cercetarii si Tineretului Grup Scolar Gh. Asachi Galati Proiect pentru obtinerea certificatului de competente profesionale Speci

Curs 3 Permutari cu repetitie. Combinari. Algoritmi de ordonare si generare

Propunator: Morar Florin Colegiul National Silvania Zalau Discipina: Informatica Nivel liceal, cls. XII 1.Să se scrie în limbajul C/C++ definiţia comp

Microsoft PowerPoint - ImplementareLimbaj [Read-Only] [Compatibility Mode]

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare

tehnologii web

1. a. Să se scrie un algoritm care să afişeze toate numerele de patru cifre care au cifra sutelor egală cu o valoare dată k, şi cifra zecilor cu 2 mai

Laborator 2 Incompatibilităţi/Diferenţe între C şi C++ Completări C++ Supraîncărcarea (redefinirea) numelui de funcţii În C nu este permisă existenţa

1. Găsiți k numerele cele mai apropiate într-un şir nesortat Dându-se un şir nesortat și două numere x și k, găsiți k cele mai apropiate valori de x.

Microsoft Word - CarteC.doc

Logică și structuri discrete Mulțimi Casandra Holotescu

Declaraţii. Instrucţiuni 19 octombrie 2005 Programarea calculatoarelor 2. Curs 3b Marius Minea

Propunator: Morar Florin Colegiul National Silvania Zalau Discipina: Informatica Nivel liceal, cls. XI 1.Fişierul text bac.in conţine cel mult 1000 de

Matrici și vectori în VBA În VBA, o matrice este un grup de variabile de același tip. De ce ar trebui să utilizați o matrice? Presupunem că ați vrut s

PHP (II)

Microsoft Word - Curs 7 - JavaScript.doc

Logică și structuri discrete Relații. Funcții parțiale Marius Minea marius/curs/lsd/ 20 octombrie 2014

Analiză de flux de date 29 octombrie 2012

Școala: Clasa a V-a Nr. ore pe săptămână: 4 Profesor: MATEMATICĂ Clasa a V-a Aviz director PLANIFICARE CALENDARISTICĂ ORIENTATIVĂ Nr. crt. Unitatea de

Slide 1

Grile si probleme siruri de caractere in C++ ŞIRURI DE CARACTERE Itemii următori sunt preluaţi din variantele de bacalaureat În secvenţa de i

1

Microsoft PowerPoint - Curs_SDA_10_RO_2019_v1.pptx

Nr. 932 din Avizat ISJ Vâlcea, Inspector școlar informatică, Ciochină Luisa EXAMEN DE ATESTARE A COMPETENȚELOR PROFESIONALE A ABSOLVENȚILOR

Laborator 3

Algoritmi elementari Metode de căutare secvenţială binară Metode de ordonare metoda bulelor metoda inserţiei metoda selecţiei metoda numărării Intercl

Clasa IX 1. O lăcustă face salturi, fiecare salt în linie dreaptă şi de două ori mai lung ca precedentul. Poate vreodată lăcusta să revină în punctul

Limbaje de programare Pointeri. Alocare dinamică (continuare) 26 noiembrie 2012

L7

Laborator 1-Teoria probabilitatilor si statistica matematica Sef lucrari dr.mat. Daniel N.Pop Departamentul de calculatoare si inginerie electrica 1 P

Microsoft Word - Concursul SFERA.doc

Logică și structuri discrete Logică propozițională Marius Minea marius/curs/lsd/ 3 noiembrie 2014

Microsoft Word - lab1_2007.doc

Slide 1

Microsoft Word - D_ MT1_II_001.doc

Metode avansate de gestiune a documentelor și a sistemelor de calcul - LABORATOR 1 -

Microsoft Word - Software pentru ordonarea multirang a componentelor unei colectivitati.doc

Metode de sortare - pregătire admitere - Conf.dr. Alexandru Popa Lect. dr. Andrei Pătraşcu Universitatea din Bucureşti 1

1. Operatii cu matrici 1 Cerinte: Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A

Lecţia 2 Structura liniară, alternativă şi repetitivă Clasa a V-a Structuri de bază(liniară, alternativă şi repetitivă) Programarea structurată este o

Slide 1

Programarea calculatoarelor. Note de curs Marius Minea 1 Introducere în programarea în C 1.1 Funcţii în limbajul C Calcule şi funcţii La origine, rolu

Logică și structuri discrete Logică propozițională Marius Minea marius/curs/lsd/ 27 octombrie 2014

PowerPoint-Präsentation

Calcul Numeric

LOGICA MATEMATICA SI COMPUTATIONALA Sem. I,

Gheorghe IUREA Adrian ZANOSCHI algebră geometrie clasa a VII-a ediţia a V-a, revizuită mate 2000 standard EDITURA PARALELA 45 Matematică. Clasa a VII-

MINISTERUL EDUCAŢIEI, CULTURII ŞI CERCETĂRII AL REPUBLICII MOLDOVA UNIVERSITATEA DE STAT ALECU RUSSO DIN BĂLŢI FACULTATEA DE ŞTIINŢE REALE, ECONOMICE

LABORATOR I

Programarea şi utilizarea calculatoarelor

LUCRAREA NR

Dorel LUCHIAN Gabriel POPA Adrian ZANOSCHI Gheorghe IUREA algebră geometrie clasa a VIII-a ediţia a V-a, revizuită mate 2000 standard EDITURA PARALELA

Curs8

-

Laborator 4: Continuare Programare Orientată pe Obiecte Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 29 octombrie 2011

Top

Slide 1

Lab6LCD

CONCURSUL NAŢIONAL DE MATEMATICA PANAITOPOL EDIŢIA a X-a, TULCEA, 21 aprilie 2018 Clasa a VII - a 1. Se consideră numerele reale x, y şi z, cel puţin

ALGORITHMICS

Slide 1

I. Partea introductivă Proiectul unității de învățare CONCEPTUL DE MATRICE ŞCOALA: Colegiul Național Petru Rareș Suceava CLASA: a XI a- matematică / a

Microsoft Visual C++ (abreviat MSVC) is a commercial integrated development environment (IDE) product engineered by Microsoft for the C, C++, and C++/

Limbaje de Programare Curs 5 – Siruri de caractere

Microsoft PowerPoint - Curs_SDA_9_RO_2019_v2.pptx

Laborator 8: PROIECTAREA BAZELOR DE DATE SUBPROGRAME in PL/SQL (partea II - functii) Un subprogram este un bloc PL/SQL cu nume (spre deosebire de bloc

Microsoft Word - a5+s1-5.doc

Textul si imaginile din acest document sunt licentiate Attribution-NonCommercial-NoDerivs CC BY-NC-ND Codul sursa din acest document este licentiat Pu

Curs 8: Tehnica divizării (I) Algoritmi si structuri de date - Curs 8 1

BAC 2007 Pro Didactica Programa M1 2 Rezolvarea variantei 36 versiune finală Redactia Pro Didactica Suportul pe net:

Paradigme de programare

Object Oriented Programming

Secţiunea 5-6 avansaţi PROBLEMA 1 Concurs online de informatică Categoria PROGRAMARE 100 puncte NR Un număr natural nenul V care se plictisea singur,

Microsoft Word _POO_Lab_1_Modificari_v01.htm

CAPITOLUL I

Microsoft PowerPoint - Curs_SDA_4_RO_2019_v2.pptx

Transcriere:

C_2 / 12.10.2012 Fundamentele programării rii 2. Codificarea algoritmilor în limbajul Pascal Limbajul Pascal : elementele limbajului, structura programelor, tipuri simple de date. 1/17/17

Vocabularul şi sintaxa limbajului : Alfabet : - literele (mari şi mici) ale alfabetului latin: A, B, C,..., X, Y, Z, a, b, c,..., x y z - cifrele zecimale: 0, 1,..., 9 - caractere speciale: + * /., ; : ( ) [ ] { } = < >!? ^ @ # $ % \ _... Notaţia BNF (metasimboluri): { text } poate să se repete de ori câte ori (inclusiv de zero ori). [ text ] scrierea construcţiilor opţionale (text poate lipsi). Identificator <id>: secvenţa de litere (mari sau mici, sau _ ) eventual urmata de cifre (Suma_1) a == A (And == and) // And # and Cuvinte rezervate: And Array Case Const Div Do DownTo Else End File In For Label Function Mod GoTo Nil If Not Of Record Or Repeat Packed Set Procedure Then Program To Type Until Var While With 2/17/17

Structura unui program Pascal : antet, declaraţii programul principal. <program> ::= <antet_program> ; <bloc>. <antet_program> ::= Program <id> [ ( <lista_id> ) ] <bloc> ::= <lista_decl> ; <ins_compusă> <lista_el> ::= <el> { ; <el> } //, <ins_compusă> ::= <lista_instr.> End <comentariu> ::= { text } (* text *) Scrierea este libera! Exemplu de program Pascal: Program Suma; Var a,b : Real; { a şi b, citite de la tastatură.} Write (' Dati doua numere separate prin spatiu, apoi Enter : '); Readln(a,b); Write (' Suma este ',a+b); Readln End. { Tipareşte suma a două numere reale,} 3/17/17

Constante : întregi : 15, 1989, -314. reale: forma normală (0.012345) sau în forma exponentială (12345E-6). şir de caractere : '22 Decembrie 1989', 'Domnu'' Trandafir' booleana: True, False Variabile : nume identificator adresa domeniu de valori tip valoare domeniului de valori nedefinita (neinitializata)! atribuire durata de viata: new... dispose vizibilitate locala, globala,... 4/17/17

Tipuri de date : Tip de dată := ( mulţime de valori (domeniul tipului), mulţime de operaţii ): - predefinite; - definite de utilizator. Predefinite -simplu -real: Real -ordinal: Ord, Succ, Pred -întreg(integer) [-Maxint-1, Maxint] (32767) +,,*, DIV, MOD, / Byte, LongInt,, Word, - boolean (Boolean), False < True And, Or, Not; =, <>, <=, >=. - caracter(char), Ord( Chr(i) ) = i şi Chr( Ord(c) ) = c - enumerare, <Tip_enum.>::=(<Lista_id>) (Primăvară,Vară,Toamnă,Iarnă) - subdomeniu <tip-subdomeniu> ::= const 1.. const 2 Vară..Iarnă sau '0'..'9' - structurat: tablou: Array, mulţime: Set, şir_caractere: String, înregistrare: Record. - tip referinta 5/17/17

Declaraţii Pascal : <decl> > ::= <def< def-et> > <def-const> > <def< def-tip> > <def< def-var> <def-subp> Const <id> = <constanta< constanta> { ; <id> = <constanta< constanta> } Const Pi = 3.141592653; e = 2.718281828; Path = f:soft/tp/bgi ; Type <id> = <tip> { ; <id> = <tip> } Type Culoare = (Alb, Albastru, Galben, Roşu) Zile = (Luni,Marţi,Miercuri,Joi,Vineri,Sâmbătă,Duminică) Var <Lista_id> > : <tip> { ; <Lista_id< Lista_id> > : <tip> } Var i, j, k, l, m, n : Integer; a, b, x, y, z : Real; Cond : Boolean; S : Array [1..9] Of Real ; C : Array [1..10, 1..10] Of Char ; 6/17/17

Instructiuni Pascal : <ins> ::= <ins_simple< ins_simple> > <ins_structurate< ins_structurate> <ins_simple> ::= <ins_atribuire> <ins_goto> <ins_vidă> <apel_procedură> <ins_struct.> ::= <ins_compusă> <ins_condit.> <ins_iterat.> <ins_with> atribuire: <variabilă> := <expresie> // A:=B; v,m,!!! ins_compusă: End <ins> {; <ins> } ins_vida: If r>0 Then If Odd(r) Then r:=r+1 Else { instrucţiunea vidă } Else r:=r 1; 7/17/17

Citirea şi scrierea datelor : Nu exista instructiuni Apel Proceduri Read ( <listă_variabile> ) Readln (a,b,c); Readln (v); // 1 2 3 xxx // Simpla, Nu enum, Write ( <listă_expresii> ) Writeln (a,b,c); // 1 2 3 Writeln (' '); // Writeln (3.1415:5:2, 7.1:5:2, 9:3); // _3.14 7.10 9 Readln (a:5:2, b:5:2, k:3); // _3.14 7.10 9 8/17/17

Instructiuni conditionale : If <cond> Then <ins1> [ Else <ins2> ] // ; NU Program Ecgr2; {Rezolvarea ec.de grad 2 } Var a, b, c, {Coeficientii ecuatiei } d, {Discriminantul ecuatiei} r, {variabila de lucru} x1, x2: Real; {Rezultatele} kod: Integer; {Indicator_rezultat} {0=rad.reale, 1=complexe} Writeln('Se rezolva ecuatia de gradul doi'); Writeln('Dati coeficientii a, b, c'); Readln(a, b, c); d := b*b - 4*a*c; If d < 0 Then kod := 0 Else kod := 1; r := sqrt(d); x1 := (-b-r)/(a+a); x2 := (-b+r)/(a+a) End; If kod = 0 Then Write('Ec. nu are radacini reale') Readln End. Else Write('Radacinile ecuatiei sunt:', x1, x2); 9/17/17

Case <eo> Of <lista-c> : <ins> { ; <lista-c> : <ins> } [ Else <ins> ] End Program Case_Caracter; { Analiza unui caracter c. } { daca este litera, cifra sau alt caracter? } Var c : Char; { Litera poate fi mica/mare, } { vocala/consoana } Write (' Dati un caracter '); Readln(c); Case c Of 'a'..'z' : Write (' Este litera mica,'); Case c Of 'a','e','i','o','u' : Write (' vocala.') Else Write (' consoana.') End End; 'A'..'Z' : Case c Of 'A','E','I','O','U' : Write (' Este litera mare, vocala.') Else Write (' Este litera mare, consoana.') End; '0'..'9' : Write (' Este o cifra. '); Else Write (' Este un caracter special.'); End; Readln End. 10/17 /17

Instructiunea For : For <v> := <e 1 > To <e 2 > Do <ins> { pas=+1 } For <v> := <e 1 > DownTo <e 2 > Do <ins> { pas= -1 } <ins> = o instructiune End; <ins> se executa de 0,1,2, ori!!! Program Divizori; Var n, i : Integer; Writeln('Se tiparesc divizorii lui n'); Write('Dati n='); Readln(n); For i:=2 To n Div 2 Do { Trunc(Sqrt(n)) } If n Mod i = 0 Then Writeln(i); End. 11/17 /17

While <cond> Do <ins> Instructiunea While : <ins> = o instructiune End; <ins> se executa de 0,1,2, ori!!! <ins> modifica <cond>!!! Program Prime_While; { Primele n numere Prime } Var n, i, p, d : Integer; Write (' Dati n : '); Readln(n); { primele n numere prime p =2,3,5,... } i:=0; p:=2; { i reprezinta al catelea numar prim a fost gasit } While i<n Do { se verifica daca p este prim doar daca i<n } d:=2; { p este prim? } While (d<sqrt(p)) And (p Mod d > 0) Do d:=d+1; {cauta pana la p} If d>sqrt(p) Then i:=i+1; { p este prim! } Writeln (i:13,p:5) End; If p=2 Then p:=p+1 Else p:=p+2 { verifica numerele impare 3,... } End; Readln End. 12/17 /17

Instructiunea Repeat : Repeat <Secv_ins> Until <cond> <Secv_ins> := <ins> { ;<ins> } { modifica <cond>!!! } Program Numar_Repeat; { Cel mai mare numar n de patru cifre : } Var n, Ogl, Sc, { Ogl (n) + Sc (n) = n + 99 } Cat, Uc : Integer; { Cat= n Div 10; Uc= n Mod 10 } n:=9999; Repeat n:=n 1; Cat:=n; { Primul Cat este n } Sc:=0; Ogl:=0; Repeat Uc :=Cat Mod 10 { Determin Ultima cifra a numarului } Sc :=Sc + Uc; { Adun Ultima cifra la Suma cifrelor } Ogl :=Ogl*10+ Uc; { Adaug Ultima cifra la Oglindit } Cat :=Cat Div 10 { Sterg Ultima cifra din numar } Until Cat=0; Until (Ogl+Sc=n+99) Or (n=999); If n>999 Then Write (Ogl,'+',Sc,'=',n,'+99',' (',Ogl+Sc,'=',n+99,')') Else Write (' Nu exista! '); Readln End. 13/17 /17

Tipuri de date structurate : Array, Set, String, Record <tablou> ::= Array [ <domeniul_indicilor> ] Of <tipul_elementelor>; Type Sir_intregi = Array [1..9] Of Integer; { tipul sir de maxim 9 intregi } Var Matrice : Array [1..25] Of Sir_intregi; { tipul elementelor poate fi array } T : Array [1..6] Of Array [1..7] Of Real ; Ref.: T, T[i], T[i][j] T : Array [1..10, 1..6] Of Real ; elementele Tij vor fi referite prin T[ i, j ]. Program Calendar_pe_199_; { Exemplu Array } Type Zi_Sapt = (Luni,Marti,Mercuri,Joi,Vineri,Sambata,Duminica); Sir_Zile = Array [Zi_Sapt] Of Byte; Saptamana = Array [1..6] Of Sir_Zile; Const Nume_Zi : Array [Zi_Sapt] Of Char = ('L','M','M','J','V','S','D'); Var Luna : Saptamana; Anul,a : Word; Zi,Zl,l,s : Byte; z,ziua : Zi_Sapt; Write (' Calendarul pe anul 199'); Readln (Anul); Anul:=1990+Anul; Zi:=2 { Calc. ziua de inceput a anului (0..6) } For a:=1998 To Anul Do Zi:=Succ(Zi); If (a 1) Mod 4 = 0 Then Zi:=Succ(Zi); End; Zi:=Zi Mod 7; { Ziua în care incepe anul } z:=luni; While Ord(z)<Zi Do z:=succ(z); { (Luni..Duminica) } 14/17 /17

For l:=1 To 12 Do { Calendarul pe luna l } For s:=1 To 6 Do For ziua:=luni To Duminica Do Luna[s,ziua]:=0; Case l Of { Nr.zile în luna l } 2 : If Anul Mod 4 = 0 Then Zl:=29 Else Zl:=28; 4,6,9,11 : Zl:=30 Else Zl:=31 End; s:=1; { saptamana s = 1,... cel mult 6} For Zi:=1 To Zl Do Luna[s,z]:=Zi; If z=duminica Then z:=luni; s:=s+1 End Else z:=succ(z) End; Case l Of 1 : Writeln (' Ianuarie '); 2 : Writeln (' Februarie '); 3 : Writeln (' Martie '); 4 : Writeln (' Aprilie '); 5 : Writeln (' Mai '); 6 : Writeln (' Iunie '); 7 : Writeln (' Iulie '); 8 : Writeln (' August '); 9 : Writeln (' Septembrie'); 10 : Writeln (' Octombrie '); 11 : Writeln (' Noiembrie '); 12 : Writeln (' Decembrie ') End; Writeln; For ziua:=luni To Duminica Do {pentru fiecare zi din saptamana} Write (' ',Nume_Zi[ziua],' '); For s:=1 To 6 Do { pentru fiecare saptamana s } If Luna[s][ziua]>0 Then Write (Luna[s,ziua]:3) Else Write (' '); End; Writeln End; Readln End; End. 15/17 /17

Temă: 1. 1. Fiind dată datăo matrice A cu cu elemente reale, având m linii liniişi şin coloane,, se se cere cere să săse se transforme această matrice prin prininterschimbări de de linii, linii, astfel încât pe pe coloana k (dată (dată), elementele să săfie fie în înordine crescătoare, apoi apoisă săse se tipărească matricea în înforma finală. 2. 2. Pentru n cercuri din din plan plan sa sa se se determine: de arie care nu se cu alt cerc; cercul de arie maxima care nu se intersecteaza cu niciun alt cerc; c; de arie care nu se cu cercul de arie minima care nu se intersecteaza cu axele; cel mai de axa Ox care nu se cu alt cerc; cercul cel mai apropiat de axa Ox care nu se intersecteaza cu niciun alt cerc; cel mai de axa Oy care nu se cu axa Ox. cercul cel mai departat de axa Oy care nu se intersecteaza cu axa a Ox. 3. 3. Se Se dau dau două două şiruri de de maxim 254 254 caractere conţinând cifre cifre reprezentând două două numere scrise într într-o o bază bază p 16. Se Se cere cere şirul şirul cifrelor sumei şi şi modulul diferenţei ei ei einumerelor date. date. Exemplu : : 17A3 + 6B 6B 180E 16/17 /17

... C_2C _2 / 12 12.10.2012 17/17 /17