Computação
Pesquisas Acadêmicas: Computação. Pesquise 862.000+ trabalhos acadêmicosPor: Shaitan • 10/3/2015 • 1.724 Palavras (7 Páginas) • 150 Visualizações
1 – Faça um programa que leia três números do teclado, X, Y e Z, que representam lados de um triângulo. Classifique o triângulo formado por X, Y e Z como equilátero, isósceles ou escaleno.
R:
program quest_01_AD1(input{teclado}, output{vídeo});
procedure ler_triangulo(Var X,Y,Z{s}: integer); begin write(output, 'Informe o primeiro lado: '); readln(input, X); write(output, 'Informe o segundo lado: '); readln(input, Y); write(output, 'Informe o terceiro lado: '); readln(input, Z); end;
procedure classificar_triangulo(X,Y,Z{e}: integer); begin if X=Y then if Y=Z then writeln(output, 'O triângulo é equilátero.') else writeln(output, 'O triângulo é isósceles.') else if (X=Z) or (Y=Z) then writeln(output, 'O triângulo é isósceles.') else writeln(output, 'O triângulo é escaleno.') end;
var X,Y,Z: integer;
begin ler_triangulo(X,Y,Z); classificar_triangulo(X,Y,Z) end.
2 – Considere a equação de segundo grau: Ax² + Bx + C = 0. Faça um programa que leia os três coeficientes, A, B e C, e calcule e escreva no vídeo as raízes reais da equação. Caso possua raízes imaginárias, informe no vídeo, com a mensagem ‘IMAGINÁRIAS’.
R:
program AD1_Q2(Input{Teclado}, Output{Video}); var A,B,C,Delta: real; begin repeat write(output, 'Diga os coeficientes da equacao de segundo grau: '); readln(input, A, B, C); until A<>0; {sera uma equacao de segundo grau se o coeficiente A nao for nulo} Delta:= B*B - 4*A*C; if Delta<0 then writeln(output, 'IMAGINARIAS') else writeln(output, 'Raizes: ',(-B-sqrt(Delta))/(2*A):4:1, ' e ', (-B+sqrt(Delta))/(2*A):4:1); readln(input) end.
3 – Faça um programa que leia, repetidamente, números inteiros do teclado, até que o número zero seja digitado. Todos os números lidos devem ser somados e o resultado final deve ser apresentado no vídeo. Veja os exemplos a seguir:
Suponha que todo número lido tenha até quatro dígitos e a soma total nunca supere a máxima representação do inteiro.
R:
program AD1_Q3(Input{Teclado}, Output{Video}); var Numero, Soma: integer; begin Soma:= 0; repeat readln(input, Numero); Soma:= Soma+Numero; until Numero=0; writeln(output, 'A soma foi: ', Soma); readln(input) end.
142 <enter> 23 <enter> 1331 <enter> 0 <enter> A soma foi: 1496
11 <enter> 99 <enter> 0 <enter> A soma foi: 110
4 – Faça um procedimento que receba de entrada uma cadeia de caracteres (string) e (no mesmo parâmetro) retorne seu conteúdo compactado. A compactação é realizada da seguinte forma. Caso algum caracter seja repetido em seqüência, apenas a primeira ocorrência deve aparecer seguida pelo número de ocorrências. Caso não haja repetição em seqüência, o caracter é mantido. Veja exemplos.
R:
program AD1_Q4(Input{Teclado}, Output{Video}); procedure compacta(var cad{e/s}: string); var total: string; indice, conta: integer; begin if cad <> '' then begin indice:= 1; while indice<length(cad) do begin conta:= 1; while (indice<length(cad)) and (cad[indice]=cad[indice+1]) do begin delete(cad, indice+1, 1); conta:= conta+1; end; if conta>1 then begin str(conta, total); insert(total, cad, indice+1); end; indice:= indice+1 ; end end end; var cadeia: string; begin write(output, 'Entrada: '); readln(input, cadeia); compacta(cadeia); writeln(output, 'Saida: ', cadeia); readln(input) end.
Entrada: abacaxi <enter> Saída: abacaxi
Entrada: aaabbbbbacaxxxxi <enter> Saída: a3b5acax4i
5 – Faça um programa para encontrar os m maiores elementos de um vetor V de N elementos (Const N = 50). Considere que todos os N elementos de V são distintos e que m < N. O valor m e os N elementos do vetor devem ser lidos do teclado. Os m maiores valores devem ser apresentados no vídeo.
...