Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
ultima lista de exercicios 3.pas {Escreva um programa em Pascal para cálculo de dígito verificador (DV) de agência e de conta corrente de um sistema bancário. O usuário irá informar o número da agência e da conta corrente e o programa deve calcular automaticamente o DV de cada um, conforme os critérios abaixo: a) Cada algarismo da agência e conta é multiplicado por um peso, começando de 2, da direita para a esquerda. Para cada algarismo, o peso é acrescido de 1. Em seguida, soma-se os produtos obtidos; b) Calcule o resto da divisão desta soma por 11; c) Subtraia de 11 o resto obtido; d) Se o valor obtido for 10 ou 11, o dígito verificador será 0 (zero) e nos outros casos, o dígito verificador é o próprio valor encontrado; Obs: Considere que a agência sempre terá 4 dígitos e a conta 7 dígitos.} Program Pzim ; var numagencia,numconta:string; x,i,erro,cont:integer; soma,soma1,resto,resto1,subdoresto,subdoresto1:integer; Begin writeln('informe o numero da agencia'); readln(numagencia); writeln('informe o numero da conta'); readln(numconta); cont:=2; soma:=0; soma:=0; for i:= length(numagencia) downto 1 do begin Val(numagencia[i], x, erro); if erro = 0 then soma:= soma + x * cont; cont:= cont + 1; end; cont:=2; for i:= length(numconta) downto 1 do begin Val(numconta[i], x, erro); if erro = 0 then soma1:= soma1 + x * cont; cont:= cont + 1; end; resto := soma mod 11 ; subdoresto:= 11 - resto; resto1:=soma1 mod 11; subdoresto1:=11 - resto1; if ((subdoresto = 10) or (subdoresto = 11)) then writeln('seu dv da agencia será 0') else if ((subdoresto1 = 10) or (subdoresto1 = 11)) then writeln('seu dv da conta será 0') else writeln('seu dv da agencia será'' ',subdoresto); writeln('seu dv da conta será'' ',subdoresto1); readkey; End. ultima lista de exercicios agenda telefonica.pas PROGRAM Agenda_Telefonica; USES CRT; VAR i, j, TotalContatos,x, menu : integer; ultimoCadastrado:integer; ProcuraContato: integer; nomes : array[1..50] of string; Agenda: ARRAY[1..50] OF RECORD nome, sexo , endereco: string; telefone : string[9]; data: integer; codigo:integer; ativo: boolean; END; BEGIN i:= 1; REPEAT writeln('*****************************************'); writeln(' Agenda telefonica '); writeln('*****************************************'); writeln; writeln('1 - Cadastrar Contato.'); writeln('2 - Pesquisar Contato.'); writeln('3 - Exibir Contatos.'); writeln('4 - Sair.'); writeln; write('Opcao desejada: '); readln(menu); writeln; writeln('*****************************************'); CASE menu OF // Caso 1 1: BEGIN x := ultimoCadastrado + 1; writeln('Novo Contato'); writeln; Agenda[x].codigo := x; writeln('codigo: ',Agenda[x].codigo); write('Nome: '); readln(Agenda[i].nome); write('Telefone: '); readln(Agenda[i].telefone); write('endereco: '); readln(Agenda[i].endereco); write('sexo: '); readln(Agenda[i].sexo); write('Data de nascimento: '); readln(Agenda[i].data); Agenda[i].ativo := true; if Agenda[i].ativo = true then writeln('contato ativo'); writeln; writeln('Contato salvo... Pressione Enter.'); readln; clrscr; ultimoCadastrado := x; i:= i + 1; END; // Caso 2 2: BEGIN write('Informe o codigo: '); readln(ProcuraContato); writeln('************************************'); IF (ProcuraContato <> 0) THEN BEGIN FOR j := 1 TO 50 DO BEGIN IF (ProcuraContato = Agenda[j].codigo) THEN BEGIN writeln('Codigo : ', Agenda[j].codigo); writeln('Nome : ', Agenda[j].nome); writeln('Telefone : ', Agenda[j].telefone); writeln('Endereco : ', Agenda[j].endereco); writeln('sexo : ', Agenda[j].sexo); writeln('Data : ', Agenda[j].data); writeln('Ativo'); writeln('***********************************'); END; END; IF (ProcuraContato <> Agenda[j].codigo) THEN writeln('Contato nao encontrado'); END; readln; clrscr; END; // Caso 3 3: BEGIN TotalContatos := 0; FOR j := 1 TO 50 DO BEGIN IF (Agenda[j].nome <> '') THEN BEGIN writeln('Codigo : ', Agenda[j].codigo); writeln('Nome : ', Agenda[j].nome); writeln('Telefone : ', Agenda[j].telefone); writeln('Endereco : ', Agenda[j].endereco); writeln('sexo : ', Agenda[j].sexo); writeln('Data : ', Agenda[j].data); writeln('-----------------------------------------'); TotalContatos := TotalContatos + 1; END; END; writeln('Total de Contatos: ', TotalContatos); writeln('Capacidade disponivel: ', 50 - TotalContatos); readln; clrscr; END; END; UNTIL ( menu = 4 ); readln; END. ultima lista de exercicios converter numero binario.pas //Escreva um programa em Pascal que solicite ao usuário um número binário de 8 //bits e em seguida converta-o para o número decimal correspondente e exiba na tela. Program Pzim ; var numbi:string; cont,x,erro,i:integer; soma:real; Begin write('digite 8 numeros binarios:'); readln(numbi); cont := 0; for i:=Length(numbi) downto 1 do begin Val(numbi[i], x, erro); if erro = 0 then soma := soma + x * (exp(cont*ln(2))) ; cont:=cont + 1; end; writeln('o numero decimal é:',soma:5:0); readkey; end.
Compartilhar