SlideShare una empresa de Scribd logo
1 de 31
ALGORÍTMOS E ESTRUTURA DE DADOS
SLIDE - 2
Bacharelado em Ciência da Computação
2
• INSTRUÇÃO:
– Cada um dos passos, cada uma das ações a tomar
(obedecendo a seqüência lógica) para ir resolvendo o
problema, ou para ir executando a tarefa
– Em informática, é a informação que indica a um
computador uma operação elementar a executar
• Ex.: “somar”, “subtrair”, “comparar se é maior”, etc
– Uma só instrução não resolve problemas reais
– Executar um conjunto de instruções
– Executar em uma seqüência lógica
Lógica de
programação
3
• EXEMPLO: para “fazer omelete”
– Instruções: “quebrar ovos”, “bater ovos”, “pôr sal”, “ligar
fogão”, “pôr óleo na frigideira”, “pôr frigideira no fogo”,
“fritar ovos batidos”, etc...
• Quanto às instruções isoladas:
– Só “quebrar ovos”, ou só “pôr óleo na frigideira”, não é
suficiente para cumprir a tarefa “fazer omelete”
• Quanto à seqüência lógica:
– Se executarmos “fritar ovos batidos” antes de “bater
ovos”, ou pior, antes de “quebrar ovos”, não iremos
cumprir a tarefa “fazer omelete”
Lógica de
programação
4
Exemplo de algoritmo
Quando uma dona de casa prepara um bolo, segue
uma receita, que nada mais é do que um algoritmo
em que cada instrução é um passo a ser seguido
para que o prato fique pronto com sucesso:
1. Bata 4 claras em neve
2. Adicione 2 xícaras de açúcar
3. Adicione 2 colheres de farinha de trigo, 4 gemas,
uma colher de fermento e duas colheres de
chocolate
4. Bata por 3 minutos
5. Unte uma assadeira com margarina
6. Coloque o bolo para assar por 20minutos a 200
graus C
5
Exemplo de algoritmo
Um motorista que necessita efetuar a troca de um pneu
furado segue uma rotina para realizar essa tarefa:
1. Verifica qual pneu está furado
2. Posiciona o macaco e levanta o carro
3. Solta os parafusos
4. Pega o estepe
5. Substitui o pneu furado
6. Recoloca os parafusos
7. Desce o carro
8. Guarda o macaco e o pneu furado
6
• PSEUDOCÓDIGO:
– Facilita descrever o
algoritmo antes de
passá-lo para uma
linguagem de
programação
– Intermediária:
linguagem natural –
linguagem de
programação
• FLUXOGRAMA:
Lógica de
programaçãoTipos de algoritmos
ESTRUTURA DE UM ALGORITMO
7
Algoritmo < nome do algoritmo >
Var
< declaração de variáveis >
Const
< declaração de constante >
Inicio
escrever
ler
testar
calcular
Fim.
Comandos
PSEUDOCÓDIGO OU LINGUAGEM
ESTRUTURADA
8
Algoritmo Média
Var N1, N2, Média : real
Início
Leia N1, N2
Média  (N1 + N2) / 2
Se Média < 7 Então
Escreva “Reprovado”
Senão
Escreva “Aprovado” Fim_se
Fim.
9
Início
Média > 7 “Reprovado”
Fim
.S.
“Aprovado”
Média
(N1+N2)/2
Ler N1, N2
.N.
Fluxograma Convencional
10
• FASES para desenvolver o algoritmo:
– Determinar o
problema, definí-lo
(entendê-lo) bem
– Dividir a solução nas
três fases:
• Exemplo:
– Problema: calcular a
média de quatro
números
– Dados de entrada:
os números N1, N2,
N3 e N4
– Processamento:
Lógica de
programação
ENTRADA PROCESSAMENTO SAÍDA
N1 + N2 + N3 + N4
4
11
• Algoritmo:
– Início
– Ler o primeiro número
– Ler o segundo número
– Ler o terceiro número
– Ler o quarto número
– Somar todos os números
– Dividir a soma por 4
– Mostrar o resultado da divisão
– Fim
Lógica de
programação
12
Exercício
1) Identifique os dados de entrada, processamento e saída no
algoritmo abaixo
· Início
· Ler código da peça
· Ler valor da peça
· Ler Quantidade de peças
· Calcule o valor total da peça (Quantidade * Valor da peça)
· Mostre o código da peça e seu valor total
· Fim
13
Lógica de
programaçãoVariável
– Representa uma posição na memória, onde pode
ser armazenado um dado
– Possui um nome e um valor
– Durante a execução do algoritmo, pode ter seu
valor alterado (seu valor pode variar)
– Mudanças no valor das variáveis:
• Por entrada de dados (“Ler N1”)
• Por atribuição (“N2  14”)
14
Operadores Aritméticos
Exemplos:
MEDIA = (N1+N2+N3+N4) / 4
X  1 + 7 * 2 ** 2 - 1
Total  preço * quantidade
Y  3*(1-2)+4*2
15
Lógica de
programaçãoTESTE DE MESA (Rastreio)
• Todo algoritmo deve ser testado
• Usar dados e resultados previamente
calculados, seguir precisamente as
instruções do algoritmo e verificar se o
procedimento está correto ou não
16
Exercícios
– Faca um algoritmo que receba como entrada uma
determinada temperatura em graus Celsius e mostre a
temperatura em graus Fahrenheit
• OBS: Fahrenheit = (9/5)*(Celsius) + 32
– Tendo como entrada o total vendido por um funcionário no
mês de abril, faça um algoritmo que mostre a sua comissão
e salário bruto neste mês, sabendo que o seu salário base é
R$1.200,00 e sua comissão é de 10% sobre o total vendido.
- Entre com a base e a altura de um retângulo e mostre os
resultados:
• Perímetro (Perímetro é igual à soma dos 4 lados)
• Área (Área é igual à lado vezes lado)
Exercício
• Leia dois valores A e B e depois coloque em
A o valor lido em B e em B o valor lido em A
e mostre os novos valores de A e B
17
18
– Usados para
incrementar,
decrementar,
comparar e avaliar
dados, que são
operações básicas
em processamento
de dados.
– Tipos:
• Aritméticos (+, -, *, /, ** ou ^)
– Resultados numéricos
• Relacionais (>, <, >=, <=, =, <> ou #)
– Resultados lógicos (V ou F)
• Lógicos (e, ou, não)
– Combinam resultados lógicos
Lógica de
programaçãoOperadores
Precedência dos operadores
19
• Operadores relacionais são muito usados
quando temos que tomar decisões nos algoritmos.
Com eles fazemos testes, comparações, que
resultam em valores lógicos (verdadeiro ou falso):
Lógica de
programação
Exemplo:
tendo duas variáveis, A = 5 e B = 3:
20
Exercícios
6) Tendo as variáveis SALARIO, IR e SALLIQ, e considerando os
valores abaixo, informe se as expressões são verdadeiras ou
falsas.
7) Sabendo que A=3, B=7 e C=4, informe se as expressões abaixo
são verdadeiras ou falsas.
a) (A+C) > B ( )
b) B >= (A + 2) ( )
c) C = (B –A) ( )
d) (B + A) <= C ( )
e) (C+A) > B ( )
21
Exercícios
9) Sabendo que A=5, B=4 e C=3 e D=6, informe se as
expressões abaixo são verdadeiras ou falsas.
a) (A > C) AND (C <= D) ( )
b) (A+B) > 10 OR ((A+B) = (C+D)) ( )
c) (A>=C) AND (D >= C) ( )
22
Decisão em algoritmos
• Os algoritmos vistos até agora eram
sequenciais, isto é, todas as operações
eram realizadas em sequência.
• Muitos problemas reais exigem a tomada
de decisão no algoritmo, com mais de um
caminho sendo possível de ser seguido.
23
• ESTRUTURAS DE DECISÃO
– Comandos de
decisão ou desvio
fazem parte das
técnicas de
programação, para
construir estruturas
de algoritmos que
não são totalmente
seqüenciais.
– Com as instruções
de desvio pode-se
fazer com que o
algoritmo proceda
de uma ou outra
Lógica de
programação
24
- Formato:
• Se <condição> então <ações>
• Significado: Se a <condição> resultar em verdadeiro,
então executar as <ações>. Senão, simplesmente
ignorar as <ações> e seguir para a próxima instrução
no algoritmo.
• Usada para decidir se um conjunto de ações
opcionais deve ser executado ou não, dependendo
do valor de algum dado ou de algum resultado que já
tenha sido calculado no algoritmo.
Lógica de
programaçãoSE ... ENTÃO ...
25
- Formato:
Se <condição> então <ações 1>
senão <ações 2>
• Significado: Se a <condição> resultar em verdadeiro,
então executar <ações 1>. Senão, ignorar <ações 1>
e executar <ações 2>.
• Usada para decidir entre duas alternativas de ações.
• Um dos dois conjuntos de ações será executado e o
outro não, dependendo do valor de algum dado ou de
algum resultado que já tenha sido calculado no
algoritmo.
• O valor do dado ou do resultado anterior será testado
na condição, determinando qual conjunto de ações
será executado.
Lógica de
programaçãoSE ... ENTÃO ...SENÃO...
26
• Exemplo da estrutura SE...ENTÃO...SENÃO:
“Mostrar a diferença entre 2 números quaisquer.”
– PSEUDOCÓDIGO:
Ler N1
Ler N2
Se (N1 > N2) então DIF = N1 - N2
senão DIF = N2 - N1
Mostrar DIF
– O que acontece se os
dois números forem
iguais?
– O que acontece se um
ou os dois números
forem negativos?
Lógica de
programação
27
– FLUXOGRAMA:
Lógica de
programação
INÍCIO
DIF
FIM
N1 > N2
N1
N2
DIF = N1 - N2DIF = N2 - N1
28
Exemplo
Ler salário de funcionários da empresa XYZ e conceder reajuste
salarial conforme os cargos. Aos Técnicos o reajuste será de 50 %, os
Gerentes 30 % e aos demais 10 %.
FLUXOGRAMA SEGUIDO DE ALGORITMO
29
V
V
Sal_Reaj.
1.5 * Salário
Sal_Reaj.
1.3 * Salário
Ler Salário
Prof..
Prof =
“Técnico”.
Prof =
“Gerente”.
Sal_reaj.
1.1 * Salário
“Salário
Reajustado”,
Sal_reaj
Fim
Início Algoritmo
Program reaj_salario;
var Salario, Sal_reaj : real;
Prof : literal[20];
Início;
Leia salário, prof;
Escolha
Caso prof = “Técnico”
Sal_reaj 1.5 * salário;
Caso prof = “Gerente”
Sal_reaj 1.3 * salário;
Senão
Sal_reaj 1.1 * salário;
Fim escolha
Escrever “Salário Reajustado”,
Sal_reaj;
Fim.
F
Exercícios
• Faça um algoritmo que leia um número
e mostre o número lido e uma
mensagem indicando se este número é
par ou ímpar e se é positivo ou
negativo.
30
• Desenvolva um algoritmo que efetue a leitura de três
valores correspondentes ao tamanho dos lados de um
triângulo, considerando lados como: A, B e C. O
algoritmo deverá verificar se os lados fornecidos
formam realmente um triângulo. Se for esta condição
verdadeira, deverá ser indicado qual tipo de triângulo
foi formado: isósceles (dois lados iguais e um
diferente), escaleno (todos os lados diferentes) ou
eqüilátero (todos os lados são iguais).
31

Más contenido relacionado

La actualidad más candente

Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Gercélia Ramos
 
Videoulas de algoritmos e lógica de programação
Videoulas de algoritmos e lógica de programaçãoVideoulas de algoritmos e lógica de programação
Videoulas de algoritmos e lógica de programaçãoaldoirjava
 
Caderno de exercicios algoritmos-v.1.3
Caderno de exercicios   algoritmos-v.1.3Caderno de exercicios   algoritmos-v.1.3
Caderno de exercicios algoritmos-v.1.3Débora Inocêncio
 
Conceitos e técnicas de programação lista de exercícios i
Conceitos e técnicas de programação lista de exercícios iConceitos e técnicas de programação lista de exercícios i
Conceitos e técnicas de programação lista de exercícios iRobson Ferreira
 
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...André Constantino da Silva
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação CGercélia Ramos
 
Conceitos e técnicas de programação aula 3
Conceitos e técnicas de programação aula 3Conceitos e técnicas de programação aula 3
Conceitos e técnicas de programação aula 3Robson Ferreira
 
Curso De Algoritmo Aula 9
Curso De Algoritmo   Aula 9Curso De Algoritmo   Aula 9
Curso De Algoritmo Aula 9Felipe Santos
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programaçãorodfernandes
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-Mauro Pereira
 
Capitulo 1scilab
Capitulo 1scilabCapitulo 1scilab
Capitulo 1scilabwjunior
 

La actualidad más candente (20)

Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
 
Videoulas de algoritmos e lógica de programação
Videoulas de algoritmos e lógica de programaçãoVideoulas de algoritmos e lógica de programação
Videoulas de algoritmos e lógica de programação
 
Caderno de exercicios algoritmos-v.1.3
Caderno de exercicios   algoritmos-v.1.3Caderno de exercicios   algoritmos-v.1.3
Caderno de exercicios algoritmos-v.1.3
 
Conceitos e técnicas de programação lista de exercícios i
Conceitos e técnicas de programação lista de exercícios iConceitos e técnicas de programação lista de exercícios i
Conceitos e técnicas de programação lista de exercícios i
 
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação C
 
Conceitos e técnicas de programação aula 3
Conceitos e técnicas de programação aula 3Conceitos e técnicas de programação aula 3
Conceitos e técnicas de programação aula 3
 
Programação em C
Programação em CProgramação em C
Programação em C
 
Lista Exercicios 05
Lista Exercicios 05Lista Exercicios 05
Lista Exercicios 05
 
Algoritmos - Procedimentos
Algoritmos - ProcedimentosAlgoritmos - Procedimentos
Algoritmos - Procedimentos
 
Lógica De Programação
Lógica De ProgramaçãoLógica De Programação
Lógica De Programação
 
Lista exercícios
Lista exercíciosLista exercícios
Lista exercícios
 
Algoritmos - Pseudocódigo
Algoritmos - PseudocódigoAlgoritmos - Pseudocódigo
Algoritmos - Pseudocódigo
 
Curso De Algoritmo Aula 9
Curso De Algoritmo   Aula 9Curso De Algoritmo   Aula 9
Curso De Algoritmo Aula 9
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Visualg
VisualgVisualg
Visualg
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 
Algoritimo - Raul
Algoritimo - RaulAlgoritimo - Raul
Algoritimo - Raul
 
Capitulo 1scilab
Capitulo 1scilabCapitulo 1scilab
Capitulo 1scilab
 

Similar a Algoritmos e estruturas de dados

Aula 01 - Apresentação - Introdução a Lógica.pptx
Aula 01 - Apresentação - Introdução a Lógica.pptxAula 01 - Apresentação - Introdução a Lógica.pptx
Aula 01 - Apresentação - Introdução a Lógica.pptxMárcio Santos
 
Introduçao a Algoritmo...................
Introduçao a Algoritmo...................Introduçao a Algoritmo...................
Introduçao a Algoritmo...................Márcio Santos
 
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...Alex Camargo
 
Lógica de Programação - Unimep/Pronatec - Aula06
Lógica de Programação - Unimep/Pronatec - Aula06Lógica de Programação - Unimep/Pronatec - Aula06
Lógica de Programação - Unimep/Pronatec - Aula06André Phillip Bertoletti
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmosjormad
 
Introdução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxIntrodução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxPaulo Cardoso
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascalangelicamenegassi
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascalangelicamenegassi
 

Similar a Algoritmos e estruturas de dados (20)

Aula 3-lógica.pptx
Aula 3-lógica.pptxAula 3-lógica.pptx
Aula 3-lógica.pptx
 
Aula 01 - Apresentação - Introdução a Lógica.pptx
Aula 01 - Apresentação - Introdução a Lógica.pptxAula 01 - Apresentação - Introdução a Lógica.pptx
Aula 01 - Apresentação - Introdução a Lógica.pptx
 
Introducao logica
Introducao logicaIntroducao logica
Introducao logica
 
Construcao de Algoritmos - Aula 06
Construcao de Algoritmos - Aula 06Construcao de Algoritmos - Aula 06
Construcao de Algoritmos - Aula 06
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Introduçao a Algoritmo...................
Introduçao a Algoritmo...................Introduçao a Algoritmo...................
Introduçao a Algoritmo...................
 
Ap algoritmosglauco
Ap algoritmosglaucoAp algoritmosglauco
Ap algoritmosglauco
 
Módulo 1 de PSI
Módulo 1 de PSIMódulo 1 de PSI
Módulo 1 de PSI
 
Lógica de programação
Lógica de programaçãoLógica de programação
Lógica de programação
 
0001
00010001
0001
 
000003 complexidade
000003 complexidade000003 complexidade
000003 complexidade
 
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
 
Lógica de Programação - Unimep/Pronatec - Aula06
Lógica de Programação - Unimep/Pronatec - Aula06Lógica de Programação - Unimep/Pronatec - Aula06
Lógica de Programação - Unimep/Pronatec - Aula06
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Introdução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxIntrodução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptx
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
Algoritmos - Aula 01 B - Introducao
Algoritmos - Aula 01 B - IntroducaoAlgoritmos - Aula 01 B - Introducao
Algoritmos - Aula 01 B - Introducao
 
Lp m1(parte1)
Lp m1(parte1)Lp m1(parte1)
Lp m1(parte1)
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 

Algoritmos e estruturas de dados

  • 1. ALGORÍTMOS E ESTRUTURA DE DADOS SLIDE - 2 Bacharelado em Ciência da Computação
  • 2. 2 • INSTRUÇÃO: – Cada um dos passos, cada uma das ações a tomar (obedecendo a seqüência lógica) para ir resolvendo o problema, ou para ir executando a tarefa – Em informática, é a informação que indica a um computador uma operação elementar a executar • Ex.: “somar”, “subtrair”, “comparar se é maior”, etc – Uma só instrução não resolve problemas reais – Executar um conjunto de instruções – Executar em uma seqüência lógica Lógica de programação
  • 3. 3 • EXEMPLO: para “fazer omelete” – Instruções: “quebrar ovos”, “bater ovos”, “pôr sal”, “ligar fogão”, “pôr óleo na frigideira”, “pôr frigideira no fogo”, “fritar ovos batidos”, etc... • Quanto às instruções isoladas: – Só “quebrar ovos”, ou só “pôr óleo na frigideira”, não é suficiente para cumprir a tarefa “fazer omelete” • Quanto à seqüência lógica: – Se executarmos “fritar ovos batidos” antes de “bater ovos”, ou pior, antes de “quebrar ovos”, não iremos cumprir a tarefa “fazer omelete” Lógica de programação
  • 4. 4 Exemplo de algoritmo Quando uma dona de casa prepara um bolo, segue uma receita, que nada mais é do que um algoritmo em que cada instrução é um passo a ser seguido para que o prato fique pronto com sucesso: 1. Bata 4 claras em neve 2. Adicione 2 xícaras de açúcar 3. Adicione 2 colheres de farinha de trigo, 4 gemas, uma colher de fermento e duas colheres de chocolate 4. Bata por 3 minutos 5. Unte uma assadeira com margarina 6. Coloque o bolo para assar por 20minutos a 200 graus C
  • 5. 5 Exemplo de algoritmo Um motorista que necessita efetuar a troca de um pneu furado segue uma rotina para realizar essa tarefa: 1. Verifica qual pneu está furado 2. Posiciona o macaco e levanta o carro 3. Solta os parafusos 4. Pega o estepe 5. Substitui o pneu furado 6. Recoloca os parafusos 7. Desce o carro 8. Guarda o macaco e o pneu furado
  • 6. 6 • PSEUDOCÓDIGO: – Facilita descrever o algoritmo antes de passá-lo para uma linguagem de programação – Intermediária: linguagem natural – linguagem de programação • FLUXOGRAMA: Lógica de programaçãoTipos de algoritmos
  • 7. ESTRUTURA DE UM ALGORITMO 7 Algoritmo < nome do algoritmo > Var < declaração de variáveis > Const < declaração de constante > Inicio escrever ler testar calcular Fim. Comandos
  • 8. PSEUDOCÓDIGO OU LINGUAGEM ESTRUTURADA 8 Algoritmo Média Var N1, N2, Média : real Início Leia N1, N2 Média  (N1 + N2) / 2 Se Média < 7 Então Escreva “Reprovado” Senão Escreva “Aprovado” Fim_se Fim.
  • 9. 9 Início Média > 7 “Reprovado” Fim .S. “Aprovado” Média (N1+N2)/2 Ler N1, N2 .N. Fluxograma Convencional
  • 10. 10 • FASES para desenvolver o algoritmo: – Determinar o problema, definí-lo (entendê-lo) bem – Dividir a solução nas três fases: • Exemplo: – Problema: calcular a média de quatro números – Dados de entrada: os números N1, N2, N3 e N4 – Processamento: Lógica de programação ENTRADA PROCESSAMENTO SAÍDA N1 + N2 + N3 + N4 4
  • 11. 11 • Algoritmo: – Início – Ler o primeiro número – Ler o segundo número – Ler o terceiro número – Ler o quarto número – Somar todos os números – Dividir a soma por 4 – Mostrar o resultado da divisão – Fim Lógica de programação
  • 12. 12 Exercício 1) Identifique os dados de entrada, processamento e saída no algoritmo abaixo · Início · Ler código da peça · Ler valor da peça · Ler Quantidade de peças · Calcule o valor total da peça (Quantidade * Valor da peça) · Mostre o código da peça e seu valor total · Fim
  • 13. 13 Lógica de programaçãoVariável – Representa uma posição na memória, onde pode ser armazenado um dado – Possui um nome e um valor – Durante a execução do algoritmo, pode ter seu valor alterado (seu valor pode variar) – Mudanças no valor das variáveis: • Por entrada de dados (“Ler N1”) • Por atribuição (“N2  14”)
  • 14. 14 Operadores Aritméticos Exemplos: MEDIA = (N1+N2+N3+N4) / 4 X  1 + 7 * 2 ** 2 - 1 Total  preço * quantidade Y  3*(1-2)+4*2
  • 15. 15 Lógica de programaçãoTESTE DE MESA (Rastreio) • Todo algoritmo deve ser testado • Usar dados e resultados previamente calculados, seguir precisamente as instruções do algoritmo e verificar se o procedimento está correto ou não
  • 16. 16 Exercícios – Faca um algoritmo que receba como entrada uma determinada temperatura em graus Celsius e mostre a temperatura em graus Fahrenheit • OBS: Fahrenheit = (9/5)*(Celsius) + 32 – Tendo como entrada o total vendido por um funcionário no mês de abril, faça um algoritmo que mostre a sua comissão e salário bruto neste mês, sabendo que o seu salário base é R$1.200,00 e sua comissão é de 10% sobre o total vendido. - Entre com a base e a altura de um retângulo e mostre os resultados: • Perímetro (Perímetro é igual à soma dos 4 lados) • Área (Área é igual à lado vezes lado)
  • 17. Exercício • Leia dois valores A e B e depois coloque em A o valor lido em B e em B o valor lido em A e mostre os novos valores de A e B 17
  • 18. 18 – Usados para incrementar, decrementar, comparar e avaliar dados, que são operações básicas em processamento de dados. – Tipos: • Aritméticos (+, -, *, /, ** ou ^) – Resultados numéricos • Relacionais (>, <, >=, <=, =, <> ou #) – Resultados lógicos (V ou F) • Lógicos (e, ou, não) – Combinam resultados lógicos Lógica de programaçãoOperadores Precedência dos operadores
  • 19. 19 • Operadores relacionais são muito usados quando temos que tomar decisões nos algoritmos. Com eles fazemos testes, comparações, que resultam em valores lógicos (verdadeiro ou falso): Lógica de programação Exemplo: tendo duas variáveis, A = 5 e B = 3:
  • 20. 20 Exercícios 6) Tendo as variáveis SALARIO, IR e SALLIQ, e considerando os valores abaixo, informe se as expressões são verdadeiras ou falsas. 7) Sabendo que A=3, B=7 e C=4, informe se as expressões abaixo são verdadeiras ou falsas. a) (A+C) > B ( ) b) B >= (A + 2) ( ) c) C = (B –A) ( ) d) (B + A) <= C ( ) e) (C+A) > B ( )
  • 21. 21 Exercícios 9) Sabendo que A=5, B=4 e C=3 e D=6, informe se as expressões abaixo são verdadeiras ou falsas. a) (A > C) AND (C <= D) ( ) b) (A+B) > 10 OR ((A+B) = (C+D)) ( ) c) (A>=C) AND (D >= C) ( )
  • 22. 22 Decisão em algoritmos • Os algoritmos vistos até agora eram sequenciais, isto é, todas as operações eram realizadas em sequência. • Muitos problemas reais exigem a tomada de decisão no algoritmo, com mais de um caminho sendo possível de ser seguido.
  • 23. 23 • ESTRUTURAS DE DECISÃO – Comandos de decisão ou desvio fazem parte das técnicas de programação, para construir estruturas de algoritmos que não são totalmente seqüenciais. – Com as instruções de desvio pode-se fazer com que o algoritmo proceda de uma ou outra Lógica de programação
  • 24. 24 - Formato: • Se <condição> então <ações> • Significado: Se a <condição> resultar em verdadeiro, então executar as <ações>. Senão, simplesmente ignorar as <ações> e seguir para a próxima instrução no algoritmo. • Usada para decidir se um conjunto de ações opcionais deve ser executado ou não, dependendo do valor de algum dado ou de algum resultado que já tenha sido calculado no algoritmo. Lógica de programaçãoSE ... ENTÃO ...
  • 25. 25 - Formato: Se <condição> então <ações 1> senão <ações 2> • Significado: Se a <condição> resultar em verdadeiro, então executar <ações 1>. Senão, ignorar <ações 1> e executar <ações 2>. • Usada para decidir entre duas alternativas de ações. • Um dos dois conjuntos de ações será executado e o outro não, dependendo do valor de algum dado ou de algum resultado que já tenha sido calculado no algoritmo. • O valor do dado ou do resultado anterior será testado na condição, determinando qual conjunto de ações será executado. Lógica de programaçãoSE ... ENTÃO ...SENÃO...
  • 26. 26 • Exemplo da estrutura SE...ENTÃO...SENÃO: “Mostrar a diferença entre 2 números quaisquer.” – PSEUDOCÓDIGO: Ler N1 Ler N2 Se (N1 > N2) então DIF = N1 - N2 senão DIF = N2 - N1 Mostrar DIF – O que acontece se os dois números forem iguais? – O que acontece se um ou os dois números forem negativos? Lógica de programação
  • 27. 27 – FLUXOGRAMA: Lógica de programação INÍCIO DIF FIM N1 > N2 N1 N2 DIF = N1 - N2DIF = N2 - N1
  • 28. 28 Exemplo Ler salário de funcionários da empresa XYZ e conceder reajuste salarial conforme os cargos. Aos Técnicos o reajuste será de 50 %, os Gerentes 30 % e aos demais 10 %.
  • 29. FLUXOGRAMA SEGUIDO DE ALGORITMO 29 V V Sal_Reaj. 1.5 * Salário Sal_Reaj. 1.3 * Salário Ler Salário Prof.. Prof = “Técnico”. Prof = “Gerente”. Sal_reaj. 1.1 * Salário “Salário Reajustado”, Sal_reaj Fim Início Algoritmo Program reaj_salario; var Salario, Sal_reaj : real; Prof : literal[20]; Início; Leia salário, prof; Escolha Caso prof = “Técnico” Sal_reaj 1.5 * salário; Caso prof = “Gerente” Sal_reaj 1.3 * salário; Senão Sal_reaj 1.1 * salário; Fim escolha Escrever “Salário Reajustado”, Sal_reaj; Fim. F
  • 30. Exercícios • Faça um algoritmo que leia um número e mostre o número lido e uma mensagem indicando se este número é par ou ímpar e se é positivo ou negativo. 30
  • 31. • Desenvolva um algoritmo que efetue a leitura de três valores correspondentes ao tamanho dos lados de um triângulo, considerando lados como: A, B e C. O algoritmo deverá verificar se os lados fornecidos formam realmente um triângulo. Se for esta condição verdadeira, deverá ser indicado qual tipo de triângulo foi formado: isósceles (dois lados iguais e um diferente), escaleno (todos os lados diferentes) ou eqüilátero (todos os lados são iguais). 31