28
Strukture te Dhenash Seminar 7 ELISA RECI Universiteti Luigj Gurakuqi Fakulteti i Shkencave te Natyres Departamenti i Matematikes dhe Informatikes SHKODER 1 MSc. Elisa Reci Semestri II/2013

Strukture te Dhenash Seminar 1 - Informatikelisareci.weebly.com/uploads/2/0/3/7/20379979/s.dh... · 2019-09-07 · eficente => perdorimi i skedareve. Semestri II/2013 MSc. Elisa Reci

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Strukture te Dhenash Seminar 1 - Informatikelisareci.weebly.com/uploads/2/0/3/7/20379979/s.dh... · 2019-09-07 · eficente => perdorimi i skedareve. Semestri II/2013 MSc. Elisa Reci

Strukture te Dhenash

Seminar 7

ELISA RECI Universiteti Luigj Gurakuqi

Fakulteti i Shkencave te Natyres

Departamenti i Matematikes dhe Informatikes

SHKODER

1 MSc. Elisa Reci Semestri II/2013

Page 2: Strukture te Dhenash Seminar 1 - Informatikelisareci.weebly.com/uploads/2/0/3/7/20379979/s.dh... · 2019-09-07 · eficente => perdorimi i skedareve. Semestri II/2013 MSc. Elisa Reci

Skedaret

• Skedari eshte nje varg regjistrimesh te te njejtit tip te cilet jane te vendosur ne disk, shirita etj.

• Nga ana tjeter nje regjistrim eshte nje bashkesi te dhenash qe programi i trajton si nje te tere.

• Cdo skedar ka nje emer, qe i lejon sistemit te operimet ta vecoje ate nga skedaret e tjere.

MSc. Elisa Reci 2 Semestri II/2013

Page 3: Strukture te Dhenash Seminar 1 - Informatikelisareci.weebly.com/uploads/2/0/3/7/20379979/s.dh... · 2019-09-07 · eficente => perdorimi i skedareve. Semestri II/2013 MSc. Elisa Reci

Skedaret

• Skedaret jane dy llojesh:

– Skedare te vijueshem (ose skedare text)

– Skedare me hyrje te drejtperdrejte (ose skedare binare)

MSc. Elisa Reci 3 Semestri II/2013

Page 4: Strukture te Dhenash Seminar 1 - Informatikelisareci.weebly.com/uploads/2/0/3/7/20379979/s.dh... · 2019-09-07 · eficente => perdorimi i skedareve. Semestri II/2013 MSc. Elisa Reci

Skedaret e vijueshem

• Te dhenat vendosen njeri pas tjetrit

• Per te hyre tek nje e dhene bridhet skedari nga fillimi deri tek e dhena qe ne kerkojme.

• => kerkimi shume i ngadalte

MSc. Elisa Reci 4 Semestri II/2013

Page 5: Strukture te Dhenash Seminar 1 - Informatikelisareci.weebly.com/uploads/2/0/3/7/20379979/s.dh... · 2019-09-07 · eficente => perdorimi i skedareve. Semestri II/2013 MSc. Elisa Reci

Skedaret binare

• Cdo rregjistrim eshte i paisur me nje nr regjistrimi (ID)

• => hyrje te drejteperdrejt ne regjistrim dhe jo nga fillimi

• => nenkupton qe ky nr duhet njohur qe me pare

• Kerkim i shpejte

MSc. Elisa Reci 5 Semestri II/2013

Page 6: Strukture te Dhenash Seminar 1 - Informatikelisareci.weebly.com/uploads/2/0/3/7/20379979/s.dh... · 2019-09-07 · eficente => perdorimi i skedareve. Semestri II/2013 MSc. Elisa Reci

Administruesi i skedareve

• Operacionet qe mund te kryeje jane:

– Perseritje e regjistrimit

– Zevendesim i nje regjistrimi

– Shtim i nje regjistrimi

– Largim i regjistrimit

– Rezervim i nje skedari te ri

– Fshirje e nje skedari

MSc. Elisa Reci 6 Semestri II/2013

Page 7: Strukture te Dhenash Seminar 1 - Informatikelisareci.weebly.com/uploads/2/0/3/7/20379979/s.dh... · 2019-09-07 · eficente => perdorimi i skedareve. Semestri II/2013 MSc. Elisa Reci

Skedaret text

• Ne ekzekutimin standart te programeve deri tani keme bere

• Rifutjen e te dhenave sa here qe ekzekutohet programi si dhe

• Ne rast te gabimeve, te dhenat duhet te rifuten nga fillimi

• Imagjinoni sasi te medha te dhenash…

• Rastet e mesiperme nuk do ishin mjaftueshem eficente => perdorimi i skedareve.

MSc. Elisa Reci 7 Semestri II/2013

Page 8: Strukture te Dhenash Seminar 1 - Informatikelisareci.weebly.com/uploads/2/0/3/7/20379979/s.dh... · 2019-09-07 · eficente => perdorimi i skedareve. Semestri II/2013 MSc. Elisa Reci

Skedaret text

• Te dhenat do shkruheshin ne skedar dhe programi do ti lexonte sa here te ishte e nevojshme.

• Skedaret te tipit text krijohen krejt lehte me ane te nje editori dhe rezervohen ne disk.

• Pastaj keto te dhena mund te manipulohen nga instruksionet e programit.

MSc. Elisa Reci 8 Semestri II/2013

Page 9: Strukture te Dhenash Seminar 1 - Informatikelisareci.weebly.com/uploads/2/0/3/7/20379979/s.dh... · 2019-09-07 · eficente => perdorimi i skedareve. Semestri II/2013 MSc. Elisa Reci

Skedaret text

• Skedari text eshte nje bashkesi elementesh te rezervuara ne disk nepermjet nje emri.

– Elementet e tij jane te dhena te pastrukturuara

– Mund te jene:numra,karaktere,stringje etj.

– Nuk kane madhesi fikse

MSc. Elisa Reci 9 Semestri II/2013

Page 10: Strukture te Dhenash Seminar 1 - Informatikelisareci.weebly.com/uploads/2/0/3/7/20379979/s.dh... · 2019-09-07 · eficente => perdorimi i skedareve. Semestri II/2013 MSc. Elisa Reci

Skedaret-deklarimi

• FILE *f

• Kjo nenkupton qe variabli me emer f perfaqeson nje skedar.

MSc. Elisa Reci 10 Semestri II/2013

Page 11: Strukture te Dhenash Seminar 1 - Informatikelisareci.weebly.com/uploads/2/0/3/7/20379979/s.dh... · 2019-09-07 · eficente => perdorimi i skedareve. Semestri II/2013 MSc. Elisa Reci

Skedaret text

• Per tu perdorur skedari duhet te hapet.kjo realizohet nga funksioni fopen= file open

• f= fopen (“emerskedari.txt”, “rt”)

• F eshte skedari formal

• Emerskedari eshte skedari fizik

• R = read t=text

• Ne momentin e hapjes shenjuesi vendoset ne vendin fillestar

MSc. Elisa Reci 11 Semestri II/2013

Page 12: Strukture te Dhenash Seminar 1 - Informatikelisareci.weebly.com/uploads/2/0/3/7/20379979/s.dh... · 2019-09-07 · eficente => perdorimi i skedareve. Semestri II/2013 MSc. Elisa Reci

Leximi i skedarit

• Supozojme se skedari permban nr ath leximi do jete :

fscanf (f, &numer);

• Funksioni merr te dhenat nga shenjuesi e i vendos ne kujtesen qendrore te adresa numer.

• Pastaj shenjuesi zhvendoset automatikisht duke marre gjitha te dhenat me rradhe.

• Fundi i leximit te nje file tregohet kur arrihet feof(f).

• Kurse mbyllja e skedarit f behet me ane te funksionit fclose(f)

MSc. Elisa Reci 12 Semestri II/2013

Page 13: Strukture te Dhenash Seminar 1 - Informatikelisareci.weebly.com/uploads/2/0/3/7/20379979/s.dh... · 2019-09-07 · eficente => perdorimi i skedareve. Semestri II/2013 MSc. Elisa Reci

Ushtrimi 1

• Ndertoni nje program qe lexon nje skedar i cili permban keto vlera :

• 2 4 1

• 2 9 3

• Dhe per keto vlera llogarit shumen si dhe sasine e nr.

MSc. Elisa Reci 13 Semestri II/2013

Page 14: Strukture te Dhenash Seminar 1 - Informatikelisareci.weebly.com/uploads/2/0/3/7/20379979/s.dh... · 2019-09-07 · eficente => perdorimi i skedareve. Semestri II/2013 MSc. Elisa Reci

#include <iostream>

#include <cstdlib>

#include <cstdio>

using namespace std;

int main (){

//deklarojme nje skedar formal me emrin f

FILE * f;

f=fopen("skedar.txt", "rt");

int n, shuma=0, sasia=0;

fscanf(f,"%d", &n);

while (!feof(f)){

shuma= shuma + n;

sasia = sasia +1;

//lexon te dhenen pasardhese

fscanf(f,"%d", &n);

}

fclose(f);

cout << "Shuma eshte "<< shuma<< "sasia eshte "<< sasia<< endl;

Return 0;

}

MSc. Elisa Reci 14 Semestri II/2013

Page 15: Strukture te Dhenash Seminar 1 - Informatikelisareci.weebly.com/uploads/2/0/3/7/20379979/s.dh... · 2019-09-07 · eficente => perdorimi i skedareve. Semestri II/2013 MSc. Elisa Reci

Nga tastiera ne disk

• Fundi i nje rreshti shenohet : “\n“ kurse

• Fundi i skedarit : EOF

• Per te shkruar nga tastiera ne disk:

– Kemi perdorur funksionin getchar() qe merr me rradhe karakteret

– Si dhe EOF qe nenkupton mbarimin e filet dhe lexon nr e rreshtave

– Duhet shtypur njeheresh CTRL + Z ne momentin qe nuk doni te shkruani me.

MSc. Elisa Reci 15 Semestri II/2013

Page 16: Strukture te Dhenash Seminar 1 - Informatikelisareci.weebly.com/uploads/2/0/3/7/20379979/s.dh... · 2019-09-07 · eficente => perdorimi i skedareve. Semestri II/2013 MSc. Elisa Reci

Nga tastiera ne disk /*

* skedaret.cpp

*

* Created on: 11.04.2013

* Author: Elisa

*/

#include <iostream>

#include <cstdlib>

#include <cstdio>

using namespace std;

int main (){

int c, nk=0, nr=0;

while ((c=getchar()) !=EOF){

if (c !='\n')

nk++;

else

nr++; }

cout << "Numri i karaktereve eshte:" <<nk <<endl ;

cout << "Numri i rreshtave eshte:" <<nr <<endl ;

return 0;}

MSc. Elisa Reci 16 Semestri II/2013

Page 17: Strukture te Dhenash Seminar 1 - Informatikelisareci.weebly.com/uploads/2/0/3/7/20379979/s.dh... · 2019-09-07 · eficente => perdorimi i skedareve. Semestri II/2013 MSc. Elisa Reci

Nga disku ne ekran #include <iostream>

#include <cstdlib>

#include <cstdio>

using namespace std;

FILE *f;

int main (){

f = fopen("disk.txt", "rt");

char c;

c=fgetc(f);

while (!feof(f)){

if (c !='\n')

cout << c; else

cout << "\n";

c=fgetc(f); }

while (!feof(f));

return 0; }

MSc. Elisa Reci 17 Semestri II/2013

Page 18: Strukture te Dhenash Seminar 1 - Informatikelisareci.weebly.com/uploads/2/0/3/7/20379979/s.dh... · 2019-09-07 · eficente => perdorimi i skedareve. Semestri II/2013 MSc. Elisa Reci

Vecorite

• Nje skedar text qe hapet per lexim nuk mund te shkruhet dhe anasjelltas.

• => skedaret text jo sh te dehsirueshem

• Skedari qe hapet per lexim lejon shkrimin vetem kur ky i fundit behet ne fund te skedarit

• Kjo realizohet nepermet vleres “at”

• Kurse wt= write text.

MSc. Elisa Reci 18 Semestri II/2013

Page 19: Strukture te Dhenash Seminar 1 - Informatikelisareci.weebly.com/uploads/2/0/3/7/20379979/s.dh... · 2019-09-07 · eficente => perdorimi i skedareve. Semestri II/2013 MSc. Elisa Reci

Vecorite

#include <iostream>

#include <cstdlib>

#include <cstdio>

using namespace std;

int main (){

FILE *f;

int i = 10;

char c[9]= 'Strukture';

float pi=3.14;

f=fopen ("disk.txt", "at");

fprintf(f, "%d %s %f", i, c, pi);

fclose (f);

return 0;

}

MSc. Elisa Reci 19 Semestri II/2013

Page 20: Strukture te Dhenash Seminar 1 - Informatikelisareci.weebly.com/uploads/2/0/3/7/20379979/s.dh... · 2019-09-07 · eficente => perdorimi i skedareve. Semestri II/2013 MSc. Elisa Reci

Ushtrimi 2

• Ndertoni nje program qe shkruan nje string karakteresh ne nje skedar tekst me emrin skedar.txt

MSc. Elisa Reci 20 Semestri II/2013

Page 21: Strukture te Dhenash Seminar 1 - Informatikelisareci.weebly.com/uploads/2/0/3/7/20379979/s.dh... · 2019-09-07 · eficente => perdorimi i skedareve. Semestri II/2013 MSc. Elisa Reci

Ushtrimi 3

• Ndertoni nje program qe lejon futjen e tekstit me ane te tastieres nga nje skedar f1 dhe shkruan te dhenat ne skedarin me emrin skedar2.txt

MSc. Elisa Reci 21 Semestri II/2013

Page 22: Strukture te Dhenash Seminar 1 - Informatikelisareci.weebly.com/uploads/2/0/3/7/20379979/s.dh... · 2019-09-07 · eficente => perdorimi i skedareve. Semestri II/2013 MSc. Elisa Reci

Ushtrimi 4

• Ndertoni nje program qe kopjon nga nje skedar burim.txt ne nje skedar destinacion.txt

MSc. Elisa Reci 22 Semestri II/2013

Page 23: Strukture te Dhenash Seminar 1 - Informatikelisareci.weebly.com/uploads/2/0/3/7/20379979/s.dh... · 2019-09-07 · eficente => perdorimi i skedareve. Semestri II/2013 MSc. Elisa Reci

Ushtrimi 5

• Ndertoni nje program qe njehson shumen dhe mesataren artimetike te numrave reale te permbajtur ne nje skedar sk1.txt dhe pastaj krijon dhe skedarin sk2.txt ne te cilin numrat e sk1.txt te vendosen nje numer per cdo rresht

MSc. Elisa Reci 23 Semestri II/2013

Page 24: Strukture te Dhenash Seminar 1 - Informatikelisareci.weebly.com/uploads/2/0/3/7/20379979/s.dh... · 2019-09-07 · eficente => perdorimi i skedareve. Semestri II/2013 MSc. Elisa Reci

Ushtrimi 6

• Implementoni nje program qe njehson numrin e zanoreve qe permban nje skedar me emrin zanore.txt dhe i afishon ato ne ekran

MSc. Elisa Reci 24 Semestri II/2013

Page 25: Strukture te Dhenash Seminar 1 - Informatikelisareci.weebly.com/uploads/2/0/3/7/20379979/s.dh... · 2019-09-07 · eficente => perdorimi i skedareve. Semestri II/2013 MSc. Elisa Reci

Ushtrimi 7

• Te krijohet skedari “bashkim.txt” si rrjedhoje e bashkimit te te skedarit “b1.txt” me “b2.txt”.

MSc. Elisa Reci 25 Semestri II/2013

Page 26: Strukture te Dhenash Seminar 1 - Informatikelisareci.weebly.com/uploads/2/0/3/7/20379979/s.dh... · 2019-09-07 · eficente => perdorimi i skedareve. Semestri II/2013 MSc. Elisa Reci

Ushtrimi 8 • Te tregohet se cfare afishohet nga nje kode i tille:

#include <iostream>

#include <cstdlib>

#include <cstdio>

using namespace std;

int main (){

FILE *f1,*f2;

char str [80];

f1 = fopen ("skedar.txt", "rt");

f2 = fopen ("data.txt", "wt");

fgets(str, 80, f1);

while (!feof(f1)){

fprintf(f2, "%s" , str);

fgets(str, 80, f1);}

fclose (f1);

fclose (f2);

return 0;

} MSc. Elisa Reci 26 Semestri II/2013

Page 27: Strukture te Dhenash Seminar 1 - Informatikelisareci.weebly.com/uploads/2/0/3/7/20379979/s.dh... · 2019-09-07 · eficente => perdorimi i skedareve. Semestri II/2013 MSc. Elisa Reci

Ushtrimi 8 • Te tregohet se cfare afishohet nga nje kode i tille:

#include <iostream>

#include <cstdlib>

#include <cstdio>

using namespace std;

FILE *f;

int c,ch ; int n =0;

int main (){

f = fopen ("skedar.txt", "rt");

c=fgetc(f);

ch= fgetc(f);

while (!feof(f)){

if (c == ch) n++;

ch=fgetc(f);}

fclose (f);

cout<<n<<endl;

return 0;

}

MSc. Elisa Reci 27 Semestri II/2013

Page 28: Strukture te Dhenash Seminar 1 - Informatikelisareci.weebly.com/uploads/2/0/3/7/20379979/s.dh... · 2019-09-07 · eficente => perdorimi i skedareve. Semestri II/2013 MSc. Elisa Reci

MSc. Elisa Reci 28 Semestri II/2013