Baixe o app para aproveitar ainda mais
Prévia do material em texto
Roteiro de Aula Prática – Atividade Prática Algoritmos e Estrutura de Dados Luan Lorenzo 1. INTRODUÇÃO 1.1. Esta é a atividade de Roteiro de Aula Prática, onde será necessário o uso do software VisualG: 1.1.1. Este roteiro está dividido em 4 (quatro) atividades práticas. 1.2. Este documento foi elaborado por Luan Lorenzo 2. ATIVIDADE PROPOSTA 1 Criar um algoritmo para verificar se um determinado número e primo ou não. O exercício deve conter estrutura contadora, estrutura de repetição e valor inicialização. 3. TAREFA (RESOLUÇÃO DO CASO) Algoritmo “Atividade1” Var num, i, cont: Inteiro Inicio Escreva("Digite um número inteiro positivo maior que 1: ") Leia(num) // Inicializa o contador de divisores cont <- 0 // Verifica se o número é maior que 1 Se num > 1 Entao // Loop para verificar os divisores do número Para i <- 2 ate num-1 Faca Se num % i = 0 Entao cont <- cont + 1 FimSe FimPara // Se o contador de divisores for igual a zero, o número é primo Se cont = 0 Entao Escreva(num, " é um número primo.") Senao Escreva(num, " não é um número primo.") FimSe Senao Escreva("O número precisa ser maior que 1 para ser verificado.") FimSe FimAlgoritmo 4. ATIVIDADE PROPOSTA 2 Crie um algoritmo com o fatorial de um número inteiro e positivo “n”, representado por “n!” é obtido a partir da multiplicação de todos os seus antecessores até o número um, cuja expressão genérica é n! = n 5. TAREFA (RESOLUÇÃO DO CASO) Algoritmo "Atividade2" Var n, fatorial, i: Inteiro continuar: Caractere Inicio // Loop principal para calcular fatoriais Enquanto verdadeiro Faca Escreva("Digite um número inteiro positivo: ") Leia(n) // Verifica se o número é positivo Se n >= 0 Entao fatorial <- 1 // Calcula o fatorial do número Para i <- 1 ate n Faca fatorial <- fatorial * i FimPara Escreva("O fatorial de ", n, " é ", fatorial) Senao Escreva("O número precisa ser inteiro positivo.") FimSe // Pergunta ao usuário se deseja continuar Escreva("Deseja calcular o fatorial de outro número? (S/N): ") Leia(continuar) Entao continuar = 'N' ou continuar = 'n' Entao // Sai do loop caso o usuário não queira mais continuar Pare FimSe FimEnquanto FimAlgoritmo 6. ATIVIDADE PROPOSTA 3 Cadastro de atores, está iniciando um novo seriado nas organizações Cogna, você como está alocado na área de TI, ficou responsável por realizar o desenvolvimento de um software, que faça a separação dos atores cadastrados. O critério adotado para esta próxima série é identificar entre os cadastrados, homens com mais de 21 anos com cabelos castanhos e mulheres entre 30 e 35 com cabelos loiros, para os papéis desta série. Como ficaria a solução deste problema na forma de algoritmo? 7. TAREFA (RESOLUÇÃO DO CASO) Algoritmo "CadastroAtores" Var nome: Caractere genero: Caractere idade: Inteiro corCabelo: Caractere continuar: Caractere Inicio // Loop principal para cadastrar e selecionar atores Repita Escreva("Digite o nome do ator/atriz: ") Leia(nome) Escreva("Digite o gênero (M/F): ") Leia(genero) Escreva("Digite a idade: ") Leia(idade) Escreva("Digite a cor do cabelo (castanho ou loiro): ") Leia(corCabelo) // Verifica os critérios para seleção de atores Se (genero = 'M' ou genero = 'm') e idade > 21 e (corCabelo = "castanho" ou corCabelo = "Castanho") Entao homensCabeloCastanhoMais21.Adicionar(nome) FimSe Se (genero = 'F' ou genero = 'f') e (idade >= 30 e idade <= 35) e (corCabelo = "loiro" ou corCabelo = "Loiro") Entao mulheresCabeloLoiroEntre30e35.Adicionar(nome) FimSe Escreva("Deseja cadastrar outro ator/atriz? (S/N): ") Leia(continuar) LimparTela() // Continua o loop enquanto o usuário digitar 'S' ou 's' Ate continuar <> 'N' E continuar <> 'n' LimparTela() // Exibe os atores selecionados para os papéis da série Escreva("Atores homens com cabelos castanhos e mais de 21 anos:") Para cada atorEm homensCabeloCastanhoMais21 Faca Escreva(ator) FimPara Escreva("Atrizes com cabelos loiros entre 30 e 35 anos:") Para cada atrizEm mulheresCabeloLoiroEntre30e35 Faca Escreva(atriz) FimPara // Encerra o algoritmo Escreva("Algoritmo encerrado.") FimAlgoritmo Funcao LimparTela() Inicio // Implemente aqui o código para limpar a tela, caso seja possível na linguagem escolhida. // Esta função é utilizada para limpar a tela antes de exibir o resultado. FimFuncao 8. ATIVIDADE PROPOSTA 4 Criar um algoritmo que registre o resultado de uma partida de futebol entre o time A e o time B, e de acordo com o resultado, exiba diferentes mensagens de notificação. Sendo, diferença de gols 0, será empate, até 3, partida normal, 4 a 7, goleada, fora dessas margens, a mensagem será de erro com mensagem de orientação. 9. TAREFA (RESOLUÇÃO DO CASO) Algoritmo "ResultadoPartidaFutebol" Var golsTimeA, golsTimeB, diferencaGols: Inteiro Inicio // Leitura dos gols marcados por cada time Escreva("Digite o número de gols marcados pelo time A: ") Leia(golsTimeA) Escreva("Digite o número de gols marcados pelo time B: ") Leia(golsTimeB) // Calcula a diferença de gols diferencaGols <- Abs(golsTimeA - golsTimeB) // Verifica o resultado da partida Se diferencaGols = 0 Entao Escreva("Resultado: Empate.") Senao Se diferencaGols <= 3 Entao Escreva("Resultado: Partida normal.") Senao FimSe diferencaGols <= 7 Entao Escreva("Resultado: Goleada.") Senao Escreva("Resultado: Erro - Fora da margem esperada.") Escreva("Por favor, verifique os valores digitados.") FimSe FimAlgoritmo 10. CONCLUSÃO 4.1 A presente atividade proporciona uma assimilação excelente dos conceitos estudados, uma vez que foram aplicados de forma prática, software VisualG foi de fácil uso e fácil entendimento para realizar a atividade proposta. Foi possível criar todos os algoritmos exatamente como descrito no roteiro da atividade. Roteiro de Aula Prática Preparado por: Luan Lorenzo Página 3 de 10
Compartilhar