Algoritmos e Programação de Computadores
Por: Ednelso245 • 8/3/2018 • 1.259 Palavras (6 Páginas) • 335 Visualizações
...
Essa propriedade é automaticamente garantida quando escrevemos algoritmos em uma linguagem de programação. Ou seja, a própria sequência que compõe o texto já indica precisamente a ordem de execução das instruções. Algumas instruções ao longo do texto têm também o papel de influir na ordem de execução das instruções, especificando desvios para instruções adiante, ou atrás, na sequência. Obviamente, o processo de compilação mantém a ordem de execução especificada originalmente.
- sempre parar
O algoritmo deve sempre parar, após começar a executar com um conjunto válido de dados de entrada. Isto é, uma vez iniciada a execução, sempre se alcançará uma das instruções de “pare” espalhadas ao longo do texto da receita. Esta é uma propriedade crucial. Não se deseja que o algoritmo fique executando indefinidamente, após iniciado com dados de entrada válidos. É também, muitas vezes, uma propriedade difícil de garantir que esteja sendo satisfeita. No entanto, se não for satisfeita, a receita não poderá se classificada como um algoritmo legítimo.
O desafio está no fato de que o texto do programa, por si só, não deixa claro se a propriedade de terminação está ou não sendo obedecida. Se não estiver, então, para algum conjunto de dados de entrada válidos o programa vai executar indefinidamente, sem parar. É o que se conhece como “loops” de programação. Detectar esses casos, e corrigi-los, é uma tarefa que pode se provar delicada e árdua.
- Necessidade de prova de correção
O processo algorítmico de resolução de problemas envolve os seguintes passos básicos:
1. Entender o problema a ser resolvido.
2. Criar um algoritmo para resolver o problema.
3. Codificar o algoritmo em alguma linguagem de programação.
4. Testar o código usando alguns casos típicos para os dados de entrada.
Se o passo 4 indicar erros, então provavelmente o algoritmo não é adequado e deve-se voltar ao passo 2 para refazer o algoritmo. No caso de algoritmos longos e complicados, voltar ao passo 2 pode significar perda de tempo e desperdício de recursos preciosos quando foram executados os passos 2, 3 e 4.
Nota-se que mesmo se os testes do passo 4 não indicarem erros, ainda não há garantia de que o algoritmo esteja correto. Existe a possibilidade de casos que não foram tentados. A ausência de erros no passo 4 apenas aumenta a confiança de que o algoritmo esteja realmente correto, mas não garante essa propriedade de forma irretorquível. Seria possível, antes de embarcar nos passos 3 e 4, obter uma garantia de que o algoritmo está correto e que ele resolve adequadamente o problema para todas as instâncias válidas dos dados de entrada, para isso, a única saída viável seria apresentar uma prova formal, como a prova de um teorema em matemática, de que o algoritmo realmente funciona.
- tipos de algoritmos
Existem diversos tipos de algoritmos. Dentre eles: pseudocódigo, descrição narrativa, fluxograma e diagrama de Chapin.
- pseudocódigo
Linguagem estruturada e se assemelha, na forma, a um programa inscrito na linguagem de programação pascal é também chamado de português estruturado. O pseudocódigo é um código simplório, ou seja, não é um código real, mas um código imaginário que lembra o código de programação, é muito utilizado em cursos de programação e faculdades para apresentar a lógica algorítmica de forma mais simples, sem ter que se preocupar muito com o aspecto técnico das linguagens reais.
O pseudocódigo não segue um padrão definido, portanto, qualquer um pode escrever seu pseudocódigo da forma que bem entender desde que ele transmita a ideia central da lógica da programação.
- Descrição narrativa
Utiliza linguagem natural para especificar os passos para a realização as tarefas. Isso dá margem as más interpretações e ambiguidades.
- FLUXOGRAMA
É uma forma universal de representação, pois se utiliza de figuras geométricas para ilustrar os passos a serem seguidos para a resolução dos problemas é chamada também de diagrama de blocos.
Existem varias formas de símbolos, sendo estas:
[pic 2]
- DIAGRAMA DE CHAPIN
Também conhecido como diagrama Nassi-Shneiderman ou diagrama N_S, apresenta a solução de problema por meio de um diagrama de quadros com uma visão hierárquica e estruturada. Esse tipo de diagrama não é muito utilizado, pois é muito difícil representa recursividade, entre outros procedimentos.
É a substituição do fluxograma tradicional por diagrama que apresenta uma visão hierárquica e estruturada da lógica do programa. Sua maior vantagem é a representação das estruturas que tem um ponto de entrada e um ponto de saída e são compostas pelas estruturas básicas de controle de sequência, seleção e repartição.
[pic 3]
- Referências bibliográficas
http://www.ic.unicamp.br/~mc102/algoritmos.html
http://www.tecmundo.com.br/programacao/2082-o-que-e-algoritmo-.htm
https://infoanalucia.wordpress.com/sobre/tipos-de-algoritmos/
http://www.devmedia.com.br/fluxogramas-diagrama-de-blocos-e-de-chapin-no-desenvolvimento-de-algoritmos/28550
...