You are on page 1of 13

ARQUIVOS

ARQUIVOS - TAREFA
Criar um arquivo chamado alunos.xxx, onde
cada registro ser composto dos seguintes
campos: numero (int), nome (str[100]), curso
(str[20]), nota1 (real) e nota2(real);
Incluir alunos no arquivo criado, lembrando que
no podem existir 2 alunos com o mesmo
nmero;
Listar o contedo do arquivo mostrando a mdia
das notas digitadas de cada aluno;

Readkey

program usa_readkey;
uses crt;
var d,e:char;
begin
while d <> '0' do
begin
clrscr;
writeln('Digite 1 ou 3 para casa');
writeln('Digite 2 para escritorio');
writeln('Digite 0 para sair');
writeln('');
d:=readkey;
case d of
'0':writeln('sair do programa');
'1','3':writeln('casa');
'2':writeln('escritorio');
else writeln('opcao invalida');
end;
writeln('');
write('Digite qualquer tecla para continuar: ');
e := readkey;
end;
end.

Diretiva Compilao

program teste_diretiva;
uses crt;
type t_teste = 1 ..10;
var teste:t_teste;
i:integer=1;
begin
clrscr;
teste := i;
writeln(teste);
i:=13;
teste := i;
writeln(teste);
{$R+}
i:=13;
teste := i;
writeln(teste);
{$R-}
end.

Funes Inteiro

program testa_funcoes;
uses crt;
var v_num1:integer;
begin
clrscr;
writeln('');
write('Digite um numero inteiro: ');
readln(v_num1);
writeln('');
writeln('Inteiro');
writeln('=====================================');
writeln('inteiro/real Abs (inteiro/real): ',abs(v_num1));
writeln('real
arctan (real
): ',arctan(v_num1):0:2);
writeln('char
chr (byte
): ',chr(v_num1));
writeln('real
cos (real
): ',cos(v_num1):0:2);
writeln('real
sin (real
): ',sin(v_num1):0:2);
writeln('real
exp (real
): ',exp(v_num1):0:2);
writeln('real
frac (real
): ',frac(v_num1):0:3);
writeln('real
ln (real
): ',ln(v_num1):0:2);
writeln('boolean
odd (integer ): ',odd(v_num1));
writeln('integer
round (real
): ',round(v_num1));
writeln('integer
ord (ordenado ): ',ord(v_num1));
writeln('ordenado pred (ordenado ): ',pred(v_num1));
writeln('integer
trunc (real
): ',trunc(v_num1));
writeln('inteiro/real sqr (inteiro/real): ',sqr(v_num1));
writeln('real
sqrt (inteiro/real): ',sqrt(v_num1):0:2);
writeln('ordenado succ (ordenado ): ',succ(v_num1));
end.

Funes Real

program testa_funcoes;
uses crt;
var v_num2:real;
begin
clrscr;
writeln('');
write('Digite um numero real: ');
readln(v_num2);
writeln('');
writeln('Real');
writeln('=====================================');
writeln('inteiro/real Abs (inteiro/real): ',abs(v_num2):0:2);
writeln('real
arctan (real
): ',arctan(v_num2):0:2);
writeln('real
cos (real
): ',cos(v_num2):0:2);
writeln('real
sin (real
): ',sin(v_num2):0:2);
writeln('real
exp (real
): ',exp(v_num2):0:2);
writeln('real
frac (real
): ',frac(v_num2):0:3);
writeln('real
ln (real
): ',ln(v_num2):0:2);
writeln('integer
round (real
): ',round(v_num2));
writeln('integer
trunc (real
): ',trunc(v_num2));
writeln('inteiro/real sqr (inteiro/real): ',sqr(v_num2):0:2);
writeln('real
sqrt (inteiro/real): ',sqrt(v_num2):0:2);
end.

Funes Caracter

program testa_funcoes;
uses crt;
var v_caractere:char;
begin
clrscr;
writeln('');
write('Digite um caractere: ');
readln(v_caractere);
writeln('');
writeln('Caractere');
writeln('=====================================');
writeln('integer
ord (ordenado ): ',ord(v_caractere));
writeln('ordenado pred (ordenado ): ',pred(v_caractere));
writeln('ordenado succ (ordenado ): ',succ(v_caractere));
end.

Vetores

program testa_vetores;
uses crt;
type t_vet = array[6..9] of integer;
const c_num:array[1..2,1..3,1..2] of integer = (((1,2),(3,4),(5,6)),((7,8),(9,10),(11,12)));
var i,j,k:integer;
v_vet:t_vet;
v_vet2:t_vet;
v_matr:array [1..10,0..9, 6..15] of integer;
c_meses:array[1..12] of string =
('jan','fev','mar','abr','mai','jun','jul','ago','set','out','nov','dez');
begin
for i:=1 to 2 do
for j:= 1 to 3 do
for k:=1 to 2 do
writeln('c_num[',i,',',j,',',k,'] = ',c_num[i,j,k]);

for i:=1 to 12 do
writeln('Mes[',i,'] = ', c_meses[i]);
end.

Arquivo

program teste_arquivo;
uses crt;
type t_func = record
matricula:integer;
nome:string;
idade:integer;
salario:real;
end;
t_arq_func = file of t_func;
var func,funcr:t_func;
arq_func:t_arq_func;
arq_int:file of integer;
arq_char:file of char;
i,r:integer;
c:char;
begin

Arquivo

begin
clrscr;
assign(arq_func, 'f:\fpc\fontes2\arquivo_func.xxx');
assign(arq_int, 'arquivo_inteiros.yyy');
assign(arq_char, 'arquivo_char.dat');
{$I-}
reset(arq_func);
if not (IOResult = 0) then
rewrite(arq_func);

reset(arq_int);
if not (ioresult = 0) then
rewrite(arq_int);

reset(arq_char);
if not (ioresult = 0) then
rewrite(arq_char);
{$I+}

Arquivo

with func do
begin
matricula := 1;
nome := 'Joselino Rocha';
idade := 31;
salario := 2015.49;
end;

write(arq_func, func);

for i:= 1 to 20 do
write(arq_int, i);

write(arq_char, 'f');

close(arq_func);
close(arq_int);
close(arq_char);

Arquivo

read(arq_func, funcr);

with funcr do
begin
writeln('Nome: ',nome);
writeln('Idade: ', idade);
writeln('Salario: ',salario);
end;

while not eof(arq_int) do


begin
read(arq_int, r);
end;

write(arq_int,9999);
writeln(filepos(arq_int));
reset(arq_int);

Arquivo

writeln('');
while not eof(arq_int) do
begin
read(arq_int, r);
write(r,' ');
end;

read(arq_char, c);
writeln('');
writeln(c);

close(arq_func);
close(arq_int);
close(arq_char);

end.

You might also like