Algoritmo e Programação
Tathiana E. Silva (tathiana.sb@gmail.com)
Ementa
 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
Objetivos
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ção
Microprocessadores
Programação em Assembler e linguagem de
máquina.
Controle de
Processos
servomecanismos
e
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
Bibliografia
 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.
Paulo: Pearson education do Brasil, 1997.
3.ed. São
Algoritmos x Programação
Algoritmo é um conjunto finito de regras, bem
definidas, para a solução de um problema em
um tempo finito;
Programa é um algoritmo codificado (escrito)
em uma linguagem de programação (C/C++).
Algoritmos
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
Algoritmos
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.
Algoritmos
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 banco
2. Aguardar a vez de ser atendido
3. Entrar na fila do caixa
4. Digitar a senha
5. Entrar no banco
6. Informar o valor a ser retirado
7. Procurar a fila do caixa
8. Pegar o comprovante do caixa, o cartão e o dinheiro
9. Entregar o cartão eletrônico ao funcionário que
atende no caixa
10. Conferir o valor em dinheiro
Algoritmos
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
sequência finita de passos.
de
uma
Algoritmos
Abaixo segue um exemplo simples de
algoritmo, para a troca de um pneu furado:
1.
2.
3.
4.
5.
6.
7.
8.
9.
desligar o carro
pegar as ferramentas (chave e macaco)
pegar o estepe
suspender o carro com o macaco
desenroscar os 4 parafusos do pneu furado
colocar o estepe
enroscar os 4 parafusos
baixar o carro com o macaco
guardar as ferramentas
Algoritmos
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.
Algoritmos
Segue outro exemplo, para pegar um ônibus, que
possui estruturas mais complexas :
1. ir até a parada
2. enquanto ônibus não chega faça
3. esperar ônibus
4. subir no ônibus
5. pegar passagem
6. se não há passagem então
7. pegar dinheiro
8. pagar o cobrador
9. troco = dinheiro - passagem
10. enquanto banco não está vazio faça
11. ir para o próximo
12. sentar
13. . . .
Programas
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
Programaçã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
Programação
Representando Algoritmos
Existem
duas
principais
representação para algoritmos:
 Fluxograma
 Pseudocódigo
formas
de
Fluxograma
É 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 - Exemplo
Pseudocó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 palavraschave, em geral na língua nativa do
programador, que tem equivalentes nas
linguagens de programação.
Pseudocódigo - Exemplo
Pseudocódigo - Estrutura
Download

Algoritmo e Programação_Conceitos