Aula	  2:	  Lógica	  de	  Programação	      Algoritmos e Estruturas de Dados I                                            ...
Exemplo	  de	  algoritmo	                                                                                          Program...
Pseudocódigo	                                                     Escrevendo	  Pseudocódigo	  •  Descrição	  do	  algoritm...
5.	  ELEMENTOS	                                                                                                  Variável	...
Operadores	  AritméQcos	                                                                                             Opera...
Exercícios	  	                                                                                          Exercícios	  •  Es...
Próximos SlideShares
Carregando em…5
×

Introdução a Algoritmos e Estruturas de Dados

349 visualizações

Publicada em

Aula 2

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
349
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
7
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Introdução a Algoritmos e Estruturas de Dados

  1. 1. Aula  2:  Lógica  de  Programação   Algoritmos e Estruturas de Dados I 1.  Lógica  de  Programação   (AEDS I) 2.  Instruções   3.  Algoritmo   Prof. Olga N. Goussevskaia 4.  Debugging   olga@dcc.ufmg.br 5.  Teste   6.  Elementos  do  algoritmo   –  Variáveis   –  Atribução   Obs: Alguns slides por Profa Mirella M. Moro –  Operadores   2 1.  LÓGICA  DE  PROGRAMAÇÃO   2.  INSTRUÇÕES  •  Técnica  de  encadear  pensamentos  para  aQngir   •  Cada  um  dos  passos,  cada  uma  das  ações  a  tomar   determinado  objeQvo   (obedecendo  a  seqüência  lógica)  para  ir  resolvendo  •  Necessária  para  desenvolver  programas  e  sistemas,   o  problema,  ou  para  ir  executando  a  tarefa   pois  permite  definir  a  seqüência  lógica  para  a   •  É  a  instrução  que  indica  a  um  computador  uma   solução  de  um  problema   operação  elementar  a  executar  •  SEQÜÊNCIA  LÓGICA     –  Ex.:  “somar”,  “subtrair”,  “comparar  se  é  maior”,  etc   –    ?    →  1  →  2  →  3  →    !   •  Uma  só  instrução  não  resolve  problemas   –  Estes  pensamentos  podem  ser  descritos  como  uma   seqüência  de  instruções,  que  devem  ser  seguidas  para  se   cumprir  uma  determinada  tarefa   •  Executar  um  conjunto  de  instruções   –  Passos  executados  até  se  aQngir  um  objeQvo  ou  solução  de   um  problema   •  Executar  em  uma  seqüência  lógica   3 4 Instruções   3.  ALGORITMO  •  EXEMPLO:  para  “fazer  omelete”   •  Seqüência  finita  de  passos  que  levam  à  execução  de   –  Instruções:  “quebrar  ovos”,  “bater  ovos”,  “pôr  sal”,  “ligar   uma  tarefa   fogão”,  “pôr  óleo  na  frigideira”,  “pôr  frigideira  no  fogo”,   •  Claro  e  preciso.  Ex.  “somar  dois  números”:   “fritar  ovos  baQdos”,  etc...   –  Escrever  primeiro  número  no  retângulo  A  •  Quanto  às  instruções  isoladas:   –  Escrever  segundo  número  no  retângulo  B   –  Só  “quebrar  ovos”,  ou  só  “pôr  óleo  na  frigideira”,  não  é   –  Somar  o  número  do  retângulo  A  com  o  número  do   suficiente  para  cumprir  a  tarefa  “fazer  omelete”   retângulo  B  e  escrever  o  resultado  no  retângulo  C  •  Quanto  à  seqüência  lógica:   A B C –  Se  executarmos  “fritar  ovos  baQdos”  antes  de  “bater  ovos”,   ou  pior,  antes  de  “quebrar  ovos”,  não  iremos  cumprir  a   + = tarefa  “fazer  omelete”   5 6
  2. 2. Exemplo  de  algoritmo   Programa    Trocar  o  um  pneu  furado:  uma  roQna  para   •  Algoritmo  escrito  em  uma  linguagem  de  computador     realizar  essa  tarefa   –  linguagem  de  programação:  C,  Pascal,  COBOL,  Fortran,   Basic,  Java,  entre  outras   1.  Verifica qual pneu está furado •  Interpretado  e  executado  por  um  computador   2.  Posiciona o macaco para levantar o carro 3.  Pega o estepe •  Interpretação  rigorosa,  exata,  do  computador       4.  Solta os parafusos 5.  Substitui o pneu furado 6.  Recoloca os parafusos  Escrita  do  algoritmo  na  linguagem  de  prog.  tem  que   7.  Desce o carro seguir  regras  mais  rigorosas   8.  Guarda o macaco e o pneu furado 7 8 Programa   Debugging   •  Sequência  de  instruções  que  especifica  como   •  Programação  é  um  processo  complexo  que,   realizar  uma  computação   por  ser  feito  por  seres  humanos,   –  Exemplos:  achar  as  raízes  de  um  polinômio,  achar   frequentemente  leva  a  erros  (bugs):   uma  sequência  de  caracteres  em  um  documento   –  Erros  de  compilação  =  erros  de  sintaxe,   •  Conjunto  básico  de  instruções:   detectados  pelo  compilador.  (essa  frase  contém   •  Entrada  e  saída  (E/S)  de  dados   erros  de  sintaxe)   •  Movimentação  de  dados  (transferência)   •  AritméQca:  adição,  mulQplicação,  etc.   –  Erros  em  tempo  de  execução   •  Testes:  verificação  de  certas  condições  (comparação)   –  Erros  de  lógica  e  semânQca   •  RepeQção  de  ações,  em  geral,  com  algumas  variações   •  O  programa  que  você  escreveu  não  é  o  programa  que   você  queria  escrever.  O  computador  não  consegue   detectar  tais  erros.   Debugging   Tipos  de  Algoritmos   •  Pseudocódigo  •  Uma  das  habilidade  mais  importante  que  você   –  Facilita  descrever  o  algoritmo  antes  de  passá-­‐lo  para  uma   deverá  adquirir  é  a  depuração  experimental   ling.  de  programação   –  Intermediária:  linguagem  natural  –  linguagem  de  •  Debugar  é  parecido  com  o  trabalho  de  um  deteQve   programação   e  envolve:   –  Pseudocódigo  =  “códigofalso”   •  Análise  de  pistas  e  eventos   •  Fluxograma   •  Infererência  de  causas  que  levam  aos  resultados  do  seu   –  Forma  universal  de  representação   programa   –  UQliza  figuras  geométricas  para  ilustrar  passos  a  serem   •  Trabalho  experimental:  ao  ter  uma  idéia  sobre  o  erro,  modifique   seguidos  para  a  resolução  de  problemas   o  seu  programa  e  tente  executar  novamente.  Se  sua  hipótese   estava  correta,  você  chegou  mais  perto  de  um  programa   correto.  Senão,  invente  outra  hipótese!   12
  3. 3. Pseudocódigo   Escrevendo  Pseudocódigo  •  Descrição  do  algoritmo,  menos  rigorosa  que  na   •  FASES  para  desenvolver  o  algoritmo   linguagem  de  programação  (código  fonte)   –  Determinar  o  problema,  definí-­‐lo  bem   –  Dividir  a  solução  nas  três  fases  •  Fácil  de  entender  e  fácil  de  codificar  depois  •  Independente  da  linguagem  de  programação   ENTRADA PROCESSAMENTO SAÍDA•  Simples  e  objeQvo   •  Exemplo:  •  Técnica   –  Problema:  calcular  a  média  de  quatro  números   –  Um  verbo  por  frase   –  Dados  de  entrada:  os  números,  N1,  N2,  N3  e  N4   –  Processamento:  somar  os  quatro  números  e  dividir  a  soma   –  Não  escrever  “para  informatas”   por  4   –  Frases  curtas  e  simples   N1 + N2 + N3 + N4 –  Ser  objeQvo   4 –  Dados  de  saída:  a  média  final   –  Usar  palavras  sem  duplo  senQdo   13 14 Escrevendo  Pseudocódigos   Fluxograma   –  Representação  gráfica  padronizada  dos  passos  de   N1 + N2 + N3 + N4 4 um  algoritmo   –  Principais  símbolos  •  Algoritmo   Terminal: INÍCIO ou FIM do algoritmo –  Receber  o  primeiro  número   –  Receber  o  segundo  número   Processamento (ação, operação) –  Receber  o  terceiro  número   Entrada de dado manual (“ler”, “receber”) –  Receber  o  quarto  número   –  Somar  todos  os  números   Exibir (“mostrar”, saída de dado) –  Dividir  a  soma  por  4   S Decisão (teste) –  Mostrar  o  resultado  da  divisão   N 15 16 Fluxograma   4.  TESTE   INÍCIO N1 + N2 + N3 + N4 Receber N1 •  Todo  algoritmo  deve  ser  testado   4 –  Usar  dados  e  resultados  previamente  calculados   Receber N2 –  Seguir  precisamente  as  instruções  do  algoritmo     Receber N3 –  Verificar  se  o  procedimento  está  correto   •  Exemplo:  Fazer  teste  de  mesa  para  o  algoritmo  da   Receber N4 média   Calcular MEDIA= (N1+N2+N3+N4) / 4 Mostrar MEDIA FIM 17 18
  4. 4. 5.  ELEMENTOS   Variável  •  Variável   •  Representa  uma  posição  na  memória,  onde  •  Atribuição   pode  ser  armazenado  um  dado  •  Operadores   •  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  (“MEDIA  =  <um  certo  valor>”)   19 20 Variável:  exemplo  seqüencial   Variável:  exemplo  seqüencial   “Calcular  a  média  de  quatro  números”   “Calcular  a  média  de  quatro  números”   –  PSEUDOCÓDIGO:   •  Ler  N1  Pseudocódigo:   VARIÁVEIS: •  Ler  N2   mais clareza no pseudocódigo –  Ler  N1   •  Ler  N3   –  Ler  N2   •  Ler  N4   –  Ler  N3   –  Ler  N4   •  MEDIA  =  (N1+N2+N3+N4)  /  4   •  Mostrar  MEDIA   –  MEDIA  =  (N1+N2+N3+N4)  /  4   –  Mostrar  MEDIA   21 VARIÁVEL 22 Atribuição   Operadores  •  Atribui  o  valor  da  direita  à  variável  da  esquerda   •  São  operações  básicas  em  processamento  de  dados  •  O  valor  pode  ser  uma  constante,  uma  variável  ou   •  Usados  para  incrementar,  decrementar,  comparar  e   uma  expressão   avaliar  dados    MEDIA  =  (N1+N2+N3+N4)  /  4    (Lê-­‐se  media  recebe  N1+...)   •  Tipos:   –  Neste  caso,  estamos  atribuindo  o  resultado  da  fórmula  à   –  AritméQcos  (+,  -­‐,  *,  /,  **  ou  ^)   variável  média,  ou  seja,  a  variável  média  está  recebendo   •  Resultados  numéricos   como  valor  o  resultado  da  fórmula   –  Relacionais  (>,  <,  >=,  <=,  =,  <>  ou  #)  •  Outros  Exemplos   •  Resultados  lógicos  (V  ou  F)   –    a  =  3;   –  Lógicos  (e,  ou,  não)   –    a  =  x;   •  Combinam  resultados  lógicos   23 24
  5. 5. Operadores  AritméQcos   Operadores  Relacionais   •  Muito  usados  para  tomar   Exemplo: Hierarquia das Ops. Aritméticas Parênteses decisões  nos  algoritmos   Duas variáveis, A = 5 e B = 3 Exponenciação •  Usados  para:  testes,   Multiplicação ou Divisão Expressão Resultado Adição ou Subtração comparações,  que  resultam   em  valores  lógicos   A=B Falso (verdadeiro  ou  falso)   A <> B Verdadeiro TOTAL = PREÇO * QUANTIDADE A>B Verdadeiro 1 + 7 * 2 ** 2 – 1 = 28 A<B Falso A >= B Verdadeiro 3 * (1- 2) + 4 * 2 = 5 A <= B falso Média = (N1 + N2 + N3 + N4) / 4 25 26 Exercícios   Operadores  Lógicos   A op B T/F? •  Combinam  resultados  •  Tendo  as  variáveis  SALARIO,  IR  e  SALLIQ,  e  considerando  os   T AND T T valores  abaixo.  Informe  se  as  expressões  são  verdadeiras  ou   lógicos   falsas   T AND F F •  Geram  novos  valores   lógicos  (T  ou  F)   F AND T F •  A  “tabela-­‐verdade”  mostra   F AND F F todos  os  valores  possíveis   T OR T T•  Sabendo  que  A=3,  B=7  e  C=4,  informe  se  as  expressões  abaixo   são  verdadeiras  ou  falsas.   de  se  obter  com  oper.   T OR F T –  (A+C)  >  B    (    )   lógicos   F OR T T –  B  >=  (A  +  2)    (    )   T = Verdad. –  C  =  (B  –A)    (    )   F OR F F F = Falso –  (B  +  A)  <=  C    (    )   AND = E NOT T F –  (C+A)  >  B    (    )   OR = OU NOT = NÃO NOT F T 27 28 Operações  Lógicas   Operações  Lógicas  •  Operadores  relacionais  +  operadores  lógicos  =   •  Operadores  relacionais  +  operadores  lógicos  =   operações  lógicas   operações  lógicas  •  Produzem  resultados  lógicos  (T/F)     •  Produzem  resultados  lógicos  (T/F)    •  Para  A  =  5,  B  =  8  e  C  =  1:   •  Para  A  =  5,  B  =  8  e  C  =  1:   F ( V AND F ) •  (A  =  B)  AND  (B  >  C)   •  (A  =  B)  AND  (B  >  C)   V ( V OR F ) •  (A  <>  B)  OR  (B  <  C)     •  (A  <>  B)  OR  (B  <  C)     V ( NOT F ) •  NOT  (A  >  B)   •  NOT  (A  >  B)   •  (A  <  B)  AND  (B  >  C)   •  (A  <  B)  AND  (B  >  C)   V ( V AND V ) •  (A  >=  B)  OR  (B  =  C)   •  (A  >=  B)  OR  (B  =  C)   F ( F OR F ) •  NOT  (A  <=  B)   •  NOT  (A  <=  B)   F ( NOT V )•  São  usadas  em  decisões  nos  algoritmos...   •  São  usadas  em  decisões  nos  algoritmos...   29 30
  6. 6. Exercícios     Exercícios  •  Escreva  os  passos  necessários  para  uma   •  IdenQfique  os  dados  de  entrada,  processamento  e   saída  no  algoritmo  abaixo   pessoa  efetuar  um  saque  em  um  caixa   –  Receba  código  da  peça   eletrônico   –  Receba  valor  da  peça  •  Escreva  a  seqüência  de  passos  para  que  uma   –  Receba  QuanQdade  de  peças  (Qtde)   pessoa  abra  um  arquivo  armazenado  em  um   –  Calcule  o  valor  total  da  peça  (Qtde  *  Valor)   –  Mostre  o  código  da  peça  e  seu  valor  total   pen-­‐drive  uQlizando  o  Word  do  Windows   •  Faça  um  algoritmo  para  “Calcular  o  estoque  médio   de  uma  peça”,  sendo  que   estoquemédio  =      (quanQdade  mínima  +  quanQdade  máxima)  /2   31 32 Exercício    Considere  a  seguinte  atribuição  de  valores  para  as  variáveis:   A=3,  B=4,  C=8.  Avalie  as  expressões  indicando  o  resultado  final:   T  /  F  •  A  >  3  AND  C  =  8                              •  A  <>  2  OR  B  <=  5  •  A  =  3  OR  B  >=  2  AND  C  =  8  •  A  =  3  AND  NOT  B  <=  4  AND  C  =  8  •  A  <>  8  OR  B  =  4  AND  C  >  2  •  B  >  A  AND  C  <>  A  •  A  >  B  OR  B  <  5    •  A  <>  B  AND  B  =  C  •  C  >  2  OR  A  <  B    •  A  >  B  OR  B  >  A  AND  C  <>  B       33

×