Microsoft Word - c6.doc
|
|
- Bogdan Gheorghiu
- 4 ani în urmă
- Vzualizari:
Transcriere
1 Proiectarea structurata top-down a programelor complexe Aplicatie Sa se scrie un program care citeste un fisier continand un text format din cuvinte si determina si afiseaza grupe de cuvinte, grupate in functie de un criteriu care se selecteaza. Criteriile de grupare pot fi: apartin unei grupe cuvintele care au acelasi numar de litere cuvintele care au aceleasi numere de aparitii de vocale cuvintele care sunt anagrame. Precizari: 1. La cuvinte nu se face deosebire intre litera mica si litera mare. 2. Doua cuvinte se numesc anagrame daca ele sunt formate din exact aceleasi caractere in alta ordine. Exemplu de grupa de anagrame: mar ram arm 3. Doua cuvinte au aceleasi numere de aparitii de vocale, daca fiecare din vocale apare de exat acelasi numar de ori in ambele cuvinte. Exemplu: aflu si sufla 4. Cuvintele pot contine doar caractere litere si pot fi separate prin spatii sau linie noua. Intre doua cuvinte pot exista oricate spatii. Programul va primi 2 parametrii in linia de comanda: numele fisierului de prelucrat si modul de prelucrare (specificat prin "anagrame", nrvoc sau "lungimi"). Se vor afisa grupele de cuvinte conform criteriului specificat. Grupele de cuvinte pot fi afisate utilizand doar caractere litere mici. De exemplu, daca programul se numeste grupe, pentru a determina grupele de cuvinte din fisierul fis.txt care sunt anagrame se va tasta in linia de comanda > grupe fis.txt anagrame Pentru a afisa grupele de cuvinte care au aceeasi lungime se da comanda > grupe fis.txt lungimi De la specificarea problemei de rezolvat la program Intre specificarea problemei si scrierea programului de rezolvare nu e o trecere directa, ci exista mai multe etape. In primul rand, e necesara o etapa de analiza si abstractizare a problemei, de identificare a subproblemelor in care se poate descompune problema initiala, 1
2 subprobleme care, la randul lor, se pot descompune in alte subprobleme. Pentru fiecare subproblema se identifica obiectelor din domeniul problemei implicate in rezolvare si actiunile de transformare corespunzatoare acestora. Urmeaza apoi etapele gasirii unor metode de rezolvare pentru fiecare subproblema, elaborarii algoritmilor de rezolvare si in final codificarea algoritmilor si reprezentarii obiectelor din universul problemei ca si tipuri de date (abstracte) folosind facilitatile oferite de limbajul de programare. Un program C este format din ansamblul fisierelor de program care grupeaza toate functiile necesare rezolvarii problemei. Un fisier de program e numit modul program. Gruparea functiilor unui program in module se face in general grupand intr-un modul functiile referitoare la rezolvarea unei subprobleme sau functiile care realizeaza transformarile caracteristice unui tip de obiect reprezentat ca si tip de date abstract. Nu exista o unica solutie pentru problema cum se grupeaza functiile unui program pe module, sau cum se modularizeaza programul. Un program structurat este constituit din unitati functionale bine definite module, ierarhizate conform naturii intrinseci a problemei. Analiza problemei Identificarea datelor de intrare: datele de intrare sunt numele fisierului text din care se citeste, si criteriul de grupare. Posibile date de intrare eronate: daca numele fisierului e un fisier inexistent sau acel fisier nu poate fi deschis pentru citire, sau daca criteriul de grupare introdus nu e unul din cele 3 permise. Specificarea functionala: in primul rand, trebuie identificate toate cuvintele din fisier. Deoarece se mentioneaza faptul ca nu se face deosebire intre litere mici si litere mari, se poate face o conversie a tuturor cuvintelor in scriere cu litere mici. Pentru fiecare cuvant, trebuie gasita grupa de care apartine. Aici intervine criteriul de grupare dat ca si parametru. Pentru fiecare cuvant, se cauta daca poate fi inclus, conform criteriului de grupare, in una din grupele deja existente. Daca nu poate fi adaugat la o grupa existenta, se infiinteaza o noua grupa cu acest cuvant. Datele de iesire: grupele de cuvinte, se afiseaza. 2
3 Citire parametrii intrare: numele fisierului text daca fisierul nu exista sau nu se poate deschide pentru citire -> eroare, stop criteriul de grupare: daca nu e unul din modurile permise anagrame, nrvoc, lungime -> eroare, stop Impartirea textului in cuvinte: Se identifica cuvintele din fisier Se transforma in litere mici Formarea grupelor: Pentru fiecare cuvant se gaseste grupa de care apartine. Aici intervine criteriul de grupare Afisarea grupelor Figure 1 Proiectarea solutiei Proiectarea solutiei incepe cu identificarea subproblemelor si stabilirea modulelor programului. Modulul principal (grupe) contine functia main, care realizeaza interpretarea parametrilor si selecteaza un anumit criteriu de grupare. Criteriul de grupare va fi realizat sub forma unei functii cu 2 parametrii (2 cuvinte) si care returneaza daca cele 2 cuvinte trebuie sa apartina aceleiasi grupe sau nu. Pentru descrierea criteriului de grupare, se defineste un tip functie typedef int (*functie_test)( char * cuv1, char* cuv2); Criteriul de grupare trebuie sa fie cunoscut si de catre gestionarul listei de grupe, deci va fi pus intr-un fisier header separat, tip_fct. 3
4 Fiecare criteriu de grupare poate fi implementat ca si un modul separat. Modulul anagrame si modulul nrvoc, fiecare dintre acestea exporta cate o functie de tipul functiei criteriu de grupare functie_test, int anagrame (char * cuv1, char * cuv2); int nrvoc(char * cuv1, char * cuv2); Criteriul de comparare a doua cuvinte pe baza lungimii lor e mai simplu, poate fi implementat printr-o functie simpla in cadrul modulului principal. Un modul separat prel_fis realizeaza prelucrarea fisierului,in sensul separarii cuvintelor din text. Functia exportata de acest modul este void determina_grupe(file *, functie_test); si este apelata de catre programul principal. Functia are 2 parametri, fisierul deschis pentru citire si functia criteriu de grupare. Modulul de prelucrare a fisierului utilizeaza facilitatile implementate de alt modul, gestionarul de grupe. Gestiunea listei de grupe este facuta intr-un modul separat, lista_g. Cele 2 operatii realizate de acest modul sunt: void adauga_grupat(char * cuvant, functie_test criteriu); Aceasta functie adauga cuvantuldat ca si parametru in functie de criteriul dat in una din grupe. Daca cuvantul poate fi adaugat la o grupa existenta, il adauga, daca nu creaza o noua grupa cu el. void afiseaza_grupe(); Aceasta functie tipareste toate grupele existente. Modul de implementare a listei de grupe este un detaliu intern al modulului lista_g. Gestionarea grupelor se poate face utilizand diverse structuri de date, atat dinamice cat si statice. Se va opta pentru o structura de date dinamica, de tip multilista. grupa_cuv mar arm ram lac alb bla Fiecare modul este realizat sub forma unui fisier independent, interfata cu celelalte module e asigurata prinfisierele antet asociate. 4
5 grupe main(int argc, char **argv) /* analizeaza parametrii liniei de cmd.si selecteaza functia de grupare; apeleaza determina_grupe(file *, tip_fct) */ anagrame int anagrame (char * cuv1, char * cuv2) tip_fct nrvoc int nrvoc (char * cuv1, char * cuv2) typedef int (*functie_test)( char * cuv1, char* cuv2); prel_fis determina_grupe(file *, tip_fct) /* citeste fisierul, separa cuvintele; pentru fiecare cuvant apeleaza functia adauga_grupat(cuvant, fct_prel); apeleaza afiseaza_grupe() */ lista_g adauga_grupat(cuvant, fct_prel); afiseaza_grupe() Figure 2 5
6 Codificarea modulelor /* grupe.c */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include "tip_fct.h" #include "prel_fis.h" #include "anagram.h" #include "nrvoc.h" int lungimi(char * cuv1, char* cuv2) { return strlen(cuv1)==strlen(cuv2); void main(int argc, char * argv[]) { char *nume_fis, *mod; FILE * fp; if (argc!=3) printf("utilizarea programului: grupe fisier mod"); else { nume_fis=argv[1]; mod=argv[2]; if ((fp=fopen(nume_fis, "r"))==null) { printf("nu pot deschide fisierul %s \n", nume_fis); exit(1); if (strcmp(mod, "anagrame")==0) determina_grupe(fp, anagrame); else if (strcmp(mod,"lungimi")==0) determina_grupe(fp, lungimi); else if (strcmp(mod,"nrvoc")==0) determina_grupe(fp, nrvoc); else { printf("mod de prelucrare necunoscut \n"); exit(1); /* tip_fct.h */ typedef int (*functie_test)(char * cuv1, char* cuv2); /* prel_fis.h */ #include <stdio.h> #include "tip_fct.h" void determina_grupe( FILE * fp, functie_test functie); 6
7 /* prel_fis.c */ #include <stdio.h> #include "tip_fct.h" #include "lista_g.h" #define ESPATIU(c) (c==' ' c=='\n') #define INCUVANT(c) ((c>='a' && c<='z') (c>='a' && c<='z')) #define LITMICA(c) (c>='a' && c<='z')? (c): (c+'a'-'a'); void determina_grupe( FILE * fp, functie_test functie) { int c, i; char buf[100]; c=getc(fp); while (c!=eof) { while (ESPATIU(c)) c=getc(fp); if (c==eof) break; i=0; while (INCUVANT(c)) { buf[i++]=litmica(c); c=getc(fp); buf[i]='\0'; // printf(" Cuvantul %s \n", buf); adauga_grupat(buf, functie); afiseaza_grupe(); /* lista_g.h */ #include "tip_fct.h" void adauga_grupat(char * cuv, functie_test functie) ; void afiseaza_grupe(void); /* lista_g.c */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include "lista_g.h" typedef struct cv{ char * cuv; struct cv * urm; cuvant; typedef struct gc{ char * cuv; cuvant * grupa; struct gc *urm; grupa_cuv; 7
8 static grupa_cuv * lista=null; void adauga_grupat(char * cuv, functie_test functie) { grupa_cuv * l, *noug; cuvant *nouc; l=lista; while ((l!=null)&&(!functie(l->cuv, cuv))) l=l->urm; if (l==null) { noug=(grupa_cuv *)malloc(sizeof(grupa_cuv)); noug->cuv=(char *)malloc(strlen(cuv)+1); strcpy(noug->cuv, cuv); noug->urm=lista; noug->grupa=null; lista=noug; else { nouc=(cuvant *)malloc(sizeof(cuvant)); nouc->cuv=(char *)malloc(strlen(cuv)+1); strcpy(nouc->cuv, cuv); nouc->urm=l->grupa; l->grupa=nouc; void afiseaza_grupe(void) { grupa_cuv * l=lista; cuvant * cv; printf("\n GRUPELE: \n"); while (l!=null) { printf("%s ", l->cuv); cv=l->grupa; while (cv!=null) { printf("%s ", cv->cuv); cv=cv->urm; printf("\n"); l=l->urm; /*anagram.h */ int anagrame(char * cuv1, char* cuv2); /* anagram.c*/ #include <string.h> static void contoare(char * cuv, int c[]) { int i; for (i=0; i<27; i++) c[i]=0; for (i=0; i<strlen(cuv); i++) c[cuv[i]-'a']++; 8
9 static int egal (int c1[], int c2[]) { int i; for (i=0; i<27; i++) if( c1[i]!=c2[i]) return 0; return 1; int anagrame(char * cuv1, char* cuv2) { int c1[27]; int c2[27]; contoare(cuv1, c1); contoare(cuv2, c2); return egal(c1, c2); /* nrvoc.h */ int nrvoc(char * cuv1, char* cuv2); /* nrvoc.c */ #include <string.h> #define NRLIT 5 static void contoare(char * cuv, int c[]) { int i; for (i=0; i<nrlit; i++) c[i]=0; for (i=0; i<strlen(cuv); i++) switch (c[i]) { case 'a': c[0]++; break; case 'e': c[1]++; break; case 'i': c[2]++; break; case 'o': c[3]++; break; case 'u': c[4]++; break; static int egal (int c1[], int c2[]) { int i; for (i=0; i<nrlit; i++) if( c1[i]!=c2[i]) return 0; return 1; int nrvoc(char * cuv1, char* cuv2) { int c1[nrlit]; int c2[nrlit]; contoare(cuv1, c1); contoare(cuv2, c2); return egal(c1, c2); 9
Microsoft Word - CarteC.doc
Transmiterea parametrilor unei funcții Parametrii se transmit de la funcţia apelantă la funcţia apelată prin intermediul stivei. La apelul unei funcţii, pe stivă se crează o înregistrare de activare, care
Mai multLimbaje de programare Pointeri. Alocare dinamică (continuare) 26 noiembrie 2012
Limbaje de programare Pointeri. Alocare dinamică (continuare) 26 noiembrie 2012 EROARE: lipsa iniţializării E o EROARE să folosim o variabilă neiniţializată int sum; for (i=0; i++ < 10; ) sum += a[i];
Mai multLimbaje de Programare Curs 6 – Functii de intrare-iesire
Limbaje de Programare Curs 6 Funcţii de intrare-ieşire Dr. Casandra Holotescu Universitatea Politehnica Timişoara Ce discutăm azi... 1 Citire formatată 2 Citirea şirurilor de caractere 3 Citirea unor linii
Mai multLimbaje de Programare Curs 5 – Siruri de caractere
Limbaje de Programare Curs 5 Şiruri de caractere Dr. Casandra Holotescu Universitatea Politehnica Timişoara Ce discutăm azi... 1 Şiruri de caractere 2 Tipul pointer 3 Funcţii cu şiruri de caractere Şiruri
Mai multSUBPROGRAME
SUBPROGRAME Un subprogram este un ansamblu ce poate conţine tipuri de date, variabile şi instrucţiuni destinate unei anumite prelucrări (calcule, citiri, scrieri). Subprogramul poate fi executat doar dacă
Mai multMicrosoft Word - PCLP2_Curs_4_2019.doc
12. Tipuri de date derivate direct - Tipul pointer Tipurile de date derivate direct sunt tipuri de date create pe baza unor tipuri de date existente. In limbajul C, un astfel de tip, nestructurat (simplu),
Mai multLimbaje de Programare Curs 8 – Fisiere
Limbaje de Programare Curs 8 Fişiere Dr. Casandra Holotescu Universitatea Politehnica Timişoara Ce discutăm azi... 1 Lucrul cu fişiere 2 Fişiere de tip text 3 Funcţii pentru cazuri de eroare 4 Fişiere
Mai multE_d_Informatica_sp_MI_2015_bar_02_LRO
Examenul de bacalaureat naţional 2015 Proba E. d) Informatică Varianta 2 Filiera teoretică, profilul real, specializările: matematică-informatică matematică-informatică intensiv informatică Toate subiectele
Mai multL7
Lucrarea de laborator nr. 7 POINTERI 1. Conţinutul lucrării În lucrare se prezintă tipul pointer, operaţiile permise asupra pointerilor, modul de alocare şi eliberare dinamică a memoriei. 2. Consideraţii
Mai multLaborator 2: Instrucţiuni Java şi lucru cu şiruri de caractere Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 18 octombrie 2011
Laborator 2: Instrucţiuni Java şi lucru cu şiruri de caractere Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 18 octombrie 2011 I. NOŢIUNI TEORETICE A. Instrucţiuni condiţionale 1. Intrucţiunea
Mai multRezolvare model de subiect practic P2 Programarea Calculatoarelor sesiunea iunie 2017
Rezolvare model de subiect practic P2 Programarea Calculatoarelor sesiunea iunie 2017 header.h #ifndef HEADER_H_ #define HEADER_H_ void* xmalloc(size_t nrocteti); int** aloca2d(size_t n, size_t m); void
Mai multMicrosoft Word _POO_Lab_1_Modificari_v01.htm
Laborator POO - 00 (draft) 00-00 / 0//00 00_POO_Lab Modificari_v0.htm POO Laborator Modificarea programelor Java. Studiu de caz: programul Salut.java. Varianta care utilizeaza un argument al programului
Mai mult1. Operatii cu matrici 1 Cerinte: Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A
1. Operatii cu matrici 1 Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A+B (adunare), aa (inmultire cu scalar), A-B scadere), AT (Transpusa),
Mai multProgramarea 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
1 Introducere în programarea în C 1.1 Funcţii în limbajul C Calcule şi funcţii La origine, rolul programelor e de a efectua în principal calcule matematice. Discutăm de aceea structura programelor făcând
Mai multPPSD
Modele paralele SPMD Modelul SPMD Comunicarea prin mesaje Message Passing Interface Modelul SPMD Modelul SPMD (Single Program Multiple Data) Acesta este un model adecvat calculatoarelor MIMD In cele ce
Mai multProgramarea şi utilizarea calculatoarelor
Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu Programarea calculatoarelor Lect.dr. Adrian Runceanu Curs 6 Instrucţiunile limbajului
Mai multLUCRAREA NR
LUCRAREA NR. 5 TIPURI DE DATE STRUCTURATE În C există două categorii de tipuri de date structurate: tablourile şi structurile. Un tablou este o colecţie omogenă de valori de acelaşi tip identificate printr-un
Mai multMicrosoft PowerPoint - Curs_SDA_4_RO_2019_v2.pptx
Curs SDA (PC2) Curs 4 Structuri de date (continuare) Iulian Năstac 10. Funcţii pentru alocarea dinamică a memoriei (Recapitulare) Alocarea dinamică este caracteristica prin care un program poate obţine
Mai multParadigme de programare
Curs 4 Transparență referențială. Legare statică / dinamică. Modelul contextual de evaluare. Transparență referențială Cuprins Efecte laterale Transparență referențială 2 Efecte laterale Efecte laterale
Mai multProcesarea Imaginilor - Laborator 1: Introducere în utilizarea bibliotecii OpenCV 1 1. Introducere în utilizarea bibliotecii OpenCV 1.1. Introducere S
Procesarea Imaginilor - Laborator 1: Introducere în utilizarea bibliotecii OpenCV 1 1. Introducere în utilizarea bibliotecii OpenCV 1.1. Introducere Scopul acestei lucrări de laborator este de a familiariza
Mai multLaborator 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
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 a două funcţii care au acelaşi nume În C++ acest lucru
Mai multLaborator 2 - Încapsularea Programare Orientată pe Obiecte Tema 2.1 Să se analizeze programul EX2.C Indicatii 2.1 A nu se uita de fisierul EX2.H Tema
Laborator 2 - Încapsularea Tema 2.1 Să se analizeze programul EX2.C Indicatii 2.1 A nu se uita de fisierul EX2.H Tema 2.2 Să se modifice funcţiile referitoare la cerc astfel încât parametrul CERC să fie
Mai multSlide 1
CURS 4 Structura generală a unui program C Program - ansamblu de instrucţiuni incluse în una sau mai multe funcţii, care specifică operaţiile ce trebuie efectuate asupra unor date pentru a fi prelucrate
Mai multMicrosoft Word - CarteC.doc
INSTRUCŢIUNILE LIMBAJULUI C (2) Instrucţiuni repetitive Instrucţiunea while Instrucţiunea while are formatul: while(expresie) Expresie DA Instrucţiune NU Instrucţiunea while produce în primul rând evaluarea
Mai multPROGRAMARE ORIENTATA PE OBIECTE
Curs 2 Principiile Programării Orientate pe Obiecte Programare Orientată pe Obiecte Tehnici de programare Programarea procedurală Modul în care este abordată programarea, din punct de vedere al descompunerii
Mai multMicrosoft PowerPoint - ImplementareLimbaj [Read-Only] [Compatibility Mode]
Detalii de implementare. Declararea variabilelor, transmiterea parametrilor catre subprograme. Declararea variabilelor variabile globale -declarate in afara oricarei functii variabile locale -declarate
Mai multInterfețe și Protocoale de Comunicații Arduino-Port Paralel Arduino. Laborator 1- Portul Paralel 1 Caracteristici generale Arduino UNO este o placă de
Arduino. Laborator 1- Portul Paralel 1 Caracteristici generale Arduino UNO este o placă de dezvoltare bazată pe un microcontroller ATmega 328P pe 8 biți cu 32kB memorie flash. Placa de dezvoltare conține:
Mai multSubiectul 1
Subiectul 1 În fişierul Numere.txt pe prima linie este memorat un număr natural n (n
Mai multMicrosoft PowerPoint - Curs_SDA_9_RO_2019_v2.pptx
SDA (PC2) Curs 9 Liste / Grafuri / Arbori Iulian Năstac Lista dublu înlănțuită Recapitulare Într-o astfel de listă fiecare nod conţine doi pointeri: unul spre nodul următor şi unul spre nodul precedent.
Mai multTop
PROGRAMARE ORIENTATĂ PE OBIECTE Tratarea excepțiilor O excepție este o eroare care poate să apară la rularea unui program. Exemple: încercarea de deschidere a unui fișier ce nu există depășirea limitelor
Mai multMicrosoft Word - CarteC.doc
Introducere în limbajul de programare C - C este un limbaj de programare ale cărui caracteristici sunt economia de expresie, structuri moderne de control al fluxului şi de date, precum şi un set bogat
Mai multTipuri de date abstracte 30 noiembrie 2005 Programarea calculatoarelor 2. Curs 9 Marius Minea
Tipuri de date abstracte 30 noiembrie 2005 Tipuri de date abstracte 2 Programe compuse din mai multe fişiere Implicit, obiectele declarate la nivel de fişier sunt unice într-un program (douǎ declaraţii
Mai multMicrosoft Word - O problema cu bits.doc
O problemă cu bits 1 Tiberiu Socaciu Enunţul Pe pagina Proful de Mate de pe Facebook 2 am primit de la un elev de clasa a IX-a următoarea provocare 3 : Vom oferi două soluţii, una folosind manipulări de
Mai multLucrarea 10
Lucrarea 10. Studierea facilitatilor senzoriale, de calcul si de comunicatie ale unei placi de tip Arduino 1. Obiectivul lucrarii Lucrarea isi propune sa prezinte facilitatile de calcul, senzoriale si
Mai multParadigme de Programare
Paradigme de Programare Conf. dr. ing. Andrei Olaru andrei.olaru@cs.pub.ro cs@andreiolaru.ro Departamentul de Calculatoare 2019 9 : 1 / 38 Cursul 9 Concluzie Paradigma Funcțională 9 : 2 / 38 Cursul 9:
Mai multtehnologii web
Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu Tehnologii Web Lector univ. dr. Adrian Runceanu 1 Curs 7 Limbajul PHP (partea II) 2
Mai multOperatorii in C Expresii Operatori aritmetici Operatori de asignare Operatori de incrementare si decrementare Operatori relationali Operatori logici O
Operatorii in C Expresii Operatori aritmetici Operatori de asignare Operatori de incrementare si decrementare Operatori relationali Operatori logici Operatii pe biti Operatorul conditional Operatori Logici
Mai multPropunator: Morar Florin Colegiul National Silvania Zalau Discipina: Informatica Nivel liceal, cls. XII 1.Să se scrie în limbajul C/C++ definiţia comp
Propunator: Morar Florin Colegiul National Silvania Zalau Discipina: Informatica Nivel liceal, cls. XII 1.Să se scrie în limbajul C/C++ definiţia completă a subprogramului calcul, care primeşte prin intermediul
Mai multMetode de programare Proiectarea algoritmilor
Metode de programare Asist.univ.dr. Simona Elena Vârlan Structura curs 2 ore de curs ambele specializări, titular curs Simona Elena Vârlan (cabinet D213, vineri) 2 ore de laborator o dată la două săptămâni,
Mai multE_d_Informatica_sp_SN_2014_bar_10_LRO
Examenul de bacalaureat naţional 2014 Proba E. d) Informatică Varianta 10 Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu. Timpul de lucru efectiv este de 3 ore. În rezolvările cerute,
Mai multALGORITMII Ş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
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 far Mohammed ibn Musâ al- Khowârizmî în cartea sa intitulată
Mai multFişiere 11 ianuarie 2004 Utilizarea şi programarea calculatoarelor. Curs 13 Marius Minea
Fişiere 11 ianuarie 2004 Fişiere 2 Lucrul cu fişiere (stdio.h) Ca utilizatori, de calculatoare, ne referim la un fişier prin nume. Ca programatori, ne intereseazǎ accesul la conţinutul fişierului, un şir
Mai multProgramarea şi utilizarea calculatoarelor
Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu Programarea calculatoarelor Lect.dr. Adrian Runceanu Curs 3 Elemente introductive ale
Mai multPCLPII-C16(9)
Programarea Calculatoarelor și Limbaje de Programare - Curs 16 Despre proiect ce s-a studiat? ce se va studia? proiectul tema date de intrare conţinut date de ieşire C9(16)-1 Ce s-a studiat? Instrucţiuni
Mai multMicrosoft Word - Software pentru ordonarea multirang a componentelor unei colectivitati.doc
Software pentru ordonarea multirang a componentelor unei colectivităţi S e prezintă un algoritm pentru dispunerea elementelor unei colectivităţi în raport cu mai multe criterii şi un software aferent,
Mai multDeclararea variabilelor
Platforma 3. 1 Instructiuni diverse Declararea variabilelor Tipuri de Date Tipul de dată al unui obiect/variabila specifica tipul informaţiei pe care acel obiect îl poate stoca. Exemplu: numere întregi,
Mai multLaborator 4: Continuare Programare Orientată pe Obiecte Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 29 octombrie 2011
Laborator 4: Continuare Programare Orientată pe Obiecte Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 29 octombrie 2011 I. NOŢIUNI TEORETICE A. Suprascrierea metodelor O clasă derivată
Mai multMicrosoft PowerPoint - Curs_SDA_10_RO_2019_v1.pptx
SDA (PC2) Curs 10 Arbori Iulian Năstac Definiția 1: Arbori Recapitulare Arborele este un graf orientat, aciclic și simplu conex. Definiția 2: Un arbore este un ansamblu de structuri de date de natură recursivă
Mai multDeclaraţii. Instrucţiuni 19 octombrie 2005 Programarea calculatoarelor 2. Curs 3b Marius Minea
Declaraţii. Instrucţiuni 19 octombrie 2005 Declaraţii. Instrucţiuni 2 Domeniul de vizibilitate al identificatorilor Pt. orice identificator, compilatorul trebuie sǎ-i decidǎ semnificaţia Identificatorii
Mai multSlide 1
1 PROIECTAREA ALGORITMILOR Lect. univ. dr. Adrian Runceanu 1 Curs Alocarea dinamică de memorie în C++ Conţinutul cursului 1. Tipuri de date. Conceptul de pointer 3. Operatori specifici pointerilor 4. Aritmetica
Mai multModul Modbus ASCII SISTEME DE COMUNICATIE CURS 5 - Constantinescu Catalin Atunci cand se foloseste modul MODBUS ASCII fiecare octet din mesaj
2.3.5.2 Modul Modbus ASCII Atunci cand se foloseste modul MODBUS ASCII fiecare octet din mesaj este trimis ca doua caractere ASCII (de exemplu, octetul 0x7A este transmis ca doua caractere 0x37 = 7, respectiv
Mai multGestionarea I/E
Gestionarea I/E Apelurile de sistem I/O in Linux si apelurile API de I/E pentru Windows Herea Cristian 431 A 1. Linux Apeluri de sistem (system calls) Sistemele de operare au un nivel suplimentar de interfete
Mai multLogică și structuri discrete Limbaje regulate și automate Marius Minea marius/curs/lsd/ 24 noiembrie 2014
Logică și structuri discrete Limbaje regulate și automate Marius Minea marius@cs.upt.ro http://www.cs.upt.ro/ marius/curs/lsd/ 24 noiembrie 2014 Un exemplu: automatul de cafea acțiuni (utilizator): introdu
Mai mult1 Lucrarea nr. 8 - Structuri de date de tip liste sortate O listă sortată reprezintă un aranjament al înregistrărilor din cadrul listei în funcţie de
1 Lucrarea nr. 8 - Structuri de date de tip liste sortate O listă sortată reprezintă un aranjament al înregistrărilor din cadrul listei în funcţie de o anumită valoare a unei chei. Pentru operaţiile asupra
Mai multDiapositive 1
Tablouri Operatii pe tablouri bidimensionale Lectii de pregatire pentru Admitere 09 / 03 / 2019 1 Cuprins Operatii pe tablouri bidimensionale 0. Tablouri unidimensionale scurta recapitulare 1.Tablouri
Mai multMicrosoft Word - Laboratorul 3.doc
Laboratorul 3 Implementarea interfetelor cu mediul exterior Obiective Acest laborator isi propune sa prezinte modul de realizare a unor interfete cu mediul exterior astfel incat sa se poata trimite date
Mai multMicrosoft Word - Curs_08.doc
Partea a II-a. Proiectarea bazelor de date Capitolul 6. Tehnici de proiectare şi modele În capitolele precedente s-au analizat modele de baze de date şi limbaje, presupunând în cele mai multe cazuri că
Mai multLab6LCD
LABORATOR 6 - Interfaţă pentru afişor cu cristale lichide (LCD), partea II-a Scopul lucrării În laboratorul anterior s-au implementat funcţiile rd_lcdreg(char vrs), wr_lcdreg(char vrs, char data), void
Mai multMicrosoft Word - Curs_09.doc
Capitolul 7. Proiectarea conceptuală Scop: reprezentarea cerinţelor informale ale aplicaţiei în termenii descrierii complete şi formale dar independent de criteriul folosit pentru reprezentare în sistemul
Mai multLUCRAREA 8 PROGRAMAREA NELINIARĂ ÎN REZOLVAREA PROBLEMELOR DIN ENERGETICĂ. METODE DE ORDINUL Aspecte generale Programarea neliniară are o foart
LUCRAREA 8 PROGRAMAREA NELINIARĂ ÎN REZOLVAREA PROBLEMELOR DIN ENERGETICĂ. METODE DE ORDINUL 0 8.. Aspecte generale Programarea neliniară are o foarte mare importanţă în rezolvarea problemelor de optimizări,
Mai multPreprocesorul C Funcţii cu numǎr variabil de argumente 6 decembrie 2005 Programarea calculatoarelor 2. Curs 10 Marius Minea
Preprocesorul C Funcţii cu numǎr variabil de argumente 6 decembrie 2005 Preprocesorul C. stdarg.h 2 Preprocesorul C extensii (macro-uri) pentru scrierea mai concisǎ a programelor preprocesorul efectueazǎ
Mai multLaborator 3
Laborator 3 Programare III săptămâna 8-12.10.2018 OBIECTIVE: - Folosirea modificatorilor unei clase (public, abstract, final) - Folosirea modificatorilor de acces în declaraţiile membrilor unei clase Noţiuni:
Mai multFâciu N. Maria-Ema CASA CORPULUI DIDACTIC BRĂILA PROGRAM DE FORMARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A SERIA 1 GRUPA 2 CURSANT: Fâciu N. M
CASA CORPULUI DIDACTIC BRĂILA PROGRAM DE FORMARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A SERIA 1 GRUPA 2 CURSANT: PROIECTUL UNITĂŢII DE ÎNVĂŢARE ALGORITMI Notă: filmele didactice, dezbaterile, jocurile
Mai multCurs 10
Ingineria Programării Design Patterns Modele de proiectare Curs Ovidiu Gheorghieş, ogh@infoiasi.ro Adriana Gheorghieş, adrianaa@infoiasi.ro Model View Controller Cel mai popular model de proiectare Dezvoltat
Mai mult7. Alinierea robustă a densităţilor de puncte 3D Măsurarea distanţei dintre diferite forme geometrice 3D Estimarea rotaţiei şi a translaţiei optime în
7. Alinierea robustă a densităţilor de puncte 3D Măsurarea distanţei dintre diferite forme geometrice 3D Estimarea rotaţiei şi a translaţiei optime între nori de puncte Prezentarea generală a algoritmului
Mai multPHP (II)
PHP şi MySQL Bazele de date sunt colecţii de date, aranjate într-o anumită formă Operaţii : - Crearea bazei de date; - Conectarea la baza de date; - Inserarea datelor in baza de date; - Ștergerea datelor
Mai multObject Oriented Programming
UNIVERSITATEA BABEŞ-BOLYAI Facultatea de Matematică şi Informatică Programare orientată obiect Curs 02 Laura Dioşan 2 POO Elemente de bază ale limbajului C++ Referinţe şi pointeri Vectori TAD-uri 3 Tipul
Mai multLaborator 9: Fire de execuţie Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 20 noiembrie 2011
Laborator 9: Fire de execuţie Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 20 noiembrie 2011 I. NOŢIUNI TEORETICE A. Ce este un fir de execuţie? Înainte de a defini conceptul de fir
Mai multPROGRAMARE OBIECT-ORIENTATA LABORATOR 1 INTRODUCERE IN CLASE SI OBIECTE Introducere teoretica Prin intermediul unei Clase ne dorim sa construim tipuri
PROGRAMARE OBIECT-ORIENTATA LABORATOR 1 INTRODUCERE IN CLASE SI OBIECTE Introducere teoretica Prin intermediul unei Clase ne dorim sa construim tipuri noi de date, inexistente pana in momentul acela in
Mai multTablouri unidimensionale Problema 1 Să se determine mulţimea cifrelor unui număr natural n > 0, dat. Exemplu: n= Cifre = {1,2,3,7} Se cere să s
Tablouri unidimensionale Problema 1 Să se determine mulţimea cifrelor unui număr natural n > 0, dat. Exemplu: n=1723237 Cifre = {1,2,3,7 Se cere să se utilizeze subprograme care să comunice între ele şi
Mai multALGORITHMICS
CURS 2: Descrierea algoritmilor în pseudocod =Exemple= 1 Structura Descrierea unor algoritmi simpli Specificarea și utilizarea subalgoritmilor 2 Exemplu 1 Considerăm un tabel cu informații despre studenți
Mai multRaportarea serviciilor de dializă la nivel CNAS
SISTEM INFORMATIC UNIC AL ASIGURĂRILOR DE SĂNĂTATE DIN ROMÂNIA INTEGRAT Raportarea serviciilor de dializă la nivel CNAS Manual de utilizare Versiune document: 1.2 RELEASED Creat: 13.09.2007 Ultima actualizare:
Mai multO NOUA PROBLEMA DE CONCURS OLIMPIADA MUNICIPALA DE INFORMATICA, IASI 2019 V-am promis într-un articol mai vechi ca vom prezenta pe acest blog câteva p
O NOUA PROBLEMA DE CONCURS OLIMPIADA MUNICIPALA DE INFORMATICA, IASI 2019 V-am promis într-un articol mai vechi ca vom prezenta pe acest blog câteva problema interesante. Astăzi ne-am propus sa va supunem
Mai multStructuri de date pentru partiţii de mulţimi O partiţie finită a unei mulţimi nevide S este o mulţime finită de submulţimi ale lui S: {S 1, S 2,..., S
Structuri de date pentru partiţii de mulţimi O partiţie finită a unei mulţimi nevide S este o mulţime finită de submulţimi ale lui S: {S 1, S 2,..., S n P(S) care satisface condiţiile următoare: S i 0
Mai multLecţia 2 Structura liniară, alternativă şi repetitivă Clasa a V-a Structuri de bază(liniară, alternativă şi repetitivă) Programarea structurată este o
Structuri de bază(liniară, alternativă şi repetitivă) Programarea structurată este o manieră de concepere a programelor, potrivit unor reguli bine definite şi independent de limbajul de programare. Scopul
Mai multMicrosoft PowerPoint - Curs_TPI_22_v01.ppt
UPB Facultatea ETTI Curs TPI an III RST 2009-2010 Tehnologii de Programare in Internet (TPI / RST) Titulari curs: Mihnea Magheti, Eduard-Cristian Popovici Suport curs: http://discipline.elcom.pub.ro/tpi/
Mai mult4. Detectarea cantelor Calculul gradientului într-o imagine Detectorul de cante Canny Transformata Hough În această lucrare vor fi studiate metode de
4. Detectarea cantelor Calculul gradientului într-o imagine Detectorul de cante Canny Transformata Hough În această lucrare vor fi studiate metode de detectare a cantelor prin evaluarea gradientului intensității
Mai multMicrosoft Word - Programarea Portului Paralel - IBM-PC. .doc
Lucrarea 1. Programarea Portului Paralel - IBM-PC. 1. Introducere. Lucrea are ca scop familiarizarea cu portul paralel al PC-ului, descriindu-se structura portului parelel, configuraţia acestuia, regimurile
Mai multPropunator: Morar Florin Colegiul National Silvania Zalau Discipina: Informatica Nivel liceal, cls. XI 1.Fişierul text bac.in conţine cel mult 1000 de
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 numere naturale cu cel mult patru cifre fiecare, despărţite
Mai multGestiunea serviciilor de recuperare a sănătăţii în sanatorii şi preventorii
SISTEM INFORMATIC UNIC INTEGRAT AL ASIGURĂRILOR DE SĂNĂTATE DIN ROMÂNIA Gestiunea serviciilor de recuperare a sănătăţii în sanatorii şi preventorii la nivel CNAS Manual de referinţă Versiune document:
Mai multMicrosoft Word - 2 ES RO.doc
2 MULTITASKING 2.1. Preliminarii Este deja foarte bine cunoscut faptul că o programare eficientă în domeniul sistemelor în timp real, în mod evident, vizând aici sistemele în timp real încorporate, este
Mai multLaborator 1-Teoria probabilitatilor si statistica matematica Sef lucrari dr.mat. Daniel N.Pop Departamentul de calculatoare si inginerie electrica 1 P
Laborator 1-Teoria probabilitatilor si statistica matematica Sef lucrari dr.mat. Daniel N.Pop Departamentul de calculatoare si inginerie electrica 1 Prezentare generală Matlab 1.1 Help on-line 1. Limbajul
Mai multNr. 932 din Avizat ISJ Vâlcea, Inspector școlar informatică, Ciochină Luisa EXAMEN DE ATESTARE A COMPETENȚELOR PROFESIONALE A ABSOLVENȚILOR
Nr. 932 din 12.12.2018 Avizat ISJ Vâlcea, Inspector școlar informatică, Ciochină Luisa EXAMEN DE ATESTARE A COMPETENȚELOR PROFESIONALE A ABSOLVENȚILOR DE MATEMATICĂ INFORMATICĂ ȘI MATEMATICĂ INFORMATICĂ,
Mai multCapitole Speciale de Informatică Curs 2: Determinarea vocabularului de termeni şi a listelor de postări 4 octombrie 2018 Reamintim că listele de indec
Capitole Speciale de Informatică Curs 2: Determinarea vocabularului de termeni şi a listelor de postări 4 octombrie 2018 Reamintim că listele de indecşi inversaţi se construiesc în 4 paşi: 1. Se colectează
Mai multLaborator 1 suport teoretic Mediul de dezvoltare Eclipse GLOSAR - Aplicaţie: program obţinut în urma aplicării operației BUILD asupra unui proiect (ve
Laborator 1 suport teoretic Mediul de dezvoltare Eclipse GLOSAR - Aplicaţie: program obţinut în urma aplicării operației BUILD asupra unui proiect (vezi Program C) - BUILD: operație complexă prin care
Mai multMicrosoft Word - lab1_2007.doc
1. Prezentarea mediului de lucru Matlab Acest prim laborator are drept scop prezentarea principalelor caracteristici ale mediului de lucru Matlab. Vor fi trecute în revistă, pe scurt, principiul de funcţionare,
Mai multPowerPoint-Präsentation
Universitatea Transilvania din Braşov Laboratorul de Vedere Artificială Robustă şi Control Sisteme cu MicroProcesoare Curs 05 Convertorul analog numeric Tiberiu Teodor COCIAȘ 1 Cuprins Generalității Principiu
Mai multIngineria Sistemelor de Programare
Ingineria Sistemelor de Programare Agregarea si Mostenirea mihai.hulea@aut.utcluj.ro 2019 Compozitia si agregarea Relatia dintre obiecte raspunde afirmativ la intrebarea are un/are o Exemple: Telefonul
Mai multUtilizare Internet
Curs 14 2014/2015 1 Functionalitate La toate temele 1p din nota este obtinut de indeplinirea functionalitatii cerute. orice tehnologie, orice metoda, sa faca ceea ce trebuie Forma paginii prezinta importanta
Mai multTestare manuala: situatia in care o persoana initiaza fiecare test, interactioneaza cu el si interpreteaza, analizeaza si raporteaza rezultatele. Test
Testare manuala: situatia in care o persoana initiaza fiecare test, interactioneaza cu el si interpreteaza, analizeaza si raporteaza rezultatele. Testare automata: exista un mecanism pentru executia fara
Mai multCurs 3 Permutari cu repetitie. Combinari. Algoritmi de ordonare si generare
Curs 3 Permutări cu repetiţie. Combinări. Algoritmi de ordonare şi generare Octombrie 2015 Cuprins Algoritmi de ordonare şi generare pentru permutări cu repetiţie Reprezentarea binară a submulţimilor Algoritmi
Mai multIntroducere în limbajul JavaScript
Introducere în limbajul JavaScript (III) HTML DOM (Document Object Model) DOM este un standard W3C (World Wide Web Consortium) care permite programelor și scripturilor accesarea dinamică a documentelor
Mai multMetode de sortare - pregătire admitere - Conf.dr. Alexandru Popa Lect. dr. Andrei Pătraşcu Universitatea din Bucureşti 1
Metode de sortare - pregătire admitere - Conf.dr. Alexandru Popa Lect. dr. Andrei Pătraşcu Universitatea din Bucureşti 1 Cuprins Problema sortării Algoritmul de sortare prin interschimbare (Bubble sort)
Mai multProgramarea şi utilizarea calculatoarelor
Programare orientată pe obiecte # 10 JAVA Limbajul JAVA. Clasa String 2018 Adrian Runceanu www.runceanu.ro/adrian copyright@www.adrian.runceanu.ro Curs 10 Clasa String in Java 03.12.2018 Curs - Programare
Mai multMicrosoft PowerPoint - Curs_SDA_3_RO_2019_v2.pptx
Curs SDA (PC2) Curs 3 Pointeri (continuare) Structuri de date Iulian Năstac Pointeri (Recapitulare) Un pointer este o variabilă care conţine o adresă din memorie, unde se află valoarea altei variabile.
Mai multLucrarea nr. 2 Aplicaţii de tip client Mihai IVANOVICI 6 martie 2006 Scopul acestei lucrări este de a vă familiariza cu modulul Python socket şi cu mo
Lucrarea nr. 2 Aplicaţii de tip client Mihai IVANOVICI 6 martie 2006 Scopul acestei lucrări este de a vă familiariza cu modulul Python socket şi cu modul de implementare al unei aplicaţii de tip client.
Mai multTextul si imaginile din acest document sunt licentiate Attribution-NonCommercial-NoDerivs CC BY-NC-ND Codul sursa din acest document este licentiat Pu
Textul si imaginile din acest document sunt licentiate Attribution-NonCommercial-NoDerivs CC BY-NC-ND Codul sursa din acest document este licentiat Public-Domain Esti liber sa distribui acest document
Mai multSECURITATE ȘI CRIPTOGRAFIE
Noțiuni de bază ale criptografiei Criptografia este studiul metodelor matematice legate de securitatea informației, capabile să asigure confidențialitatea, autentificarea și non-repudierea mesajelor, precum
Mai multMicrosoft Word - Algoritmi genetici.docx
1.1 Generalităţi Algoritmii genetici fac parte din categoria algoritmilor de calcul evoluționist și sunt inspirați de teoria lui Darwin asupra evoluției. Idea calculului evoluționist a fost introdusă în
Mai mult