Lógica de programação


        Prof: Eduardo Rossit Paiossin
Conteúdo da aula
– Exercícios da ultima aula
– Considerações
– Algoritmos (tipos de representação)
  • Código natural
  • Fluxograma
  • Pseudo código
– Constantes e variáveis
     Conceitos
     Declaração
     Tipos
     Uso (Atribuições de valor)
Exercícios da aula passada
1) Crie uma seqüência lógica para tomar banho.
        – Entrar no banheiro
        – Tirar a roupa
        – Entrar no box
        – Abrir a torneira do chuveiro
        – Entrar na água
        – Ensaboar-se
        – Sair da água
        – Fechar a torneira
        – Sair do box
        – Enxugar-se
        – Vestir-se
Refinando o Algoritmo
        (RELEMBRANDO)
• Ação Primitiva: É uma ação que não pode mais
   ser refinada.
• Ação não Primitiva: É uma ação que pode ser
   refinada ainda mais. Ela deve ser refinada até
   virar uma ação primitiva.
• EX:
Ref. Entrar no banheiro
      Abrir a porta
      Passar pela porta
      Fechar a porta
fim-ref.
Considerações
• Vimos que ALGORITMO é uma seqüência
  lógica de instruções que podem ser
  executadas.
• É importante ressaltar que qualquer tarefa
  que siga determinado padrão pode ser
  descrita por um algoritmo.
Dicas
• Para escrever um algoritmo precisamos descrever a
  seqüência de instruções, de maneira simples e objetiva.
  Para isso utilizaremos algumas técnicas:
   – Usar somente um verbo por frase
   – Imaginar que você está desenvolvendo um algoritmo
     para pessoas que não trabalham
   – com informática
   – Usar frases curtas e simples
   – Ser objetivo
   – Procurar usar palavras que não tenham sentido dúbio
Dicas
• Ao montar um algoritmo, precisamos dividir o
  problema    apresentado  em     três   fases
  fundamentais.




• ENTRADA: São os dados de entrada do algoritmo
• PROCESSAMENTO: São os procedimentos
  utilizados para chegar ao resultado final
• SAÍDA: São os dados já processados
Algoritmo (tipos de representação)
•       Existem    diversas     formas       de
     representação de algoritmos, mas não há
     um consenso com relação à melhor delas.

•       Dentre as formas de representação de
     algoritmos mais conhecidas podemos citar:

•      Descrição Narrativa
•      Fluxograma
•      Pseudocódigo
Algoritmo (tipos de representação)

• Descrição narrativa ou descrição natural :
• Nesta forma de representação os algoritmos
   são expressos diretamente em linguagem
   natural.
• Esta representação é pouco usada na prática
  porque o uso da linguagem natural muitas vezes
  dá oportunidade a más interpretações,
  ambigüidades e imprecisões.
Algoritmo (tipos de representação)

• Por exemplo, a instrução "afrouxar
  ligeiramente as porcas" no algoritmo da
  troca    de    pneus    está    sujeita  a
  interpretações diferentes por pessoas
  distintas. Uma instrução mais precisa
  seria: "afrouxar a porca, girando-a 30º no
  sentido anti-horário".
•     Usadas por nós até agora para a
   resolução dos problemas.
Algoritmo (tipos de
           representação)
•      Fluxograma: É uma representação
    gráfica de algoritmos que emprega
    formas geométricas padronizadas para
    indicar as diversa ações e decisões que
    devem ser executadas para resolver um
    problema. Tal propriedade facilita o
    entendimento das idéias contidas nos
    algoritmos e justifica sua popularidade.
Algoritmo (tipos de
           representação)
•      Esta forma é aproximadamente
    intermediária à descrição narrativa e ao
    pseudocódigo (subitem seguinte), pois é
    menos imprecisa que a primeira e, no
    entanto, não se preocupa com detalhes
    de implementação do programa, como o
    tipo das variáveis usadas.
Algoritmo (tipos de representação)
• Formas geométricas do Fluxograma:
Algoritmo (tipos de representação)
•   Existem mais expressões geométricas
  na composição de fluxograma.
•   Para representar a saída de dados
  para o monitor usamos uma figura
  geométrica diferente da de uma saída de
  dados por meio de uma impressora.
•   No momento não vamos nos preocupar
  com isso. O intuito ainda é a
  compreensão da lógica e do fluxo básico
  das informações.
Pseudocódigo ou portugol:
• Esta forma de representação de
  algoritmos é rica em detalhes, como a
  definição dos tipos das variáveis usadas
  no algoritmo. Por assemelhar-se bastante
  à forma em que os programas são
  escritos, encontra muita aceitação
Pseudocódigo ou portugol:
• Este nome é uma alusão à posterior
  implementação em uma linguagem de
  programação, ou seja, quando
• formos programar em uma linguagem, por
  exemplo Visual Basic, estaremos gerando
  código em
• Visual Basic. Por isso os algoritmos são
  independentes    das    linguagens    de
  programação.
Algoritmo (tipos de representação)

•     Pseudocódigo:
• Na verdade, esta representação é
  suficientemente geral para permitir a
  tradução    de   um     algoritmo   nela
  representado para uma linguagem de
  programação específica seja praticamente
  direta.
Pseudocódigo
• A forma geral da representação de um
  algoritmo na forma de pseudocódigo é a
  seguinte:
Algoritmo <nome_do_algoritmo>
            <declaração_de_variáveis>
            <subalgoritmos>
Início
     <corpo do algoritmo>
Fim
Pseudocódigo
• Algoritmo é uma palavra que indica o início da
  definição de um algoritmo em forma de pseudocódigo.
• <nome_do_algoritmo> é um nome simbólico dado ao
  algoritmo com a finalidade de distingui-los dos demais.
• <declaração_de_variáveis> consiste em uma porção
  opcional onde são declaradas as variáveis globais
  usadas no algoritmo principal e, eventualmente, nos
  subalgoritmos.
• <subalgoritmos> consiste de uma porção opcional do
  pseudocódigo onde são definidos os subalgoritmos.
• Início e Fim são respectivamente as palavras que
  delimitam o início e o término do conjunto de instruções
  do corpo do algoritmo
Exercícios
• 1) Identifique os dados de entrada,
  processamento e saída no algoritmo
  abaixo
• Receba código da peça
• Receba valor da peça
• Receba 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
Constantes e variáveis
          (Conceito)
•     Variáveis e constantes são os
   elementos básicos que um programa
   manipula.
• Constante: Constante é um determinado
  valor fixo que não se modifica ao longo do
  tempo, durante a execução de um
  programa.
Constantes e variáveis
         (Conceito)
• Conforme o seu tipo, a constante é
  classificada como sendo numérica,
• lógica e literal.
• Encontre a constante na equação
  abaixo:
                  (N1+N2+N3)/3
Constantes e variáveis
         (Conceito)
• Variável: Variável é a representação
  simbólica dos elementos de um certo
  conjunto. Cada variável corresponde a
  uma posição de memória, cujo conteúdo
  pode se alterado ao longo do tempo
Constantes e variáveis
         (Conceito)
• durante a execução de um programa.
  Embora uma variável possa assumir
  diferentes valores, ela
• só pode armazenar um valor a cada
  instante.
• Exemplo: Total = Produto * Quantidade

                  variáveis
Constantes e variáveis

• Exemplo:
               Nome = “João”




                    Conteúdo   da   variável
 (neste instante)
       Variável
Constantes e variáveis
            (Tipos)
• As variáveis e as constantes podem ser
  basicamente de quatro tipos: Numéricas,
  Literais ou lógicas.
• Numéricas:          Específicas   para
  armazenamento       de   números,  que
  posteriormente poderão ser
• utilizados para cálculos. (sejam eles
  positivos ou negativos)
Constantes e variáveis
            (Tipos)

• Literais: Também são conhecidas como
  alfanuméricas. São um conjunto de
  cracteres (letras, dígitos ou símbolos
  especiais: -,%&*; etc)
• Lógicas: Armazenam somente dados
  lógicos como, por exemplo, Verdadeiro ou
  Falso.
Declaração de variáveis
• As variáveis devem ser declaradas no
  início do algoritmo. Assim o computador
  reserva um espaço na memória para cada
  uma delas.
• Exemplo:
    Início
        NOME: literal
        IDADE, CEP: numérico
    fim
Declaração de variáveis
         (Observações)
• Como boa prática de programação o
  identificador (nome) de uma variável deve
  sempre fazer referência (lembrar) ao seu
  conteúdo.
• O nome da variável pode ser formado por um ou
  mais caracteres e deve sempre estar em letras
  maiúsculas. O primeiro caractere deve ser,
  obrigatoriamente, uma letra e os caracteres
  seguintes podem ser letras e números. Não é
  permitido o uso de símbolos gráficos e de
  pontuação (/,.-!@#$%&*()|^~?[]{}¨:;), exceto o
  sinal _
Declaração de variáveis
         (Observações)
• Uma variável possui: Identificador, Tipo de dado
  e dado Armazenado

EX:PESSOA: literal (identificador e tipo de dado)
 PESSOA <- “Maria” (Dado armazenado)
Atribuição de valores
• Atribuir um valor a uma variável é
  armazenar uma constante em uma
  variável.
• Tanto no Pseudocódigo, no fluxograma
  quanto no diagrama de Chapin usamos (
  <- ) para indicar uma atribuição.
Atribuição de valores
• Veja o exemplo de atribuição           no
  pseudocódigo:
inicio
      PESSOA: literal {nome da pessoa}
       IDADE: numérico
       PESSOA: <- “Maria”
       IDADE: <- 26
fim
Exercícios
1) Identifique de que tipo são as constantes a seguir.


  a)   "Limão”                g)   "23/12/99"
  b)   34857                  h)   verdadeiro
  c)   "verdadeiro"           i)   "NOME"
  d)   falso                  j)   0,5
  e)   "304958"
  f)   -2343
Exercícios
Exercícios
1. Verifique se os identificadores a seguir são válidos. Se
não forem, explique por quê.
a) NOME-DO-ALUNO                h) MAIOR_DE_IDADE?
b) $
                              i) NOME_DA_PESSOA
c) DINHEIRO
                              j) END
d) DATA/DE/NASCIMENTO
                              k) %JUROS
e) verdadeiro
f) NOME2                      l) M239083

g) 2APESSOA
Exercícios
1. Verifique se os identificadores a seguir são válidos. Se
não forem, explique por quê.
Comandos de Entrada e Saída
• Na elaboração do algoritmo incluem-se os
  comandos de entrada e de saída de
  dados. Os dados entram no computador
  (“são lidos”) por meios dos códigos de
  barras, teclado, mouse, .... E saem dele
  (“são escritos”) por meio de impressora
  monitor, som, ....
Entrada de dados: comando leia
• leia <lista_de_identificadores>
• Exemplo
  inicio
    PESSOA: literal
    leia PESSOA
  fim
Saída de dados: comando escreva
• escreva <lista_de_identificadores>
• Exemplo
  inicio
    PESSOA: literal
    leia PESSOA
    escreva PESSOA
  fim
Utilizando Labels
• Exemplo
  inicio
     PESSOA: literal
     leia “Digite o nome da pessoa”, PESSOA
     escreva “O nome da pessoa digitado foi: “, PESSOA
  fim
Exercícios
1) Fazer um algoritmo simples para ler as
   informações do cadastro de fornecedores
   contendo: código, Razão social, Nome
   fantasia, cnpj, inscrição estadual, cep,
   cidade, estado, logradouro, número,
   telefone, contato, email, site.
2) Fazer um fluxograma com a mesma
   finalidade do exercício anterior
Exercícios
2) Faça um pseudocódigo para “Calcular o
  estoque médio de uma peça”, sendo que
ESTOQUEMÉDIO          =    (QUANTIDADE
  MÍNIMA + QUANTIDADE MÁXIMA) /2
3) Construa um fluxograma que :
  – Leia a cotação do dólar
  – Leia um valor em dólares
  – Converta esse valor para Real
  – Mostre o resultado
Bibliografia


• Para a preparação da aula foi utilizado o
  livro do curso entregue pelo SENAC

Aula02

  • 1.
    Lógica de programação Prof: Eduardo Rossit Paiossin
  • 2.
    Conteúdo da aula –Exercícios da ultima aula – Considerações – Algoritmos (tipos de representação) • Código natural • Fluxograma • Pseudo código – Constantes e variáveis  Conceitos  Declaração  Tipos  Uso (Atribuições de valor)
  • 3.
    Exercícios da aulapassada 1) Crie uma seqüência lógica para tomar banho. – Entrar no banheiro – Tirar a roupa – Entrar no box – Abrir a torneira do chuveiro – Entrar na água – Ensaboar-se – Sair da água – Fechar a torneira – Sair do box – Enxugar-se – Vestir-se
  • 4.
    Refinando o Algoritmo (RELEMBRANDO) • Ação Primitiva: É uma ação que não pode mais ser refinada. • Ação não Primitiva: É uma ação que pode ser refinada ainda mais. Ela deve ser refinada até virar uma ação primitiva. • EX: Ref. Entrar no banheiro Abrir a porta Passar pela porta Fechar a porta fim-ref.
  • 5.
    Considerações • Vimos queALGORITMO é uma seqüência lógica de instruções que podem ser executadas. • É importante ressaltar que qualquer tarefa que siga determinado padrão pode ser descrita por um algoritmo.
  • 6.
    Dicas • Para escreverum algoritmo precisamos descrever a seqüência de instruções, de maneira simples e objetiva. Para isso utilizaremos algumas técnicas: – Usar somente um verbo por frase – Imaginar que você está desenvolvendo um algoritmo para pessoas que não trabalham – com informática – Usar frases curtas e simples – Ser objetivo – Procurar usar palavras que não tenham sentido dúbio
  • 7.
    Dicas • Ao montarum algoritmo, precisamos dividir o problema apresentado em três fases fundamentais. • ENTRADA: São os dados de entrada do algoritmo • PROCESSAMENTO: São os procedimentos utilizados para chegar ao resultado final • SAÍDA: São os dados já processados
  • 8.
    Algoritmo (tipos derepresentação) • Existem diversas formas de representação de algoritmos, mas não há um consenso com relação à melhor delas. • Dentre as formas de representação de algoritmos mais conhecidas podemos citar: • Descrição Narrativa • Fluxograma • Pseudocódigo
  • 9.
    Algoritmo (tipos derepresentação) • Descrição narrativa ou descrição natural : • Nesta forma de representação os algoritmos são expressos diretamente em linguagem natural. • Esta representação é pouco usada na prática porque o uso da linguagem natural muitas vezes dá oportunidade a más interpretações, ambigüidades e imprecisões.
  • 10.
    Algoritmo (tipos derepresentação) • Por exemplo, a instrução "afrouxar ligeiramente as porcas" no algoritmo da troca de pneus está sujeita a interpretações diferentes por pessoas distintas. Uma instrução mais precisa seria: "afrouxar a porca, girando-a 30º no sentido anti-horário". • Usadas por nós até agora para a resolução dos problemas.
  • 11.
    Algoritmo (tipos de representação) • Fluxograma: É uma representação gráfica de algoritmos que emprega formas geométricas padronizadas para indicar as diversa ações e decisões que devem ser executadas para resolver um problema. Tal propriedade facilita o entendimento das idéias contidas nos algoritmos e justifica sua popularidade.
  • 12.
    Algoritmo (tipos de representação) • Esta forma é aproximadamente intermediária à descrição narrativa e ao pseudocódigo (subitem seguinte), pois é menos imprecisa que a primeira e, no entanto, não se preocupa com detalhes de implementação do programa, como o tipo das variáveis usadas.
  • 13.
    Algoritmo (tipos derepresentação) • Formas geométricas do Fluxograma:
  • 14.
    Algoritmo (tipos derepresentação) • Existem mais expressões geométricas na composição de fluxograma. • Para representar a saída de dados para o monitor usamos uma figura geométrica diferente da de uma saída de dados por meio de uma impressora. • No momento não vamos nos preocupar com isso. O intuito ainda é a compreensão da lógica e do fluxo básico das informações.
  • 15.
    Pseudocódigo ou portugol: •Esta forma de representação de algoritmos é rica em detalhes, como a definição dos tipos das variáveis usadas no algoritmo. Por assemelhar-se bastante à forma em que os programas são escritos, encontra muita aceitação
  • 16.
    Pseudocódigo ou portugol: •Este nome é uma alusão à posterior implementação em uma linguagem de programação, ou seja, quando • formos programar em uma linguagem, por exemplo Visual Basic, estaremos gerando código em • Visual Basic. Por isso os algoritmos são independentes das linguagens de programação.
  • 17.
    Algoritmo (tipos derepresentação) • Pseudocódigo: • Na verdade, esta representação é suficientemente geral para permitir a tradução de um algoritmo nela representado para uma linguagem de programação específica seja praticamente direta.
  • 18.
    Pseudocódigo • A formageral da representação de um algoritmo na forma de pseudocódigo é a seguinte: Algoritmo <nome_do_algoritmo> <declaração_de_variáveis> <subalgoritmos> Início <corpo do algoritmo> Fim
  • 19.
    Pseudocódigo • Algoritmo éuma palavra que indica o início da definição de um algoritmo em forma de pseudocódigo. • <nome_do_algoritmo> é um nome simbólico dado ao algoritmo com a finalidade de distingui-los dos demais. • <declaração_de_variáveis> consiste em uma porção opcional onde são declaradas as variáveis globais usadas no algoritmo principal e, eventualmente, nos subalgoritmos. • <subalgoritmos> consiste de uma porção opcional do pseudocódigo onde são definidos os subalgoritmos. • Início e Fim são respectivamente as palavras que delimitam o início e o término do conjunto de instruções do corpo do algoritmo
  • 20.
    Exercícios • 1) Identifiqueos dados de entrada, processamento e saída no algoritmo abaixo • Receba código da peça • Receba valor da peça • Receba 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
  • 21.
    Constantes e variáveis (Conceito) • Variáveis e constantes são os elementos básicos que um programa manipula. • Constante: Constante é um determinado valor fixo que não se modifica ao longo do tempo, durante a execução de um programa.
  • 22.
    Constantes e variáveis (Conceito) • Conforme o seu tipo, a constante é classificada como sendo numérica, • lógica e literal. • Encontre a constante na equação abaixo: (N1+N2+N3)/3
  • 23.
    Constantes e variáveis (Conceito) • Variável: Variável é a representação simbólica dos elementos de um certo conjunto. Cada variável corresponde a uma posição de memória, cujo conteúdo pode se alterado ao longo do tempo
  • 24.
    Constantes e variáveis (Conceito) • durante a execução de um programa. Embora uma variável possa assumir diferentes valores, ela • só pode armazenar um valor a cada instante. • Exemplo: Total = Produto * Quantidade variáveis
  • 25.
    Constantes e variáveis •Exemplo: Nome = “João” Conteúdo da variável (neste instante) Variável
  • 26.
    Constantes e variáveis (Tipos) • As variáveis e as constantes podem ser basicamente de quatro tipos: Numéricas, Literais ou lógicas. • Numéricas: Específicas para armazenamento de números, que posteriormente poderão ser • utilizados para cálculos. (sejam eles positivos ou negativos)
  • 27.
    Constantes e variáveis (Tipos) • Literais: Também são conhecidas como alfanuméricas. São um conjunto de cracteres (letras, dígitos ou símbolos especiais: -,%&*; etc) • Lógicas: Armazenam somente dados lógicos como, por exemplo, Verdadeiro ou Falso.
  • 28.
    Declaração de variáveis •As variáveis devem ser declaradas no início do algoritmo. Assim o computador reserva um espaço na memória para cada uma delas. • Exemplo: Início NOME: literal IDADE, CEP: numérico fim
  • 29.
    Declaração de variáveis (Observações) • Como boa prática de programação o identificador (nome) de uma variável deve sempre fazer referência (lembrar) ao seu conteúdo. • O nome da variável pode ser formado por um ou mais caracteres e deve sempre estar em letras maiúsculas. O primeiro caractere deve ser, obrigatoriamente, uma letra e os caracteres seguintes podem ser letras e números. Não é permitido o uso de símbolos gráficos e de pontuação (/,.-!@#$%&*()|^~?[]{}¨:;), exceto o sinal _
  • 30.
    Declaração de variáveis (Observações) • Uma variável possui: Identificador, Tipo de dado e dado Armazenado EX:PESSOA: literal (identificador e tipo de dado) PESSOA <- “Maria” (Dado armazenado)
  • 31.
    Atribuição de valores •Atribuir um valor a uma variável é armazenar uma constante em uma variável. • Tanto no Pseudocódigo, no fluxograma quanto no diagrama de Chapin usamos ( <- ) para indicar uma atribuição.
  • 32.
    Atribuição de valores •Veja o exemplo de atribuição no pseudocódigo: inicio PESSOA: literal {nome da pessoa} IDADE: numérico PESSOA: <- “Maria” IDADE: <- 26 fim
  • 33.
    Exercícios 1) Identifique deque tipo são as constantes a seguir. a) "Limão” g) "23/12/99" b) 34857 h) verdadeiro c) "verdadeiro" i) "NOME" d) falso j) 0,5 e) "304958" f) -2343
  • 34.
  • 35.
    Exercícios 1. Verifique seos identificadores a seguir são válidos. Se não forem, explique por quê. a) NOME-DO-ALUNO h) MAIOR_DE_IDADE? b) $ i) NOME_DA_PESSOA c) DINHEIRO j) END d) DATA/DE/NASCIMENTO k) %JUROS e) verdadeiro f) NOME2 l) M239083 g) 2APESSOA
  • 36.
    Exercícios 1. Verifique seos identificadores a seguir são válidos. Se não forem, explique por quê.
  • 37.
    Comandos de Entradae Saída • Na elaboração do algoritmo incluem-se os comandos de entrada e de saída de dados. Os dados entram no computador (“são lidos”) por meios dos códigos de barras, teclado, mouse, .... E saem dele (“são escritos”) por meio de impressora monitor, som, ....
  • 38.
    Entrada de dados:comando leia • leia <lista_de_identificadores> • Exemplo inicio PESSOA: literal leia PESSOA fim
  • 39.
    Saída de dados:comando escreva • escreva <lista_de_identificadores> • Exemplo inicio PESSOA: literal leia PESSOA escreva PESSOA fim
  • 40.
    Utilizando Labels • Exemplo inicio PESSOA: literal leia “Digite o nome da pessoa”, PESSOA escreva “O nome da pessoa digitado foi: “, PESSOA fim
  • 41.
    Exercícios 1) Fazer umalgoritmo simples para ler as informações do cadastro de fornecedores contendo: código, Razão social, Nome fantasia, cnpj, inscrição estadual, cep, cidade, estado, logradouro, número, telefone, contato, email, site. 2) Fazer um fluxograma com a mesma finalidade do exercício anterior
  • 42.
    Exercícios 2) Faça umpseudocódigo para “Calcular o estoque médio de uma peça”, sendo que ESTOQUEMÉDIO = (QUANTIDADE MÍNIMA + QUANTIDADE MÁXIMA) /2 3) Construa um fluxograma que : – Leia a cotação do dólar – Leia um valor em dólares – Converta esse valor para Real – Mostre o resultado
  • 43.
    Bibliografia • Para apreparação da aula foi utilizado o livro do curso entregue pelo SENAC