1) Escreva um algoritmo que leia 50 nomes de alunos e logo após repita sua impressão. algoritmo "Nomes dos Alunos" literal: nomes[50]// declaramos, aqui, o vetor (veja o tamanho entre colchetes) inteiro : contador//declaração da variável contador inicio escreva ("Digite os nomes dos alunos:") para contador de 1 ate 50 passo 1 repita //inicio da primeira estrutura de repetição escreva ("Aluno ",contador,":") leia (nomes[contador]) //os dados são armazenados um a um, no vetor fim para //fim da primeira estrutura de repetição para contador de 1 ate 50 passo 1 repita //inicio da segunda estrutura de repetição escreva (nomes[contador]) //os dados são exibidos fim para //fim da segunda estrutura de repetição fim 2) Imprimir a soma de n números dados. Algoritmo Soma Real: x[100], soma Inteiro: n, i Início Repita Escreva (“Quantos números? “) Leia ( n ) Até ( n > 0 e n <= 100 ) Escreva ( “Digite os “, n , “ números: “ ) Para i de 1 até n repita Leia ( x[i] ) fim para soma ← 0 Para i de 1 até n repita soma ← soma + x[i] fim para Escreva ( “Soma = “, soma ) Fim 3) Imprimir os n primeiros termos da sequencia de Fibonacci: 1 1 2 3 5 8 13 21 . . . Algoritmo Fibonacci Inteiro: f[100], n, i Início Repita Escreva(“Quantos termos?”) Leia ( n ) Até ( n>0 e n <=100 ) f[1] ← 1 f[2] ← 1 Para i de 3 até n repita f[i] ← f[i-2] + f[i-1] fim para Escreva (“Sequência de Fibonacci: “) Para i de 1 até n repita Escreva ( f[i] ) fim para Fim 4) Dados dois vetores com n componentes cada, calcular o produto escalar entre eles. Algoritmo Produto_escalar Real: x[10], y[10], pesc Inteiro: n,i Início Repita Escreva (“Quantas componentes tem cada vetor? “) Leia ( n ) Até ( n>0 e n<=10 ) Escreva( “Digite os números do primeiro vetor: “) Para i de 1 até n repita Leia ( x[i] ) fim para Escreva ( “Digite os números do segundo vetor: “) pesc ← 0 Para i de 1 até n repita Leia ( y[i] ) pesc ← pesc + x[i]*y[i] fim para Escreva (“Produto Escalar = “, pesc) Fim 5) Dados vários números inteiros e positivos imprimi-los separadamente como números pares e números ímpares. Algoritmo Par_ímpar Inteiro: x[30], par[30], impar[30], n, k, p, i Início Repita Escreva (“Quantos números?”) Leia ( n ) Até ( n>0 e n<=30 ) Escreva (“Digite os”, n, “ números inteiros positivos:”) p←0 i←0 Para k de 1 até n repita Repita Leia ( x[k] ) Até ( x[k] > 0 ) Se ( mod(x[k],2)= 0) então p ← p+1 par[p] ← x[k] senão i ← i+1 impar[i] ← x[k] fim se fim para Escreva(“Números pares: “) Para k de 1 até p repita Escreva (par[k]) fim para Para k de 1 até i repita Escreva(ímpar[k]) fim para Fim 6) Pesquisa sequencial ou linear é o método para se encontrar um elemento particular num conjunto não_classificado. Vejamos um algoritmo para ler um número e verificar se o mesmo se encontra num vetor com n elementos. Algoritmo Pesquisa_sequencial Real: x[100], num Inteiro: n, i Lógico: achou Início Repita Escreva(“Quantos números?”) Leia( n ) Até( n>0 e n<=100) Escreva(“Digite todos os números:”) Para i de 1 até n repita Leia( x[i] ) fim para Escreva(“Digite o número que procura:”) Leia (num) achou ← 0 i←1 Enquanto ( i <= n e não achou )repita Se( x[i] = num) então achou ← 1 senão i ← i+1 fim se Fim_enquanto Se( achou ) então Escreva(“Número encontrado. “) Senão Escreva(“Número não encontrado.”) fim se Fim 7) Pesquisa binária é semelhante à pesquisa sequencial quanto ao objetivo, sendo que os elementos do vetor estão previamente classificados segundo algum critério. Vejamos um algoritmo, supondo que os números do vetor estão classificados na ordem crescente. Algoritmo Pesquisa_binária Real: x[100], num Inteiro: n, i, meio, alto, baixo Lógico: achou Início Repita Escreva(“Quantos números?”) Leia( n ) Até ( n>0 e n<=100 ) Escreva(“Digite todos os números:”) Para i de 1 até n repita Leia ( x[i] ) fim para Escreva (“Digite o número que procura: “) Leia( num ) alto ← n baixo ← 1 achou ← 0 Enquanto( baixo<=alto e não achou ) repita meio ← (baixo + alto)/2 Se( num < x[meio] )então alto ← meio – 1 senão Se( num > x[meio] ) então baixo ← meio + 1 senão achou ← 1 fim se fim se Fim_enquanto Se( achou ) então Escreva(“Número encontrado. “) Senão Escreva(“Número não encontrado. “) fim se Fim 8) Algoritmo que recebe 10 números, indica quais são os números ímpares maiores que 1 e menores que 726, qual a maior diferença entre dois números consecutivos informados pelo usuário e quais são múltiplos de 3. algoritmo "Numeros inteiro: numeros, impar, multiplo3[10] inteiro: maiordif[3] x, y: inteiro inicio // Variável para calcular maior diferença entre dois números consecutivos. Serão usados mais tarde maiordif[3] <- 0 para x de 1 ate 10 repita // Instrução para digitar o numero e guardá-lo numa variável escreva("Digite o ",x,"º número: ") leia(numeros[x]) // Verificação se o número é ímpar maior que 2 e menor que 726 se ((numeros[x] mod 2) <> 0) entao se numeros[x] > 1 entao se numeros[x] < 726 entao impar[x] <- numeros[x] fim se fim se fim se // Verificação se o número é múltiplo de 3 se ((numeros[x] mod 3) = 0) entao multiplo3[x] <- numeros[x] fim se // Maior diferença entre dois números consecutivos. y <- x - 1 se ((numeros[x] - numeros[y]) > maiordif[3]) entao maiordif[3] <- numeros[x] - numeros[y] maiordif[1] <- numeros[x] maiordif[2] <- numeros[y] fim se fim para escreva("==== NÚMEROS ÍMPARES MAIOR QUE 2 E MENOR QUE 726 ====") para x de 1 ate 10 repita escreva(x,"º Número ímpar: ",impar[x]) fim para escreva("")2 escreva("==== NÚMEROS MÚLTIPLOS DE 3 ====") para x de 1 ate 10 repita escreva(x,"º Número múltiplo de 3: ",multiplo3[x]) fim para escreva("==== MAIOR DIFERENÇA ENTRE NÚMEROS CONSECUTIVOS ====") escreva("A maior diferença está entre os números: ",maiordif[2]," e",maiordif[1]) escreva("Diferença de: ",maiordif[3]) fim