


















Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
Os conceitos básicos de algoritmos e lógica de programação, explorando a relação entre o computador e os algoritmos. Ele detalha as etapas de construção de um programa, desde a especificação dos requisitos até a manutenção, utilizando exemplos práticos para ilustrar cada fase. O documento também discute a importância da validação e depuração do algoritmo, além de destacar a relevância dos algoritmos para a qualidade do programa.
Tipologia: Esquemas
1 / 26
Esta página não é visível na pré-visualização
Não perca as partes importantes!
Algoritmos e lógica de programação
De acordo com Manzano e Oliveira (2016), o termo algoritmo é utilizado tanto para a computação quanto para a matemática. Na matemática, ele serve para representar processos de cálculo ou resolução de problemas. Na área da computação, o termo teve origem no ano 830 d.C., quando foi usado na publicação de um livro de Al-Khwarizmi sobre álgebra. Os algoritmos podem ser aplicados em diversos segmentos, incluindo para problemas do dia a dia, como a compra de um determinado livro. Diferentes passos devem ser tomados para se chegar a um ponto final, que é efetivar a compra do livro. O exemplo a seguir ilustra o algoritmo desse cenário da compra de um livro. É importante lembrar que um algoritmo tem um estado inicial, executa algumas ações, tem um resultado e apresenta um estado final (EDELWEISS; LIVI, 2014, p. 6).
Na área da computação, os algoritmos podem ser definidos como uma sequência de ações executadas em uma ordem preestabelecida, tendo como objetivo demonstrar o passo a passo para se chegar a uma determinada solução de uma problematização (EDELWEISS; LIVI, 2014). Atrelada ao conhecimento de algoritmos, a lógica de programação é um ponto muito importante. A palavra lógica está relacionada a coerência e ra- cionalidade, e na informática isso não é diferente. A lógica de programação é
2 Introdução de algoritmos e raciocínio lógico
uma área bem ampla, que capacita o programador ao entendimento de todas as esferas da programação. De acordo com Manzano e Oliveira (2016), a lógica de programação objetiva ações que devem ser tomadas para se desenvolver e chegar a um resultado final. Algumas das principais ações que podem e/ ou devem ser observadas na construção de um programa são a facilidade de depuração, a verificação de possíveis falhas, a facilidade de alterações e a reutilização de códigos. Saber interpretar ou criar algoritmos eficientes é o pontapé inicial para desenvolver as ações citadas. As principais formas de representar os algo- ritmos são por meio de descrição narrativa, fluxogramas e pseudocódigo. Na descrição narrativa , a representação é simples, por meio de linguagem natural (utilizada no cotidiano). Geralmente, a descrição narrativa é pouco utilizada para representar algoritmos, pois abre brechas para a ambiguidade. O exemplo de algoritmo que vimos, da compra do livro, é uma forma de descrição narrativa. Os fluxogramas são a forma gráfica de representar os algoritmos, por meio da utilização de formas geométricas com significados diferentes para cada parte do fluxo. É possível demonstrar a entrada, as ações e a saída do algoritmo de uma forma bem dinâmica. É possível dizer que os fluxogramas são a segunda forma mais utilizada para representar algoritmos (atrás apenas do pseudocódigo), pois são mais precisos que a descrição narrativa, ainda que não se preocupem com muitos detalhes computacionais (OLIVEIRA, 2004). A Figura 1 ilustra um fluxograma cujo objetivo é representar o algoritmo de um programa que recebe três notas de alunos e tem como saída a soma e a média aritmética.
Introdução de algoritmos e raciocínio lógico 3
O algoritmo tratado tem as informações sobre as três notas dos alunos. Inicialmente, há a entrada (leitura), e depois as três notas são impressas na tela, mostrando para o usuário o que foi lido (digitado). O próximo passo é realizar a soma das notas e mostrá-las. Por fim, a média é calculada e mostrada para o usuário. Diferentemente do fluxograma da Figura 1, o pseudocódigo do exemplo traz informações de tipos de dados e declaração das variáveis, além de comentários para facilitar o entendimento.
As variáveis são um determinado espaço de memória que foi utilizado para guardar valores. Tais valores podem variar ao longo da execução de um programa.
Com base nos exemplos e conceitos apresentados, é possível notar como os algoritmos e a lógica de programação são importantes para a área da computação. Na próxima seção, vamos estudar a relação dos componentes básicos de um computador com o desenvolvimento de algoritmos.
Relação entre computador e algoritmos
Como visto, os algoritmos são uma sequência de ações definidas para se chegar a um determinado resultado. Também vimos que os algoritmos podem ser executados por um computador. É importante entender essa relação entre computador e algoritmo, pois ela permite conhecer como os algoritmos podem ser executados. A partir da tradução de um algoritmo para uma linguagem que o computa- dor entenda, é gerado o programa que pode ser executado pelo computador. O componente responsável por essa execução e pela execução de todas as instruções na ordem correta é a CPU ( central processing unit , ou unidade central de processamento) (EDELWEISS; LIVI, 2014). A CPU é composta pela unidade aritmética e lógica e pela unidade de controle. A unidade de controle é responsável por executar instruções de controle do computador, direcionando instruções. Já a unidade aritmética e lógica é o componente mais importante da CPU, pois executa o processamento de operações matemáticas e lógicas (MANZANO; OLIVEIRA, 2016). A unidade de entrada está relacionada aos dados inseridos no computa- dor (dados de entrada). Esses dados podem ser armazenados em memória primária ou secundária. Alguns exemplos de componentes de entrada são os periféricos teclado e mouse. Já a unidade de saída representa os
Introdução de algoritmos e raciocínio lógico 5
dados que foram processados e retornados como resultados (MANZANO; OLIVEIRA, 2016). Por meio das unidades de entrada e saída, é possível realizar a comuni- cação do computador com o usuário durante a execução de um programa, pois é a partir da entrada que são inseridos, por exemplo, os valores iniciais de uma soma de números. Como saída, é mostrado o resultado desse cálculo. Na Figura 2, é possível visualizar o esquema de processamento de um computador. De forma geral, o processamento que um computador faz diz respeito a executar ações e/ou tarefas, como comparações, operações arit- méticas, etc. Para isso acontecer, é necessário ter os dados de entrada, que são processados para, em seguida, mostrar resultados na saída. O fluxo de processamento ocorre a partir da leitura dos dados na unidade de entrada. Tais dados são processados na CPU (composta por unidades que realizam a execução de ações/atividades), juntamente com a memória principal, reali- zando o retorno do processamento na unidade de saída (EDELWEISS; LIVI, 2014).
Figura 2. Esquema simplificado de um computador. Fonte: Edelweiss e Livi (2014, p. 11).
Compreender o fluxo de processamento realizado pelo computador ajuda a entender como os programas são lidos e como funciona a relação entre computador e algoritmos. Deve-se ter em mente que o computador executa programas feitos em diferentes linguagens de programação, mas que têm
6 Introdução de algoritmos e raciocínio lógico
diversos valores possíveis para ver se o algoritmo consegue realizar o processamento. Construção do programa: a implementação em uma linguagem de programação (como a linguagem C) é aplicada considerando a estrutura do algoritmo. Verificação do programa: é realizada a compilação e depuração do programa. Permite realizar testes (como o teste de mesa), inserindo valores no programa para verificar se o processamento está correto. Manutenção: etapa importante que tem como objetivo acompanhar o programa depois de finalizado. Esse acompanhamento diz respeito ao cuidado com eventuais erros que podem surgir, assim como a atu- alizações e novas funcionalidades que podem ou devem ser inseridas.
Figura 3. Etapas da construção de um programa. Fonte: Edelweiss e Livi (2014, p. 16).
8 Introdução de algoritmos e raciocínio lógico
Para ilustrar as etapas de construção de um programa, pense na seguinte problematização: um professor de educação física necessita de um programa que realize o cálculo de índice de massa corporal (IMC) de seus alunos para fazer treinos específicos conforme a classificação resultante. Considerando essa problematização, devemos seguir os passos para a construção do programa. A princípio, é realizada a análise do problema, obtendo resumidamente a definição do problema, que é informar a classi- ficação do IMC. Na etapa de especificação dos requisitos do problema, são identificadas as entradas e as saídas necessárias para o programa; veja a seguir.
Entradas: peso e altura da pessoa, digitados via teclado. Saídas: o resultado do cálculo do IMC e a classificação correspondente, mostrados na tela.
A etapa de construção do algoritmo pode ser observada no exemplo a seguir. Considerando as análises realizadas nas etapas anteriores, o algoritmo é construído com base em ações que devem ser executadas para se chegar ao objetivo do programa. É importante saber que, nessa etapa, os nomes das variáveis já podem ser informados.
Algoritmo – IMC {INFORMAR A CLASSIFICAÇÃO DO IMC DE UMA PESSOA} Entradas: peso, altura Saídas: imc, classificação início ler (peso, altura) {ENTRADA DO PESO E ALTURA DA PESSOA} imc ← peso / (altura * altura) {CALCULA O IMC} escrever (imc) {INFORMA O VALOR ADQUITIDO DO IMC} se imc < 18.5 então escrever “Abaixo do peso” senão se imc >= 18.5 e < 25 então escrever “Peso normal” senão se imc >= 25 e < escrever “Acima do peso” senão se imc >= 30 e < escrever “Obeso”
Introdução de algoritmos e raciocínio lógico 9
imc = peso / (altura * altura);
printf("\n\n Seu IMC = %.2f", imc); printf("\nClassificacao IMC"); if (imc < 18.5) printf(" Abaixo do peso"); else if ((imc >= 18.5) && (imc < 25)) printf(" Peso normal"); else if ((imc >= 25) && (imc < 30)) printf(" Acima do peso"); else if ((imc >= 30) && (imc < 34)) printf(" Obeso"); else printf(" Muito obeso"); } A compilação e depuração (verificação do programa) é a etapa em que podemos realizar testes (como o teste de mesa já mostrado) inserindo valores no programa para verificar se o processamento está correto. Por fim, a manutenção representa o acompanhamento do programa de- senvolvido, seja para corrigir eventuais erros, seja para atribuir uma nova funcionalidade, como a de informar o nome da pessoa que está realizando a classificação do IMC. Independentemente da abordagem realizada, todas têm um esquema que considera etapas que facilitam a construção de um programa de qualidade, tanto para os desenvolvedores quanto para os usuários. Os exemplos trazidos neste capítulo podem ser dimensionados para problemas mais complexos, respeitando as etapas de sua construção. É essencial saber o quanto os algoritmos são importantes para facilitar a depuração dos programas por parte dos programadores e/ou da equipe de desenvolvimento. Conhecer como a relação do computador com os algo- ritmos funciona facilita esse entendimento. Já a construção dos algoritmos deve apresentar um conteúdo claro, preciso e não ambíguo. É importante seguir as etapas da construção de um programa para ter sucesso em seus resultados finais, considerando o propósito e a facilidade do desenvolvimento e produzindo um programa de qualidade.
Introdução de algoritmos e raciocínio lógico 11
Referências
BERG, A. C.; FIGUEIRÓ, J. P. Lógica de programação. 3. ed. rev. e atual. Canoas: Ulbra, 2006.
EDELWEISS, N.; LIVI, M. A. C. Algoritmos e programação com exemplos em Pascal e C. Porto Alegre: Bookman, 2014.
MANZANO, J. A. N. G.; OLIVEIRA, J. F. Algoritmos : lógica para desenvolvimento de pro- gramação de computadores. 28. ed. rev. e atual. São Paulo: Saraiva, 2016.
OLIVEIRA, L. A. H. G. Introdução à informática. Natal: Departamento de Computação e Automação, 2004. (Apostila de Introdução à informática, Curso de Engenharia Química, Universidade Federal do Rio Grande do Norte).
PEREIRA, S. L. Algoritmos e lógica de programação em C : uma abordagem didática. São Paulo: Saraiva, 2018.
12 Introdução de algoritmos e raciocínio lógico
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.