renan zigs

renan zigs
euuzzz

quinta-feira, 25 de novembro de 2010

Matriz e Registro

1.Faça um programa que leia o nome de dez alunos e respectivamente 1ª, 2ª, 3ª e 4ª notas, a seguir calcule a média. Escreva o nome do aluno e sua média.

2.Calcule o total de pessoas aprovadas e reprovadas no exercício acima.

Program Pzim ;

var
nome:array[1..10]of string;
nota:array[1..10,1..4]of integer;
media,soma:array[1..10]of real;
linha,coluna,aprov,reprov:integer;

Begin
for linha:=1 to 10 do
begin
writeln(linha,'- Informe o nome do aluno:');
readln(nome[linha]);

for coluna:=1 to 4 do
begin

writeln(coluna,'- nota: ' );
readln(nota[linha,coluna]);
soma[linha]:= soma[linha]+nota[linha,coluna]

end;

media[linha]:=(soma[linha])/4;
writeln('A média do aluno(a) ',nome[linha],' foi: ',media[linha]:2:2);
writeln;
end;

clrscr;

for linha:=1 to 10 do
begin
if (media[linha]>=60) then
aprov:=aprov+1
else
reprov:=reprov+1
end;

writeln('Foram aprovados: ',aprov,' alunos.');
writeln('Foram reprovados: ',reprov,' alunos.');
End.


3.Faça um programa que leia o nome de três cidades e a seguir cadastre e exiba na tela a distância entre essas cidades.

Program Distancia;
var
cidade:array[1..3]of string;
distancia:array[1..3,1..3]of real;
linha,coluna,cont:integer;

Begin
for cont:= 1 to 3 do
begin
writeln(cont,' - Digite o nome da cidades:');
readln(cidade[cont]);
clrscr;
end;
for cont:= 1 to 3 do
writeln(cont,' - Você digitou as cidades:',cidade[cont]);

for linha:=1 to 3 do
begin
for coluna:= 1 to 3 do
begin
if (linha = coluna) then
distancia[linha,coluna]:=0
else
begin
writeln(' Agora informe a distancia entre ',cidade[linha],' e ',cidade[coluna]);
readln(distancia[linha,coluna]);
// distancia[linha,coluna]):= distancia[coluna,linha];
end;
end;
end;

for coluna:=1 to 3 do
begin
for cont:= 1 to 3 do
begin
writeln('As distancia entre as cidade ',cidade[coluna],' e ',cidade[linha] );

end;
end;
End.


4.Faça um programa para criar um cadastro de mercadorias que contenha os seguintes dados: código da mercadoria, descrição, data de cadastro, ultima saído, saldo em estoque.
A seguir escreva todos o código da mercadoria e a descrição de todas as mercadorias cadastradas. A seguir todos os dados da mercadoria que apresenta o maior saldo em estoque.
Obs.: O programa deve ser feito para cadastro de 1000 produtos diferentes.


Program Pzim ;

type prod = record
codMerc: integer;
descricao:string;
dataCadastro:integer;
ultimaSaida:integer;
saldoEstoque:integer;
end;

var
cont,m,c:integer;
cadastro: array[1..1000] of prod;

Begin
m:=0;
for cont:=1 to 2 do
begin
writeln('Codigo da mercadoria:');
readln(cadastro[cont].codMerc);
writeln('Descricao:');
readln(cadastro[cont].descricao);
writeln('Data de Cadastro:');
readln(cadastro[cont].dataCadastro);
writeln('Ultima saida:');
readln(cadastro[cont].ultimaSaida);
writeln('Saldo em estoque:');
readln(cadastro[cont].saldoEstoque);
writeln(' ----- ');
end;

clrscr;
writeln('TODOS OS PRODUTOS');
for cont:=1 to 2 do
begin
writeln('Codigo da mercadoria: ',cadastro[cont].codMerc);
writeln('Descricao: ',cadastro[cont].descricao);
writeln('Data de Cadastro: ',cadastro[cont].dataCadastro);
writeln('Ultima saida: ',cadastro[cont].ultimaSaida);
writeln('Saldo em estoque: ',cadastro[cont].saldoEstoque);
writeln(' ----- ');
end;

readln;
for cont:=1 to 2 do
if(m
5.Faça um programa para criar um cadastro de dados bancários e a seguir escreva o nome a idade e o saldo do cliente mais novo e mais velho.
Obs.: O programa deve ser feito para cadastrar 10000 clientes. Os dados dos clientes a serem cadastrados são: Conta corrente, agencia, banco, nome, endereço, telefone, e-mail, idade e saldo bancário.


Program Pzim ;

type dodos = record
contaCorrente:integer;
agencia:integer;
banco:string;
nome:string;
idade:integer;
endereco:string;
tel:integer;
email:string;
saldoBanc:real;
end;

var
cad: array[1..3] of dodos; //1000
i:integer;

procedure cadastro;
begin
for i:=1 to 3 do
begin
writeln(' ::CADASTRO DE CLIENTE::');
writeln;
write('Conta Corrente: ');
readln(cad[i].contaCorrente);
write('Agencia: ');
read(cad[i].agencia);
write('Banco: ');
read(cad[i].banco);
write('Nome: ');
read(cad[i].nome);
write('Idade: ');
read(cad[i].idade);
write('Endereco: ');
read(cad[i].endereco);
write('Telefone: ');
read(cad[i].tel);
write('E-mail: ');
read(cad[i].email);
write('Saldo bancario: ');
read(cad[i].saldoBanc);
clrscr;
end;
end;

procedure clienteMaisVelho;
var
maior:integer;
maiorNome:string;
maiorSaldo:real;
begin
maior:=1;

for i:=1 to 3 do
begin
if (cad[i].idade > maior) then
begin
maior:=cad[i].idade;
maiorNome:=cad[i].nome;
maiorSaldo:=cad[i].saldoBanc;
end;
end;

writeln('>>Pessoa com maior idade:');
writeln('Nome: ',maiorNome);
writeln('Idade: ',maior);
writeln('Saldo bancario: ',maiorSaldo:2:2);
end;

procedure clienteMaisNovo;
var
menor:integer;
menorNome:string;
menorSaldo:real;
begin
menor:=150;

for i:=1 to 3 do
begin
if (cad[i].idade < menor) then begin menor:=cad[i].idade; menorNome:=cad[i].nome; menorSaldo:=cad[i].saldoBanc; end; end; writeln; writeln('>>Pessoa com menor idade:');
writeln('Nome: ',menorNome);
writeln('Idade: ',menor);
writeln('Saldo bancario: ',menorSaldo:2:2);
end;

Begin
cadastro;
clienteMaisVelho;
clienteMaisNovo;
End.

6.Faça um programa que leia nome do jogador, camisa, time e saldo de 22 jogadores. Escreva o time que contém mais jogadores na lista, o nome do jogador com salário mais alto e mais baixo

Program Pzim ;
type dados=record
nome:string;
camisa:integer;
time:char;
salario:real;
end;

var
jog:array[1..5] of dados; //22
i:integer;

procedure cadastro;
begin
for i:=1 to 5 do
begin
writeln('::CADASTRO DE JOGADORES::');
writeln;
writeln('TIMES DESPONIVEIS: A e B');
writeln(i,' - Faca o cadastro:');
writeln('_________________________');
writeln;
write('Nome: ');
read(jog[i].nome);
write('Camisa: ');
read(jog[i].camisa);
write('Time: ');
read(jog[i].time);
write('Salario: ');
read(jog[i].salario);
clrscr;
end;
end;

procedure maisJogadores;
var
TA,TB,maisJ: integer;
timeM:char;

begin
maisJ:=1;

for i:=1 to 5 do
begin
case jog[i].time of
'A': TA:=TA+1;
'B': TB:=TB+1;
end;
end;

if (TA>maisJ)then
timeM:= 'A'
else
timeM:= 'B';

writeln('>>O time com mais joadores e o time: ',timeM);
end;

procedure maiorSalario;
var
maior:real;
maiorNome:string;
begin
maior:=1;

for i:=1 to 5 do
begin
if (jog[i].salario > maior) then
begin
maior:=jog[i].salario;
maiorNome:=jog[i].nome;
end;
end;

writeln;
writeln('>>O jogador com maior salario:');
writeln('Nome: ',maiorNome);
writeln('Salario: ',maior:2:2);
end;

procedure menorSalario;
var
menor:real;
menorNome:string;
begin
menor:=999999999;

for i:=1 to 5 do
begin
if (jog[i].salario < menor) then begin menor:=jog[i].salario; menorNome:=jog[i].nome; end; end; writeln; writeln('>>O jogador com menor salario:');
writeln('Nome: ',menorNome);
writeln('Salario: ',menor:2:2);
end;


Begin
cadastro;
maisJogadores;
maiorSalario;
menorSalario;
End.

7.Faça um programa que leia nome, turma, matricula, sexo, e as três notas de um aluno e a seguir escreva a média de cada aluno, a maior e a menor nota daturma.

Program Pzim ;
type dados=record
nome:string;
turma:string;
matricula:integer;
sexo:char;
nota: array[1..3] of real;
end;
var
aluno:array[1..4] of dados;
i,j:integer;
media:array[1..4] of real;

procedure informaDados;
begin
for i:=1 to 4 do
begin
writeln('::DADOS DOS ALUNOS::');
WRITELN;
write('Nome:');
read(aluno[i].nome);
write('Turma:');
read(aluno[i].turma);
write('Matricula:');
read(aluno[i].matricula);
write('Sexo:');
read(aluno[i].sexo);

for j:=1 to 3 do
begin
write('Nota ',j,'= ');
read(aluno[i].nota[j]);
end;

clrscr;
end;
end;

procedure funcaoMadia;
var
soma:real;
begin
for i:=1 to 4 do
begin
soma:=0;
for j:=1 to 3 do
begin
soma:= soma + aluno[i].nota[j];
end;

media[i]:=soma/3;

writeln('A media do(a) aluno(a) ',aluno[i].nome,' e: ',media[i]:2:2);
end;
end;

procedure maiorNota;
var
maiorNota:real;

begin
maiorNota:=1;

for i:=1 to 4 do
if (media[i] > maiorNota) then
maiorNota:=media[i];

writeln;
writeln(' ---------------------------------------------');
writeln;
writeln('>>A maior media da turma e: ',maiorNota:2:2);
end;

procedure menorNota;
var
menorNota:real;

begin
menorNota:=1200;

for i:=1 to 4 do
if (media[i] < menorNota) then menorNota:=media[i]; writeln; writeln('>>A menor media da turma e: ',menorNota:2:2);
end;

Begin
informaDados;
funcaoMadia;
maiorNota;
menorNota;
End.

Procedure

1.Faça um programa que leia dois valores e chame uma sub-rotina (procedure) que receba essa duas variáveis e troque o seu conteúdo, ou seja, esta rotina é chamada passando duas variáveis A e B por exemplo, e após a execução da rotina A conterá p valor de B e B terá o valor de A.

Program Pzim ;
var
x,y:integer;

procedure troca(var a,b:integer);
var
temp:integer;
begin
temp:=a;
a:=b;
b:=temp;

end;

Begin
writeln('Digite o numero A:');
readln(x);
writeln('Digite o numero B:');
readln(y);

troca(x,y);

writeln('O valor de A trocado por B e:',x);
writeln('O valor de B trocado por A e:',y);
End.


2.Altere o programa anterior de forma a ler 4 valore em 4 variáveis: A, B C, D. Use a rotina “Troca_valores” implementada no programa anterior para a troca de valores de A com B, depois de C com D, mostre como ficaram os valores da variável, e para concluir destroque seus conteúdos mostrando novamente na tela como ficaram estas variáveis.

Program Pzim ;
var
x,y,z,w:integer;

procedure troca(var a,b:integer);
var
temp:integer;
begin
temp:=a;
a:=b;
b:=temp;
end;

Begin
writeln('Digite o numero A:');
readln(x);
writeln('Digite o numero B:');
readln(y);
writeln('Digite o numero C:');
readln(z);
writeln('Digite o numero D:');
readln(w);

troca(x,y);
troca(z,w);

writeln('O valor de A trocado por B e:',x);
writeln('O valor de B trocado por A e:',y);
writeln('O valor de C trocado por D e:',z);
writeln('O valor de D trocado por C e:',w);

troca(x,y);
troca(z,w);

writeln;
writeln('O valor de A inicial:',x);
writeln('O valor de B inicial:',y);
writeln('O valor de C inicial:',z);
writeln('O valor de D inicial:',w);
End.

3.Faça um programa que leia 2 valore e chame uma sub-rotina que receba estes 2 valores de entrada e retorne o maior valor na primeira variável e o segundo maior valor na segunda variável. Escreva o conteúdo dos dois valores na tela.

Program Pzim ;
var
x,y:integer;

procedure maior(var a,b:integer);
var
temp:integer;
begin
temp:=a;
if (a4.Faça um programa que leia três valores e chame uma sub-rotina que receba estes 3 valores de entrada e retorne o maior valor entre estes três valores na primeira variável, o segundo maior valor da segunda variável e o terceiro maior valor na terceira variável. Exiba os valores ordenados na tela (sugestão: use a sub-rotina troca-valores).

Program Pzim ;
var
x,y,z:integer;

procedure maior(var a,b:integer);
var
temp:integer;
begin
temp:=a;
if (a5.Faça um programa que leia um número e gere todos os números primos entre 1 e este número fornecido, exibindo-os na tela. O programa deve ter uma sub-rotina que determine se o determinado número é ou não primo.

Program Pzim ;
var
k,nm,num: integer;
ehPrimo: boolean;

procedure testaPrimo(a:integer);
var
cont,j,i :integer;

begin
for i:=1 to a do
begin
j:=(a mod i);
if(j=0)then
cont:= cont+1;
end;
if(cont=2)then
ehPrimo:=true
else
ehPrimo:=false;
end;


Begin
writeln('Digite um numero:');
readln(nm);
ehPrimo:=false;
for k:=1 to nm do
begin
testaPrimo(k);
if (ehPrimo) then
write(k ,'-');
end;

End.

6.Usando uma sub-rotina que exiba uma moldura na tela em uma janela definida pelo usuário, faça outra sub-rotina que escreva uma mensagem na tela pedindo para ler 2 números (um de cada vez), leia estes números e retorne para o programa principal. A mensagem e as leituras dos números devem ser feita dentro de uma janela com moldura. Em seguida exiba a média aritmética simples destes números também usando uma janela com molduras.


--------------

7.Faça um programa que leia 5 números. Este programa deve ter um menu que permita ao usuário escolher qual opção de cálculo ele deve realizar: média aritmética simples, média ponderada, desvio padrão, maior valor e menor valor . A leitura dos valores também deve ser uma das opções do menu.

Program Pzim ;
var
op:integer;
trava:boolean;
n1,n2,n3,n4,n5:integer;


procedure p1;
begin
trava:=false;
writeln('1 - Digite o valor:');
read(n1);
writeln('2- Digite o valor:');
read(n2);
writeln('3 - Digite o valor:');
read(n3);
writeln('4 - Digite o valor:');
read(n4);
writeln('5 - Digite o valor:');
read(n5);
end;

procedure p2;
var
media:real;
begin
media:=(n1+n2+n3+n4+n5)/5;

writeln('Media aritmetica e: ',media:2:2);
readln;
end;

procedure p3;
var
p1,p2,p3,p4,p5:integer;
media:real;
begin
writeln('Digite o peso 1:');
readln(p1);
writeln('Digite o peso 2:');
readln(p2);
writeln('Digite o peso 3:');
readln(p3);
writeln('Digite o peso 4:');
readln(p4);
writeln('Digite o peso 5:');
readln(p5);

media:=((n1*p1)+(n2*p2)+(n3*p3)+(n4*p4)+(n5*p5))/(p1+p2+p3+p4+p5);

writeln('A media ponderada e: ',media:2:2);
readln;
end;

procedure p5;
var
m:integer;
begin
if (n1>n2)and(n1>n3)and(n1>n4)and(n1>n5) then
m:=n1;
if (n2>n1)and(n2>n3)and(n2>n4)and(n2>n5) then
m:=n2;
if (n3>n1)and(n3>n2)and(n3>n4)and(n3>n5) then
m:=n3;
if (n4>n1)and(n4>n2)and(n4>n3)and(n4>n5) then
m:=n4;
if (n5>n1)and(n5>n2)and(n5>n3)and(n5>n4) then
m:=n5;

writeln('O maior numero e: ',m);
readln;

end;

procedure p6;
var
m:integer;
begin
if (n1<>7) do
begin
clrscr;
writeln('# MENU');
writeln('##########');
writeln('1- ENTRAR COM OS DADDOS');
writeln('2- MEDIA SIMPLES');
writeln('3- MEDIA PODERADA');
writeln('4- DESVIO PADRAO');
writeln('5- MAIOR VALOR');
writeln('6- MENOR VALOR');
writeln('7- SAIR');
readln(op);
menu;
end;
End.

8.Faça um jogo no qual o computador desafia dois usuários para ver quem tem mais memória. O jogo deve gerar um número de 0 à 9 e apresentar ao jogador 1 durante 5 segundos. Depois deve repetir esse procedimento para o jogador 2. Em seguida, ele deve pedir ao jogador 1 para informar o numero escolhida, e após pedir o jogador 2 para fazer a mesma coisa. Na segunda rodada, o computador deve gerar mais um numero de 0 a 9, que será “concatenado” à direito do próximo número. Então repetiremos o procedimento de exibição e teste de memorização para os dois usuários. O programa deve continuar adicionando números (casas decimais ao final do numero) até que os dois jogadores não consigam mais memorizar perfeitamente o número. Para concluir , o programa deve informar qual dos dois jogadores ganhou, quantas casa foram memorizadas ao total, e em que casa foi que o jogador perdedor errou (Primeira casa errada começando da esquerda para a direita).

Matriz

1.Calcule o total de pessoas aprovadas e reprovadas no exercício acima.

Program Pzim ;

var
nome:array[1..10]of string;
nota:array[1..10,1..4]of integer;
media,soma:array[1..10]of real;
linha,coluna,aprov,reprov:integer;

Begin
for linha:=1 to 10 do
begin
writeln(linha,'- Informe o nome do aluno:');
readln(nome[linha]);

for coluna:=1 to 4 do
begin

writeln(coluna,'- nota: ' );
readln(nota[linha,coluna]);
soma[linha]:= soma[linha]+nota[linha,coluna]

end;

media[linha]:=(soma[linha])/4;
writeln('A média do aluno(a) ',nome[linha],' foi: ',media[linha]:2:2);
writeln;
end;

clrscr;

for linha:=1 to 10 do
begin
if (media[linha]>=60) then
aprov:=aprov+1
else
reprov:=reprov+1
end;

writeln('Foram aprovados: ',aprov,' alunos.');
writeln('Foram reprovados: ',reprov,' alunos.');
End



2.Faça um programa que leia o nome de três cidades e a seguir cadastre e exiba na tela a distância entre essas cidades.

Program Distancia;
var
cidade:array[1..3]of string;
distancia:array[1..3,1..3]of real;
linha,coluna,cont:integer;

Begin
for cont:= 1 to 3 do
begin
writeln(cont,' - Digite o nome da cidades:');
readln(cidade[cont]);
clrscr;
end;
for cont:= 1 to 3 do
writeln(cont,' - Você digitou as cidades:',cidade[cont]);

for linha:=1 to 3 do
begin
for coluna:= 1 to 3 do
begin
if (linha = coluna) then
distancia[linha,coluna]:=0
else
begin
writeln(' Agora informe a distancia entre ',cidade[linha],' e ',cidade[coluna]);
readln(distancia[linha,coluna]);
// distancia[linha,coluna]):= distancia[coluna,linha];
end;
end;
end;

for coluna:=1 to 3 do
begin
for cont:= 1 to 3 do
begin
writeln('As distancia entre as cidade ',cidade[coluna],' e ',cidade[linha] );

end;
end;
End

3.Faça um programa para criar um cadastro de mercadorias que contenha os seguintes dados: código da mercadoria, descrição, data de cadastro, ultima saído, saldo em estoque.
A seguir escreva todos o código da mercadoria e a descrição de todas as mercadorias cadastradas. A seguir todos os dados da mercadoria que apresenta o maior saldo em estoque.
Obs.: O programa deve ser feito para cadastro de 1000 produtos diferentes.


Program Pzim ;

type prod = record
codMerc: integer;
descricao:string;
dataCadastro:integer;
ultimaSaida:integer;
saldoEstoque:integer;
end;

var
cont,m,c:integer;
cadastro: array[1..1000] of prod;

Begin
m:=0;
for cont:=1 to 2 do
begin
writeln('Codigo da mercadoria:');
readln(cadastro[cont].codMerc);
writeln('Descricao:');
readln(cadastro[cont].descricao);
writeln('Data de Cadastro:');
readln(cadastro[cont].dataCadastro);
writeln('Ultima saida:');
readln(cadastro[cont].ultimaSaida);
writeln('Saldo em estoque:');
readln(cadastro[cont].saldoEstoque);
writeln(' ----- ');
end;

clrscr;
writeln('TODOS OS PRODUTOS');
for cont:=1 to 2 do
begin
writeln('Codigo da mercadoria: ',cadastro[cont].codMerc);
writeln('Descricao: ',cadastro[cont].descricao);
writeln('Data de Cadastro: ',cadastro[cont].dataCadastro);
writeln('Ultima saida: ',cadastro[cont].ultimaSaida);
writeln('Saldo em estoque: ',cadastro[cont].saldoEstoque);
writeln(' ----- ');
end;

4.Faça um programa para criar um cadastro de dados bancários e a seguir escreva o nome a idade e o saldo do cliente mais novo e mais velho.
Obs.: O programa deve ser feito para cadastrar 10000 clientes. Os dados dos clientes a serem cadastrados são: Conta corrente, agencia, banco, nome, endereço, telefone, e-mail, idade e saldo bancário.


Program Pzim ;

type dodos = record
contaCorrente:integer;
agencia:integer;
banco:string;
nome:string;
idade:integer;
endereco:string;
tel:integer;
email:string;
saldoBanc:real;
end;

var
cad: array[1..3] of dodos; //1000
i:integer;

procedure cadastro;
begin
for i:=1 to 3 do
begin
writeln(' ::CADASTRO DE CLIENTE::');
writeln;
write('Conta Corrente: ');
readln(cad[i].contaCorrente);
write('Agencia: ');
read(cad[i].agencia);
write('Banco: ');
read(cad[i].banco);
write('Nome: ');
read(cad[i].nome);
write('Idade: ');
read(cad[i].idade);
write('Endereco: ');
read(cad[i].endereco);
write('Telefone: ');
read(cad[i].tel);
write('E-mail: ');
read(cad[i].email);
write('Saldo bancario: ');
read(cad[i].saldoBanc);
clrscr;
end;
end;

procedure clienteMaisVelho;
var
maior:integer;
maiorNome:string;
maiorSaldo:real;
begin
maior:=1;

for i:=1 to 3 do
begin
if (cad[i].idade > maior) then
begin
maior:=cad[i].idade;
maiorNome:=cad[i].nome;
maiorSaldo:=cad[i].saldoBanc;
end;
end;

writeln('>>Pessoa com maior idade:');
writeln('Nome: ',maiorNome);
writeln('Idade: ',maior);
writeln('Saldo bancario: ',maiorSaldo:2:2);
end;

procedure clienteMaisNovo;
var
menor:integer;
menorNome:string;
menorSaldo:real;
begin
menor:=150;

for i:=1 to 3 do
begin
if (cad[i].idade < menor) then begin menor:=cad[i].idade; menorNome:=cad[i].nome; menorSaldo:=cad[i].saldoBanc; end; end; writeln; writeln('>>Pessoa com menor idade:');
writeln('Nome: ',menorNome);
writeln('Idade: ',menor);
writeln('Sald5.Faça um programa que leia nome do jogador, camisa, time e saldo de 22 jogadores. Escreva o time que contém mais jogadores na lista, o nome do jogador com salário mais alto e mais baixo

Program Pzim ;
type dados=record
nome:string;
camisa:integer;
time:char;
salario:real;
end;

var
jog:array[1..5] of dados; //22
i:integer;

procedure cadastro;
begin
for i:=1 to 5 do
begin
writeln('::CADASTRO DE JOGADORES::');
writeln;
writeln('TIMES DESPONIVEIS: A e B');
writeln(i,' - Faca o cadastro:');
writeln('_________________________');
writeln;
write('Nome: ');
read(jog[i].nome);
write('Camisa: ');
read(jog[i].camisa);
write('Time: ');
read(jog[i].time);
write('Salario: ');
read(jog[i].salario);
clrscr;
end;
end;

procedure maisJogadores;
var
TA,TB,maisJ: integer;
timeM:char;

begin
maisJ:=1;

for i:=1 to 5 do
begin
case jog[i].time of
'A': TA:=TA+1;
'B': TB:=TB+1;
end;
end;

if (TA>maisJ)then
timeM:= 'A'
else
timeM:= 'B';

writeln('>>O time com mais joadores e o time: ',timeM);
end;

procedure maiorSalario;
var
maior:real;
maiorNome:string;
begin
maior:=1;

for i:=1 to 5 do
begin
if (jog[i].salario > maior) then
begin
maior:=jog[i].salario;
maiorNome:=jog[i].nome;
end;
end;

writeln;
writeln('>>O jogador com maior salario:');
writeln('Nome: ',maiorNome);
writeln('Salario: ',maior:2:2);
end;

procedure menorSalario;
var
menor:real;
menorNome:string;
begin
menor:=999999999;

for i:=1 to 5 do
begin
if (jog[i].salario < menor) then begin menor:=jog[i].salario; menorNome:=jog[i].nome; end; end; writeln; writeln('>>O jogador com menor salario:');
writeln('Nome: ',menorNome);
writeln('Salario: ',menor:2:2);
end;


Begin
cadastro;
maisJogadores;
maiorSalario;
menorSalario;
End o bancario: ',menorSaldo:2:2);
end;

Begin
cadastro;
clienteMaisVelho;
clienteMaisNovo;
End

Matriz e Registro

1.Faça um programa que leia o nome de dez alunos e respectivamente 1ª, 2ª, 3ª e 4ª notas, a seguir calcule a média. Escreva o nome do aluno e sua média.

2.Calcule o total de pessoas aprovadas e reprovadas no exercício acima.

Program Pzim ;

var
nome:array[1..10]of string;
nota:array[1..10,1..4]of integer;
media,soma:array[1..10]of real;
linha,coluna,aprov,reprov:integer;

Begin
for linha:=1 to 10 do
begin
writeln(linha,'- Informe o nome do aluno:');
readln(nome[linha]);

for coluna:=1 to 4 do
begin

writeln(coluna,'- nota: ' );
readln(nota[linha,coluna]);
soma[linha]:= soma[linha]+nota[linha,coluna]

end;

media[linha]:=(soma[linha])/4;
writeln('A média do aluno(a) ',nome[linha],' foi: ',media[linha]:2:2);
writeln;
end;

clrscr;

for linha:=1 to 10 do
begin
if (media[linha]>=60) then
aprov:=aprov+1
else
reprov:=reprov+1
end;

writeln('Foram aprovados: ',aprov,' alunos.');
writeln('Foram reprovados: ',reprov,' alunos.');
End.


3.Faça um programa que leia o nome de três cidades e a seguir cadastre e exiba na tela a distância entre essas cidades.

Program Distancia;
var
cidade:array[1..3]of string;
distancia:array[1..3,1..3]of real;
linha,coluna,cont:integer;

Begin
for cont:= 1 to 3 do
begin
writeln(cont,' - Digite o nome da cidades:');
readln(cidade[cont]);
clrscr;
end;
for cont:= 1 to 3 do
writeln(cont,' - Você digitou as cidades:',cidade[cont]);

for linha:=1 to 3 do
begin
for coluna:= 1 to 3 do
begin
if (linha = coluna) then
distancia[linha,coluna]:=0
else
begin
writeln(' Agora informe a distancia entre ',cidade[linha],' e ',cidade[coluna]);
readln(distancia[linha,coluna]);
// distancia[linha,coluna]):= distancia[coluna,linha];
end;
end;
end;

for coluna:=1 to 3 do
begin
for cont:= 1 to 3 do
begin
writeln('As distancia entre as cidade ',cidade[coluna],' e ',cidade[linha] );

end;
end;
End.


4.Faça um programa para criar um cadastro de mercadorias que contenha os seguintes dados: código da mercadoria, descrição, data de cadastro, ultima saído, saldo em estoque.
A seguir escreva todos o código da mercadoria e a descrição de todas as mercadorias cadastradas. A seguir todos os dados da mercadoria que apresenta o maior saldo em estoque.
Obs.: O programa deve ser feito para cadastro de 1000 produtos diferentes.


Program Pzim ;

type prod = record
codMerc: integer;
descricao:string;
dataCadastro:integer;
ultimaSaida:integer;
saldoEstoque:integer;
end;

var
cont,m,c:integer;
cadastro: array[1..1000] of prod;

Begin
m:=0;
for cont:=1 to 2 do
begin
writeln('Codigo da mercadoria:');
readln(cadastro[cont].codMerc);
writeln('Descricao:');
readln(cadastro[cont].descricao);
writeln('Data de Cadastro:');
readln(cadastro[cont].dataCadastro);
writeln('Ultima saida:');
readln(cadastro[cont].ultimaSaida);
writeln('Saldo em estoque:');
readln(cadastro[cont].saldoEstoque);
writeln(' ----- ');
end;

clrscr;
writeln('TODOS OS PRODUTOS');
for cont:=1 to 2 do
begin
writeln('Codigo da mercadoria: ',cadastro[cont].codMerc);
writeln('Descricao: ',cadastro[cont].descricao);
writeln('Data de Cadastro: ',cadastro[cont].dataCadastro);
writeln('Ultima saida: ',cadastro[cont].ultimaSaida);
writeln('Saldo em estoque: ',cadastro[cont].saldoEstoque);
writeln(' ----- ');
end;

readln;
for cont:=1 to 2 do
if(m
5.Faça um programa para criar um cadastro de dados bancários e a seguir escreva o nome a idade e o saldo do cliente mais novo e mais velho.
Obs.: O programa deve ser feito para cadastrar 10000 clientes. Os dados dos clientes a serem cadastrados são: Conta corrente, agencia, banco, nome, endereço, telefone, e-mail, idade e saldo bancário.


Program Pzim ;

type dodos = record
contaCorrente:integer;
agencia:integer;
banco:string;
nome:string;
idade:integer;
endereco:string;
tel:integer;
email:string;
saldoBanc:real;
end;

var
cad: array[1..3] of dodos; //1000
i:integer;

procedure cadastro;
begin
for i:=1 to 3 do
begin
writeln(' ::CADASTRO DE CLIENTE::');
writeln;
write('Conta Corrente: ');
readln(cad[i].contaCorrente);
write('Agencia: ');
read(cad[i].agencia);
write('Banco: ');
read(cad[i].banco);
write('Nome: ');
read(cad[i].nome);
write('Idade: ');
read(cad[i].idade);
write('Endereco: ');
read(cad[i].endereco);
write('Telefone: ');
read(cad[i].tel);
write('E-mail: ');
read(cad[i].email);
write('Saldo bancario: ');
read(cad[i].saldoBanc);
clrscr;
end;
end;

procedure clienteMaisVelho;
var
maior:integer;
maiorNome:string;
maiorSaldo:real;
begin
maior:=1;

for i:=1 to 3 do
begin
if (cad[i].idade > maior) then
begin
maior:=cad[i].idade;
maiorNome:=cad[i].nome;
maiorSaldo:=cad[i].saldoBanc;
end;
end;

writeln('>>Pessoa com maior idade:');
writeln('Nome: ',maiorNome);
writeln('Idade: ',maior);
writeln('Saldo bancario: ',maiorSaldo:2:2);
end;

procedure clienteMaisNovo;
var
menor:integer;
menorNome:string;
menorSaldo:real;
begin
menor:=150;

for i:=1 to 3 do
begin
if (cad[i].idade < menor) then begin menor:=cad[i].idade; menorNome:=cad[i].nome; menorSaldo:=cad[i].saldoBanc; end; end; writeln; writeln('>>Pessoa com menor idade:');
writeln('Nome: ',menorNome);
writeln('Idade: ',menor);
writeln('Saldo bancario: ',menorSaldo:2:2);
end;

Begin
cadastro;
clienteMaisVelho;
clienteMaisNovo;
End.

6.Faça um programa que leia nome do jogador, camisa, time e saldo de 22 jogadores. Escreva o time que contém mais jogadores na lista, o nome do jogador com salário mais alto e mais baixo

Program Pzim ;
type dados=record
nome:string;
camisa:integer;
time:char;
salario:real;
end;

var
jog:array[1..5] of dados; //22
i:integer;

procedure cadastro;
begin
for i:=1 to 5 do
begin
writeln('::CADASTRO DE JOGADORES::');
writeln;
writeln('TIMES DESPONIVEIS: A e B');
writeln(i,' - Faca o cadastro:');
writeln('_________________________');
writeln;
write('Nome: ');
read(jog[i].nome);
write('Camisa: ');
read(jog[i].camisa);
write('Time: ');
read(jog[i].time);
write('Salario: ');
read(jog[i].salario);
clrscr;
end;
end;

procedure maisJogadores;
var
TA,TB,maisJ: integer;
timeM:char;

begin
maisJ:=1;

for i:=1 to 5 do
begin
case jog[i].time of
'A': TA:=TA+1;
'B': TB:=TB+1;
end;
end;

if (TA>maisJ)then
timeM:= 'A'
else
timeM:= 'B';

writeln('>>O time com mais joadores e o time: ',timeM);
end;

procedure maiorSalario;
var
maior:real;
maiorNome:string;
begin
maior:=1;

for i:=1 to 5 do
begin
if (jog[i].salario > maior) then
begin
maior:=jog[i].salario;
maiorNome:=jog[i].nome;
end;
end;

writeln;
writeln('>>O jogador com maior salario:');
writeln('Nome: ',maiorNome);
writeln('Salario: ',maior:2:2);
end;

procedure menorSalario;
var
menor:real;
menorNome:string;
begin
menor:=999999999;

for i:=1 to 5 do
begin
if (jog[i].salario < menor) then begin menor:=jog[i].salario; menorNome:=jog[i].nome; end; end; writeln; writeln('>>O jogador com menor salario:');
writeln('Nome: ',menorNome);
writeln('Salario: ',menor:2:2);
end;


Begin
cadastro;
maisJogadores;
maiorSalario;
menorSalario;
End.

7.Faça um programa que leia nome, turma, matricula, sexo, e as três notas de um aluno e a seguir escreva a média de cada aluno, a maior e a menor nota daturma.

Program Pzim ;
type dados=record
nome:string;
turma:string;
matricula:integer;
sexo:char;
nota: array[1..3] of real;
end;
var
aluno:array[1..4] of dados;
i,j:integer;
media:array[1..4] of real;

procedure informaDados;
begin
for i:=1 to 4 do
begin
writeln('::DADOS DOS ALUNOS::');
WRITELN;
write('Nome:');
read(aluno[i].nome);
write('Turma:');
read(aluno[i].turma);
write('Matricula:');
read(aluno[i].matricula);
write('Sexo:');
read(aluno[i].sexo);

for j:=1 to 3 do
begin
write('Nota ',j,'= ');
read(aluno[i].nota[j]);
end;

clrscr;
end;
end;

procedure funcaoMadia;
var
soma:real;
begin
for i:=1 to 4 do
begin
soma:=0;
for j:=1 to 3 do
begin
soma:= soma + aluno[i].nota[j];
end;

media[i]:=soma/3;

writeln('A media do(a) aluno(a) ',aluno[i].nome,' e: ',media[i]:2:2);
end;
end;

procedure maiorNota;
var
maiorNota:real;

begin
maiorNota:=1;

for i:=1 to 4 do
if (media[i] > maiorNota) then
maiorNota:=media[i];

writeln;
writeln(' ---------------------------------------------');
writeln;
writeln('>>A maior media da turma e: ',maiorNota:2:2);
end;

procedure menorNota;
var
menorNota:real;

begin
menorNota:=1200;

for i:=1 to 4 do
if (media[i] < menorNota) then menorNota:=media[i]; writeln; writeln('>>A menor media da turma e: ',menorNota:2:2);
end;

Begin
informaDados;
funcaoMadia;
maiorNota;
menorNota;
End.

Procedimentos e Funções

1.Faça um programa que leia dois valores e chame uma sub-rotina (procedure) que receba essa duas variáveis e troque o seu conteúdo, ou seja, esta rotina é chamada passando duas variáveis A e B por exemplo, e após a execução da rotina A conterá p valor de B e B terá o valor de A.

Program Pzim ;
var
x,y:integer;

procedure troca(var a,b:integer);
var
temp:integer;
begin
temp:=a;
a:=b;
b:=temp;

end;

Begin
writeln('Digite o numero A:');
readln(x);
writeln('Digite o numero B:');
readln(y);

troca(x,y);

writeln('O valor de A trocado por B e:',x);
writeln('O valor de B trocado por A e:',y);
End.


2.Altere o programa anterior de forma a ler 4 valore em 4 variáveis: A, B C, D. Use a rotina “Troca_valores” implementada no programa anterior para a troca de valores de A com B, depois de C com D, mostre como ficaram os valores da variável, e para concluir destroque seus conteúdos mostrando novamente na tela como ficaram estas variáveis.

Program Pzim ;
var
x,y,z,w:integer;

procedure troca(var a,b:integer);
var
temp:integer;
begin
temp:=a;
a:=b;
b:=temp;
end;

Begin
writeln('Digite o numero A:');
readln(x);
writeln('Digite o numero B:');
readln(y);
writeln('Digite o numero C:');
readln(z);
writeln('Digite o numero D:');
readln(w);

troca(x,y);
troca(z,w);

writeln('O valor de A trocado por B e:',x);
writeln('O valor de B trocado por A e:',y);
writeln('O valor de C trocado por D e:',z);
writeln('O valor de D trocado por C e:',w);

troca(x,y);
troca(z,w);

writeln;
writeln('O valor de A inicial:',x);
writeln('O valor de B inicial:',y);
writeln('O valor de C inicial:',z);
writeln('O valor de D inicial:',w);
End.

3.Faça um programa que leia 2 valore e chame uma sub-rotina que receba estes 2 valores de entrada e retorne o maior valor na primeira variável e o segundo maior valor na segunda variável. Escreva o conteúdo dos dois valores na tela.

Program Pzim ;
var
x,y:integer;

procedure maior(var a,b:integer);
var
temp:integer;
begin
temp:=a;
if (a4.Faça um programa que leia três valores e chame uma sub-rotina que receba estes 3 valores de entrada e retorne o maior valor entre estes três valores na primeira variável, o segundo maior valor da segunda variável e o terceiro maior valor na terceira variável. Exiba os valores ordenados na tela (sugestão: use a sub-rotina troca-valores).

Program Pzim ;
var
x,y,z:integer;

procedure maior(var a,b:integer);
var
temp:integer;
begin
temp:=a;
if (a5.Faça um programa que leia um número e gere todos os números primos entre 1 e este número fornecido, exibindo-os na tela. O programa deve ter uma sub-rotina que determine se o determinado número é ou não primo.

Program Pzim ;
var
k,nm,num: integer;
ehPrimo: boolean;

procedure testaPrimo(a:integer);
var
cont,j,i :integer;

begin
for i:=1 to a do
begin
j:=(a mod i);
if(j=0)then
cont:= cont+1;
end;
if(cont=2)then
ehPrimo:=true
else
ehPrimo:=false;
end;


Begin
writeln('Digite um numero:');
readln(nm);
ehPrimo:=false;
for k:=1 to nm do
begin
testaPrimo(k);
if (ehPrimo) then
write(k ,'-');
end;

End.

6.Usando uma sub-rotina que exiba uma moldura na tela em uma janela definida pelo usuário, faça outra sub-rotina que escreva uma mensagem na tela pedindo para ler 2 números (um de cada vez), leia estes números e retorne para o programa principal. A mensagem e as leituras dos números devem ser feita dentro de uma janela com moldura. Em seguida exiba a média aritmética simples destes números também usando uma janela com molduras.


--------------

7.Faça um programa que leia 5 números. Este programa deve ter um menu que permita ao usuário escolher qual opção de cálculo ele deve realizar: média aritmética simples, média ponderada, desvio padrão, maior valor e menor valor . A leitura dos valores também deve ser uma das opções do menu.

Program Pzim ;
var
op:integer;
trava:boolean;
n1,n2,n3,n4,n5:integer;


procedure p1;
begin
trava:=false;
writeln('1 - Digite o valor:');
read(n1);
writeln('2- Digite o valor:');
read(n2);
writeln('3 - Digite o valor:');
read(n3);
writeln('4 - Digite o valor:');
read(n4);
writeln('5 - Digite o valor:');
read(n5);
end;

procedure p2;
var
media:real;
begin
media:=(n1+n2+n3+n4+n5)/5;

writeln('Media aritmetica e: ',media:2:2);
readln;
end;

procedure p3;
var
p1,p2,p3,p4,p5:integer;
media:real;
begin
writeln('Digite o peso 1:');
readln(p1);
writeln('Digite o peso 2:');
readln(p2);
writeln('Digite o peso 3:');
readln(p3);
writeln('Digite o peso 4:');
readln(p4);
writeln('Digite o peso 5:');
readln(p5);

media:=((n1*p1)+(n2*p2)+(n3*p3)+(n4*p4)+(n5*p5))/(p1+p2+p3+p4+p5);

writeln('A media ponderada e: ',media:2:2);
readln;
end;

procedure p5;
var
m:integer;
begin
if (n1>n2)and(n1>n3)and(n1>n4)and(n1>n5) then
m:=n1;
if (n2>n1)and(n2>n3)and(n2>n4)and(n2>n5) then
m:=n2;
if (n3>n1)and(n3>n2)and(n3>n4)and(n3>n5) then
m:=n3;
if (n4>n1)and(n4>n2)and(n4>n3)and(n4>n5) then
m:=n4;
if (n5>n1)and(n5>n2)and(n5>n3)and(n5>n4) then
m:=n5;

writeln('O maior numero e: ',m);
readln;

end;

procedure p6;
var
m:integer;
begin
if (n1<>7) do
begin
clrscr;
writeln('# MENU');
writeln('##########');
writeln('1- ENTRAR COM OS DADDOS');
writeln('2- MEDIA SIMPLES');
writeln('3- MEDIA PODERADA');
writeln('4- DESVIO PADRAO');
writeln('5- MAIOR VALOR');
writeln('6- MENOR VALOR');
writeln('7- SAIR');
readln(op);
menu;
end;
End.

8.Faça um jogo no qual o computador desafia dois usuários para ver quem tem mais memória. O jogo deve gerar um número de 0 à 9 e apresentar ao jogador 1 durante 5 segundos. Depois deve repetir esse procedimento para o jogador 2. Em seguida, ele deve pedir ao jogador 1 para informar o numero escolhida, e após pedir o jogador 2 para fazer a mesma coisa. Na segunda rodada, o computador deve gerar mais um numero de 0 a 9, que será “concatenado” à direito do próximo número. Então repetiremos o procedimento de exibição e teste de memorização para os dois usuários. O programa deve continuar adicionando números (casas decimais ao final do numero) até que os dois jogadores não consigam mais memorizar perfeitamente o número. Para concluir , o programa deve informar qual dos dois jogadores ganhou, quantas casa foram memorizadas ao total, e em que casa foi que o jogador perdedor errou (Primeira casa errada começando da esquerda para a direita).

terça-feira, 5 de outubro de 2010


Bombeiro uma filosofiadevida2
View more presentations from RenanZigs.

http://www.mediafire.com/?aj37a07zaeeno1v  esse e o link do download

quarta-feira, 22 de setembro de 2010

Exercicio -Numeros aleatorios 1000

Construa um algoritmo para gerar aleatório 1000 números, calcular o somatório, a média, o maior e o menor número gerado.

Program 1000_numeros;

var

x,menor,maior,n: integer;

media:real;

Begin

maior:=0;

menor:=1001;

for x:=1 to 1000 do

begin

delay(3);

n:=random(1001);

Writeln(n);

if n

menor:=n;

if n>maior then

maior:=n;

media:=media+n;

end;

Writeln('Maior numero ',maior);

Writeln('Menor numero: ',menor);

Writeln('Somatorio ',media:7:1);

Writeln('Media ',media/1000:4:2);

Writeln(' ');

Readln;

End.

Exercicio -Numeros de 1 a 100

Construa um algoritmo para que o computador gere dez números aleatórios entre 1 e 100. A seguir escreva a quantidade de números gerados acima de 50 e abaixo de 50.

Program numeros_1_100;

var

x,y,z,n:integer;

Begin

y:=0;

x:=0;

for z:=1 to 10 do

begin

delay(500);

n:=random(100);

Writeln(n);

if n<50>

x:=x+1;

if n>50 then

y:=y+1;

end;

Writeln('Numeros Abaixo:',x);

Writeln('Numeros Acima:',y);

Readln;

End.

Exercicio -Peso maior

Faça um algoritmo e a seguir passe-o para pascal que leia o nome e peso de 10 pessoas e a seguir calcule o maior peso, o mais leve, e a média de peso. Escreva o nome da pessoa com maior peso.

Program Peso ;
VAR
nome, nmaior, nmenor, f : integer;
peso, pmaior, pmenor, pmedia : real;

Begin
for f := 1 to 10 do
begin
Writeln ('Escreva seu nome');
readln (nome);
Writeln ('Escreva seu peso');
readln (peso);
end;

pmenor := peso;
if (pmenor <= peso) then
writeln ('o menor peso é,');
writeln (pmenor);
Writeln ('o nome é');
writeln (nome);
if (pmaior >= peso) then
writeln ('o maior peso é');
writeln (pmaior);
writeln ('o nome é');
writeln (nome);

pmedia := (peso + peso) / 10;
writeln ('a media é,');
writeln (pmedia);
End.

Exercicio Kneippopolis

Faca um programa para apontar os resultados de uma pesquisa eleitoral para presidente da republica de Kneippopolis, o mais novo pais da America do Sul. Os candidatos são: Zico, Ricardo Kneipp, Obina e Geninho. Escreva o total e o percentual de votos de cada candidato. A seguir escreva o nome do novo presidente do pais com maior IDH do planeta.


Program Pzim ; KNEIPOPOLIS
var
voto:char;
cont,somaZ,somaR,somaO,somaG,somaN,maior:integer;
percZ,percR,percO,percG:real;
nomepres:string;
Begin
maior:=0;
writeln('Pesquisa eleitoral para presidente da república de Kneippópolis');
writeln;
writeln('Os candidatos são: Zico, Ricardo Kneipp, Obina e Geninho');
writeln;
for cont:=1 to 10 do
begin
writeln('Dê seu voto:Zico - Z, Ricardo Kneipp - R, Obina - O, Geninho - G');
read(voto);
clrscr;
case voto of
'Z' : somaZ:= somaZ+1;
'R' : somaR:= somaR+1;
'O' : somaO:= somaO+1;
'G' : somaG:= somaG+1;
'z' : somaZ:= somaZ+1;
'r' : somaR:= somaR+1;
'o' : somaO:= somaO+1;
'g' : somaG:= somaG+1;

else
writeln('Seu voto foi invalido');
end;
if (somaZ>maior) then
begin
maior:=somaZ;
nomepres:='Zico';
end;
if (somaR>maior) then
begin
maior:=somaR;
nomepres:='Ricardo Keneipp';
end;
if (somaO>maior) then
Begin
maior:=somaO;
nomepres:='Obina';
end;
if (somaG>maior) then
begin
maior:=somaG;
nomepres:='Geninho';
end;

end;
percZ:=(somaZ/10)*100;
percR:=(somaR/10)*100;
percO:=(somaO/10)*100;
percG:=(somaG/10)*100;
clrscr;
writeln('O percentual de fotos recebidos pelo candidato Zico foi:',percZ:2:2,'% e o total de votos foi:',somaZ);
writeln;
writeln('O percentual de fotos recebidos pelo candidato Ricardo Kneipp foi:',percR:2:2,'% e o total de votos foi:',somaR);
writeln;
writeln('O percentual de fotos recebidos pelo candidato Obina foi:',percO:2:2,'% e o total de votos foi:',somaO);
writeln;
writeln('O percentual de fotos recebidos pelo candidato Geninho foi:',percG:2:2,'% e o total de votos foi:',somaG);
writeln;
Writeln('O presidente com mais votos foi o ',nomepres,', com ',maior,' votos.');
End.

Exercicio 06

6 inclua a posição do maior e do menor valor encontrado.

Program ;
var
maior, menor, soma, cont,con: integer;
media :real;
vetor: array[1..50] of integer;
pmaior

Begin
maior:=0;
menor:=101;
soma:=0;
cont:=0;

for cont:=1 to 50 do
begin
randomize;
vetor[cont] := random(99)+1;

if(vetor[cont] > maior)then
maior := vetor[cont];

if(vetor[cont] < menor)then
menor := vetor[cont];

soma:= soma + vetor[cont];
end;

media:= soma/50;

for con:=1 to 50 do
write(' [',vetor[con],'] ');

writeln('');
writeln('');
writeln('A media dos numeros e ',media);
writeln('O maior numero e ',maior);
writeln('O menor numero e ',menor);


End.

Exercicio 02

2 Faça um programa para ler 20 numeros, calcular a media o maior e o menor número.

Program Questao2 ;
Var
num, maior, menor, cont, soma : integer;
media : real;

vetor:array[1..20]of integer;


Begin
cont:=0;
for cont:=1 to 3 do
begin
Writeln ('Escreva o numero');
readln (vetor[cont]);
soma:=vetor[cont]+soma;
if (vetor[cont] >= maior) then
maior:=vetor[cont];
if (vetor[cont]<= menor) then
menor:=vetor[cont];
end;
media:=soma/3;
Writeln ('O maior numero e ', maior);
writeln ('O menor numero e ', menor);
writeln ('A media é ', media);

End.

Exercicio 01

1 Faça um programa para ler 10 numeros e escrever a soma.

Program Questao2 ;
Var
num, cont, soma : integer;

vetor:array[1..10]of integer;


Begin
cont:=0;
for cont:=1 to 10 do
begin
Writeln ('Escreva o numero');
readln (vetor[cont]);
soma:=vetor[cont]+soma;
end;
writeln ('A soma é ', soma);

End.

terça-feira, 21 de setembro de 2010

Exercicio 07

7 - Escreva um algoritimo que leia um vetor G de 20 elementos caractere que represente....


Program ler_20_numeros ;
VAR
certa,soma, cont, cont1,alunos : integer;

G:array[1..20]of char;
R:array[1..20]of char;

Begin
soma:=0;
for cont1:=1 to 5 do
begin
writeln ('digite a resposta da questao ', cont1);
readln (G[cont1]);
end;
writeln ('Gabarito inserido');
writeln;


for alunos:=1 to 3 do
begin

for cont:=1 to 5 do
begin
writeln ('ALUNO [ ',alunos,' ]Digite a resposta ',cont);
readln (R[cont]);

if (R[cont] = G[cont]) then
soma:=soma+1;
end;

if (soma>=3) then
Writeln ('Aluno ',alunos,' aprovado')
else
Writeln ('Aluno ',alunos,' reprovado');

Writeln;
Writeln;
soma:=0;
Writeln('------------------------------------');
end;

End.

Exercicio 05

5 - Excreva um algoritimo que leia um vetor de 80 elementos inteiros. encontre e mostre o menos elemento e sua posição no vetor.

Program_posição_no_vetor ;
var
num:array[1..5]of integer;
cont, cont2, menor:integer;
menorNum:array[1..5]of integer;


Begin
cont:=0;
menor:=1000;

for cont:=1 to 5 do
begin
writeln('Informe um número:',cont);
readln(num[cont]);

if num[cont]
begin
cont2:=cont2+1;
menor:=num[cont];
menorNum[cont2]:=menor;
end;

end;

writeln('O menor número é: ', menor,' e sua posiçao no vetor é: ',cont2);


End.

Exercicio 04

4 - Escreva um algoritimo que leia um vetor de 50 posições de numeros inteiros e mostre somente os positivos.

Program numeros positivos ;
var
num:array[1..5]of integer;
cont, i:integer;
positivo:array[1..5]of integer;

Begin
i:= 0;
for cont:=1 to 5 do
begin
writeln('Informe um número:');
readln(num[cont]);

if num[cont]>0 then
begin
i:= i + 1;
positivo[i] := num[cont];
end;
end;

for cont:=1 to i do
writeln('Os números positivos sao:',positivo[cont]);


End

Exercicio 03

3 - Prepare um programa para calcular as notas da P1, P2 e P3 de 10 alunos, escreva a media final de cada aluno e escreva o total de pessoas aprovadas e reprovadas.

Program notas ;
var
P1: array[1..10]of real;
P2: array[1..10]of real;
P3: array[1..10]of real;
media,soma:real;
cont:integer;
Begin
for cont:= 1 to 10 do
begin
writeln('1ª nota:');
read(P1[cont]);
writeln('2ª nota:');
read(P2[cont]);
writeln('3ª nota:');
read(P3[cont]);

soma:=(P1[cont]+P2[cont]+P3[cont]);
media[cont]:=soma/3;

writeln('A media do aluno é:',media);

end;

End.

terça-feira, 13 de abril de 2010

Exercício com CASO (CASE)

Algoritmo “Calculo Percentual”
VAR
VC, SM, VP: real;
inicio
Escolha (“digite seu SM);
Leia (SM);
Escolha Valor;
Caso (SM>0) e (SM<=200) Categoria <-“nenhum crédito”;
Caso (SM>=201) e (SM<=400) VC<-(SM*0,2);
Caso (SM>=401) e (SM<=600) Categoria<-“SM*0,3;
Outro caso (categoria<-“inválido”;
FimEscolha;
FimAlgoritmo.

Exercício com CASO (CASE)

ALGORITMO "Aluno"
VAR
Na, Cr, status: TEXTO
N1, N2, N3, Média: REAL
INICIO
Escreva ("Classificação do aluno por média");
Escreva ("Digite seu nome");
Leia (Na);
Escreva ("Digite seu curso");
Leia (Cr);
Escreva ("Digite suas 3 notas:");
Leia (N1, N2, N3);
Média <-- (n1+n2+n3) /3
Escreva ("Sua média é:", Média);
ESCOLHA Média
CASO (Média =< 40);
status <-- "Reprovado"
CASO (Média > 40 < 60);
Status <-- "Aluno em prova final"
CASO (Média >= 60);
status <-- "Aluno aprovado"
FIM ESCOLHA;
Escreva ("Status do aluno:", status);
FIM ALGORITMO,

Exercício com CASO (CASE)

ALGORITMO "Classificação por idade"
VAR
idade: INTEIRO
categoria: TEXTO
INICIO;
Escreva ("Classificação do nadador por idade.");
Escreva ("Digite sua idade:");
Leia (idade);
ESCOLHA idade
CASO (5, 6, 7);
categoria <-- infantil A
CASO (8, 9, 10);
categoria <-- infantil B
CASO (11, 12, 13);
categoria <-- juvenil A
CASO (14, 15, 16, 17);
categoria <-- juvenil B
OUTRO CASO
categoria <-- adulto
FIM ESCOLHA
Escreva ("Sua categoria é:", categoria);
FIM ALGORITMO.

segunda-feira, 12 de abril de 2010

Sistemas de Informção...

Sistemas de Informação pode ser definido como uma combinação de recursos humanos e computacionais que interrelacionam a coleta, o armazenamento, a recuperação, a distribuição e o uso de dados com o objetivo de eficiência gerencial (planejamento, controle, comunicação e tomada de decisão), nas organizações. Adicionalmente, os Sistemas de Informação podem também ajudar os gerentes e usuários a analisar problemas, criar novos produtos e serviços e visualizar questões complexas. O estudo de Sistemas de Informação bem como o seu desenvolvimento, envolve perspectivas múltiplas e conhecimentos multidisciplinares, que incluem diversos campos do conhecimento como: ciência da computação, ciência comportamental, ciência da decisão, ciências gerenciais, ciências políticas, pesquisa operacional, sociologia, contabilidade, dentre outros.

Exercicios de Algoritimos (prova)

Questão (4) Prova - Faça um algoritmo que leia o nome do aluno, e as suas três notas. O algoritmo deverá calcular a média final deste aluno e escrever na tela a média encontrada. A seguir deverá exibir o resultado mediante as seguintes informações.

* Média menor ou igual a 40. Aluno reprovado
* Média maior que 40 e menor que 60. Aluno em prova final
* Média maior ou igual a 60. Aluno aprovado.

Algoritmo: MÉDIA DE NOTA

VAR
Renan: Nome
N1, N2, N3, MEDIA: Real
INÍCIO
Escreva (“Digite o nome do aluno, Renan”);
Leia (“Renan”);
Escreva (“Digite a 1ª nota, N1”);
Leia (“N1”);
Escreva (“Digite a 2ª nota, N2”);
Leia (“N2”);
Escreva (“Digite a 3ª nota, N3”);
Leia (“N3”);
MEDIA ß (N1+N2+N3)/3
Escreva (“A média de suas notas é, MEDIA”);
Se (MEDIA <= 40) ENTÃO ESCREVA (“Aluno reprovado”);
Se (MEDIA > 40) e (MEDIA menor 60) ENTÃO ESCREVA ("Aluno em prova final");
Fim Se;
Se (MEDIA >=60) ENTÃO ESCREVA (“Aluno aprovado”);
Fim Se;
Fim;

Exercicios de Algoritimos (prova)

Questão 3 (Prova) - Faça um algoritmo que leia a nome a idade de três pessoas. Pressuponha-se que as idades não poderão ser iguais. escreva a média de idades destas pessoas, a maior idade, e a menor idade.

Algoritmo: MÉDIA DE IDADE
VAR
Renan,Lalá,João : Nome
M20, B15, F10, MEDIA: Real

INÍCIO
Escreva (“Digite o 1º nome, Renan”);
Leia (“Renan”);
Escreva (“Digite o 2º nome, Neli”);
Leia (“Neli”);
Escreva (“Digite o 3º nome, João”)
Leia (“João”);
Escreva (“Digite a idade de Renan, M20”);
Leia (“M20”);
Escreva (“Digite a idade de Neli, B15”);
Leia (“B15”);
Escreva “(Digite a idade de João, F10”);
Leia (“F10”);
MEDIA <- (M20+B15+F10)/3
Escreva (“A média de idade deles é, MEDIA”)
Se (M20>B15) e (M20>F10) ENTÃO ESCREVA (“O mais velho é, Renan”);;
Se (B15>M20) e (B15>F10) ENTÃO ESCREVA (“O mais velho é, Neli”);
Fim Se;
Se (F10 menor M20) e (F10 menor B15) ENTÃO ESCREVA ("O mais novo é, João");
Fim se;
Fim ;

Exercicios de Algoritimos

Algoritmo com estrutura condicional


Exemplo:
Algoritmo "Estrutura condicional"
VAR
A, B: INTEIRO;
INICIO
Escreva ("Digite o primeiro número:");
Leia (A);
Escreva ("Digite o seungo número:");
Leia (B);
SE (A > B);
Então Escreva ("O primeiro número é maior que o segundo.");
Senão Escreva ("O segundo número é maior que o primeiro.");
FIM SE;
FIMALGORITMO;

Exercicios de Algoritimos

Algoritmo "Apontar o maior entre 3 números"

VAR
A, B, C: REAL
INICIO
Escreva ("Digite o primeiro número:");
Leia (A);
Escreva ("Digite o segundo número:");
Leia (B);
Escreva ("Digite o terceiro número:");
Leia (C);
SE (A > B) e ( A > C);
Então Escreva ("O maior número é o primeiro:", A);
Senão Se (B > A) e (B > C) Escreva ("O maior número é o segundo:", B);
Senão Escreva ("O maior número é o terceiro:", C);
FIM SE;
FIMALGORITMO;

Exercicios de Algoritimos

Algoritmo "Valores acima da média"

VAR
A, B, C, D, total: REAL
M: REAL
INICIO
Escreva ("Digite o primeiro número:);
Leia (A);
Escreva ("Digite o segundo número:);
Leia (B);
Escreva ("Digite o terceiro número:);
Leia (C);
Escreva ("Digite o quarto número:);
Leia (D);
M <-- (A+B+C+D) /4;
SE (A > M);
Então total <-- total + 1
FIM SE
SE (B > M);
Então total <-- total + 1
FIM SE
SE (C > M);
Então total <-- total + 1
FIM SE
SE (D > M)
Então total <-- total + 1
FIM SE
Escreva ("O número de números acima da média são:", total)
FIMALGORITMO;

domingo, 4 de abril de 2010

Exercicios de Algoritimos

Questão 1 - Faça um algoritmo que leia o seu nome, idade, telefone e curso e a seguir escreva estes dados na tela.

Algoritmo:

VAR
Nome, Curso: Texto;
Idade, Telefone: Número
INÍCIO
Escreva (“Digite o nome do aluno; ”NOME”);
Leia (“NOME”);
Escreva (“Digite a idade do aluno; “IDADE”);
Leia (“IDADE”);
Escreva (“Digite o telefone do aluno; “TELEFONE”);
Leia (“TELEFONE”);
Escreva (“Digite o curso do aluno; “CURSO”);
Leia (“CURSO”);
Escreva (“o nome do aluno é; “NOME”);
Escreva (“a idade do aluno é; “IDADE”);
Escreva (“o telefone do aluno é; “TELEFONE”);
Escreva (“o curso do aluno é; “CURSO”);
FIM,

Exercicios de Algoritimos

Questão 2 - Faça um algoritmo que leia dois números e apresente o seu somatório.


Algoritmo: Soma

VAR
A, B, Resultado: Real;
INÍCIO
Escreva (“Digite um nº; “A”);
Leia (“A”);
Escreva (“Digite outro nº; “B”);
Leia (“B”);
Resultado <- A + B
Escreva (“RESULTADO”);
FIM;

sábado, 3 de abril de 2010

Exercicios de Algoritimos

Questão 3 -Faça um algoritmo que leia quatro números e a seguir escreva a sua média.


Algoritmo: “MEDIA”
VAR
A, B,C,D, MEDIA: REAL;
INÍCIO
Escreva (“Digite o 1º nº; “A”);
Leia (“A”);
Escreva (“Digite o 2º nº; “B”);
Leia (“B”);
Escreva (“Digite o 3º nº; “C”);
Leia (“C”);
Escreva (“Digite o 4º nº; “D”);
Leia (“D”);
MÉDIA ß (A + B + C + D) / 4
Escreva (“MEDIA”);
FIM;

Exercicios de Algoritimos

Questão 4 - Faça um algoritmo que leia o número de horas utilizadas para se realizar determinada tarefa a seguir faça a conversão de horas para minutos. Para finalizar escreva na tela o numero de minutos gastos para realizar esta tarefa.

Algoritmo: HORA
VAR
H, MG: REAL;
INÍCIO
Escreva (“Digite a hora; “H”);
Leia (“H”);
MG ß H*60
Escreva (“MG”);
FIM;

Exercicios de Algoritimos

Questão 5 - Uma pessoa foi ao supermercado e comprou cinco produtos. Entre com o nome do produto e seu respectivo preço e no final o total gasto.

Algoritmo "Valor das compras"
VAR
P1, P2, P3, P4, P5, V1, V2, V3, V4, V5, resultado: ALPHANUMERICO
INICIO
Escreva ("Programa de cálculo do valor das compras.");
Escreva ("Digite o nome do produto:");
Leia (P1);
Escreva ("Digite o valor do produto:");
Leia (V1);
Escreva ("Digite o nome do produto:");
Leia (P2);
Escreva ("Digite o valor do produto:");
Leia (V2);
Escreva ("Digite o nome do produto:");
Leia (P3);
Escreva ("Digite o valor do produto:");
Leia (V3);
Escreva ("Digite o nome do produto:");
Leia (P4);
Escreva ("Digite o valor do produto:");
Leia (V4);
Escreva ("Digite o nome do produto:");
Leia (P5);
Escreva ("Digite o valor do produto:");
Leia (V5);
Resultado <-- (V1+V2+V3+V4+V5); Escreva ("O valor total é:", Resultado)
FIM

sexta-feira, 2 de abril de 2010

Exercicios de Algoritimos

Questão 6 - O custo ao consumidor de um carro novo é a soma do custo de fábrica com a percentagem do distribuidor e dos impostos (aplicados ao custo de fábrica). Supondo que a percentagem do distribuidor seja de 28% e os impostos de 45%, escrever um algoritmo que leia o custo de fábrica de um carro e escreva o custo ao consumidor.

Algoritmo: Custo de Fábrica/Consumidor
VAR
Custo C, Custo F, Perct, Impostos; REAl
Início
Escreva (“Digite o custo de fábrica: “CustoC”);
Leia (“Custo F”);
Perct ß (Custo F * 28)/100
Impostos ß (Custo F * 45)/100
Custo C ß Custo F + Perct + impostos
Escreva (“O custo ao consumidor é:” Custo C);
FIM;

Exercicios de Algoritimos

Questão 7 - O curso de nutrição da FAMINAS, solicitou que fizéssemos um programa para calcular IMC (Índice de Massa Corpórea. A formula para este calculo é: o Peso dividido pela altura elevado ao quadrado. O seu algoritmo deverá solicitar o nome do paciente, o seu peso e a sua altura. A seguir deverá calcular o IMC e apresentar o nome do paciente e o IMC.

Algoritimo:Massa copórea
VAR
N, P, A, IMC: Alfanumérico
INÍCIO
Escreva (“Digite o nome do paciente: “N”);
Leia (“N”);
Escreva (“Digite o peso do paciente: “P”);
Leia (“P”);
Escreva (“Digite a altura do paciente: “A”);
Leia (“A”);
IMC ß N = P/A^A
Escreva (“IMC”);
FIM;

Exercicios de Algoritimos

Questão 8 - Faça um algoritmo para informar ao proprietário de um veículo o valor a ser pago para que se possa encher o seu tanque de combustível. Sabe-se que o preço do combustível é R$ 2,54. Você deverá perguntar ao usuário a quantidade de litros que ele deseja que seja colocado em seu veículo. A seguir, informe a ele qual é o valor a ser pago.



Algoritmo:Preço a pagar no posto de gasolina
VAR
QL, PC, VP: REAL;
INÍCIO
Escreva (“Digite a quantidade de litros; “QL”);
Leia (“QL”);
Escreva (“Digite o preço do combustível: “PC”);
Leia (“PC”);
VP ß QL*PC
Escreva (“o valor a ser pago é; “VP”);
FIM;

Exercicios de Algoritimos

Questão 9 - Um grupo de cinquenta alunos chegou a um restaurante para fazer uma confraternização. Foram consumidos os seguinte produtos:
Cerveja: 48
Refrigerante: 20 litros
Bebidas quentes: 5 garrafas
Suco: 5 garrafas
Pizzas: 20 unidades
Porções de batata frita: 15 porções

A partir dos preços apresentados abaixo, faça o calculo do valor a ser pago. Sabendo-se que deverá ser acrescido 10% a ser destinado ao garçom. O algoritmo deverá calcular o valor total da conta e quanto será pago por cada aluno.

Cerveja: R$ 3,50 - Refrigerante: R$ 3,00 - Bebidas quentes: R$ 8,00 - Suco R$ 6,00 - Pizza R$ 30,00 - Porção de batata frita: R$ 8,00

Algoritmo: “RESTAURANTE”
VAR
Cer., Ref., Beb., Suc.,Pizza, Por. Batata frita, VT, Garçom, CA: REAL
Preço Cer, Preço Ref., Preço Beb., Preço Suc. Preço Pizza, Preço Por. Batata Frita: Real;
INÍCIO
Escreva (“Digite o preço da cerveja; “Preço Cer.”);
Leia (“Preço Cer.”);
Escreva (“Digite o preço do refrigerante; “Preço Ref.”)
Leia (“ Preço Ref.);
Escreva (“Digite o preço da bebida; “Preço Bebida");
Leia (“Preço Beb.”);
Escreva (“Digite o preço do suco; “Preço suco”);
Leia (“Preço suco”);
Escreva (“Digite o preço da pizza; “Preço Pizza”);
Leia (“Preço pizza”);
Escreva (“Digite o preço da porção de batata frita; “Preço Por. Batata Frita”);
Leia (“Preço. Por Batata Frita”);
Escreva (“ Digite a quantidade de cerveja; “Cer.”);
Leia (“Cer.”);
Escreva (“Digite a quantidade de refrigerante; “Ref.”)
Leia (“Ref”);
Escreva (“Digite a quantidade de bebidas; “Beb.”);
Leia (“Beb.”);
Escreva (“Digite a quantidade de sucos; “Suc.”);
Leia (“Suc.”);
Escreva (“Digite a quantidade de pizza; “Pizza”);
Leia (“Pizza”);
Escreva (“Digite a quantidade de porção de batata frita; “Por. Batata frita”);
Leia (“Por. Batata frita”);
VT ß (Preço Cer. * CE) + (Preço Ref. * Ref.) + (Preço Beb. * Beb.) +
(Preço Suco * Suc.) + (Preço Pizza * Pizza) + (Preço batata frita * batata frita);
G ß (VT * 10) / 100
VT ß (VT + G) / 50
Escreva (“ O que cada aluno vai pagar é; “CA”);
FIM;

sábado, 13 de março de 2010

A primeira vez ...

Bom galera dizem que primeira vez a gente nunc esquece ...
ah pensaram bobagem neh ? hsuashua to falando d primeira vez
que vou postar no blog hehehe será que vou esquecer ?veremos neh

Mais esse blog me será útil pois será aqui que postarei meus exercícios de algoritmos
ops pra quem não sabe eu so da ELITE faço Sistemas de Informação e algoritmo é uma das disciplinas que compõem a grade curricular

Mais o que não impede que este blog seja um ambiente descontraído e animado
conto com todos vocês e até a próximo post galera

Abraços