Buscar

Aula 1 Algoritmos 2018

Prévia do material em texto

08/08/2018
1
Linguagem e Técnicas de 
Programação
Análise e Desenvolvimento de Sistemas
Prof. MSc. Douglas Rodrigues
E-mail: dogrodrigues@gmail.com
Algoritmos
Linguagem e Técnicas de Programação
Conceitos
 Quando uma tarefa deixa de ser realizada pelo 
homem e passa a ser executada por uma máquina 
qualquer, temos o que se conhece como 
automação
 Para que a automação seja bem sucedida, é 
necessário que a máquina que irá realizar a tarefa 
seja capaz de executar cada uma das etapas de 
que constituem o processo de maneira eficiente
 Garantindo-se ainda que esse processo possa ser 
repetido
3
Conceitos
 Para assegurar a repetibilidade do processo, é 
importante especificar com clareza e exatidão cada 
fase do processo
 Além da sequência em que essas fases são executadas
 A especificação da sequência ordenada de passos 
que deve ser seguida para a execução de uma 
tarefa, garantindo-lhe a repetibilidade, recebe o 
nome de algoritmo
4
Conceitos
 Existem vários conceitos formais de algoritmos que 
podem ser encontrados na literatura:
 “Algoritmo é uma sequência de passos que visa atingir 
um objetivo bem definido.” – Forbellone, 1999
 “Algoritmo é uma sequência finita de instruções ou 
operações cuja execução, em tempo finito, resolve um 
problema computacional, qualquer que seja sua 
instância.” – Salvetti, 1999
5
Conceitos
 Existem vários conceitos formais de algoritmos que 
podem ser encontrados na literatura:
 “Ação é um acontecimento que, a partir de um estado 
inicial, após um período de tempo finito, produz um 
estado final previsível e bem definido. Portanto, um 
algoritmo é a descrição de um conjunto de comandos 
que, obedecidos, resultam numa sucessão finita de 
ações.” – Farrer, 1999
6
08/08/2018
2
Conceitos
 O conceito de algoritmo é anterior à computação
 Na verdade, podemos definir algoritmos para várias 
atividades do cotidiano
 Ex. 1: Somar 3 números
Passo 1: receber 3 números
Passo 2: somar os números
Passo 3: mostrar o resultado
7
Conceitos
 Ex. 2: Fazer um sanduíche com pão de hambúrguer
Passo 1: dispor os ingrediente sobre a mesa
Passo 2: cortar o pão ao meio
Passo 3: passar a maionese
Passo 4: colocar alface
Passo 5: fritar o hambúrguer
Passo 6: colocar o hambúrguer no pão
Passo 7: fechar o pão
8
Conceitos
 Ex. 3: Sacar dinheiro no banco 24 horas
Passo 1: inserir cartão
Passo 2: selecionar a opção “saque”
Passo 3: informar o valor
Passo 4: digitar a senha
Passo 5: confirmar o saque
Passo 6: retirar o dinheiro
Passo 7: retirar o cartão
9
Exercícios
1) Desenvolva algoritmos para:
a) Trocar uma lâmpada
b) Trocar um pneu furado
c) Estacionar um carro
d) Ir para a faculdade
e) Calcular a média final de um aluno
10
Métodos para Construção de Algoritmos
 Para construir qualquer tipo de algoritmo, são 
necessários os passos a seguir:
1. Ler atentamente o enunciado, destacando os pontos 
mais importantes
2. Definir os dados de entrada, ou seja, dados que serão 
fornecidos
3. Definir o processamento, ou seja, quais cálculos serão 
efetuados e quais as restrições para esses cálculos
4. Definir dados de saída, ou seja, dados que serão 
gerados após o processamento
5. Construir o algoritmo, utilizando notação apropriada
6. Testar o algoritmo usando simulações
11
Tipos de Algoritmos
 Existem 3 tipos de algoritmos bastante utilizados:
 Linguagem natural (descrição narrativa)
 Fluxograma 
 Linguagem estruturada (português estruturado, ou 
portugol ou pseudocódigo)
12
08/08/2018
3
Tipos de Algoritmos
 Linguagem natural (descrição narrativa)
 Análise do enunciado e escrita dos passos que devem 
ser seguidos para a resolução do problema
 Vantagem: não é necessário aprender nenhum conceito 
novo, pois a língua natural já é bem conhecida
 Desvantagem: a linguagem natural apresenta 
ambiguidades que podem dificultar a transcrição do 
algoritmo para um programa
13
Tipos de Algoritmos
 Fluxograma
 Utiliza símbolos gráficos predefinidos para a construção 
de algoritmos
 Vantagem: entendimento de símbolos gráficos é mais 
fácil do que o texto
 Desvantagem: necessário aprender a simbologia dos 
fluxogramas, e o algoritmo resultante não apresenta 
muitos detalhes, podendo dificultar a transcrição para 
um programa
14
Tipos de Algoritmos
 Fluxograma
15
Tipos de Algoritmos
 Fluxograma
 Ex 1: algoritmo que mostra o resultado da multiplicação 
de dois números
 Ex 2: algoritmo que mostra divisão de dois números
16
Tipos de Algoritmos
 Linguagem estruturada (pseudocódigo)
 Utiliza regras predefinidas para se escrever os passos a 
serem seguidos na resolução de um problema
 Vantagem: a passagem do algoritmo para a linguagem 
de programação é quase imediata
◼ Bastando conhecer as palavras reservadas da linguagem de 
programação a ser utilizada
 Desvantagem: é necessário conhecer as regras do 
pseudocódigo
17
Tipos de Algoritmos
 Linguagem estruturada (pseudocódigo)
 Variáveis
◼ Um algoritmo recebe dados
◼ Que devem ser armazenados na memória do computador
◼ Uma variável representa uma porção de memória
◼ Possui um nome e um tipo associado
◼ Variáveis servem para guardar temporariamente os dados
◼ Sendo que seu valor pode mudar ao longo do tempo
◼ Cada variável armazena apenas um dado por vez
18
08/08/2018
4
Tipos de Algoritmos
 Linguagem estruturada (pseudocódigo)
 Ex 1: Dividir dois números
ALGORITMO Divisão
Declare n1, n2, d: numérico
INÍCIO
Escreva (“Digite dois números”);
Leia (n1, n2);
Se (n2 = 0), então escreva (“Erro!”);
Senão, d  n1/n2;
Escreva (“O resultado é”, d);
FIM 
19
Tipos de Algoritmos
 Linguagem estruturada (pseudocódigo)
 Ex 2: Média de 4 números
ALGORITMO Média
Declare num, soma: inteiro
m: real
INÍCIO
soma  0;
Leia (num);
soma  num;
Leia (num);
soma  soma + num;
Leia (num);
soma  soma + num;
20
Leia (num);
soma  soma + num;
m  soma/4;
Escreva (“A média é”, m);
FIM 
Exercícios
1) Faça algoritmos em pseudocódigo para:
a) Calcular a média de 4 valores inteiros.
b) Receber os valores da base e da altura de um triângulo e informar 
a área.
c) Ler o valor de uma mercadoria e o valor de desconto (%), e 
informar o preço com desconto.
d) Ler os valores de a, b, c e informar o valor de x, seguindo a 
fórmula x = 2ab + 3ac – 4bc.
e) Ler os valores de a e b, e trocá-los entre si.
Ex: a  2 => b = 2
b  3 a = 3
21

Continue navegando