Algoritmo e Algoritmo e ProgramaçãoProgramação
Tathiana E. Silva ([email protected])
EmentaEmenta
Algoritmos ► Conceitos
► Representações ► Representação de Dados ► Expressões Aritméticas e
Lógicas ► Comandos de Entrada e Saída ► Estruturas de Controle
- Condição - Repetição
► Variáveis compostas homogêneas
Programação ► Linguagem C
ObjetivosObjetivos
Desenvolver conhecimentos e habilidades de forma a capacitar os alunos a desenvolver programas em Linguagem Estruturada, especificamente usando a linguagem C.
O Engenheiro é um profissional talhado para resolver problemas e normalmente problemas complexos que necessitam de métodos para se chegar a solução. Elaborar um algoritmo pode ser um dos métodos para se buscar a solução.
AplicaçãoAplicação
MicroprocessadoresProgramação em Assembler e linguagem de máquina.
Controle de servomecanismos e Processos O MatLab ajuda a resolver problemas de engenharia através de programas na linguagem C.
Automação Todo equipamento de produção em qualquer segmento tem um mínimo de automação e cabe ao engenheiro propor melhorias de desempenho do equipamento através de um algoritmo e um programa novo, por exemplo com o Ladder.
BibliografiaBibliografia
Algoritmos
CORMEN, Thomas H. , LEISERSON, Charles E., RIVEST, Ronald L. e STEIN, Clifford, Algorítmos – Tradução da 2ª Edição Americana, Teoria e Prática, Editora Campus
Programação
SCHILDT, Herbert. C completo e total. 3.ed. São Paulo: Pearson education do Brasil, 1997.
Algoritmos x Algoritmos x ProgramaçãoProgramação
AlgoritmoAlgoritmo é um conjunto finito de regras, bem definidas, para a solução de um problema em um tempo finito;
ProgramaPrograma é um algoritmo codificado (escrito) em uma linguagem de programação (C/C++).
AlgoritmosAlgoritmos
Algoritmo é uma sequência finita de passos que levam a execução de uma tarefa. Ou seja, uma receita, uma sequência de instruções para uma meta específica.
Ex: chupar uma bala pegar uma bala retirar o papel colocar a bala na boca jogar papel no lixo
AlgoritmosAlgoritmos
A principal meta da criação de um algoritmo é resolver problemas por meio de soluções lógicas para obter resultados eficientes (corretos) e eficazes (com qualidade).
Mas se as soluções não forem bem planejadas (passo a passo), com certeza essa meta não será atingida.
AlgoritmosAlgoritmos
Abaixo são descritas ações de quem vai a um banco, mas veja se é possível retirar o dinheiro obedecendo a sequência descrita:
1. Sair do banco2. Aguardar a vez de ser atendido3. Entrar na fila do caixa4. Digitar a senha5. Entrar no banco6. Informar o valor a ser retirado7. Procurar a fila do caixa8. Pegar o comprovante do caixa, o cartão e o dinheiro9. Entregar o cartão eletrônico ao funcionário que atende no caixa10. Conferir o valor em dinheiro
AlgoritmosAlgoritmos
Um algoritmo eficiente deve obedecer as seguintes premissas básicas no momento de sua construção:
Definir ações simples e sem ambiguidade;
Organizar as ações de forma ordenada;
Estabelecer as ações dentro de uma sequência finita de passos.
AlgoritmosAlgoritmos
Abaixo segue um exemplo simples de algoritmo, para a troca de um pneu furado:
1. desligar o carro2. pegar as ferramentas (chave e macaco)3. pegar o estepe4. suspender o carro com o macaco5. desenroscar os 4 parafusos do pneu furado6. colocar o estepe7. enroscar os 4 parafusos8. baixar o carro com o macaco9. guardar as ferramentas
AlgoritmosAlgoritmos
Um algoritmo é capaz de realizar tarefas como:
Ler e escrever dados;
Avaliar expressões algébricas, relacionais e lógicas;
Tomar decisões com base nos resultados das expressões avaliadas;
Repetir um conjunto de ações de acordo com uma condição.
AlgoritmosAlgoritmosSegue outro exemplo, para pegar um ônibus, que possui estruturas mais complexas :
1. ir até a parada2. enquanto ônibus não chega faça3. esperar ônibus4. subir no ônibus5. pegar passagem6. se não há passagem então7. pegar dinheiro8. pagar o cobrador9. troco = dinheiro - passagem10. enquanto banco não está vazio faça11. ir para o próximo12. sentar13. . . .
ProgramasProgramas
Um computador é somente capaz de realizar estritamente as tarefas que lhe forem delegadas e que façam parte do conjunto daquelas ações que ele pode executar -> algoritmos.
Programas são algoritmos escritos em uma linguagem de programação e que são interpretados e executados por uma máquina.
Linguagem de Linguagem de ProgramaçãoProgramação
Linguagem Natural
(linguagem com que expressamos nosso
raciocínio)
Linguagem de Máquina Assembler
(linguagem que o computador entende,
números binários)
Linguagem de Programação
(linguagem próxima à natural para descrever
comandos ao computador)
Linguagem de Linguagem de ProgramaçãoProgramação
Representando Representando AlgoritmosAlgoritmos
Existem duas principais formas de representação para algoritmos:
Fluxograma
Pseudocódigo
FluxogramaFluxograma
É a apresentação do algoritmo em formato gráfico possibilitando o planejamento da estrutura do programa e facilitando a validação da estrutura planejada.
Cada operação a ser executada é representada por um símbolo cuja forma identifica o tipo de processo envolvido.
Fluxograma - ExemploFluxograma - Exemplo
PseudocódigoPseudocódigo
O pseudocódigo é uma maneira intermediária entre a linguagem natural e uma linguagem de programação de representar um algoritmo.
Ela utiliza um conjunto restrito de palavras-chave, em geral na língua nativa do programador, que tem equivalentes naslinguagens de programação.
Pseudocódigo - Pseudocódigo - ExemploExemplo
Pseudocódigo - Pseudocódigo - EstruturaEstrutura