SlideShare a Scribd company logo
1 of 19
M a r i a G u t u
Material didactic pentru Informatică
(În corespondență cu curriculum-ul la Informatică)
Clasa a X-a
M a r i a G u t u
O1 - să explice noţiunile: fişier text, linie, lungimea
liniei, sfîrşit de linie, sfîrşit de fişier;
O1 - să enumere procedurele destinate prelucrării
fişierelor text;
O1 - să explice destinaţia fişierelor standard de
intrare şi ieşire;
O1 - să demonstreze înţelegerea metodelor de
prelucrare a fişierelor text prin explorarea caracter
cu caracter şi prin utilizarea specificatorilor de
format;
O1 - să poată crea şi prelucra datele din fişierele text.
M a r i a G u t u
Se numește fișier text o succesiune de caractere
ASCII scrise în una sau mai multe linii și care nu
au în mod obligatoriu lungimi egale.
Fișierele text au o importanță deosebită din
două motive:
 Sunt direct afișabile;
 Orice editor de texte lucrează cu fișiere de
acest tip.
M a r i a G u t u
Fișierele text se declară ca variabilă de tip
predefinit:
VAR a, b: text;
Pentru a face legătura între numele fișierului din
program și numele său de pe suportul extern pe
care se află sau se creează, se folosește
procedura ASSIGN. Apelul procedurii se
realizează prin:
ASSIGN(nume fișier în program, ‘calea + nume
fișier pe suport extern’)
M a r i a G u t u
Var a: text;
.........
Assign(a, ‘fisier1.txt’);
În acest caz, fișierul va fi creat sau se va găsi în
directorul în care ne aflăm și se numește fisier1.txt.
O formă echivalentă pentru o asignare de acest tip
este:
Var a: text; b: string;
.........
b:= ‘fisier1.txt’;
Assign(a, b);
M a r i a G u t u
O altă formă de asignare a unui fișier în cazul în
care el se află într-un alt directoriu, este:
Var a: text;
.........
Assign(a, ‘D:clasa10fisier1.txt’);
În acest caz, fișierul se găsește pe discul D în
directorul clasa10 și se numește fisier1.txt
M a r i a G u t u
Procedura care deschide un fișier pentru a fi creat
este REWRITE. Forma generală este:
Rewrite(variabila fișier).
Scrierea datelor în fișier cu ajutorul procedurilor
WRITE și WRITELN. Forma generală este:
Writeln(variabila fisier, variabila citită).
După ce a fost creat, fișierul trebuie închis utilizând
procedura CLOSE. Forma generală este:
Close(nume fisier).
M a r i a G u t u
Program Creare_fisier;
var f: text; a: string;
begin
assign(f, 'fisier.txt');
rewrite(f); {deschide fisierul pentru scriere}
repeat
readln(a); {Introducerea datelor de la tastatură}
if a<>'stop' then
writeln(f, a); {datele se scriu in fisierul f }
until a='stop';
close(f)
end.
M a r i a G u t u
Pentru a citi un fișier text sunt necesare următoarele
proceduri: RESET, READ, READLN.
Procedura RESET deschide un fișier pentru citire și
are forma generală:
Reset(variabila fisier).
Pentru procedurile READ și READLN avem forma
simplificată:
Read(var de tip fișier, variabilă de tip string);
Readln(var de tip fișier, variabilă de tip string).
Se citește maxim 256 de caractere din linia curentă
a fișierului.
M a r i a G u t u
Program Citire_fisier;
var f: text; a: string;
begin
assign(f, 'fisier.txt');
reset(f); {pregătește fisierul f pentru citire }
while not eof(f) do
begin {cât timp nu este sfârșit de
readln(f, a); fisier (eof(f)) se execută
writeln(a); instrucțiunile aflate între
end; begin și end}
close(f)
end.
M a r i a G u t u
Procedura APPEND are rolul de a deschide un fișier
text care a fost creat pentru extindere (scriere la
sfârșit de fișier). Forma generală este:
Append (variabila fișier).
În situația în care fișierul nu există, se generează o
eroare de intrare-ieșire. Pentru un fișier deschis cu
Append este posibilă numai operația de scriere.
M a r i a G u t u
Program Extindere_fisier;
var f: text; a: string;
begin
assign(f, 'fisier.txt');
append(f);
repeat
readln(a);
if a<>'stop' then writeln(f, a);
until a='stop';
close(f)
end.
M a r i a G u t u
Funcția EOLN are ca parametru formal o variabilă
fișier și este de tip boolean. La execuție, funcția
întoarce valoarea TRUE dacă pointer-ul este la
sfârșit de linie și FALSE în caz contrar.
M a r i a G u t u
Program Functie_EOLN;
var f: text; a: string;
begin
assign(f, 'fisier.txt');
reset(f);
while not eoln(f) do
begin
readln(f, a); writeln(a);
end;
close(f)
end.
M a r i a G u t u
Aceste fișiere se consideră declarate (nu mai este
necesar declararea lor ca fișiere text). Ele se
asignează în mod automat la tastatură (INPUT) și
monitor (OUTPUT). În situația în care procedurile
READ, READLN, WRITE, WRITELN nu au precizată la
apel variabila fișier, aceasta este considerată
automat INPUT pentru procedurile de citire și
OUTPUT pentru procedurile de scriere.
M a r i a G u t u
Scrieţi un program care calculează 𝒂 𝒏
, unde n ∈ Z
şi a ∈ R. n și a sunt citite din fișierul date.in, iar
rezultatul este înscris în fişierul text date.out
Intrare: Fişierul date.in
Ieşire: Fişierul date.out
M a r i a G u t u
Program Calcul_Putere;
Var fin, fout:Text;
a, putere, p:real;
n:Integer;
Begin
assign(fin, 'date.in');
reset(fin);
assign(fout, 'date.out');
rewrite(fout);
readln(fin, n, a);
p:=1;
if n<0 then begin
for var i:=1 to -n do p:=p*a;
putere:=1/p;
end;
putere:=1;
if n>0 then
for var i:=1 to n do
putere:=putere*a;
if n=0 then putere:=1;
write(fout, putere);
Close(fin); Close(fout);
End.
M a r i a G u t u
În concluzie, prezentăm ordinea în care trebuie apelate
procedurile destinate prelucrării datelor de tip fișier:
1. Assign(f, s) – asocierea fișierului f cu fișierul extern s;
2. Reset(f) – deschiderea fișierului f pentru citire;
Rewrite(f) – deschiderea fișierului f pentru scriere;
Apend(f) – deschiderea fișierului f pentru
extindere(adăugare date la fișierul existent);
3. Read(f, v) – citirea unei componente a fișierului f;
Write(f, e) – scrierea unei componente a fișierului f;
4. Close(f) – închiderea fișierului f.
M a r i a G u t u
După închiderea fișierului, variabile f poate fi
asociată cu un alt fișier extern.
Întrucât valorile variabilelor de tip fișier se
păstrează pe suporturile externe de informație,
atribuirile de fișiere sunt interzise.

More Related Content

What's hot

Урок №1. Опрацювання даних як інформаційний процес.Кодування та декодування д...
Урок №1. Опрацювання даних як інформаційний процес.Кодування та декодування д...Урок №1. Опрацювання даних як інформаційний процес.Кодування та декодування д...
Урок №1. Опрацювання даних як інформаційний процес.Кодування та декодування д...Василь Тереховський
 
Опрацювання текстових даних
Опрацювання текстових данихОпрацювання текстових даних
Опрацювання текстових даних8RTGOD 9RTGOD
 
8. Drukowanie płaskie
8. Drukowanie płaskie8. Drukowanie płaskie
8. Drukowanie płaskiePatryk Patryk
 
PHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de DadosPHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de DadosDaniel Brandão
 
1.2 Двійкове кодування. Одиниці вимірювання довжини двійкового коду. Кодуванн...
1.2 Двійкове кодування. Одиниці вимірювання довжини двійкового коду. Кодуванн...1.2 Двійкове кодування. Одиниці вимірювання довжини двійкового коду. Кодуванн...
1.2 Двійкове кодування. Одиниці вимірювання довжини двійкового коду. Кодуванн...Оксана Миколаївна Хоровець
 
جافا سكريبت
جافا سكريبتجافا سكريبت
جافا سكريبتosman do
 
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]Ministério Público da Paraíba
 
Variáveis - Linguagem C
Variáveis - Linguagem CVariáveis - Linguagem C
Variáveis - Linguagem Cprofjr
 
Будова комп'ютера
Будова комп'ютераБудова комп'ютера
Будова комп'ютераjap2006
 
Mit ne tegyünk kullancs-csípés után
Mit ne tegyünk kullancs-csípés utánMit ne tegyünk kullancs-csípés után
Mit ne tegyünk kullancs-csípés utánElod Koncsag-Szasz
 
Introdução aos Algoritmos Genéticos
Introdução aos Algoritmos GenéticosIntrodução aos Algoritmos Genéticos
Introdução aos Algoritmos GenéticosNorton Guimarães
 
ICC - Aula 03 - Expressões aritméticas, lógicas e prioridade
ICC - Aula 03 - Expressões aritméticas, lógicas e prioridadeICC - Aula 03 - Expressões aritméticas, lógicas e prioridade
ICC - Aula 03 - Expressões aritméticas, lógicas e prioridadeFelipe J. R. Vieira
 

What's hot (20)

File handling in Python
File handling in PythonFile handling in Python
File handling in Python
 
Урок №1. Опрацювання даних як інформаційний процес.Кодування та декодування д...
Урок №1. Опрацювання даних як інформаційний процес.Кодування та декодування д...Урок №1. Опрацювання даних як інформаційний процес.Кодування та декодування д...
Урок №1. Опрацювання даних як інформаційний процес.Кодування та декодування д...
 
Опрацювання текстових даних
Опрацювання текстових данихОпрацювання текстових даних
Опрацювання текстових даних
 
Linguagem Dart (Google)
Linguagem Dart (Google)Linguagem Dart (Google)
Linguagem Dart (Google)
 
Zastosowanie systemów liczbowych w informacji cyfrowej
Zastosowanie systemów liczbowych w informacji cyfrowejZastosowanie systemów liczbowych w informacji cyfrowej
Zastosowanie systemów liczbowych w informacji cyfrowej
 
8. Drukowanie płaskie
8. Drukowanie płaskie8. Drukowanie płaskie
8. Drukowanie płaskie
 
PHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de DadosPHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de Dados
 
1.2 Двійкове кодування. Одиниці вимірювання довжини двійкового коду. Кодуванн...
1.2 Двійкове кодування. Одиниці вимірювання довжини двійкового коду. Кодуванн...1.2 Двійкове кодування. Одиниці вимірювання довжини двійкового коду. Кодуванн...
1.2 Двійкове кодування. Одиниці вимірювання довжини двійкового коду. Кодуванн...
 
جافا سكريبت
جافا سكريبتجافا سكريبت
جافا سكريبت
 
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
 
Introligator 734[02] z1.03_u
Introligator 734[02] z1.03_uIntroligator 734[02] z1.03_u
Introligator 734[02] z1.03_u
 
Variáveis - Linguagem C
Variáveis - Linguagem CVariáveis - Linguagem C
Variáveis - Linguagem C
 
3 Linguaggioc
3   Linguaggioc3   Linguaggioc
3 Linguaggioc
 
Будова комп'ютера
Будова комп'ютераБудова комп'ютера
Будова комп'ютера
 
Mit ne tegyünk kullancs-csípés után
Mit ne tegyünk kullancs-csípés utánMit ne tegyünk kullancs-csípés után
Mit ne tegyünk kullancs-csípés után
 
Introdução aos Algoritmos Genéticos
Introdução aos Algoritmos GenéticosIntrodução aos Algoritmos Genéticos
Introdução aos Algoritmos Genéticos
 
Python primjeri programa
Python primjeri programaPython primjeri programa
Python primjeri programa
 
ICC - Aula 03 - Expressões aritméticas, lógicas e prioridade
ICC - Aula 03 - Expressões aritméticas, lógicas e prioridadeICC - Aula 03 - Expressões aritméticas, lógicas e prioridade
ICC - Aula 03 - Expressões aritméticas, lógicas e prioridade
 
Curso de Desenvolvimento Web - Módulo 02 - CSS
Curso de Desenvolvimento Web - Módulo 02 - CSSCurso de Desenvolvimento Web - Módulo 02 - CSS
Curso de Desenvolvimento Web - Módulo 02 - CSS
 
Linguagem C 09 Ponteiros
Linguagem C 09 PonteirosLinguagem C 09 Ponteiros
Linguagem C 09 Ponteiros
 

More from m_gutu

Jeopardy Vocabularul și sintaxa limbajului Pascal
Jeopardy  Vocabularul și sintaxa limbajului PascalJeopardy  Vocabularul și sintaxa limbajului Pascal
Jeopardy Vocabularul și sintaxa limbajului Pascalm_gutu
 
Flipped Classroom
Flipped ClassroomFlipped Classroom
Flipped Classroomm_gutu
 
Tip de date String Pascal
Tip de date String PascalTip de date String Pascal
Tip de date String Pascalm_gutu
 
Java While Loop
Java While LoopJava While Loop
Java While Loopm_gutu
 
Parcurgerea arborilor binari
Parcurgerea arborilor binariParcurgerea arborilor binari
Parcurgerea arborilor binarim_gutu
 
Java IF Statement
Java IF StatementJava IF Statement
Java IF Statementm_gutu
 
Java For Loop
Java For LoopJava For Loop
Java For Loopm_gutu
 
Scanner class and Decimal Format in Java
Scanner class and Decimal Format in JavaScanner class and Decimal Format in Java
Scanner class and Decimal Format in Javam_gutu
 
Variabile dinamice. Tipul referinta.
Variabile dinamice. Tipul referinta.Variabile dinamice. Tipul referinta.
Variabile dinamice. Tipul referinta.m_gutu
 

More from m_gutu (9)

Jeopardy Vocabularul și sintaxa limbajului Pascal
Jeopardy  Vocabularul și sintaxa limbajului PascalJeopardy  Vocabularul și sintaxa limbajului Pascal
Jeopardy Vocabularul și sintaxa limbajului Pascal
 
Flipped Classroom
Flipped ClassroomFlipped Classroom
Flipped Classroom
 
Tip de date String Pascal
Tip de date String PascalTip de date String Pascal
Tip de date String Pascal
 
Java While Loop
Java While LoopJava While Loop
Java While Loop
 
Parcurgerea arborilor binari
Parcurgerea arborilor binariParcurgerea arborilor binari
Parcurgerea arborilor binari
 
Java IF Statement
Java IF StatementJava IF Statement
Java IF Statement
 
Java For Loop
Java For LoopJava For Loop
Java For Loop
 
Scanner class and Decimal Format in Java
Scanner class and Decimal Format in JavaScanner class and Decimal Format in Java
Scanner class and Decimal Format in Java
 
Variabile dinamice. Tipul referinta.
Variabile dinamice. Tipul referinta.Variabile dinamice. Tipul referinta.
Variabile dinamice. Tipul referinta.
 

Fisiere Pascal/Pascal ABC

  • 1. M a r i a G u t u Material didactic pentru Informatică (În corespondență cu curriculum-ul la Informatică) Clasa a X-a
  • 2. M a r i a G u t u O1 - să explice noţiunile: fişier text, linie, lungimea liniei, sfîrşit de linie, sfîrşit de fişier; O1 - să enumere procedurele destinate prelucrării fişierelor text; O1 - să explice destinaţia fişierelor standard de intrare şi ieşire; O1 - să demonstreze înţelegerea metodelor de prelucrare a fişierelor text prin explorarea caracter cu caracter şi prin utilizarea specificatorilor de format; O1 - să poată crea şi prelucra datele din fişierele text.
  • 3. M a r i a G u t u Se numește fișier text o succesiune de caractere ASCII scrise în una sau mai multe linii și care nu au în mod obligatoriu lungimi egale. Fișierele text au o importanță deosebită din două motive:  Sunt direct afișabile;  Orice editor de texte lucrează cu fișiere de acest tip.
  • 4. M a r i a G u t u Fișierele text se declară ca variabilă de tip predefinit: VAR a, b: text; Pentru a face legătura între numele fișierului din program și numele său de pe suportul extern pe care se află sau se creează, se folosește procedura ASSIGN. Apelul procedurii se realizează prin: ASSIGN(nume fișier în program, ‘calea + nume fișier pe suport extern’)
  • 5. M a r i a G u t u Var a: text; ......... Assign(a, ‘fisier1.txt’); În acest caz, fișierul va fi creat sau se va găsi în directorul în care ne aflăm și se numește fisier1.txt. O formă echivalentă pentru o asignare de acest tip este: Var a: text; b: string; ......... b:= ‘fisier1.txt’; Assign(a, b);
  • 6. M a r i a G u t u O altă formă de asignare a unui fișier în cazul în care el se află într-un alt directoriu, este: Var a: text; ......... Assign(a, ‘D:clasa10fisier1.txt’); În acest caz, fișierul se găsește pe discul D în directorul clasa10 și se numește fisier1.txt
  • 7. M a r i a G u t u Procedura care deschide un fișier pentru a fi creat este REWRITE. Forma generală este: Rewrite(variabila fișier). Scrierea datelor în fișier cu ajutorul procedurilor WRITE și WRITELN. Forma generală este: Writeln(variabila fisier, variabila citită). După ce a fost creat, fișierul trebuie închis utilizând procedura CLOSE. Forma generală este: Close(nume fisier).
  • 8. M a r i a G u t u Program Creare_fisier; var f: text; a: string; begin assign(f, 'fisier.txt'); rewrite(f); {deschide fisierul pentru scriere} repeat readln(a); {Introducerea datelor de la tastatură} if a<>'stop' then writeln(f, a); {datele se scriu in fisierul f } until a='stop'; close(f) end.
  • 9. M a r i a G u t u Pentru a citi un fișier text sunt necesare următoarele proceduri: RESET, READ, READLN. Procedura RESET deschide un fișier pentru citire și are forma generală: Reset(variabila fisier). Pentru procedurile READ și READLN avem forma simplificată: Read(var de tip fișier, variabilă de tip string); Readln(var de tip fișier, variabilă de tip string). Se citește maxim 256 de caractere din linia curentă a fișierului.
  • 10. M a r i a G u t u Program Citire_fisier; var f: text; a: string; begin assign(f, 'fisier.txt'); reset(f); {pregătește fisierul f pentru citire } while not eof(f) do begin {cât timp nu este sfârșit de readln(f, a); fisier (eof(f)) se execută writeln(a); instrucțiunile aflate între end; begin și end} close(f) end.
  • 11. M a r i a G u t u Procedura APPEND are rolul de a deschide un fișier text care a fost creat pentru extindere (scriere la sfârșit de fișier). Forma generală este: Append (variabila fișier). În situația în care fișierul nu există, se generează o eroare de intrare-ieșire. Pentru un fișier deschis cu Append este posibilă numai operația de scriere.
  • 12. M a r i a G u t u Program Extindere_fisier; var f: text; a: string; begin assign(f, 'fisier.txt'); append(f); repeat readln(a); if a<>'stop' then writeln(f, a); until a='stop'; close(f) end.
  • 13. M a r i a G u t u Funcția EOLN are ca parametru formal o variabilă fișier și este de tip boolean. La execuție, funcția întoarce valoarea TRUE dacă pointer-ul este la sfârșit de linie și FALSE în caz contrar.
  • 14. M a r i a G u t u Program Functie_EOLN; var f: text; a: string; begin assign(f, 'fisier.txt'); reset(f); while not eoln(f) do begin readln(f, a); writeln(a); end; close(f) end.
  • 15. M a r i a G u t u Aceste fișiere se consideră declarate (nu mai este necesar declararea lor ca fișiere text). Ele se asignează în mod automat la tastatură (INPUT) și monitor (OUTPUT). În situația în care procedurile READ, READLN, WRITE, WRITELN nu au precizată la apel variabila fișier, aceasta este considerată automat INPUT pentru procedurile de citire și OUTPUT pentru procedurile de scriere.
  • 16. M a r i a G u t u Scrieţi un program care calculează 𝒂 𝒏 , unde n ∈ Z şi a ∈ R. n și a sunt citite din fișierul date.in, iar rezultatul este înscris în fişierul text date.out Intrare: Fişierul date.in Ieşire: Fişierul date.out
  • 17. M a r i a G u t u Program Calcul_Putere; Var fin, fout:Text; a, putere, p:real; n:Integer; Begin assign(fin, 'date.in'); reset(fin); assign(fout, 'date.out'); rewrite(fout); readln(fin, n, a); p:=1; if n<0 then begin for var i:=1 to -n do p:=p*a; putere:=1/p; end; putere:=1; if n>0 then for var i:=1 to n do putere:=putere*a; if n=0 then putere:=1; write(fout, putere); Close(fin); Close(fout); End.
  • 18. M a r i a G u t u În concluzie, prezentăm ordinea în care trebuie apelate procedurile destinate prelucrării datelor de tip fișier: 1. Assign(f, s) – asocierea fișierului f cu fișierul extern s; 2. Reset(f) – deschiderea fișierului f pentru citire; Rewrite(f) – deschiderea fișierului f pentru scriere; Apend(f) – deschiderea fișierului f pentru extindere(adăugare date la fișierul existent); 3. Read(f, v) – citirea unei componente a fișierului f; Write(f, e) – scrierea unei componente a fișierului f; 4. Close(f) – închiderea fișierului f.
  • 19. M a r i a G u t u După închiderea fișierului, variabile f poate fi asociată cu un alt fișier extern. Întrucât valorile variabilelor de tip fișier se păstrează pe suporturile externe de informație, atribuirile de fișiere sunt interzise.