Pular para o conteúdo principal

Estrutura de dados ( Fila em Pascal )

O Exemplo a baixo é um fila, que utiliza apontadores para realizar as operações.


program fila;
uses crt;
type
apontador = ^celula;
celula = record
item:integer;
prox:apontador;
end;
tipofila=record
frente:apontador;
tras:apontador;
end;

procedure iniciafila(var fila:tipofila);
var
aux:apontador;
begin
new (aux);
fila.frente:=aux;
fila.tras:=fila.frente;
fila.tras^.prox :=nil;
end;


function vazia(fila:tipofila):boolean;
begin
vazia:=fila.frente = fila.tras;
end;

procedure inserir(x:integer;var fila:tipofila);
var aux:apontador;
begin
new (aux);
fila.tras^.prox:=aux;
aux^.prox := nil;
aux^.item :=x;
fila.tras := aux;
end;

procedure imprimir(fila:tipofila);
var aux:apontador;
begin
aux := fila.frente^.prox;
while ( aux <> nil ) do begin
writeln(aux^.item);
aux:=aux^.prox;
end;
end;

procedure retirar(var x:integer; var fila:tipofila);
var
aux:apontador;
begin

aux:=fila.frente^.prox;
x:=aux^.item;
fila.frente^.prox := aux^.prox;
if (fila.frente^.prox = nil ) then fila.tras := fila.frente;
dispose(aux);

end;





procedure media(l:tipofila; var media:real);
var
aux:apontador;
b:integer;
begin
aux:=l.frente;
media:=0;
b:=0;
while aux^.prox <> nil do begin
aux:=aux^.prox;
media:=media+aux^.item;
b:=b+1;
end;
media:=media/b;
end;

procedure quantidade(l:tipofila; var qtde:integer);
var
aux:apontador;
b:integer;
begin
aux:=l.frente;
while aux^.prox <> nil do begin
aux:=aux^.prox;
qtde:=qtde+1;

end;

end;


var
elem:integer;
f:tipofila;
qtde:integer;
opc:integer;
n:integer;
soma:integer;
m:real;
{ Programa principal }

begin
iniciafila(f);

repeat
writeln(' 1 - Inserir ');

writeln(' 2 - Retirar ');

writeln(' 3 - Imprimir ');

writeln(' 4 - Media Aritim‚tica ');

writeln(' 5 - Quantidade de elementos ');

writeln(' 6 - Sair');


writeln(' 0 - limpar a tela');

readln(opc);

case opc of

1 :begin

writeln('Entre com o elemento a ser inserido');
readln(elem);
inserir(elem,f);

end;

2 :begin

if vazia(f) then writeln('A fila est vazia, impossivel retirar elemento !')
else begin
retirar(elem,f);
writeln('O elemento', elem , 'foi removido da fila');
end;

end;

3:begin
writeln('Elementos do fila');
imprimir(f);
end;


4 :begin
media(f,m);
writeln('A media ‚ ',m:3:2);

end;

5 :begin
quantidade(f,qtde);
writeln('A quantidade de elementos ‚:', qtde );
end;

6: writeln('Saindo do programa');

0:clrscr;
end;
until opc=6;

end.



Use o Free Pascal ou o Turbo Pascal pra compilar isso.

Postagens mais visitadas deste blog

Minha revisão de REDES

O Modelo internet. É composto por 5 camadas ( Aplicação, Transporte, Rede, Enlace e Física), as camadas superiores utilizam serviços oferecidos pelas camadas inferiores. Assim como as camadas inferiores recursos das camadas superiores, na imagem abaixo da pra se observar que por exemplo. A Camada Transporte REDE, recebe segmentos da tabela Transporte. O que é o RTT. Round-trip time, é o calculo que determina o tempo que um pacote leva para sair da fonte, e ir até o destino. Clique Aqui se quer saber como fazer esse calculo. O que é o Slow start. É o método que ao começar algum tipo de tráfego na rede, o host manda pequenas quantidades de pacotes, de acordo com o Janela, o receptor que não está havendo congestionamento. O que é um Socket ? Segundo Marcoratti, "Um socket pode ser entendido como uma porta de um canal de comunicação que permite a um processo executando em um computador enviar/receber mensagens para/de outro processo que pode estar sendo executado

Criando um sistema de login em Java.

Login Pessoal, nesse exemplo vou demonstrar como criar um sistema de login em Java, usando servlet , jsp , e html. A IDE usada será o Netbeans , Bom a primeira coisa a ser feita é criar um projeto web pelo NetBeans . Para isso, siga os seguintes passos. Menu     File → New Project Agora clique em Java Web, depois aplicação WEB. Agora clique em Next . Coloque um nome para sua aplicação WEB, e clique em finish . Novamente clique em Next . Feito isso, agora vamos criar o formulário para que o usuário entre com o Login e a senha. Formário HTML <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"    "http://www.w3.org/TR/html4/loose.dtd"> <html>     <head>         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">         <title> Sistema de login em JSP </title>     <

Problema de charset OTRS

Tive um problema com apache e OTRS, nosso banco ORACLE estava no charset iso-8859-1. Foi necessário jogar essas linhas no arquivos /etc/init.d/httpd LANG='AMERICAN_AMERICA.WE8ISO8859P1'; export LANG NLS_LANG='AMERICAN_AMERICA.WE8ISO8859P1'; export NLS_LANG NLS_NUMERIC_CHARACTERS=,.; export NLS_NUMERIC_CHARACTERS Feito isso de um restart no apache service httpd restart Com isso deve resolver o problema.