Arquivo
-
▼
2011
(124)
-
▼
outubro
(10)
- Pascal: Recursividade
- Microsoft prevê o futuro da tecnologia
- Já estava na hora de termos um regulamento que fav...
- Symbian Belle chega no dia 26 de outubro
- Programa capaz de preencher uma fila sequencial e ...
- Lista encadeada com uma função de busca que retorn...
- Algoritmo para repassar os elementos de uma fila, ...
- Exercício de pilha e fila em Pascal (Dev-Pascal)
- Morre Esteve Jobs
- Antivírus da Microsoft aponta vírus no Chrome
-
▼
outubro
(10)
Seguidores
Tecnologia do Blogger.
Notícias
Páginas
segunda-feira, 31 de outubro de 2011
21:00 | Postado por
Amauri |
Editar postagem
program teste;
uses crt;
var
ft:integer;
function fat(n:integer):real;
begin
if(n = 0)then
begin
fat:=1;
end
else
begin
fat:=n*fat(n-1);
end;
end;
begin
clrscr;
write('Digite a fatorial:'); read(ft); writeln;
if(ft < 0)then
begin
writeln('Numero invalido!');
end
else
begin
writeln('Fatorial de ',ft,' = ',fat(ft):1:0);
end;
readkey;
end.
Vamos a explicação.
function fat(n:integer):real;
begin
if(n = 0)
then fat:=1;
else fat:=n*fat(n-1);
end
Fat(5)
5*Fat(4)
4*Fat(3)
3*Fat(2)
2*Fat(1)
1*Fat(0) - iteração não necessária, poderia-se alterar a condição do If para n=1, pois fat(0) e fat(1) tem o mesmo valor.
Observe que na primeira iteração, estou mandando o 5 para a variável N DA função fat, no IF a função verifica que N não é igual a zero, portanto vai para o ELSE, fazendo o seguinte 5*Fat(4) (n*fat(n-1)), isso se repete até o fim, quando a condição do IF for verdadeira, os valores serão devolvidos ao local que foram chamados, começando de baixo para cima
Fat(5) = 120.
5*Fat(4) = 5*24 = 120, envia 120 para a linha de cima
4*Fat(3) = 4*6 = 24, envia 24 para a linha de cima
3*Fat(2) = 3*2 = 6, envia 6 para a linha de cima
2*Fat(1) = 2*1 = 2, envia 2 para a linha de cima
1*Fat(0) = 1, envia 1 para a linha de cima
uses crt;
var
ft:integer;
function fat(n:integer):real;
begin
if(n = 0)then
begin
fat:=1;
end
else
begin
fat:=n*fat(n-1);
end;
end;
begin
clrscr;
write('Digite a fatorial:'); read(ft); writeln;
if(ft < 0)then
begin
writeln('Numero invalido!');
end
else
begin
writeln('Fatorial de ',ft,' = ',fat(ft):1:0);
end;
readkey;
end.
Vamos a explicação.
function fat(n:integer):real;
begin
if(n = 0)
then fat:=1;
else fat:=n*fat(n-1);
end
Fat(5)
5*Fat(4)
4*Fat(3)
3*Fat(2)
2*Fat(1)
1*Fat(0) - iteração não necessária, poderia-se alterar a condição do If para n=1, pois fat(0) e fat(1) tem o mesmo valor.
Observe que na primeira iteração, estou mandando o 5 para a variável N DA função fat, no IF a função verifica que N não é igual a zero, portanto vai para o ELSE, fazendo o seguinte 5*Fat(4) (n*fat(n-1)), isso se repete até o fim, quando a condição do IF for verdadeira, os valores serão devolvidos ao local que foram chamados, começando de baixo para cima
Fat(5) = 120.
5*Fat(4) = 5*24 = 120, envia 120 para a linha de cima
4*Fat(3) = 4*6 = 24, envia 24 para a linha de cima
3*Fat(2) = 3*2 = 6, envia 6 para a linha de cima
2*Fat(1) = 2*1 = 2, envia 2 para a linha de cima
1*Fat(0) = 1, envia 1 para a linha de cima
Marcadores:
Pascal
|
0
comentários
sábado, 29 de outubro de 2011
19:38 | Postado por
Amauri |
Editar postagem
Segundo a Microsoft, futuramente qualquer objeto poderá funcionar como uma tela tátil, como o exemplo utilizado com vidros das janelas de táxis que indicam o horário e o local de destino quando o mesmo estivesse à vista.
A empresa também exibe óculos especiais capazes de traduzir informações turísticas ao usuário em tempo real.
No vídeo também é possível observar a evolução imaginada pela Microsoft para os tablets e smartphones. Os aparelhos possuirão telas dobráveis e serão do tamanho de um cartão de crédito.
A funcionalidade desses dispositivos também irá mudar. Eles poderão ser utilizados como ferramentas de gestão de comunicação que interagem com as informações ao redor.
Já para ambientes fechados a Microsoft agregou as tecnologias inteligentes às mesas e geladeiras, além de uma nova forma de escritório, com possibilidade de maior interação entre empresa e funcionários.
A empresa afirma que todas essas ferramentas ainda não estão disponíveis, porém estão em fase de pesquisas e desenvolvimento pela Microsoft e empresas parceiras.
fonte: http://info.abril.com.brsexta-feira, 28 de outubro de 2011
19:47 | Postado por
Amauri |
Editar postagem
Concessionárias de banda larga terão de obedecer velocidade minima e média
O novo regulamento passará a valer a partir de novembro de 2012. Nas linhas abaixo, você confere o que vai mudar na sua velocidade de internet no ano que vem:
- Novembro de 2012 - 20% mínimo e média de 60% da velocidade contratada
- Até novembro de 2013 - 30% mínimo e média de 70% da velocidade contratada
- Até novembro de 2014 - 40% mínimo e média de 80% da velocidade contratada
As novas regras valem para as concessionárias que possuem mais de 50 mil assinantes, estando isentas do regulamento aquelas com numero inferior de clientes. Atualmente, no Brasil, as concessionárias com mais de 50 mil assinantes são Oi/Brasil Telecom, Telefônica, NET, Ajato, Velox, GVT, para telefonia fixa; e Oi, Claro, Vivo e TIM, para telefonia móvel 3G.
A resolução também obrigará as concessionárias a manterem o sinal de conexão estável por 99% do tempo mensal (trocando em miúdos, o usuário só poderá ficar sem internet por até sete horas por mês, independente do motivo), além de as empresas fornecedoras de internet terem que contratar uma entidade de fiscalização - entidade esta que vai operar de forma independente e responderá diretamente à ANATEL.
O não cumprimento do novo regulamento acarretará multa de até R$ 25 milhões para a entidade infratora.
Atualmente, não há regra estabelecida sobre a oferta de qualidade de conexão de internet no país. O que o consumidor tem hoje é a sugestão contratual, vinda da própria concessionária, de que a empresa tem a obrigação de entregar "apenas 10% do que se foi contratado".
fonte: http://olhardigital.uol.com.br
quarta-feira, 26 de outubro de 2011
13:53 | Postado por
Computação Top10 |
Editar postagem
Symbian Belle chega no dia 26 de outubro
São Paulo – A Nokia vai liberar no final deste mês, precisamente no dia 26 de outubro, mais uma versão do Symbian. A data não é confirmada pela empresa.
Chamado de Belle, o sistema operacional vai substituir o Anna. O software será liberado via Ovi Suíte e será compatível com os modelos N8, C7, E7, C6-01, E6 e X7. O modelo Nokia 500 pode ganhar a atualização, mas a informação ainda não foi confirmada pela fabricante.
O Belle, pelo que sugere algumas imagens do sistema, trará um pouco dos recursos do Android e do iPhone para os aparelhos Nokia com tela sensível ao toque. Um deles, por exemplo, é a movimentação de widgets pela tela do smartphone. Outro é a barra de notificações na parte superior do telefone.
O Belle, uma atualização do Symbian 3, não deverá ser a última do sistema. Segundo a Nokia, os celulares que rodam Symbian terão atualizações até 2016.
sexta-feira, 21 de outubro de 2011
16:00 | Postado por
Amauri |
Editar postagem
Program Pzim ;
const max = 100;
type Fila = record
dados : array[1..max]of integer;
inicio, fim : integer;
end;
var
f1 : Fila;
num, bus, valor : integer;
procedure criar(var F:Fila);
begin
F.inicio := 1;
F.fim := 1;
end;
function filaVazia(F:Fila):boolean;
begin
if F.inicio = F.fim then
filaVazia := true
else
filaVazia := false;
end;
function filaCheia(F:Fila):boolean;
begin
if F.fim > max then
filaCheia := true
else
filaCheia := false;
end;
procedure enqueue(var F:Fila;s:integer);
begin
if filaCheia(F)then
writeln('A fila tá cheia!')
else
begin
F.dados[F.fim] := s;
F.fim := F.fim + 1;
writeln('Inserção efetuada!');
end;
end;
function dequeue(var F:Fila):integer;
begin
if filaVazia(F)then
writeln('A fila tá vazia!')
else
begin
dequeue := F.dados[F.inicio];
F.inicio := F.inicio + 1;
end;
end;
function busca(F:Fila; x: integer):integer;
var
res: integer;
begin
res := 0;
while not filaVazia(f) do
begin
if (f.dados[f.inicio] = x) then
res := res +1;
f.inicio := f.inicio +1;
end;
busca := res;
end;
Begin
textcolor(white);
criar(f1);
writeln('A fila está vazia? ', filaVazia(f1));
writeln('A fila está cheia? ', filaCheia(f1));
repeat
writeln ('digite o elemento da lista ou "0" para sair');
readln (num);
enqueue (f1, num);
until (num = 0);
writeln (' digite o valor que deseja buscar');
readln (bus);
valor := busca(f1, bus);
writeln (' o valor aparece ', valor, ' na lista');
End.
const max = 100;
type Fila = record
dados : array[1..max]of integer;
inicio, fim : integer;
end;
var
f1 : Fila;
num, bus, valor : integer;
procedure criar(var F:Fila);
begin
F.inicio := 1;
F.fim := 1;
end;
function filaVazia(F:Fila):boolean;
begin
if F.inicio = F.fim then
filaVazia := true
else
filaVazia := false;
end;
function filaCheia(F:Fila):boolean;
begin
if F.fim > max then
filaCheia := true
else
filaCheia := false;
end;
procedure enqueue(var F:Fila;s:integer);
begin
if filaCheia(F)then
writeln('A fila tá cheia!')
else
begin
F.dados[F.fim] := s;
F.fim := F.fim + 1;
writeln('Inserção efetuada!');
end;
end;
function dequeue(var F:Fila):integer;
begin
if filaVazia(F)then
writeln('A fila tá vazia!')
else
begin
dequeue := F.dados[F.inicio];
F.inicio := F.inicio + 1;
end;
end;
function busca(F:Fila; x: integer):integer;
var
res: integer;
begin
res := 0;
while not filaVazia(f) do
begin
if (f.dados[f.inicio] = x) then
res := res +1;
f.inicio := f.inicio +1;
end;
busca := res;
end;
Begin
textcolor(white);
criar(f1);
writeln('A fila está vazia? ', filaVazia(f1));
writeln('A fila está cheia? ', filaCheia(f1));
repeat
writeln ('digite o elemento da lista ou "0" para sair');
readln (num);
enqueue (f1, num);
until (num = 0);
writeln (' digite o valor que deseja buscar');
readln (bus);
valor := busca(f1, bus);
writeln (' o valor aparece ', valor, ' na lista');
End.
Marcadores:
Pascal
|
0
comentários
15:55 | Postado por
Amauri |
Editar postagem
program ListaEncadeada;
type
ListEnc = ^No;
No = record
obj: String;
prox: ListEnc;
end;
var
L :ListEnc;
bus : string;
//CRIA LISTA VAZIA
procedure criar(var L:ListEnc);
begin
L := nil;
end;
//INFORMA SE A LISTA ESTÁ VAZIA OU NÃO
function vazia(L: ListEnc):boolean;
begin
if L = nil then
vazia := true
else
vazia := false;
end;
//INSERE UM ELEMENTO NA LISTA
procedure inserir(var L: ListEnc; s: string);
var
N, P: ListEnc;
begin
new(N);
N^.obj := s;
if vazia(L)then
begin
N^.prox := L;
L := N;
end
else
begin
P := L;
while (P^.prox <> nil)do
P := P^.prox;
N^.prox := P^.prox;
P^.prox := N;
end;
end;
//REMOVE UM ELEMENTO DA LISTA
function remover(var L: ListEnc; s: string):boolean;
var
P, Q: ListEnc;
begin
if vazia(L)then
remover := false
else
if (L^.obj = s)then
begin
P := L;
L := L^.prox;
dispose(P);
remover := true;
end
else
begin
P := L;
while ((P^.prox <> nil)and (P^.prox^.obj <> s)) do
begin
P := P^.prox;
end;
if (P^.prox <> nil) and (P^.prox^.obj = s) then
begin
Q := P^.prox;
P^.prox := Q^.prox;
dispose(Q);
remover := true;
end
else
begin
remover := false;
end;
end;
end;
// IMPRIME A LISTA
procedure imprimir(L: ListEnc);
var
P: ListEnc;
begin
if vazia(L)then
writeln('LISTA VAZIA!!!')
else
begin
P := L;
while (P <> nil) do
begin
write(P^.obj,' | ');
P := P^.prox;
end;
end;
end;
function busca(L: ListEnc; x: string):boolean;
var
P: ListEnc;
begin
P := L;
busca := false;
while (P <> nil) do
begin
if P^.obj = x then
busca := true;
P := P^.prox;
end;
end;
//INICIO DO PROGRAMA PRINCIPAL
Begin
criar(L);
writeln(vazia(L));
inserir(L, 'MACACO');
inserir(L, 'CACHORRO');
inserir(L, 'GATO');
inserir(L, 'LEÃO');
inserir(L, 'RATO');
inserir(L, 'CAMELO');
inserir(L, 'CORUJA');
imprimir(L);
writeln;
writeln(remover(L,'RATO'));
writeln('APÓS A REMOÇÃO...');
writeln;
imprimir(L);
writeln ('busca');
readln (bus);
writeln (busca(L, bus));
readln;
End.
type
ListEnc = ^No;
No = record
obj: String;
prox: ListEnc;
end;
var
L :ListEnc;
bus : string;
//CRIA LISTA VAZIA
procedure criar(var L:ListEnc);
begin
L := nil;
end;
//INFORMA SE A LISTA ESTÁ VAZIA OU NÃO
function vazia(L: ListEnc):boolean;
begin
if L = nil then
vazia := true
else
vazia := false;
end;
//INSERE UM ELEMENTO NA LISTA
procedure inserir(var L: ListEnc; s: string);
var
N, P: ListEnc;
begin
new(N);
N^.obj := s;
if vazia(L)then
begin
N^.prox := L;
L := N;
end
else
begin
P := L;
while (P^.prox <> nil)do
P := P^.prox;
N^.prox := P^.prox;
P^.prox := N;
end;
end;
//REMOVE UM ELEMENTO DA LISTA
function remover(var L: ListEnc; s: string):boolean;
var
P, Q: ListEnc;
begin
if vazia(L)then
remover := false
else
if (L^.obj = s)then
begin
P := L;
L := L^.prox;
dispose(P);
remover := true;
end
else
begin
P := L;
while ((P^.prox <> nil)and (P^.prox^.obj <> s)) do
begin
P := P^.prox;
end;
if (P^.prox <> nil) and (P^.prox^.obj = s) then
begin
Q := P^.prox;
P^.prox := Q^.prox;
dispose(Q);
remover := true;
end
else
begin
remover := false;
end;
end;
end;
// IMPRIME A LISTA
procedure imprimir(L: ListEnc);
var
P: ListEnc;
begin
if vazia(L)then
writeln('LISTA VAZIA!!!')
else
begin
P := L;
while (P <> nil) do
begin
write(P^.obj,' | ');
P := P^.prox;
end;
end;
end;
function busca(L: ListEnc; x: string):boolean;
var
P: ListEnc;
begin
P := L;
busca := false;
while (P <> nil) do
begin
if P^.obj = x then
busca := true;
P := P^.prox;
end;
end;
//INICIO DO PROGRAMA PRINCIPAL
Begin
criar(L);
writeln(vazia(L));
inserir(L, 'MACACO');
inserir(L, 'CACHORRO');
inserir(L, 'GATO');
inserir(L, 'LEÃO');
inserir(L, 'RATO');
inserir(L, 'CAMELO');
inserir(L, 'CORUJA');
imprimir(L);
writeln;
writeln(remover(L,'RATO'));
writeln('APÓS A REMOÇÃO...');
writeln;
imprimir(L);
writeln ('busca');
readln (bus);
writeln (busca(L, bus));
readln;
End.
Marcadores:
Pascal
|
0
comentários
15:50 | Postado por
Amauri |
Editar postagem
Program Pzim ;
const max = 7;
type Fila = record
dados : array[1..max]of string;
inicio, fim : integer;
end;
ListEnc = ^No;
No = record
obj: String;
prox: ListEnc;
end;
var
L :ListEnc;
f1 : Fila;
v: string;
procedure criar(var F:Fila);
begin
F.inicio := 1;
F.fim := 1;
end;
function filaVazia(F:Fila):boolean;
begin
if F.inicio = F.fim then
filaVazia := true
else
filaVazia := false;
end;
function filaCheia(F:Fila):boolean;
begin
if F.fim > max then
filaCheia := true
else
filaCheia := false;
end;
procedure enqueue(var F:Fila;s:string);
begin
if filaCheia(F)then
writeln('A fila tá cheia!')
else
begin
F.dados[F.fim] := s;
F.fim := F.fim + 1;
writeln('Inserção efetuada!')
end;
end;
function dequeue(var F:Fila):string;
begin
if filaVazia(F)then
writeln('A fila tá vazia!')
else
begin
dequeue := F.dados[F.inicio];
F.inicio := F.inicio + 1;
end;
end;
procedure mostrarFila(F:Fila);
begin
if filaVazia(F)then
writeln('A fila tá vazia!')
else
begin
while not filaVazia(F)do
write(dequeue(F),'|');
end;
writeln;
end;
procedure Lcriar(var L:ListEnc);
begin
L := nil;
end;
//INFORMA SE A LISTA ESTÁ VAZIA OU NÃO
function vazia(L: ListEnc):boolean;
begin
if L = nil then
vazia := true
else
vazia := false;
end;
//INSERE UM ELEMENTO NA LISTA
procedure inserir(var L: ListEnc; s: string);
var
N, P: ListEnc;
begin
new(N);
N^.obj := s;
if vazia(L)then
begin
N^.prox := L;
L := N;
end
else
begin
P := L;
while (P^.prox <> nil)do
P := P^.prox;
N^.prox := P^.prox;
P^.prox := N;
end;
end;
//REMOVE UM ELEMENTO DA LISTA
function remover(var L: ListEnc; s: string):boolean;
var
P, Q: ListEnc;
begin
if vazia(L)then
remover := false
else
if (L^.obj = s)then
begin
P := L;
L := L^.prox;
dispose(P);
remover := true;
end
else
begin
P := L;
while ((P^.prox <> nil)and (P^.prox^.obj <> s)) do
begin
P := P^.prox;
end;
if (P^.prox <> nil) and (P^.prox^.obj = s) then
begin
Q := P^.prox;
P^.prox := Q^.prox;
dispose(Q);
remover := true;
end
else
begin
remover := false;
end;
end;
end;
// IMPRIME A LISTA
procedure imprimir(L: ListEnc);
var
P: ListEnc;
begin
if vazia(L)then
writeln('LISTA VAZIA!!!')
else
begin
P := L;
while (P <> nil) do
begin
write(P^.obj,' | ');
P := P^.prox;
end;
end;
end;
Begin
textcolor(white);
criar(f1);
Lcriar(L);
writeln('A fila está vazia? ', filaVazia(f1));
writeln('A fila está cheia? ', filaCheia(f1));
enqueue(f1,'Macaco');
enqueue(f1,'Cachorro');
enqueue(f1,'Gato');
enqueue(f1,'Coruja');
enqueue(f1,'Cobra');
enqueue(f1,'Porco');
while not filaVazia(f1) do
begin
v := dequeue(f1);
inserir(L, v);
end;
writeln ('imprimindo a lista');
imprimir(L);
readln;
End.
const max = 7;
type Fila = record
dados : array[1..max]of string;
inicio, fim : integer;
end;
ListEnc = ^No;
No = record
obj: String;
prox: ListEnc;
end;
var
L :ListEnc;
f1 : Fila;
v: string;
procedure criar(var F:Fila);
begin
F.inicio := 1;
F.fim := 1;
end;
function filaVazia(F:Fila):boolean;
begin
if F.inicio = F.fim then
filaVazia := true
else
filaVazia := false;
end;
function filaCheia(F:Fila):boolean;
begin
if F.fim > max then
filaCheia := true
else
filaCheia := false;
end;
procedure enqueue(var F:Fila;s:string);
begin
if filaCheia(F)then
writeln('A fila tá cheia!')
else
begin
F.dados[F.fim] := s;
F.fim := F.fim + 1;
writeln('Inserção efetuada!')
end;
end;
function dequeue(var F:Fila):string;
begin
if filaVazia(F)then
writeln('A fila tá vazia!')
else
begin
dequeue := F.dados[F.inicio];
F.inicio := F.inicio + 1;
end;
end;
procedure mostrarFila(F:Fila);
begin
if filaVazia(F)then
writeln('A fila tá vazia!')
else
begin
while not filaVazia(F)do
write(dequeue(F),'|');
end;
writeln;
end;
procedure Lcriar(var L:ListEnc);
begin
L := nil;
end;
//INFORMA SE A LISTA ESTÁ VAZIA OU NÃO
function vazia(L: ListEnc):boolean;
begin
if L = nil then
vazia := true
else
vazia := false;
end;
//INSERE UM ELEMENTO NA LISTA
procedure inserir(var L: ListEnc; s: string);
var
N, P: ListEnc;
begin
new(N);
N^.obj := s;
if vazia(L)then
begin
N^.prox := L;
L := N;
end
else
begin
P := L;
while (P^.prox <> nil)do
P := P^.prox;
N^.prox := P^.prox;
P^.prox := N;
end;
end;
//REMOVE UM ELEMENTO DA LISTA
function remover(var L: ListEnc; s: string):boolean;
var
P, Q: ListEnc;
begin
if vazia(L)then
remover := false
else
if (L^.obj = s)then
begin
P := L;
L := L^.prox;
dispose(P);
remover := true;
end
else
begin
P := L;
while ((P^.prox <> nil)and (P^.prox^.obj <> s)) do
begin
P := P^.prox;
end;
if (P^.prox <> nil) and (P^.prox^.obj = s) then
begin
Q := P^.prox;
P^.prox := Q^.prox;
dispose(Q);
remover := true;
end
else
begin
remover := false;
end;
end;
end;
// IMPRIME A LISTA
procedure imprimir(L: ListEnc);
var
P: ListEnc;
begin
if vazia(L)then
writeln('LISTA VAZIA!!!')
else
begin
P := L;
while (P <> nil) do
begin
write(P^.obj,' | ');
P := P^.prox;
end;
end;
end;
Begin
textcolor(white);
criar(f1);
Lcriar(L);
writeln('A fila está vazia? ', filaVazia(f1));
writeln('A fila está cheia? ', filaCheia(f1));
enqueue(f1,'Macaco');
enqueue(f1,'Cachorro');
enqueue(f1,'Gato');
enqueue(f1,'Coruja');
enqueue(f1,'Cobra');
enqueue(f1,'Porco');
while not filaVazia(f1) do
begin
v := dequeue(f1);
inserir(L, v);
end;
writeln ('imprimindo a lista');
imprimir(L);
readln;
End.
Marcadores:
Pascal
|
0
comentários
quinta-feira, 20 de outubro de 2011
23:36 | Postado por
Amauri |
Editar postagem
Program filapilha ;
// Autor: Cícero Amauri
{ Escreva um algoritmo que converta uma pilha implementada em:
· Fila, Considerar a lista com no máximo 100 elementos}
const max = 100;
type
pilha = record
obj: array [1..max] of integer;
cont: integer;
end;
fila = record
dados : array [1..max] of integer;
inicio, fim: integer;
end;
function vazia (x: pilha):boolean;
begin
if x.cont = 0 then
vazia := true
else
vazia := false;
end;
procedure criar (var x: pilha);
begin
x.cont := 0;
end;
procedure push(var x: pilha; y: integer);
begin
x.cont := x.cont + 1;
x.obj[x.cont] := y ;
end;
function pop (var x: pilha): integer;
begin
pop := x.obj[x.cont];
x.cont := x.cont - 1;
end;
function fcheia (f: fila): boolean;
begin
if f.fim > max then
fcheia := true
else
fcheia := false;
end;
procedure fcriar (var f: fila);
begin
f.inicio := 1;
f.fim := 1;
end;
function fvazia (f: fila): boolean;
begin
if f.inicio = f.fim then
fvazia := true
else
fvazia := false;
end;
procedure enqueue (var f: fila; w: integer);
begin
if fcheia (f) then
writeln ('fila cheia')
else
begin
f.dados[f.fim] := w;
f.fim := f.fim + 1;
end;
end;
procedure dequeue (var f: fila);
begin
if fvazia(f) then
writeln ('fila vazia')
else
begin
writeln (f.dados[f.inicio]);
f.inicio := f.inicio + 1;
end;
end;
var
p: pilha;
num, res: integer;
f: fila;
Begin
criar(p);
repeat
write ('digite um número ou "0" para sair: ');
readln (num);
if num = 0 then
writeln ('saindo do programa')
else
push (p, num);
until (num = 0);
fcriar (f);
while not vazia(p) do
begin
res:= pop(p);
enqueue (f, res);
end;
writeln ('imprimindo a pilha');
while not fvazia(f) do
dequeue (f);
readln;
End.
Marcadores:
Pascal
|
0
comentários
quinta-feira, 6 de outubro de 2011
20:03 | Postado por
Bruno Teles |
Editar postagem
Morre Steve Jobs, cofundador da Apple
De acordo com nota publicada no site da Apple, o ex-CEO da empresa não sobreviveu ao câncer, doença contra a qual lutava desde 2004, e faleceu nesta quarta-feira, aos 56 anos.
Segundo nota publicada no site da Apple, Steve Jobs, cofundador e ex-CEO da empresa, faleceu hoje, quarta-feira, aos 56 anos. Não foram divulgadas as causas exatas de sua morte, porém, é provável que ele não tenha resistido ao câncer, doença contra a qual lutava desde 2004. Segue o texto em tradução livre:
Segundo nota publicada no site da Apple, Steve Jobs, cofundador e ex-CEO da empresa, faleceu hoje, quarta-feira, aos 56 anos. Não foram divulgadas as causas exatas de sua morte, porém, é provável que ele não tenha resistido ao câncer, doença contra a qual lutava desde 2004. Segue o texto em tradução livre:
"A Apple perdeu um gênio criativo e visionário, e o mundo perdeu um maravilhoso ser humano. Aqueles de nós que tiveram a sorte de conhecer Steve e trabalhar com ele perderam um grande amigo e um mentor que os inspirava. Steve deixa para trás uma companhia que só ele poderia ter criado. Seu espírito será sempre a base da Apple.
Mensagem da Diretoria da Apple
"É com pesar que anunciamos a morte de Steve Jobs hoje.
O brilho de Steve, sua paixão e energia eram a fonte de diversas inovações que enriqueceram e melhoraram nossas vidas. O mundo está muito melhor por conta do Steve.
Seu maior amor era por sua esposa, Laurene, e sua família. Nossos corações estão com eles e com todos os que foram agraciados com seus dons extraordinários."
Jobs, um visionário
Steve Jobs foi o responsável não só pela criação da empresa de tecnologia mais poderosa da atualidade, mas também por grandes produtos como o iPhone e o iPad. Jobs é tido como um dos grandes gurus da tecnologia e é uma fonte de inspiração para milhares de pessoas em todo o mundo.
(imagem ilustrativa)
segunda-feira, 3 de outubro de 2011
07:58 | Postado por
Computação Top10 |
Editar postagem
Atualização liberada na madrugada nesta sexta-feira (30/9) provoca falso positivo; se escolher "Remover", usuário perderá o navegador da Google.
Uma atualização aparentemente liberada nesta sexta-feira (30/9) pela Microsoft para seu antivírus Security Essentials tem feito com que o sistema acuse a existência de vírus no navegador Chrome, da Google.
Segundo o Business Insider, se o usuário escolher a opção "Remover", o computador será reiniciado e o Google Chrome não funcionará mais.
O problema de falso positivo foi reconhecido pela Microsoft nesta sexta-feira. Em nota publicada em seu portal de segurança, a empresa afirma que "em 30 de setembro de 2011, foi identificada uma detecção incorreta para o PWS:Win32/Zbot".
"Em 30 de setembro de 2011, a Microsoft liberou uma atualização que corrige a questão. As versões com assinatura 1.113.672.0 e mais atuais incluem a atualização", completa a nota, sem mencionar o Chrome.
Segundo a Microsoft, o PWS:Win32/Zbot é um trojan que rouba senhas e monitora a visita em certos sites da web, além de permitir o acesso ao sistema por brechas conhecidas como porta dos fundos (backdoors).
Fonte: http://pcworld.uol.com.br/noticias/2011/09/30/antivirus-da-microsoft-aponta-virus-no-chrome/
Assinar:
Postagens (Atom)
Seu Sistema Operacional é...
TEMAS
- Cursos (1)
- Downloads (5)
- Eventos (3)
- I (1)
- Interessante (11)
- Licenciatura (1)
- Pascal (17)
- Tutoriais (2)
- Update Now (6)
- Visualg (3)