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