Baixe o app para aproveitar ainda mais
Prévia do material em texto
ATIVIDADE CONTEXTUALIZADA: LOGICA DE PROGRAMAÇÃO ALGORITIMICA Nome: Denilson Ribeiro de França Matrícula: 01336267 Curso: Analise e desenvolvimento de sistemas O presente trabalho tem o objetivo de explicar o funcionamento de um algoritmo simples para uma resolução de um problema do cotidiano; levando em consideração como este algoritmo criado afeta na mudança do problema escolhido. O problema escolhido foi o boletim escolar. Onde ainda hoje é usado em diversas escolas de formação básica. Foi usado para a construção do algoritmo o software Visualg. “A história do aplicativo desenvolvido por Nicolodi começa em 1996, quando o professor Claudio Morgado de Souza criou o Visualg (Visual Algoritmo) para um curso de graduação. O Visualg podia ser utilizado para interpretar os algoritmos mostrando também as variáveis e utilizava o método Portugol (um pseudocódigo escrito em português), desenvolvido por Nicolodi. Ambos os professores eram programadores da mesma linguagem e se conheceram, o que acabou resultando em uma parceria.”1 Usado em escolas técnicas e universidades por alunos e professores no ensino e aprendizagem da lógica de programação algorítmica. Isso posto, tenho como proposito levar o projeto do boletim escolar para a criação de um app para a plataforma Android; por ser um sistema mundialmente usado em smartphones de diversos fabricantes; disponibilizando na Play store. Podendo ser usado pelas escolas e também pelos pais dos alunos ou por ambos. Foi usado o comando “se entao” aninhado com o objetivo de ter três respostas para a média do aluno levando em consideração suas notas. Onde o programa pedirá ao usuário para ele informa seu nome. Em seguida o usuário será convidado a informar a primeira nota, segunda, terceira e quarta nota. Após o usuário informar todas as notas o programa fará a resolução da média que consiste na soma das quatro notas dividido por quatro. Para não ter muita informação na tela e facilitar a usabilidade do programa foi usado o comando “limpatela” que serve para limpar a tela e deixar pronta para receber a resposta do programa com o resultado da média e também a situação do aluno(a). Após o usuário digitar as notas e teclar enter é mostrada a média e a situação do aluno(a). Fluxograma do algoritmo boletim escolar 2 Código usado nesta atividade: Algoritmo "Cálculo da média de um aluno" // Disciplina: [Linguagem e Lógica de Programação] // Descrição: Calcula a média de um aluno (Calculo matemático) // Autor(a): Denilson Ribeiro de França Var // Seção de Declarações das variáveis Nota1, Nota2, Nota3, Nota4, Media: REAL Nome: caracter Inicio // Seção de Comandos, procedimento, funções, operadores, etc... Escreva (" Informe o nome do(a) aluno(a): ") //"Entrada de dados", O usuário digitará o nome do aluno. Leia (Nome) //O nome do aluno ficará armazenado na variável Nome. Escreva ("Informe a primeira nota: ") //"Entrada de dados", O usuário digitará a nota 1. Leia (Nota1) //A nota 1 ficará armazenada na variável Nota1. Escreva ("Informe a segunda nota: ") //"Entrada de dados", O usuário digitará a nota 2. Leia (Nota2) //A nota 2 ficará armazenada na variável Nota2. Escreva ("Informe a terceira nota: ") //"Entrada de dados", O usuário digitará a nota 3. Leia (Nota3) //A nota 3 ficará armazenada na variável Nota3. Escreva ("Informe a quarta nota: ") //"Entrada de dados", O usuário digitará a nota 4. Leia (Nota4) //A nota 4 ficará armazenada na variável Nota1. limpatela //Comando para limpar a tela Media <- (Nota1 + Nota2 + Nota3 + Nota4)/4 //Calculo para atribuir a média do aluno; que será armazenada na variável Media. se (Media >= 7) entao //Inicio da função se com uma verificação de notas armazenadas na variável Notas 1,2,3 e 4. Escreval ("Aluno(a): ",Nome," foi aprovado(a) com média: ",Media, " Parabéns!") //Saída de dados para o usuário senao //Se o teste for falso e a média for menor que sete passará para o passo seguinte. se (Media <= 6.9 ) e (Media > 4) entao //Segundo teste logico; se a média for menor ou igual a 6.9 e media for maior que quatro for. Escreval ("Aluno(a): ",Nome," está em recuperação com média: ",Media," Procure seu professor!") //Saída de dados para o usuário. senao se (Media <= 4) entao //Terceiro teste se media for menor ou igual a quatro. Escreval ("Aluno(a): ",Nome," reprovado(a) com média: ",Media) fimse fimse fimse Fimalgoritmo Outra forma para implementar esse algoritmo Seria interessante também se fizesse com mais uma função para o programa gerar uma maior interação com o usuário e também automatizar a execução do mesmo. Foi usado o comando “repita” para quando o usuário terminar de ver sua média ele será questionado se deseja refazer o cálculo ou se deseja encerrar o programa somente. Conforme imagens abaixo: Se o usuário digitar o número um como na imagem ele volta a tela em que ele é convidado a informar seu nome. Tela de início do programa Como poderia ser também: Algoritmo "Cálculo da média de um aluno" // Disciplina: [Linguagem e Lógica de Programação] // Descrição: Calcula a média de um aluno (Calculo matemático) // Autor(a): Denilson Ribeiro de França Var // Seção de Declarações das variáveis Nota1, Nota2, Nota3, Nota4, Media: REAL Nome: caracter Opcao: Inteiro Procedimento Menu Inicio Escreval () Escreval (" ********************************************") Escreval (" * 1 * Refazer o calculo mais uma vez *") Escreval (" * 2 * Sair *") Escreval (" ********************************************") Escreval () Fimprocedimento Inicio // Seção de Comandos, procedimento, funções, operadores, etc... repita // Função repita para o usuário refazer novamente o cálculo se assim o desejar Escreva (" Informe o nome do(a) aluno(a): ") //"Entrada de dados", O usuário digitará o nome do aluno. Leia (Nome) //O nome do aluno ficará armazenado na variável Nome. Escreva (" Informe a primeira nota: ") //"Entrada de dados", O usuário digitará a nota 1. Leia (Nota1) //A nota 1 ficará armazenada na variável Nota1. Escreva (" Informe a segunda nota: ") //"Entrada de dados", O usuário digitará a nota 2. Leia (Nota2) //A nota 2 ficará armazenada na variável Nota2. Escreva (" Informe a terceira nota: ") //"Entrada de dados", O usuário digitará a nota 3. Leia (Nota3) //A nota 3 ficará armazenada na variável Nota3. Escreva (" Informe a quarta nota: ") //"Entrada de dados", O usuário digitará a nota 4. Leia (Nota4) //A nota 4 ficará armazenada na variável Nota1. limpatela //Comando para limpar a tela Media <- (Nota1 + Nota2 + Nota3 + Nota4)/4 //Calculo para atribuir a média do aluno; que será armazenada na variável Media. se (Media >= 7) entao //Inicio da função se com uma verificação de notas armazenadas na variável Notas 1,2,3 e 4. Escreval (" Aluno(a): ",Nome,") Escreval (" Aprovado(a) com média: ",Media, " Parabéns!") //Saída de dados para o usuário senao //Se o teste for falso e a média for menor que sete passará para o passo seguinte. se (Media <= 6.9 ) e (Media > 4) entao //Segundo teste logico; se a média for menor ou igual a 6.9 e media for maior que quatro for. Escreval (" Aluno(a): ",Nome,") Escreval ("Em recuperação com média: ",Media," Procure seu professor!") //Saída de dados para o usuário. senao se (Media <= 4) entao //Terceiro teste se media for menor ou igual a quatro. Escreval (" Aluno(a): ",Nome,") Escreval (" Reprovado(a) com média: ",Media) fimse fimse fimse Menu Escreva("Escolha uma opção: ") leia (Opcao) escolha (Opcao) Caso 1 limpatela Caso 2 Escreval(" Obrigado e até a próxima.") outrocaso Escreval (" Opção invalida") Interrompa fimescolha ate Opcao = 2 Fimalgoritmo Mais uma forma de implementar esse algoritmo com vetorese matrizes fazendo com que a saída na tela para o usuário fique organizada como uma tabela com linhas e colunas. Alocando viários espaços na memória ram. Código usado nesta implementação: Algoritmo "Cálculo da média de um aluno" // Disciplina: [Linguagem e Lógica de Programação] // Descrição: Calcula a média de um aluno (Calculo matemático) // Autor(a): Denilson Ribeiro de França var nomes: vetor [1..4] de caractere notas: vetor [1..4,1..4] de real medias: vetor [1..4] de real cont1, cont2: inteiro Opcao: Inteiro nome : caractere Procedimento Menu Inicio Escreval () Escreval (" **************************************") Escreval (" * 1 * Refazer o calculo mais uma vez *") Escreval (" * 2 * Sair *") Escreval (" **************************************") Escreval () Fimprocedimento inicio Repita Escreva("o nome do aluno(a): ") Leia (nome) //Leitura dos nomes e as notas de cada aluno Para cont1 de 1 Ate 4 Faca Escreval() Escreva("Digite o nome da matéria", cont1, ": ") Leia(nomes[cont1]) Escreval() Para cont2 de 1 Ate 4 Faca Escreva("Digite a nota ", cont2, ": ", nomes[cont1], ": ") Leia(notas[cont1, cont2]) Fimpara //CÁLCULO DAS MÉDIAS medias[cont1] := (notas[cont1, 1] + notas[cont1, 2] + notas[cont1, 3] + notas[cont1, 4]) / 4 Fimpara //APRESENTAÇÃO DOS RESULTADOS Limpatela Para cont1 de 1 Ate 4 Faca Se (medias[cont1] >= 7) Entao Escreval("O(a) aluno(a) ", nome, " foi aprovado com as notas (", notas[cont1, 1], ", ", notas[cont1, 2], ", ", notas[cont1, 3], ", ", notas[cont1, 4], ") e média: ", medias[cont1]) Escreval() Senao Se (medias[cont1] < 6.9) e (medias[cont1] > 4) Entao Escreval("O(a) aluno(a) ", nome, " está em recuperação com as notas (", notas[cont1, 1], ", ", notas[cont1, 2], ", ", notas[cont1, 3], ", ", notas[cont1, 4], ") e média: ", medias[cont1]) Escreval() Senao (media[cont1] <= 4) Entao Escreval("O(a) aluno(a) ", nome, " foi reprovado com as notas (", notas[cont1, 1], ", ", notas[cont1, 2], ", ", notas[cont1, 3], ", ", notas[cont1, 4], ") e média: ", medias[cont1]) Escreval() Fimse Fimse Fimpara Menu Escreval(" Escolha uma opção: ") Leia (Opcao) Escolha (Opcao) Caso 1 limpatela Caso 2 Escreval(" Obrigado e até a próxima.") Outrocaso Escreval (" Opção invalida") Interrompa Fimescolha Ate Opcao = 2 fimalgoritmo O algoritmo é sem duvidas uma forma de expressar passos para a resolução de um problema do mundo real, e com esse algoritmo simplificar assim ações que ainda hoje são feitas como no caso do boletim escolar; assim seriamos mais ecologicamente corretos pois economizaríamos em papel e também em canetas, ou seja, simplificaria muito a vida dos professores e dos pais dos alunos e dos próprios alunos. Sendo assim pode se ter a solução do problema em questão seguindo os passos do algoritmo para sua resolução. Fontes de pesquisas: 1- https://www.infoescola.com/noticias/professor-brasileiro-desenvolve-metodo-e-aplicativo-que-facilitam-o-aprendizado-de-programacao/ 2- https://online.visual-paradigm.com/app/diagrams/#diagram:proj=0&type=Flowchart
Compartilhar