Extras din laborator
1 Tema:Implimentarea tipului abstract de date.Tabloul de structuri.
2 Sarcina:De implimentat tipul abstract de date,tablou de structuri si de elaborat un program.
3 Structura data:Structura stat cu 5 cimpuri.
1)Denumire
2)Capitala
3)Piata
4)Populatia
5)PIB
4 Analiza datelor:
Cîmpurile structurii stat :
denumire – un tablou de 40 caractere in care se va păstra denumirea fiecarui stat ;
capitala – un tablou de 40 caractere în care se va păstra denumirea capitalei statului;
piata – tablou de 40 caractere in care se va păstra numele pietii;
populatia - variabila de tip integer în care se va stoca numarul de populatie a statului;
pib – variabilade tip integer in care se va păstra pib-ul;
a- pointer ce indica la primul element din tabloul de strcturi stat.
5 Descrierea scurta a teoriei
Tipul abstract de date reprezinta un model matematic al structurii de date studiate si operatiuni asupra datelor. Etapele implementarii TDA in limbajul C:
1) Crearea fisierului cu extensia (.h) care contine:descrierea proprietatilor SD
2) Prototipurile functiilor pentru operatiuni asupra datelor
3) Crearea fisierului cu extensia (.cpp) care contine main-ul.
Un TDA poate fi conceput ca un model matematic căruia i se asociază o colecţie de operatori specifici. Vom realiza o paralelă cu conceptul de procedură. Procedura generalizează noţiunea de operator. În loc de a fi limitat la utilizarea exclusivă a operatorilor definiţi în cadrul limbajului de programare , folosind procedurile, programatorul este liber să-şi definească proprii săi operatori, pe care ulterior să-i aplice asupra unor operanzi care nu e necesar să aparţină tipurilor de bază ale limbajului utilizat.
6 Mersul lucrarii.
Fisierul stat.h.Aici sunt definite proprietatile obiectului in cazul data statul,si declaratiile functiilor care asigura operatiuni asupra obiectului.
stat.h
typedef struct stat
{ char denumire[40];
char capitala[40];
char piata[40];
int populatia;
int pib;
} stat;
void AlocDinam(stat *a,int *n);
void Introducere(stat *a,int n);
void Sortare(stat *a,int n);
void Redactare(stat *a);
void Adaug(stat *a,int *n);
void Delet(stat *a,int *n);
void Adaugp(stat *a,int *n);
void WriteF(stat *a,int n);
void ReadF(stat*a,int *n);
void Write(stat *a,int n);
Fisierul stat.cpp.Reprezinta o colectie de date ale functiilor descrise in primul fisier.
stat.cpp
#include "stat.h"
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void AlocDinam(stat *a,int *n)
{ printf("Dati numarul de elemente a masivului: n");
scanf("%d",n);
a=(stat *)malloc(*n*sizeof(stat *));
if (!a) puts ("Alocarea nu a avut locn");
else puts("Alocarea a avut loc cu succesn");
void Introducere(stat *a,int n)
{ int i;
puts ("Introduceti datele despre state in ordinea data:");
puts("Denumire,capitala,piata,populatia,pib.");
for (i=0;i<n;i++)
{fflush(stdin);
gets(a[i].denumire);
fflush(stdin);
gets(a[i].capitala);
fflush(stdin);
gets(a[i].piata);
Preview document
Conținut arhivă zip
- Structuri de Date si Algoritmi
- SDA 2.doc
- SDA Lab1.doc
- SDA4,5 .doc
- SDA6.doc