Anda di halaman 1dari 15

NOME:ADO BRAGA BORGES CURSO:INFORMATICA DISCIPLIANA: ALGORITMOS

DATA:26/07/2011 MODALIDADE:SUBSEQUENTE

Lista de Exerccios Valor 4,0 Faa um Programa que pea para entrar com um ano com 4 dgitos e determine se o mesmo ou no bissexto. program bissextos; usescrt; {1. Faa um Programa que pea para entrar com um ano com 4 dgitos e determine se o mesmo ou no bissexto.} var ano :integer; begin write('Digite o ano: '); read(ano); if ((ano mod 400)=0) and ((ano mod 100)=0)then begin writeln('Ano BISSEXTO'); end else writeln('Ano NAO BISSEXTO'); ; readkey(); end. Faa um Programa que verifique se uma letra digitada vogal ou consoante. program vogais; usescrt; varletra:char; begin write('Digite uma letra: '); read(letra); caseletra of 'a' : writeln('Voce digitou a vogal: ',upcase(letra)); 'e' :writeln('Voce digitou a vogal: ',upcase(letra)); 'i' :writeln('Voce digitou a vogal: ',upcase(letra)); 'o' :writeln('Voce digitou a vogal: ',upcase(letra)); 'u' :writeln('Voce digitou a vogal: ',upcase(letra)); else write('Voce digitou a consoante: ',upcase(letra)); end ;

readkey(); end. Escreva um programa para ler uma temperatura em graus Fahrenheit, calcular e escrever o valor correspondente em graus Celsius. program Fah_Celsius; usescrt; varfahre,celsius: real; begin write('Digite o valor em Fahreheit '); read(fahre); celsius:=((fahre-32)/1.8); writeln(fahre:3:2, ' emGraus Celsius vale: ', celsius:3:2); readkey(); end. {Os nmeros aps as variaveis (fahre:3:2, celsius:3:2) formata a sada dos nmeros na tela em xxx.xx} Escreva um programa para ler 2 valores inteiros e uma das seguintes operaes a serem executadas (codificada da seguinte forma: 1.Adio, 2.Subtrao, 3.Diviso, 4. Multiplicao). Calcular e escrever o resultado dessa operao sobre os dois valores lidos. Observao: Considere que s sero lidos os valores 1, 2, 3 ou 4. Program operacoes; usescrt; var n1,n2,op :integer; var res :real; vartc :char; begin write('Primeiro Num: '); read(n1); write('Segundo Num: '); read(n2); write('Escolha: 1: Somar|2: Diminuir|3: Multiplicar|4: Dividir| ');

read(op); case op of 1: res:=(n1+n2); 2: res:=(n1-n2); 3: res:=(n1*n2); 4: res:=(n1/n2); end; writeln(); writeln(); writeln('RESULTADO DA OPERACAO: ',res:3:2); writeln(); writeln(); readkey(); end. Faa um programa que l as duas notas parciais obtidas por um aluno numa disciplina ao longo de um semestre, e calcule a sua mdia. A atribuio deconceitos obedece tabela abaixo: 1. 2. 3. 4. 5. 6. Mdia de AproveitamentoConceito Entre 9.0 e 10.0 A Entre 7.5 e 9.0 B Entre 6.0 e 7.5 C Entre 4.0 e 6.0 D Entre 4.0 e zero E

program classificacao; usescrt; var nota1,nota2,media,conceito :real; vartc :char; begin tc:=readkey; write('Primeira Nota: '); read(nota1); write('Segunda Nota: '); read(nota2); media:=((nota1+nota2)/2); writeln('Media apurada: ',media:8:2);

if (media >0) and (media<=4) then begin writeln('Conceito: E'); end ; if (media >4) and (media<=6) then begin writeln('Conceito: D'); end ; if (media >6) and (media<=7.5) then begin writeln('Conceito: C'); end ; if (media >7.5) and (media<=9) then begin writeln('Conceito: B'); end ; if (media >9) and (media<=10) then begin writeln('Conceito: A'); end ; readkey(); end. Faa um Programa que pea uma data no formato dd/mm/aaaa e determine se a mesma uma data vlida. program conferedata; uses crt; var dias,mes,ano :integer; var rsp:char; begin dias:=1 ; ano:=1900; mes:=1 ; rsp:='s'; while (rsp <>'s') do write('Digite o dia: ');

read(dias); write('Digite o mes: '); read(mes); write('Digite o ano: '); readln(ano); if (dias>31) and (mes> 12) and (ano> 9999) and (ano< 0) then begin writeln(dias,'/',mes,'/',ano, ' Data invalida'); end else writeln(dias,'/',mes,'/',ano, ' Data VALIDA'); write('Outra Data? '); read(rsp); end. Faa um programa que leia um nome de usurio e a sua senha e no aceite a senha igual ao nome do usurio, mostrando uma mensagem de erro e voltando a pedir as informaes. program nome_senha; uses crt; var nome,senha:string; begin write('Seu nome: '); readln(nome); write('Sua Senha: '); readln(senha); if (nome<> senha) then begin writeln('Cadastro Realizado!'); end else repeat writeln('Nome e Senha tem que ser diferente'); write('Seu nome: '); readln(nome); write('Sua Senha: ');

readln(senha); until (nome <> senha); writeln('Cadastro Realizado!'); ; readln; end. Faa um programa que receba dois nmeros inteiros e gere os nmeros inteiros que esto no intervalo compreendido por eles. Program completando ; var i,num1,num2:integer;

Begin write('Digite 1 numero '); read(num1); write('Digite outro numero '); read(num2); for i := (num1+1) to (num2-1) do writeln(i); ; End. Faa um programa que leia 10 nmeros inteiros positivos, calcule e imprima os que so nmeros perfeitos. Sendo que, um nmero perfeito aquele cuja soma de seus divisores, exceto ele prprio, igual ao nmero. Exemplo: 6 perfeito porque 1 + 2 + 3 = 6 program numerosPerfeitos; uses crt; var ate, x, soma, i: integer; begin clrscr; x := 0; writeln('Numeros perfeitos abaixo de'); Readln(ate); repeat x := x + 1; soma := 0; for i := 1 to x - 1 do

begin if x mod i = 0 then soma := soma + i; end; if soma = x then begin writeln(x); end; until (x > ate); writeln('Pressione qualquer tecla para finalizar'); readkey; end. Copiado da internet: Nmeros Perfeitos Ler um vetor X de 10 elementos inteiros e positivos. Criar um vetor Y da seguinte forma: os elementos de Y com ndice par recebero os respectivos elementos de X divididos por 2; os elementos com ndice mpar recebero os respectivos elementos de X multiplicados por 3. Escrever o vetor X e o vetor Y. Program vetorX_VetorY ; var vX:array[1..10] of integer; vY:array[1..10] of real; i:integer; Begin for i := 1 to 10 do begin readln(vX[i]); if ((i mod 2)=0) then vY[i]:=vX[i]/2 else vY[i]:=vX[i]*3 ; writeln('Vetor X: ',i, 'recebe valor: ',vX[i]); writeln('Vetor Y: ',i, 'recebe valor: ',vY[i]:5:2); end;

End. Ler um vetor W de 10 elementos, depois ler um valor V. Contar e escrever quantas vezes o valor V ocorre no vetor W e escrever tambm em que

posies (ndices) do vetor W o valor V aparece. Caso o valor V no ocorra nenhuma vez no vetor W, escrever uma mensagem informando isto. Program vetorW_vetorV ; uses crt; var vW:array[1..10] of integer; vV:array[1..10] of integer; iguaisem,contadora,i:integer; Begin contadora:=0; for i := 1 to 10 do begin write('digite numeros vetor W: '); read(vW[i]); write('digite numeros vetor V: '); read(vV[i]); if vW[i]=vV[i] then begin contadora:=contadora+1; writeln('QTD de iguas em vW e vV sao: ',contadora); writeln('Valores Iguais: ',vW[i], ' = ',vV[i]); end else writeln('Valores DIFERENTES: ',vW[i], ' <> ',vV[i]); end; if (contadora=0) then begin writeln('NAO OCORRERAM IGUAIDADES') end else writeln('Total de Iguais :', contadora); End. Ler um vetor que contenha as notas de uma turma de 10 alunos. Calcular a mdia da turma e contar quantos alunos obtiveram nota acima desta mdia calculada. Escrever a mdia da turma e o resultado da contagem. Program mediade10 ; var v10:array[1..10] of integer; MediaTurma:real; MediaAcima,SomaNota,i:integer; Begin

SomaNota:=0; MediaAcima:=0; for i:= 1 to 10 do begin readln(v10[i]); SomaNota:= (SomaNota+v10[i]); MediaTurma:=(SomaNota/i); if (v10[i]>=7) then begin MediaAcima:=(MediaAcima+1); end end; writeln('Nota da Turma ',SomaNota); writeln('Media da Turma ',MediaTurma:8:2); writeln('QTD de alunos acima Media da Turma ',MediaAcima); End. Ler dois vetores: R de 5 elementos e S de 10 elementos. Gerar um vetor X de 15 elementos cujas primeiras posies contenham os elementos de R e as 10 ltimas posies, os elementos de S. Escrever o vetor X. Program juntar_vetores; uses crt; var r:array[1..5] of integer; s:array[1..10] of integer; x:array[1..15] of integer; i:integer; Begin writeln('Vetor R: de 1 a 05'); for i:= 1 to 5 do begin readln(r[i]); x[i]:=r[i]; end ; writeln('Vetor S: de 1 a 10'); for i:= 1 to 10 do begin readln(s[i]); x[i+5]:=s[i]; end

; writeln('Vetor X: de 1 a 15'); for i:= 1 to 15 do begin writeln(x[i]); end ; End.

Ler uma matriz G 3x3 e criar 2 vetores, SL e SC, de 3 elementos cada, contendo respectivamente as somas das linhas e das colunas de G. Escrever os vetores criados. Program mG_vetores var mG:array[1..3,1..3] of integer; vSL:array[1..3] of integer; vSC:array[1..3] of integer; soma,i,j:integer; Begin writeln('MatrizG 1x3 e 1x3: '); for i:= 1 to 3 do for j:= 1 to 3 do begin write('Entre com o valor mG[',i, ',',j, '] : '); readln(mG[i,j]); vSL[i]:=(mG[i,1]+mG[i,2]+mG[i,3]); vSC[i]:=(mG[1,j]+mG[2,j]+mG[3,j]); end ; ; writeln('Matriz 1x3 e 1x3: '); for i:= 1 to 3 do begin writeln(mG[i,1],' - ', mG[i,2], ' - ' ,mG[i,2]); end ; writeln('-----------------------'); writeln('Soma Linha: '); writeln('-----------------------'); for i:= 1 to 3 do

begin writeln('vSL= ', vSL[i],' - '); end ; writeln('-----------------------'); writeln('Soma Coluna: '); writeln('-----------------------'); for i:= 1 to 3 do begin writeln('vSC= ', vSC[i],' - '); end ; End. Ler uma matriz4x4 de nmeros inteiros, multiplicar os elementos da diagonal principal por um nmero inteiro tambm lido e escrever a matriz resultante. Program matriz4x4 ; uses crt; var m4x4:array[1..4,1..4] of integer; numero,i,j:integer; Begin for i:= 1 to 4 do for j:= 1 to 4 do begin write('Digite os elementos [',i, ',',j,']: '); readln(m4x4[i,j]); end ; ; write('Digite o multiplicador: '); readln(numero); for i := 1 to 4 do for j := 1 to 4 do if (m4x4[i,j] = m4x4[j,i]) then m4x4[i,j]:=(numero*(m4x4[i,j]));

for i:= 1 to 4 do for j:= 1 to 4 do if (m4x4[i,j] = m4x4[j,i]) then

writeln('Matriz Multiplicadas: [ ',i,'-',j,']: ', m4x4[i,j],' '); End. Ler 9 nmeros inteiros para preencher uma matriz D 3x3, ou seja, com 3 linhas e 3 colunas (considere que no sero informados valores duplicados). A seguir, ler um nmero inteiro X e escrever uma mensagem indicando se o valor de X existe ou no na matriz D. Program verificar_valor_matriz ; uses crt; var m3x3:array[1..3,1..3] of integer; numero,i,j:integer; Begin for i:= 1 to 3 do for j:= 1 to 3 do begin write('Digite os elementos [',i, ',',j,']: '); readln(m3x3[i,j]); end ; ; for i:= 1 to 3 do for j:= 1 to 3 do begin writeln('Valores da Matriz [',i,'-',j,']: ',m3x3[i,j],' '); end ; ; write('Digite um numero: '); readln(numero); for i:= 1 to 3 do for j:= 1 to 3 do if (numero = m3x3[i,j]) then begin writeln('Este numero existe em [',i,'-',j,']: ',m3x3[i,j],' '); end else writeln('Este numero nao existe na Matriz [',i,'-',j,']: ',m3x3[i,j],' '); ; ; End.

Leia 20 nmeros, deposite-os em um vetor e mostre os nmeros pares lidos, e aps, os nmeros que esto nas posies pares. Program mostrar_posicao ; uses crt; var v20:array[1..10] of integer; i:integer; Begin for i:= 1 to 10 do begin write('Digite 20 numeros! [',i,' ]: '); readln(v20[i]); end ; writeln('.................................. '); writeln('Os nmeros pares digitados: '); writeln('.................................. '); for i:= 1 to 10 do begin if (( v20[i] mod 2)=0) then BEGIN writeln('Posicao [ ',i,' ]: ',v20[i]); END end ; writeln('.................................. '); writeln('Os nmeros nas posicoes pares sao: '); writeln('.................................. '); for i:= 1 to 10 do begin if ((i mod 2)=0) then begin writeln('Posicao [ ',i,' ]: ',v20[i]); end ; end ; End. Ler uma matriz SOMA 4x4, calcular e escrever as seguintes somas: a. da linha 3

b. da coluna 2 c. de todos os elementos da matriz Program matriz4x4 ; uses crt; var mat4x4:array[1..4,1..4] of integer; total,linha, coluna,i,j:integer; Begin writeln('............................'); writeln('Digitie os numeros da matriz'); writeln('............................'); for i:= 1 to 4 do for j:= 1 to 4 do begin write('Digite os elementos [',i, ',',j,']: '); readln(mat4x4[i,j]); end ; ; writeln('............................'); writeln(' MATRIZ DIGITADA E ORDENADA '); writeln('............................'); for i:= 1 to 4 do begin writeln; writeln; for j:= 1 to 4 do begin write(mat4x4[i][j]:4); end end ; ; writeln; writeln; writeln('............................'); writeln(' SOMA da linha writeln('............................'); writeln; writeln;

');

write('Qual linha quer somar? '); readln(linha); total:=0; writeln; for i:= linha to linha do for j:= 1 to 4 do total:=total+(mat4x4[linha,j] ); writeln; writeln; writeln('Soma da linha: ', linha, ' = ', total); writeln('............................'); writeln(' SOMA da Coluna writeln('............................'); writeln; writeln; write('Qual COLUNA quer somar? '); readln(coluna); total:=0; for i:= 1 to 4 do for j:= coluna to coluna do total:=total+(mat4x4[i,coluna] ); writeln; writeln; write('Soma da coluna: ', coluna, ' = ', total); End.

');