RESPOSTA DOS EXERCCIOS PROPOSTOS DO MATERIAL DE APOIO
TPICO 7.3.4 PAG 49
TPICO 7.4.4 PAG 56 TPICO 7.5.4 PAG 61 7.3.4 (pg. 49) ----- [1] Algoritmo Vetor_soma Real: a[100], b[100], c[100] Inteiro: i, n Incio Escreva("Digite a quantidade de elementos: ") Leia(n) Escreva("Digite os elementos do vetor 1: ") Para i de 1 at n faa Leia(a[i]) Fim_para Escreva("Digite os elementos do vetor 2: ") Para i de 1 at n faa Leia(b[i]) c[i]<-a[i]+b[i] Fim_para Escreva("Vetor soma: ") Para i de 1 at n faa Escreva(c[i]) Fim_para Fim [2] Algoritmo Cosseno Real: A[50], B[50], cosseno, sa, sb, sab Inteiro: n, i Incio Repita Escreva("Digite a quantidade de coordenadas: ") Leia(n) At((n>0).E.(n<=50)) sa <- 0.0 sb <- 0.0 sab <- 0.0 Escreval("Digite os componentes do vetor A: ") Para i de 1 at n faa Leia(A[i]) Fim_para Escreval("Digite os componentes do vetor B: ") Para i de 1 at n faa Leia(B[i]) Fim_para Para i de 1 at n faa sa <- sa + A[i]*A[i] sb <- sb + B[i]*B[i] sab <- sab + A[i]*B[i] Fim_para cosseno <- sab / ((sa**(0.5))*(sb**(0.5))) Escreva("Cosseno = ", cosseno) Fim [3] Algoritmo Mdia_aritmtica Real: nmero[50], soma, ma Inteiro: i, n Incio Repita Escreva("Digite a quantidade de nmeros: ") Leia(n) At((n>0).E.(n<=50)) soma <- 0 Escreva("Digite os nmero:") Para i de 1 at n faa Leia(numero[i]) soma <- soma + numero[i] Fim_para ma <- soma/n Escreva("Mdia aritmtica: ", ma) Fim [4] Algoritmo Fibonacci Inteiro: fib[50], i, termo, aux Incio Repita Escreva("Qual o termo? ") Leia(termo) At((termo>0).E.(termo<=50)) fib[1] <- 1 fib[2] <- 1 Se((termo=1).OU.(termo=2))ento Escreva("Termo: 1") seno Para i de 3 at termo faa fib[i] <- fib[i-1] + fib[i-2] Fim_para Escreva("Termo: ", fib[i-1]) Fim_se Fim [5] Algoritmo Primos_e_no-primos Inteiro: num, primo[50], no_primo[50] Inteiro: n, i, j, k, w Lgico: x Incio Repita Escreva("Quantos nmeros: ") Leia(n) At((n>0).E.(n<=50)) j <- 0 k <- 0 Para i de 1 at n faa x <- .V. w <- 2 Repita Escreva("Digite o nmero ", i, ": ") Leia(num[i]) At(num[i]>1) Enquanto ((w<num[i]).E.(x)) faa Se(num[i]- num[i]\w*w=0)ento x <- .F. seno w <- w + 1 Fim_se Fim_enquanto Se(x)ento j <- j + 1 primo[j] <- num[i] seno k <- k + 1 no_primo[k] <- num[i] Fim_se Fim_para Escreval("Primos: ") Para i de 1 at j faa Escreva(primo[i]) Fim_para Escreva("") Escreva("No primos: ") Para i de 1 at k faa Escreva(no_primo[i]) Fim_para Fim [6] Algoritmo Vetor_B Real: A[50], B[50] Inteiro: i, j, n Incio Repita Escreva("Quantos nmeros: ") Leia(n) At((n>0).E.(n<=50)) Escreval("Digite os elementos do vetor A: ") Para i de 1 at n faa Leia(A[i]) Fim_para Para i de 1 at n faa B[i] <- 0 Para j de 1 at i faa B[i] <- B[i] + (i + 2 - j)*A[j] Fim_para Fim_para Escreval("Vetor B:") Para i de 1 at n faa Escreva(B[i]) Fim_para Fim [7] Algoritmo Desvio_padro Real: x[50], dp, m, soma Inteiro: n, i Incio Repita Escreva("Quantas amostras: ") Leia(n) At((n>0).E.(n<=50)) soma <- 0 Escreval("Digite as amostras:") Para i de 1 at n faa Leia(x[i]) soma <- soma + x[i] Fim_para m <- soma/n soma <- 0 Para i de 1 at n faa soma <- soma + (x[i]-m)**2 Fim_para dp <- (soma/(n-1))**(0.5) Escreva("O desvio padro : ", dp) Fim [8] Algoritmo Repetido Inteiro: C[50], i, j, n Lgico: x Incio Repita Escreva("Quantos nmeros: ") Leia(n) At((n>0).E.(n<=50)) Escreva("Digite os elementos do conjunto:") Para i de 1 at n faa Leia(C[i]) Fim_para x <- .V. i <- 1 Enquanto((i<=n).E.(x))faa j <- 1 Enquanto((j<=n).E.(x))faa Se((C[i]=C[j]).E.(i<>j))ento x <- .F. Fim_se j <- j + 1 Fim_enquanto i <- i + 1 Fim_enquanto Se(x)ento Escreva("No existe elemento repetido!") seno Escreva("Existe elemento repetido!") Fim_se Fim [9] {Verso 1} Algoritmo No_repetido Real: A[50], B[50] Inteiro: i, j, k, n Lgico: x Incio Repita Escreva("Quantos nmeros: ") Leia(n) At((n>0).E.(n<=50)) Escreval("Digite os elementos do conjunto:") Para i de 1 at n faa Leia(A[i]) Fim_para B[1] <- A[1] k <- 1 Para i de 1 at n faa x <- .V. j <- 1 Enquanto((j<=k).E.(x))faa Se((A[i]=B[j]).E.(x))ento x <- .F. Fim_se j <- j + 1 Fim_enquanto Se(x)ento k <- k + 1 B[k] <- A[i] Fim_se Fim_para Para i de 1 at k faa Escreva(B[i]) Fim_para Fim {Verso 2} Algoritmo No_repetido Literal: M[50] Inteiro: i, j, n Incio Repita Escreva("Quantos nmeros: ") Leia(n) At((n>0).E.(n<=50)) Escreval("Digite os elementos do conjunto:") Para i de 1 at n faa Leia(M[i]) Fim_para Para i de 1 at n faa Para j de 1 at n faa Se((M[i]=M[j]).E.(i<>j))ento M[j] <- "$" Fim_se Fim_para Fim_para Para i de 1 at n faa Se(M[i]<>"$")ento Escreva(M[i]) Fim_se Fim_para Fim [10] Algoritmo binrio Inteiro: decimal[15], num, i, k Incio Repita Escreva("Digite um nmero: ") Leia(num) At(num>0) k <- 1 Enquanto((num>=2).E.(k<=15))faa decimal[k] <- num - num\2*2 num <- num\2 k <- k + 1 Fim_enquanto Escreva(num) Para i de k-1 at 1 passo -1 faa Escreva(decimal[i]) Fim_para Fim 7.4.4 (pg. 56) ----- [1] Algoritmo Matriz_1 Real: A[10,10] Inteiro: i, j, m, n Incio Repita Escreval("Digite a ordem da matriz: ") Leia(m,n) At(((m>0).E.(m<=10)).E.((n>0).E.(n<=10))) Para i de 1 at m faa Para j de 1 at n faa Se(i<j)ento A[i,j] <- 2*i + 7*j - 2 seno Se(i=j)ento A[i,j] <- 3*i*i - 1 seno A[i,j] <- 4*(i^3) - 5*(j^2) + 1 Fim_se Fim_se Fim_para Fim_para Para i de 1 at m faa Para j de 1 at n faa Escreva(A[i,j]) Fim_para Escreva("") Fim_para Fim [2] Algoritmo Matriz_2 Real: A[10,10], soma Inteiro: i, j, m, n Incio Repita Escreva("Digite a ordem da matriz: ") Leia(m,n) At(((m>0).E.(m<=10)).E.((n>0).E.(n<=10)).E.(m=n)) Escreval("Digite os elementos da matriz:") Para i de 1 at m faa Para j de 1 at n faa Leia(A[i,j]) Se(i<j)ento soma <- soma + A[i,j] Fim_se Fim_para Fim_para Escreval("Soma = ", soma) Fim [3] Algoritmo Matriz_3 Real: A[10,10], S Inteiro: i, j, m, n Incio Repita Escreval("Digite a ordem da matriz:") Leia(m,n) At(((m>0).E.(m<=10)).E.((n>0).E.(n<10))) Escreva("Digite os elementos da matriz:") Para i de 1 at m faa Para j de 1 at n faa Leia(A[i,j]) s[j] <- 0 Fim_para Fim_para Para j de 1 at n faa Para i de 1 at m faa S[j] <- S[j] + A[i,j] Fim_para Fim_para Escreva("Soma: ") Para i de 1 at n faa Escreva(S[i]) Fim_para Fim [4] Algoritmo Matriz_4 Real: A[10,10], B[10,10] Inteiro: i, j, m, n Lgico: vf Incio Repita Escreva("Digite a ordem: ") Leia(m,n) At(((m>0).E.(m<=10)).E.((n>0).E.(n<=10)).E.(m=n)) Escreva("Digite os elementos da matriz:") Para i de 1 at m faa Para j de 1 at n faa Leia(A[i,j]) B[i,j] <- A[j,i] Fim_para Fim_para Para i de 1 at m faa Para j de 1 at n faa B[i,j] <- A[j,i] Fim_para Fim_para vf <- .V. i <- 1 Enquanto((i<=m).E.(vf))faa j <- 1 Enquanto((j<=n).E.(vf))faa Se(A[i,j]<>B[i,j])ento vf <- .F. Fim_se j <- j + 1 Fim_enquanto i <- i + 1 Fim_enquanto Se(vf)ento Escreva("A matriz simtrica.") seno Escreval("A matriz no simtrica.") Fim_se Fim [5] Algoritmo Matriz_5 Inteiro: A[10,10], i, j, m, n Incio Repita Escreva("Digite a ordem da matriz:") Leia(m,n) At(((m>0).E.(m<=10)).E.((n>0).E.(n<=10))) Para i de 1 at m faa Para j de 1 at n faa Se(i<j)ento A[i,j] <- n-(j-1) seno Se(i=j)ento A[i,j] <- 1 seno A[i,j] <- i Fim_se Fim_se Fim_para Fim_para Para i de 1 at m faa Para j de 1 at n faa Escreva(A[i,j]) Fim_para Escreva("") Fim_para Fim [6] Algoritmo Matriz_6 Inteiro: A[10,10], i, j, n Incio Repita Escreva("Digite a ordem da matriz quadrada: ") Leia(n) At((n>0).E.(n<=10)) Para i de 1 at n faa Para j de 1 at n faa Se(i<j)ento A[i,j] <- i + j + 1 seno Se(i=j)ento A[i,j] <- i + j + 1 seno A[i,j] <- 2*i + j Fim_se Fim_se Fim_para Fim_para Para i de 1 at n faa Para j de 1 at n faa Escreva(A[i,j]) Fim_para Escreva("") Fim_para Fim 7.5.4 (pg. 61) ----- [1] Algoritmo Minsculo Literal[27]: alfa1, alfa2 Literal[2]: letra Inteiro: i Incio Repita Escreva("Digite uma letra maiscula: ") Leia(letra) At((letra>="A").E.(letra<="Z")) alfa1 <- "abcdefghijklmnopqrstuvwxyz" alfa2 <- "ABCDEFGHIJKLMNOPQRSTUVWXYZ" i <- 1 Enquanto(letra<>alfa2[i:i])faa i <- i + 1 Fim_enquanto letra <- alfa1[i:i] Escreva(letra) Fim [2] Algoritmo M_m Literal[27]: alfa1, alfa2 Literal[80]: cadeia Inteiro: i, j Incio alfa1 <- "abcdefghijklmnopqrstuvwxyz" alfa2 <- "ABCDEFGHIJKLMNOPQRSTUVWXYZ" Escreva("Digite uma cadeia:") Leia(cadeia) i <- 1 Enquanto(cadeia[i:i]<>"")faa Se(cadeia[i:i]>="A").E.(cadeia[i:i]<="Z")ento j <- 1 Enquanto(cadeia[i:i]<>alfa2[j:j])faa j <- j + 1 Fim_enquanto cadeia[i:i] <- alfa1[j:j] Fim_se i <- i + 1 Fim_enquanto Escreva(cadeia) Fim [3] Algoritmo Primeiro_nome Literal[80]: nome Incio Escreva("Digite o nome:") Leia(nome) i <- 1 Enquanto(nome[i:i]<>" ")faa i <- i + 1 Fim_enquanto Escreva(nome[1:i-1]) Fim [4] Algoritmo Iniciais Literal[80]: nome Incio Escreva("Digite o nome:") Leia(nome) Escreva(nome[1:1],". ") i <- 2 Enquanto(nome[i:i]<>"")faa Se(nome[i:i]=" ")ento Escreva(nome[i+1:i+1], ". ") Fim_se i <- i + 1 Fim_enquanto Fim [5] Algoritmo Insero Literal[80]: cadeia Literal[2]: caractere inteiro: tam, posio Incio Escreva("Digite a cadeia:") Leia(cadeia) Escreva("Digite o caractere:") Leia(caractere) Escreva("Digite a posio:") Leia(posio) tam <- 1 Enquanto(cadeia[tam:tam]<>"")faa tam <- tam + 1 Fim_enquanto tam <- tam - 1 Se((posio>0).E.(posio<=tam))ento cadeia[tam:tam] <- caractere Escreva(cadeia) seno Escreva("Posio invlida!") Fim_se Fim [6] Algoritmo Eliminao Literal[80]: cadeia inteiro: tam, posio Incio Escreva("Digite a cadeia:") Leia(cadeia) Escreva("Digite a posio:") Leia(posio) tam <- 1 Enquanto(cadeia[tam:tam]<>"")faa tam <- tam + 1 Fim_enquanto tam <- tam - 1 Se((posio>0).E.(posio<=tam))ento cadeia[tam:tam] <- " " Escreva(cadeia) seno Escreva("Posio invlida!") Fim_se Fim [7] {Existe uma soluo mais elegante.} Algoritmo Consoantes Literal[80]: texto Inteiro: i, vogal, outro, tam Incio Escreva("Digite o texto:") Leia(texto) i <- 1 tam <- 0 vogal<-0 outro <- 0 Enquanto(texto[i:i]<>"")faa Se((texto[i:i]>="a".E.texto[i:i]<="z").OU.(texto[i:i]>="A".E.texto[i:i]<=" Z"))ento Se(texto[i:i]<>"a".OU.texto[i:i]<>"e".OU.texto[i:i]<>"i".OU.texto[i:i]<>"o".OU.t exto[i:i]<>"u".OU.texto[i:i]<>"A".OU.texto[i:i]<>"E".OU.texto[i:i]<>"I".OU.texto [i:i]<>"O".OU.texto[i:i]<>"U")ento vogal <- vogal + 1 Fim_se seno outro <- outro + 1 Fim_se tam <- tam + 1 i <- i + 1 Fim_enquanto Escreva("Nmero de consoantes: ", tam - vogal - outro) Fim [8] {Existe uma soluo mais elegante.} Algoritmo Consoantes Literal[80]: texto inteiro: i, vogal Incio Escreva("Digite o texto:") Leia(texto) i <- 1 vogal<-0 Enquanto(texto[i:i]<>"")faa Se((texto[i:i]>="a".E.texto[i:i]<="z").OU.(texto[i:i]>="A".E.texto[i:i]<=" Z"))ento Se(texto[i:i]<>"a".OU.texto[i:i]<>"e".OU.texto[i:i]<>"i".OU.texto[i:i]<>"o".OU.t exto[i:i]<>"u".OU.texto[i:i]<>"A".OU.texto[i:i]<>"E".OU.texto[i:i]<>"I".OU.texto [i:i]<>"O".OU.texto[i:i]<>"U")ento vogal <- vogal + 1 Fim_se Fim_se i <- i + 1 Fim_enquanto Escreva("Nmero de consoantes: ", vogal) Fim [9] Algoritmo Telegrama Literal[100]: mensagem Inteiro: i Real: custo Incio Escreva("Digite a mensagem:") Leia(mensagem) i <- 1 custo <- 0 Enquanto(mensagem[i:i]<>"")faa Se(mensagem[i:i]<>" ")ento Se(i<=30)ento custo <- custo + 0.09 seno custo <- custo + 0.06 Fim_se Fim_se Fim_enquanto Escreva("Custo: ", custo) Fim [10] Algoritmo Binrio_decimal Literal[15]: binrio Inteiro: i, tam, nmero Incio Escreva("Digite um nmero binrio:") Leia(binrio) tam <- 1 Enquanto(binrio[tam:tam]<>"")faa tam <- tam + 1 Fim_enquanto tam <- tam -1 nmero <- 0 Para i de 1 at tam faa Se(binrio[i:i]="1") nmero <- nmero + 2**(tam-i) Fim_se Fim_para Escreva("Nmero decimal: ", nmero) Fim