SlideShare uma empresa Scribd logo
1 de 58
Baixar para ler offline
Gestão de Tecnologia da Informação



            Conceitos e Técnicas de
                Programação




    Profº Ms. Tarcísio Júnior

1
Conceitos e Técnicas de Programação




    Representação de Algoritmos




2
Representação de Algoritmos
    Linguagem Natural
    A representação de algoritmos através de linguagem natural é a
    forma mais espontânea de representação de algoritmos, pois
    descrevemos os passos do algoritmo utilizando o nosso linguajar
    quotidiano, escrevendo o algoritmo como um texto simples.

    Por exemplo, queremos resolver o seguinte problema:
    Calcular a média de todos os alunos que cursaram uma disciplina X,
    a partir da leitura das notas da 1ª e 2ª prova, passando por um
    cálculo de média aritmética. Após a média calculada, devemos
    anunciar se aluno foi aprovado ou reprovado por nota. Somente
    estão aprovados alunos com média maior ou igual a 5,0.



3
Representação de Algoritmos

    Representação do algoritmo em linguagem natural
    Para todos os alunos da disciplina X, faça: ler as notas da 1ª e 2ª
    prova, somar as notas e dividir por dois, chegando assim, ao
    resultado da média do aluno. Se a média do aluno for maior ou igual
    a 5,0, então o aluno está aprovado, senão o aluno está reprovado.
    Fazer para o próximo aluno.

    O problema da representação de algoritmos com linguagem natural
    é que quanto maior a complexidade do problema, maior a
    dificuldade de entendermos o texto que procura descrever os
    passos do algoritmo, pois não se emprega nenhum recurso
    diagramático, e não há uma rigidez na estruturação das ações.



4
Representação de Algoritmos

    Pseudocódigo
    O pseudocódigo vem sendo amplamente utilizado por projetistas de
    software e programadores, pois obriga o uso de estruturas que
    facilitam o entendimento do algoritmo, e também facilitam a
    transformação do mesmo em códigos reais.
    O pseudocódigo também recebe outros nomes, como: português
    estruturado, PDL (Program Design Language), etc..
    Utilizaremos neste curso o pseudocódigo como a forma de
    representação padrão para algoritmos.




5
Representação de Algoritmos
     O PSEUDOCÓDIGO será utilizado na disciplina. Por
      que?

       Facilita o desenvolvimento dos algoritmos;
       Facilita o seu entendimento pelo ser humano;
       Antecipa à depuração (localização de erros) em sua
        lógica;
       Facilita a sua manutenção e modificação;
       Facilita e agiliza a sua codificação (escrita do
        programa);
       Permite o desenvolvimento simultâneo de vários
        profissionais (trabalho em equipe).




6
Pseudocódigo do exemplo anterior
    Início
    variáveis
      nota1, nota2, media: real
    fim-variáveis

    Início
             Leia (nota1)
             Leia (nota2)
             media = (nota1 + nota2) / 2
             Se media >= 5,0 entao
             Início
                 Escreva (“Aluno aprovado”)
             Fim
             Senão
             Início
                 Escreva (“Aluno reprovado”)
             Fim
    Fim


7
Representação de Algoritmos
    Outro exemplo:
            algoritmo Soma

            variáveis
                    N1,N2,Soma: inteiro
            fim-variáveis

            início
                   escreva("Entre com o primeiro número")
                   leia(N1)
                   escreva("Entre com o segundo número")
                   leia (N2)
                   Soma  (N1+N2)
                   escreva("A soma dos números é: ", Soma)
            fimAlgoritmo

8
Exemplo de Algoritmo
    Imagine o seguinte problema: Calcular a média final dos alunos da 3ª
    Série. Os alunos realizarão quatro provas: P1, P2, P3 e P4.

    Onde:

    Média Final =

    Para montar o algoritmo proposto, faremos três perguntas:
     a) Quais são os dados de entrada?
     R: Os dados de entrada são P1, P2, P3 e P4
     b) Qual será o processamento a ser utilizado?
     R: O procedimento será somar todos os dados de entrada e dividi-
    los por 4 (quatro)




9
Exemplo de Algoritmo

 c) Quais serão os dados de saída?
 R: O dado de saída será a média final

 Algoritmo

     Receba a nota da prova1
     Receba a nota de prova2
     Receba a nota de prova3
     Receba a nota da prova4
     Some todas as notas e divida o resultado por 4
     Mostre o resultado da divisão




10
Teste de mesa

     Após desenvolver um algoritmo ele deverá sempre ser testado.
     Este teste é chamado de TESTE DE MESA, que significa, seguir
     as instruções do algoritmo de maneira precisa para verificar se o
     procedimento utilizado está correto ou não.

     Veja o exemplo:

     Nota da Prova 1
     Nota da Prova 2
     Nota da Prova 3
     Nota da Prova 4




11
Teste de mesa
 Utilize a tabela abaixo:




12
Conceitos e Técnicas de Programação




     Linguagens de Programação




13
Linguagem de programação


     • Estabelece regras de sintaxe para que o
       algoritmo possa ser entendido por uma
       máquina.




14
Algoritmo × Linguagem de Programação




     Raciocínio



                                int a, b, c;
                                if (a > 2)
                  Algoritmo     a = b + c;
                                else
                                a = b – c;
                                return;

                                      Programa
15
Programa


     • Programa é a codificação de um algoritmo em
       uma linguagem de programação.
     • Um computador é uma máquina que, a partir de
       uma entrada, realiza um número de cálculos
       matemáticos e lógicos, gerando uma saída.
     • Programa é o elemento que diz ao computador
       quais cálculos devem ser realizados.




16
Características


     • Sua principal característica é a utilização
       de blocos para solução de um problema.




17
Relembrando...

     Passos para elaboração de um programa:
     1.   Compreender o problema.
     2.   Esboçar um procedimento para resolver o problema.
     3.   Formular o algoritmo.
     4.   Traduzir o algoritmo para uma linguagem de
          programação (codificação).




18
Passos para elaboração de um programa

                    Exemplo

     • Calcular as raízes reais de:
                        2
                     ax + bx + c




19
1. Compreender o problema


     • Exemplo: Equação de 2o. grau
     • Possibilidades de raízes:
        02 raízes complexas;
        02 raízes reais idênticas;

        02 raízes reais distintas;

     • Condição para haver raízes reais: ∆ ≥ 0




20
2. Esboçar um procedimento para
                  resolver o problema




     • Calcular ∆.
     • Se ∆ ≥ 0, calcular raízes reais.
     • Caso contrário, informar que não há raízes
       reais.




21
3. Formular o algoritmo

     ler(a,b,c)
     delta = b^2 – 4*a*c
     se (delta ≥ 0) então
         r1 = – b – (delta)^(–1/2)
         r2 = – b + (delta)^(–1/2)
         escrever(r1,r2)
      senão
          escrever(“Não há raiz real”)
      fim do se
      fim do algoritmo




22
4. Codificar

     #include <stdio.h>
     #include <stdlib.h>
     #include <math.h>
     int main(void)
     {
          float a, b, c, delta, r1, r2;
          scanf("%f %f %f", &a, &b, &c);
          delta = b*b – 4*a*c;
          if (delta >= 0)
          {
               r1 = – b – sqrt(delta);
               r2 = – b + sqrt(delta);
               printf("r1 = %f n r2 = %f", r1, r2);
          }
          else
               printf("Nao ha raiz realn");
     }
23
Gerando um programa executável


     • Passos básicos para gerar um programa
       executável:
      A. Codificação
      B. Geração de Código Objeto
      C. Depuração (debug)




24
Gerando um programa executável


     Codificação
                          Código                                     Depuração
                           fonte

                                   Geração de código objeto




                          Código
                          objeto




                                                              Programa
                                                              Executável



25
Gerando um programa executável
                   A. Codificação


     • É a escrita de um programa de acordo com
       uma linguagem de programação.
     • Utiliza Editores de Texto.
     • Resultado: código-fonte.




26
Gerando um programa executável
                    B. Tradução




     • Tradução do código-fonte para o código de
       máquina do processador.
     • Realizado pelos Compiladores.
     • Resultado: código executável pelo
       processador.



27
Gerando um programa executável
                C. Depuração (debug)



     • Auxilia o programador a eliminar erros dos
       programas (“bugs”).
     • Permite:
        execução passo-a-passo.
        visualização do estado do programa através
         das variáveis.



28
Conceitos e Técnicas de Programação



     Representações de Algoritmos




29
Pseudo-código (Portugol)


     • Características:
       – Sintaxe mais simples que a de uma
         Linguagem de Programação.
       – Ênfase nas idéias e não nos detalhes.
       – Facilita construir um programa em Linguagem
         de Programação.




30
Pseudo-código (Portugol)


     •   Ingredientes: farinha, açúcar, leite
     •   Separar os ingredientes
     •   Misturar os ingredientes
     •   Colocar massa no forno
     •   Esperar assar por 30 minutos
     •   Retirar bolo do forno



31
Elementos básicos de um algoritmo


     algoritmo <nome_do_algoritmo>
        <declarações de variáveis>




        <comandos>



     Fim




32
Elementos básicos de um algoritmo
                           :: Exemplo

     Algoritmo perimetro_circunferência
             // declaração de constantes e variáveis
             // comandos
       fim




33
Elementos básicos de um algoritmo
                            :: Exemplo
     Algoritmo perimetro_circunferência
             // declaração de constantes e variáveis
             const pi                = 3,1415
             raio: real
             perim: real
           // comandos
             leia (raio)
             perim = 2 * pi * raio
             escrever (perim)
     fim


34
Elementos básicos de um algoritmo


     •   Dados (variáveis e constantes)
     •   Tipos de dados
     •   Operadores
     •   Comandos
     •   Funções
     •   Comentários



35
Elementos básicos de um algoritmo ::
                                Exemplo
     Algoritmo perimetro_circunferência
             // declaração de variáveis
                                              dado constante
             const PI      = 3,1415
                   raio: real                 dado variável

                  perim: real
                                                tipo de dado

           // comandos                      comentário

             leia (raio)                  operador

             perim = 2 * PI * raio
             escrever (perim)
                                               função
     fim
36
Elementos básicos de um algoritmo
                         :: Dados

     • Dados Constantes
       – O valor de uma constante não se altera após sua
         definição.
       – Exemplos:
         • N_NEPERIANO = 2,7182
         • UNIVERSIDADE = ‘FPB'


     • Dados Variáveis
       – Elemento que têm a função de associar um nome a
         uma porção da memória onde um dado pode ser
         armazenado.


37
Elementos básicos de um algoritmo
                    :: Tipos de dados
     • Definem a natureza do dado, as operações que
       podem ser realizadas com o dado e o espaço a
       ser ocupado na memória.
     • Exemplos:
       –   Inteiro:                10         -5             -128
       –   Real (ponto flutuante): 1,34       13,4           -5,0
       –   String de caracteres: 'quarta-feira’ 'Abril‘
       –   Lógico:                 Verdadeiro(1)      Falso(0)




38
ALGORITMO NOME
     VARIAVEIS
      NOME: CARACTERE
     FIM VARIAVEIS

     INICIO
      ESCREVA(“Informe seu nome:”)
     LEIA (nome)

39
Elementos básicos de um algoritmo
                   :: Operadores


     •   Atribuição
     •   Aritméticos
     •   Relacionais
     •   Lógicos




40
Elementos básicos de um algoritmo
             :: Operador Atribuição

     • Utilizado para atribuir um valor a uma
       variável
         nome da variável               Valor




     • Notação:
       x1 ← 23; ( <-)
       temp ← x2;



41
Elementos básicos de um algoritmo
             :: Operadores Aritméticos

     • Dados de entrada: tipo numérico (int ou
       real(float))
     • Resultado: tipo numérico (int ou reail(float))
     • Exemplos:
        –   x_2     ← 2 + 3;
        –   alfa    ← 1 / 5;
        –   ang     ← 1 / 5.0;
        –   resto   ← 10 % 3;
        –   resto   ← 1 % 4;
        –   delta   ← 5 * 5 – 4 * 1 * 4;


42
Elementos básicos de um algoritmo
                                      :: Operadores Relacionais

       Utilizados para realizar comparações entre dois valores de 
       mesmo tipo primitivo.
       São comuns para a construção de equações.

     OPERADOR   OPERAÇÃO              EXEMPLO           RESULTADO
         =      Igual a                 1=2                 Falso
         >      Maior que               5>2               Verdadeiro
         <      Menor que               11 < 4              Falso
        >=      Maior ou Igual a        3 >= 3            Verdadeiro
        <=      Menor ou igual a        5<= 3               Falso
        <>      Diferente de          2 + 3 <> 5            Falso



43
Elementos básicos de um algoritmo
            :: Operadores Relacionais
     • Dados de entrada: tipo numérico (int ou float)
     • Resultado: tipo lógico
     • Exemplos:
       – cond1 ←      2 = 3;
       – cond2 ←      1.6 <> 5.0;
       – cond3 ←      1 > 5;
       – cond4 ←      (1 + 2) < 5;
       – cond5 ←      10 >= 3;
       – cond6 ←      1 <= (– 4 / 3);


44
Elementos básicos de um algoritmo
                    :: Operadores Lógicos

      Servem para combinar resultados de expressões,
      retornando se o resultado final é verdadeiro ou falso.

 OPERAÇÃO      SÍMBOLO DESCRICAO
CONJUNÇÃO      AND – E    Uma expressão AND (E) é verdadeira se todas as
                          condições forem verdadeiras
 DISJUNÇÃO      OR – ou   Uma expressão OR (OU) é verdadeira se pelo menos
                          uma condição for verdadeira
     NEGAÇÃO   NOT – não Uma expressão NOT (NÃO) inverte o valor da
                          expressão ou condição, se verdadeira inverte para
                          falsa e vice-versa.



45
Elementos básicos de um algoritmo
                 :: Operadores Lógicos

     TABELAS-VERDADE
        Conjunto de todas as possibilidades combinatórias entre os valores de
        diversas variáveis lógicas  apenas duas situações (V ou F).

        OPERAÇÃO DE NEGAÇÃO


           A                       não A

           F                         V

           V                         F




46
Elementos básicos de um algoritmo
                     :: Operadores Lógicos

     OPERAÇÃO DE CONJUNÇÃO       OPERAÇÃO DE DISJUNÇÃO




            A      B     AeB             A       B       A ou B

            F      F         F           F       F         F

            F      V         F           F       V         V

            V      F         F           V       F         V

            V      V         V           V       V         V




47
Elementos básicos de um algoritmo
                   :: Operadores Lógicos


     • Dados de entrada: tipo lógico
     • Resultado: tipo lógico
     • Exemplos:
       –   cond1   ←   V E F;
       –   cond2   ←   F OU F;
       –   cond3   ←   NÃO cond1;
       –   cond4   ←   (V E F) OU (5 > 3);




48
Elementos básicos de um algoritmo
                              :: Funções


     • Pré-definidas
     • Definidas pelo programador
     • Exemplos:
       –   seno(angulo)
       –   pow(x,y)
       –   sqrt(resto)
       –   exp(tempo)
       –   ler(var1,var2,...)
       –   escrever(resul1,result2,...)


49
Elementos básicos de um algoritmo
                      :: Comentários

     • Utilizados para descrever o algoritmo,
       esclarecendo trechos do código

     • Notação:
       – //
       – /* <comentário> */




50
Conceitos e Técnicas de Programação




      Algoritmos com qualidade




51
Algoritmos com qualidade


     • Devem ser feitos para serem lidos por
       seres humanos!

     • Escreva os comentários no momento em
       que estiver escrevendo o algoritmo.




52
Algoritmos com qualidade


     • Os comentários devem acrescentar alguma
       coisa, e não frasear o comando:

        // Multiplicação de b por h:
        area ← b * h;




        // Cálculo da área do retângulo:
        area ← b * h;




53
Algoritmos com qualidade


     • Use comentários no prólogo:

        /*****************************************
        UNPBFPB
        SEU NOME AQUI
        DATA: 28/02/2012
        ÚLTIMA MODIFICAÇÃO: 28/02/2012

        ALGORITMO DE DEMONSTRAÇÃO
        *****************************************/




54
Algoritmos com qualidade


     • Use espaços em branco para melhorar a
       legibilidade:


        hip←sqrt(cat1*cat1+cat2*cat2);




        hip ← sqrt(cat1 * cat1 + cat2 * cat2);




55
Algoritmos com qualidade


     • Escolha nomes representativos para as
       variáveis:


          p ← c + l;




          preco ← custo + lucro;



56
Algoritmos com qualidade


     • Utilize um comando por linha.

     • Utilize parênteses para melhorar a
       compreensão e evitar erros.

     • Utilize identação (recuo de texto).




57
Exercício

     1. Escreva um algoritmo para ler um número
        inteiro e imprimir seu sucessor e seu
        antecessor.

     Possível solução:
     1. Ler um número inteiro
     2. Imprimir seu sucessor
     3. Imprimir seu antecessor

                                                  58

58

Mais conteúdo relacionado

Mais procurados

Algoritmos e Técnicas de Programação - Aula 01
Algoritmos e Técnicas de Programação - Aula 01Algoritmos e Técnicas de Programação - Aula 01
Algoritmos e Técnicas de Programação - Aula 01thomasdacosta
 
Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08André Phillip Bertoletti
 
Programação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso CompletoProgramação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso Completothomasdacosta
 
Apostila programação "pascalzim"
Apostila programação "pascalzim"Apostila programação "pascalzim"
Apostila programação "pascalzim"deniscody
 
Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04thomasdacosta
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação12anogolega
 
Maratona de Programação
Maratona de ProgramaçãoMaratona de Programação
Maratona de ProgramaçãoMarcos Castro
 
As cinco etapas da programação
As cinco etapas da programaçãoAs cinco etapas da programação
As cinco etapas da programaçãoClausia Antoneli
 
Programação Estruturada 2 - Aula 01
Programação Estruturada 2 - Aula 01Programação Estruturada 2 - Aula 01
Programação Estruturada 2 - Aula 01thomasdacosta
 
Programação Estruturada 2 - Aula 06
Programação Estruturada 2 - Aula 06Programação Estruturada 2 - Aula 06
Programação Estruturada 2 - Aula 06thomasdacosta
 
Algoritmos e Técnicas de Programação - Aula 02
Algoritmos e Técnicas de Programação - Aula 02Algoritmos e Técnicas de Programação - Aula 02
Algoritmos e Técnicas de Programação - Aula 02thomasdacosta
 
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOCURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOMicrosoft
 
Aula 2 - Lógica de Programação
Aula 2 - Lógica de ProgramaçãoAula 2 - Lógica de Programação
Aula 2 - Lógica de ProgramaçãoInstituto CENTEC
 
Aula 10 - Equivalência Java x Portugol Studio - parte 2
Aula 10 - Equivalência Java x Portugol Studio - parte 2Aula 10 - Equivalência Java x Portugol Studio - parte 2
Aula 10 - Equivalência Java x Portugol Studio - parte 2Pacc UAB
 
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...tdc-globalcode
 
Apostila de Introdução aos Algoritmos - usando o Visualg
Apostila de Introdução aos Algoritmos - usando o VisualgApostila de Introdução aos Algoritmos - usando o Visualg
Apostila de Introdução aos Algoritmos - usando o VisualgRegis Magalhães
 
Dicas para maratonas de programação
Dicas para maratonas de programaçãoDicas para maratonas de programação
Dicas para maratonas de programaçãoAnderson Araújo
 
Lógica de Programação - Unimep/Pronatec - Aula01
Lógica de Programação - Unimep/Pronatec - Aula01Lógica de Programação - Unimep/Pronatec - Aula01
Lógica de Programação - Unimep/Pronatec - Aula01André Phillip Bertoletti
 
Lógica de Programação - Unimep/Pronatec - Aula04
Lógica de Programação - Unimep/Pronatec - Aula04Lógica de Programação - Unimep/Pronatec - Aula04
Lógica de Programação - Unimep/Pronatec - Aula04André Phillip Bertoletti
 

Mais procurados (20)

Algoritmos e Técnicas de Programação - Aula 01
Algoritmos e Técnicas de Programação - Aula 01Algoritmos e Técnicas de Programação - Aula 01
Algoritmos e Técnicas de Programação - Aula 01
 
Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08
 
Programação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso CompletoProgramação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso Completo
 
Apostila programação "pascalzim"
Apostila programação "pascalzim"Apostila programação "pascalzim"
Apostila programação "pascalzim"
 
Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação
 
Maratona de Programação
Maratona de ProgramaçãoMaratona de Programação
Maratona de Programação
 
As cinco etapas da programação
As cinco etapas da programaçãoAs cinco etapas da programação
As cinco etapas da programação
 
Programação Estruturada 2 - Aula 01
Programação Estruturada 2 - Aula 01Programação Estruturada 2 - Aula 01
Programação Estruturada 2 - Aula 01
 
Programação Estruturada 2 - Aula 06
Programação Estruturada 2 - Aula 06Programação Estruturada 2 - Aula 06
Programação Estruturada 2 - Aula 06
 
Algoritmos e Técnicas de Programação - Aula 02
Algoritmos e Técnicas de Programação - Aula 02Algoritmos e Técnicas de Programação - Aula 02
Algoritmos e Técnicas de Programação - Aula 02
 
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOCURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
 
Aula 2 - Lógica de Programação
Aula 2 - Lógica de ProgramaçãoAula 2 - Lógica de Programação
Aula 2 - Lógica de Programação
 
Aula 10 - Equivalência Java x Portugol Studio - parte 2
Aula 10 - Equivalência Java x Portugol Studio - parte 2Aula 10 - Equivalência Java x Portugol Studio - parte 2
Aula 10 - Equivalência Java x Portugol Studio - parte 2
 
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
 
Etapas da programação
Etapas da programaçãoEtapas da programação
Etapas da programação
 
Apostila de Introdução aos Algoritmos - usando o Visualg
Apostila de Introdução aos Algoritmos - usando o VisualgApostila de Introdução aos Algoritmos - usando o Visualg
Apostila de Introdução aos Algoritmos - usando o Visualg
 
Dicas para maratonas de programação
Dicas para maratonas de programaçãoDicas para maratonas de programação
Dicas para maratonas de programação
 
Lógica de Programação - Unimep/Pronatec - Aula01
Lógica de Programação - Unimep/Pronatec - Aula01Lógica de Programação - Unimep/Pronatec - Aula01
Lógica de Programação - Unimep/Pronatec - Aula01
 
Lógica de Programação - Unimep/Pronatec - Aula04
Lógica de Programação - Unimep/Pronatec - Aula04Lógica de Programação - Unimep/Pronatec - Aula04
Lógica de Programação - Unimep/Pronatec - Aula04
 

Destaque

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 03 introdução a redes - redes de computadores
Aula 03   introdução a redes - redes de computadoresAula 03   introdução a redes - redes de computadores
Aula 03 introdução a redes - redes de computadoresRobson Ferreira
 
Aula 02 introdução a redes - software de redes e serviços
Aula 02   introdução a redes - software de redes e serviçosAula 02   introdução a redes - software de redes e serviços
Aula 02 introdução a redes - software de redes e serviçosRobson Ferreira
 
Conceitos e técnicas de programação exercícios i respostas
Conceitos e técnicas de programação  exercícios i respostasConceitos e técnicas de programação  exercícios i respostas
Conceitos e técnicas de programação exercícios i respostasRobson Ferreira
 
Aula 05 informática aplicada - discos e sistemas de arquivos
Aula 05  informática aplicada - discos e sistemas de arquivosAula 05  informática aplicada - discos e sistemas de arquivos
Aula 05 informática aplicada - discos e sistemas de arquivosRobson Ferreira
 
Conceitos e técnicas de programação aula 5
Conceitos e técnicas de programação aula 5Conceitos e técnicas de programação aula 5
Conceitos e técnicas de programação aula 5Robson Ferreira
 
Introdução à programação em Android - Alcides Maya 16.04.2013
Introdução à programação em Android - Alcides Maya 16.04.2013Introdução à programação em Android - Alcides Maya 16.04.2013
Introdução à programação em Android - Alcides Maya 16.04.2013guisester
 
Introdução à programação em Android e iOS - Conceitos fundamentais de program...
Introdução à programação em Android e iOS - Conceitos fundamentais de program...Introdução à programação em Android e iOS - Conceitos fundamentais de program...
Introdução à programação em Android e iOS - Conceitos fundamentais de program...Luís Gustavo Martins
 
Inglês instrumental aula 8
Inglês instrumental aula 8Inglês instrumental aula 8
Inglês instrumental aula 8Robson Ferreira
 
Seminário linux robson e bruno melo
Seminário linux robson e bruno meloSeminário linux robson e bruno melo
Seminário linux robson e bruno meloRobson Ferreira
 
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...Manuel Menezes de Sequeira
 
Java - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a ObjetosJava - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a ObjetosMoises Omena
 
ESSBASE Series - Excel Add-in Essbase
ESSBASE Series - Excel Add-in EssbaseESSBASE Series - Excel Add-in Essbase
ESSBASE Series - Excel Add-in EssbaseCaio Lima
 
POO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de ClassePOO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de ClasseFelipe J. R. Vieira
 

Destaque (19)

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 03 introdução a redes - redes de computadores
Aula 03   introdução a redes - redes de computadoresAula 03   introdução a redes - redes de computadores
Aula 03 introdução a redes - redes de computadores
 
122172 1445
122172 1445122172 1445
122172 1445
 
Aula 02 introdução a redes - software de redes e serviços
Aula 02   introdução a redes - software de redes e serviçosAula 02   introdução a redes - software de redes e serviços
Aula 02 introdução a redes - software de redes e serviços
 
Conceitos e técnicas de programação exercícios i respostas
Conceitos e técnicas de programação  exercícios i respostasConceitos e técnicas de programação  exercícios i respostas
Conceitos e técnicas de programação exercícios i respostas
 
122172 1444
122172 1444122172 1444
122172 1444
 
Aula 05 informática aplicada - discos e sistemas de arquivos
Aula 05  informática aplicada - discos e sistemas de arquivosAula 05  informática aplicada - discos e sistemas de arquivos
Aula 05 informática aplicada - discos e sistemas de arquivos
 
Conceitos e técnicas de programação aula 5
Conceitos e técnicas de programação aula 5Conceitos e técnicas de programação aula 5
Conceitos e técnicas de programação aula 5
 
Aplicando logica orientada_a_objeto_em_java
Aplicando logica orientada_a_objeto_em_javaAplicando logica orientada_a_objeto_em_java
Aplicando logica orientada_a_objeto_em_java
 
Introdução à programação em Android - Alcides Maya 16.04.2013
Introdução à programação em Android - Alcides Maya 16.04.2013Introdução à programação em Android - Alcides Maya 16.04.2013
Introdução à programação em Android - Alcides Maya 16.04.2013
 
Introdução à programação em Android e iOS - Conceitos fundamentais de program...
Introdução à programação em Android e iOS - Conceitos fundamentais de program...Introdução à programação em Android e iOS - Conceitos fundamentais de program...
Introdução à programação em Android e iOS - Conceitos fundamentais de program...
 
Inglês instrumental aula 8
Inglês instrumental aula 8Inglês instrumental aula 8
Inglês instrumental aula 8
 
Seminário linux robson e bruno melo
Seminário linux robson e bruno meloSeminário linux robson e bruno melo
Seminário linux robson e bruno melo
 
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
 
Programação Orientada por Objectos - Aula 5
Programação Orientada por Objectos - Aula 5Programação Orientada por Objectos - Aula 5
Programação Orientada por Objectos - Aula 5
 
Java - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a ObjetosJava - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a Objetos
 
Ementa Humanidades
Ementa HumanidadesEmenta Humanidades
Ementa Humanidades
 
ESSBASE Series - Excel Add-in Essbase
ESSBASE Series - Excel Add-in EssbaseESSBASE Series - Excel Add-in Essbase
ESSBASE Series - Excel Add-in Essbase
 
POO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de ClassePOO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de Classe
 

Semelhante a Calcular média disciplina X

4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptx4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptxPatrícia Melo
 
mod1-algoritmia
mod1-algoritmiamod1-algoritmia
mod1-algoritmiadiogoa21
 
02 Introdução à programação.pptx
02 Introdução à programação.pptx02 Introdução à programação.pptx
02 Introdução à programação.pptxwilliam Sarti José
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1engenhariadecomputacao
 
Aula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.pptAula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.pptJadna Almeida
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosRodrigo Kiyoshi Saito
 
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...Alex Casañas
 
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...Alex Casañas
 
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...Alex Casañas
 
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...Alex Casañas
 
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
 
(A02) LabMM3 - Introdução à programação
(A02) LabMM3 - Introdução à programação(A02) LabMM3 - Introdução à programação
(A02) LabMM3 - Introdução à programaçãoCarlos Santos
 
Algoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoAlgoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoMauro Pereira
 
Geração de código linguagem c
Geração de código   linguagem cGeração de código   linguagem c
Geração de código linguagem cJefferson Bessa
 

Semelhante a Calcular média disciplina X (20)

Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
 
4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptx4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptx
 
mod1-algoritmia
mod1-algoritmiamod1-algoritmia
mod1-algoritmia
 
02 Introdução à programação.pptx
02 Introdução à programação.pptx02 Introdução à programação.pptx
02 Introdução à programação.pptx
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1
 
Curso de Linguagem C
Curso de Linguagem CCurso de Linguagem C
Curso de Linguagem C
 
Aula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.pptAula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.ppt
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmos
 
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
 
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
 
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
 
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
 
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
 
(A02) LabMM3 - Introdução à programação
(A02) LabMM3 - Introdução à programação(A02) LabMM3 - Introdução à programação
(A02) LabMM3 - Introdução à programação
 
Aula09 traducaosin110
Aula09 traducaosin110Aula09 traducaosin110
Aula09 traducaosin110
 
Analise Algoritmos
Analise AlgoritmosAnalise Algoritmos
Analise Algoritmos
 
Notas deaulas
Notas deaulasNotas deaulas
Notas deaulas
 
Algoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoAlgoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigo
 
Geração de código linguagem c
Geração de código   linguagem cGeração de código   linguagem c
Geração de código linguagem c
 

Mais de Robson Ferreira

02 declaracao do_escopo_preliminar_do_projeto
02 declaracao do_escopo_preliminar_do_projeto02 declaracao do_escopo_preliminar_do_projeto
02 declaracao do_escopo_preliminar_do_projetoRobson Ferreira
 
Aula 01 introdução a redes - apresentação e introdução
Aula 01   introdução a redes - apresentação e introduçãoAula 01   introdução a redes - apresentação e introdução
Aula 01 introdução a redes - apresentação e introduçãoRobson Ferreira
 
Ingês instrumental trabalho unidade 2 market
Ingês instrumental trabalho unidade 2 marketIngês instrumental trabalho unidade 2 market
Ingês instrumental trabalho unidade 2 marketRobson Ferreira
 
Informática aplicada prova 1
Informática aplicada prova 1Informática aplicada prova 1
Informática aplicada prova 1Robson Ferreira
 
Informática aplicada prova 1 verso
Informática aplicada prova 1 versoInformática aplicada prova 1 verso
Informática aplicada prova 1 versoRobson Ferreira
 
Inglês instrumental prova entrepreneurship + respostas verso
Inglês instrumental prova entrepreneurship + respostas versoInglês instrumental prova entrepreneurship + respostas verso
Inglês instrumental prova entrepreneurship + respostas versoRobson Ferreira
 
Inglês instrumental prova entrepreneurship + respostas frente
Inglês instrumental prova entrepreneurship + respostas frenteInglês instrumental prova entrepreneurship + respostas frente
Inglês instrumental prova entrepreneurship + respostas frenteRobson Ferreira
 
Inglês instrumental trabalho strategic planning respostas
Inglês instrumental trabalho strategic planning respostasInglês instrumental trabalho strategic planning respostas
Inglês instrumental trabalho strategic planning respostasRobson Ferreira
 
Inglês instrumental trabalho strategic planning frente
Inglês instrumental trabalho strategic planning frenteInglês instrumental trabalho strategic planning frente
Inglês instrumental trabalho strategic planning frenteRobson Ferreira
 
Inglês instrumental trabalho strategic planning respostas verso
Inglês instrumental trabalho strategic planning respostas versoInglês instrumental trabalho strategic planning respostas verso
Inglês instrumental trabalho strategic planning respostas versoRobson Ferreira
 
Inglês instrumental trabalho finance
Inglês instrumental trabalho financeInglês instrumental trabalho finance
Inglês instrumental trabalho financeRobson Ferreira
 
Inglês instrumental finance respostas
Inglês instrumental finance respostasInglês instrumental finance respostas
Inglês instrumental finance respostasRobson Ferreira
 
Inglês instrumental prova entrepreneurship
Inglês instrumental prova entrepreneurshipInglês instrumental prova entrepreneurship
Inglês instrumental prova entrepreneurshipRobson Ferreira
 
Introdução a computação e suas aplicações seminário
Introdução a computação e suas aplicações seminárioIntrodução a computação e suas aplicações seminário
Introdução a computação e suas aplicações seminárioRobson Ferreira
 
Aula 04 informática aplicada - comando básicos
Aula 04  informática aplicada - comando básicosAula 04  informática aplicada - comando básicos
Aula 04 informática aplicada - comando básicosRobson Ferreira
 
Aula 02 informática aplicada - sistemas operacionais
Aula 02  informática aplicada - sistemas operacionaisAula 02  informática aplicada - sistemas operacionais
Aula 02 informática aplicada - sistemas operacionaisRobson Ferreira
 
Aula 01 informática aplicada - história e evolução
Aula 01  informática aplicada - história e evoluçãoAula 01  informática aplicada - história e evolução
Aula 01 informática aplicada - história e evoluçãoRobson Ferreira
 
Aula 03 informática aplicada - virtualização
Aula 03  informática aplicada - virtualizaçãoAula 03  informática aplicada - virtualização
Aula 03 informática aplicada - virtualizaçãoRobson Ferreira
 
Conceitos e técnicas de programação lista de exercícios ii
Conceitos e técnicas de programação lista de exercícios iiConceitos e técnicas de programação lista de exercícios ii
Conceitos e técnicas de programação lista de exercícios iiRobson Ferreira
 

Mais de Robson Ferreira (20)

02 declaracao do_escopo_preliminar_do_projeto
02 declaracao do_escopo_preliminar_do_projeto02 declaracao do_escopo_preliminar_do_projeto
02 declaracao do_escopo_preliminar_do_projeto
 
Aula 01 introdução a redes - apresentação e introdução
Aula 01   introdução a redes - apresentação e introduçãoAula 01   introdução a redes - apresentação e introdução
Aula 01 introdução a redes - apresentação e introdução
 
Ingês instrumental trabalho unidade 2 market
Ingês instrumental trabalho unidade 2 marketIngês instrumental trabalho unidade 2 market
Ingês instrumental trabalho unidade 2 market
 
Seminário linux
Seminário linuxSeminário linux
Seminário linux
 
Informática aplicada prova 1
Informática aplicada prova 1Informática aplicada prova 1
Informática aplicada prova 1
 
Informática aplicada prova 1 verso
Informática aplicada prova 1 versoInformática aplicada prova 1 verso
Informática aplicada prova 1 verso
 
Inglês instrumental prova entrepreneurship + respostas verso
Inglês instrumental prova entrepreneurship + respostas versoInglês instrumental prova entrepreneurship + respostas verso
Inglês instrumental prova entrepreneurship + respostas verso
 
Inglês instrumental prova entrepreneurship + respostas frente
Inglês instrumental prova entrepreneurship + respostas frenteInglês instrumental prova entrepreneurship + respostas frente
Inglês instrumental prova entrepreneurship + respostas frente
 
Inglês instrumental trabalho strategic planning respostas
Inglês instrumental trabalho strategic planning respostasInglês instrumental trabalho strategic planning respostas
Inglês instrumental trabalho strategic planning respostas
 
Inglês instrumental trabalho strategic planning frente
Inglês instrumental trabalho strategic planning frenteInglês instrumental trabalho strategic planning frente
Inglês instrumental trabalho strategic planning frente
 
Inglês instrumental trabalho strategic planning respostas verso
Inglês instrumental trabalho strategic planning respostas versoInglês instrumental trabalho strategic planning respostas verso
Inglês instrumental trabalho strategic planning respostas verso
 
Inglês instrumental trabalho finance
Inglês instrumental trabalho financeInglês instrumental trabalho finance
Inglês instrumental trabalho finance
 
Inglês instrumental finance respostas
Inglês instrumental finance respostasInglês instrumental finance respostas
Inglês instrumental finance respostas
 
Inglês instrumental prova entrepreneurship
Inglês instrumental prova entrepreneurshipInglês instrumental prova entrepreneurship
Inglês instrumental prova entrepreneurship
 
Introdução a computação e suas aplicações seminário
Introdução a computação e suas aplicações seminárioIntrodução a computação e suas aplicações seminário
Introdução a computação e suas aplicações seminário
 
Aula 04 informática aplicada - comando básicos
Aula 04  informática aplicada - comando básicosAula 04  informática aplicada - comando básicos
Aula 04 informática aplicada - comando básicos
 
Aula 02 informática aplicada - sistemas operacionais
Aula 02  informática aplicada - sistemas operacionaisAula 02  informática aplicada - sistemas operacionais
Aula 02 informática aplicada - sistemas operacionais
 
Aula 01 informática aplicada - história e evolução
Aula 01  informática aplicada - história e evoluçãoAula 01  informática aplicada - história e evolução
Aula 01 informática aplicada - história e evolução
 
Aula 03 informática aplicada - virtualização
Aula 03  informática aplicada - virtualizaçãoAula 03  informática aplicada - virtualização
Aula 03 informática aplicada - virtualização
 
Conceitos e técnicas de programação lista de exercícios ii
Conceitos e técnicas de programação lista de exercícios iiConceitos e técnicas de programação lista de exercícios ii
Conceitos e técnicas de programação lista de exercícios ii
 

Calcular média disciplina X

  • 1. Gestão de Tecnologia da Informação Conceitos e Técnicas de Programação Profº Ms. Tarcísio Júnior 1
  • 2. Conceitos e Técnicas de Programação Representação de Algoritmos 2
  • 3. Representação de Algoritmos Linguagem Natural A representação de algoritmos através de linguagem natural é a forma mais espontânea de representação de algoritmos, pois descrevemos os passos do algoritmo utilizando o nosso linguajar quotidiano, escrevendo o algoritmo como um texto simples. Por exemplo, queremos resolver o seguinte problema: Calcular a média de todos os alunos que cursaram uma disciplina X, a partir da leitura das notas da 1ª e 2ª prova, passando por um cálculo de média aritmética. Após a média calculada, devemos anunciar se aluno foi aprovado ou reprovado por nota. Somente estão aprovados alunos com média maior ou igual a 5,0. 3
  • 4. Representação de Algoritmos Representação do algoritmo em linguagem natural Para todos os alunos da disciplina X, faça: ler as notas da 1ª e 2ª prova, somar as notas e dividir por dois, chegando assim, ao resultado da média do aluno. Se a média do aluno for maior ou igual a 5,0, então o aluno está aprovado, senão o aluno está reprovado. Fazer para o próximo aluno. O problema da representação de algoritmos com linguagem natural é que quanto maior a complexidade do problema, maior a dificuldade de entendermos o texto que procura descrever os passos do algoritmo, pois não se emprega nenhum recurso diagramático, e não há uma rigidez na estruturação das ações. 4
  • 5. Representação de Algoritmos Pseudocódigo O pseudocódigo vem sendo amplamente utilizado por projetistas de software e programadores, pois obriga o uso de estruturas que facilitam o entendimento do algoritmo, e também facilitam a transformação do mesmo em códigos reais. O pseudocódigo também recebe outros nomes, como: português estruturado, PDL (Program Design Language), etc.. Utilizaremos neste curso o pseudocódigo como a forma de representação padrão para algoritmos. 5
  • 6. Representação de Algoritmos  O PSEUDOCÓDIGO será utilizado na disciplina. Por que?  Facilita o desenvolvimento dos algoritmos;  Facilita o seu entendimento pelo ser humano;  Antecipa à depuração (localização de erros) em sua lógica;  Facilita a sua manutenção e modificação;  Facilita e agiliza a sua codificação (escrita do programa);  Permite o desenvolvimento simultâneo de vários profissionais (trabalho em equipe). 6
  • 7. Pseudocódigo do exemplo anterior Início variáveis nota1, nota2, media: real fim-variáveis Início Leia (nota1) Leia (nota2) media = (nota1 + nota2) / 2 Se media >= 5,0 entao Início Escreva (“Aluno aprovado”) Fim Senão Início Escreva (“Aluno reprovado”) Fim Fim 7
  • 8. Representação de Algoritmos Outro exemplo: algoritmo Soma variáveis N1,N2,Soma: inteiro fim-variáveis início escreva("Entre com o primeiro número") leia(N1) escreva("Entre com o segundo número") leia (N2) Soma  (N1+N2) escreva("A soma dos números é: ", Soma) fimAlgoritmo 8
  • 9. Exemplo de Algoritmo Imagine o seguinte problema: Calcular a média final dos alunos da 3ª Série. Os alunos realizarão quatro provas: P1, P2, P3 e P4. Onde: Média Final = Para montar o algoritmo proposto, faremos três perguntas: a) Quais são os dados de entrada? R: Os dados de entrada são P1, P2, P3 e P4 b) Qual será o processamento a ser utilizado? R: O procedimento será somar todos os dados de entrada e dividi- los por 4 (quatro) 9
  • 10. Exemplo de Algoritmo c) Quais serão os dados de saída? R: O dado de saída será a média final Algoritmo Receba a nota da prova1 Receba a nota de prova2 Receba a nota de prova3 Receba a nota da prova4 Some todas as notas e divida o resultado por 4 Mostre o resultado da divisão 10
  • 11. Teste de mesa Após desenvolver um algoritmo ele deverá sempre ser testado. Este teste é chamado de TESTE DE MESA, que significa, seguir as instruções do algoritmo de maneira precisa para verificar se o procedimento utilizado está correto ou não. Veja o exemplo: Nota da Prova 1 Nota da Prova 2 Nota da Prova 3 Nota da Prova 4 11
  • 12. Teste de mesa Utilize a tabela abaixo: 12
  • 13. Conceitos e Técnicas de Programação Linguagens de Programação 13
  • 14. Linguagem de programação • Estabelece regras de sintaxe para que o algoritmo possa ser entendido por uma máquina. 14
  • 15. Algoritmo × Linguagem de Programação Raciocínio int a, b, c; if (a > 2) Algoritmo a = b + c; else a = b – c; return; Programa 15
  • 16. Programa • Programa é a codificação de um algoritmo em uma linguagem de programação. • Um computador é uma máquina que, a partir de uma entrada, realiza um número de cálculos matemáticos e lógicos, gerando uma saída. • Programa é o elemento que diz ao computador quais cálculos devem ser realizados. 16
  • 17. Características • Sua principal característica é a utilização de blocos para solução de um problema. 17
  • 18. Relembrando... Passos para elaboração de um programa: 1. Compreender o problema. 2. Esboçar um procedimento para resolver o problema. 3. Formular o algoritmo. 4. Traduzir o algoritmo para uma linguagem de programação (codificação). 18
  • 19. Passos para elaboração de um programa Exemplo • Calcular as raízes reais de: 2 ax + bx + c 19
  • 20. 1. Compreender o problema • Exemplo: Equação de 2o. grau • Possibilidades de raízes:  02 raízes complexas;  02 raízes reais idênticas;  02 raízes reais distintas; • Condição para haver raízes reais: ∆ ≥ 0 20
  • 21. 2. Esboçar um procedimento para resolver o problema • Calcular ∆. • Se ∆ ≥ 0, calcular raízes reais. • Caso contrário, informar que não há raízes reais. 21
  • 22. 3. Formular o algoritmo ler(a,b,c) delta = b^2 – 4*a*c se (delta ≥ 0) então r1 = – b – (delta)^(–1/2) r2 = – b + (delta)^(–1/2) escrever(r1,r2) senão escrever(“Não há raiz real”) fim do se fim do algoritmo 22
  • 23. 4. Codificar #include <stdio.h> #include <stdlib.h> #include <math.h> int main(void) { float a, b, c, delta, r1, r2; scanf("%f %f %f", &a, &b, &c); delta = b*b – 4*a*c; if (delta >= 0) { r1 = – b – sqrt(delta); r2 = – b + sqrt(delta); printf("r1 = %f n r2 = %f", r1, r2); } else printf("Nao ha raiz realn"); } 23
  • 24. Gerando um programa executável • Passos básicos para gerar um programa executável: A. Codificação B. Geração de Código Objeto C. Depuração (debug) 24
  • 25. Gerando um programa executável Codificação Código Depuração fonte Geração de código objeto Código objeto Programa Executável 25
  • 26. Gerando um programa executável A. Codificação • É a escrita de um programa de acordo com uma linguagem de programação. • Utiliza Editores de Texto. • Resultado: código-fonte. 26
  • 27. Gerando um programa executável B. Tradução • Tradução do código-fonte para o código de máquina do processador. • Realizado pelos Compiladores. • Resultado: código executável pelo processador. 27
  • 28. Gerando um programa executável C. Depuração (debug) • Auxilia o programador a eliminar erros dos programas (“bugs”). • Permite:  execução passo-a-passo.  visualização do estado do programa através das variáveis. 28
  • 29. Conceitos e Técnicas de Programação Representações de Algoritmos 29
  • 30. Pseudo-código (Portugol) • Características: – Sintaxe mais simples que a de uma Linguagem de Programação. – Ênfase nas idéias e não nos detalhes. – Facilita construir um programa em Linguagem de Programação. 30
  • 31. Pseudo-código (Portugol) • Ingredientes: farinha, açúcar, leite • Separar os ingredientes • Misturar os ingredientes • Colocar massa no forno • Esperar assar por 30 minutos • Retirar bolo do forno 31
  • 32. Elementos básicos de um algoritmo algoritmo <nome_do_algoritmo> <declarações de variáveis> <comandos> Fim 32
  • 33. Elementos básicos de um algoritmo :: Exemplo Algoritmo perimetro_circunferência // declaração de constantes e variáveis // comandos fim 33
  • 34. Elementos básicos de um algoritmo :: Exemplo Algoritmo perimetro_circunferência // declaração de constantes e variáveis const pi = 3,1415 raio: real perim: real // comandos leia (raio) perim = 2 * pi * raio escrever (perim) fim 34
  • 35. Elementos básicos de um algoritmo • Dados (variáveis e constantes) • Tipos de dados • Operadores • Comandos • Funções • Comentários 35
  • 36. Elementos básicos de um algoritmo :: Exemplo Algoritmo perimetro_circunferência // declaração de variáveis dado constante const PI = 3,1415 raio: real dado variável perim: real tipo de dado // comandos comentário leia (raio) operador perim = 2 * PI * raio escrever (perim) função fim 36
  • 37. Elementos básicos de um algoritmo :: Dados • Dados Constantes – O valor de uma constante não se altera após sua definição. – Exemplos: • N_NEPERIANO = 2,7182 • UNIVERSIDADE = ‘FPB' • Dados Variáveis – Elemento que têm a função de associar um nome a uma porção da memória onde um dado pode ser armazenado. 37
  • 38. Elementos básicos de um algoritmo :: Tipos de dados • Definem a natureza do dado, as operações que podem ser realizadas com o dado e o espaço a ser ocupado na memória. • Exemplos: – Inteiro: 10 -5 -128 – Real (ponto flutuante): 1,34 13,4 -5,0 – String de caracteres: 'quarta-feira’ 'Abril‘ – Lógico: Verdadeiro(1) Falso(0) 38
  • 39. ALGORITMO NOME VARIAVEIS NOME: CARACTERE FIM VARIAVEIS INICIO ESCREVA(“Informe seu nome:”) LEIA (nome) 39
  • 40. Elementos básicos de um algoritmo :: Operadores • Atribuição • Aritméticos • Relacionais • Lógicos 40
  • 41. Elementos básicos de um algoritmo :: Operador Atribuição • Utilizado para atribuir um valor a uma variável nome da variável Valor • Notação: x1 ← 23; ( <-) temp ← x2; 41
  • 42. Elementos básicos de um algoritmo :: Operadores Aritméticos • Dados de entrada: tipo numérico (int ou real(float)) • Resultado: tipo numérico (int ou reail(float)) • Exemplos: – x_2 ← 2 + 3; – alfa ← 1 / 5; – ang ← 1 / 5.0; – resto ← 10 % 3; – resto ← 1 % 4; – delta ← 5 * 5 – 4 * 1 * 4; 42
  • 43. Elementos básicos de um algoritmo :: Operadores Relacionais Utilizados para realizar comparações entre dois valores de  mesmo tipo primitivo. São comuns para a construção de equações. OPERADOR OPERAÇÃO EXEMPLO RESULTADO = Igual a 1=2 Falso > Maior que 5>2 Verdadeiro < Menor que 11 < 4 Falso >= Maior ou Igual a 3 >= 3 Verdadeiro <= Menor ou igual a 5<= 3 Falso <> Diferente de 2 + 3 <> 5 Falso 43
  • 44. Elementos básicos de um algoritmo :: Operadores Relacionais • Dados de entrada: tipo numérico (int ou float) • Resultado: tipo lógico • Exemplos: – cond1 ← 2 = 3; – cond2 ← 1.6 <> 5.0; – cond3 ← 1 > 5; – cond4 ← (1 + 2) < 5; – cond5 ← 10 >= 3; – cond6 ← 1 <= (– 4 / 3); 44
  • 45. Elementos básicos de um algoritmo :: Operadores Lógicos Servem para combinar resultados de expressões, retornando se o resultado final é verdadeiro ou falso. OPERAÇÃO SÍMBOLO DESCRICAO CONJUNÇÃO AND – E Uma expressão AND (E) é verdadeira se todas as condições forem verdadeiras DISJUNÇÃO OR – ou Uma expressão OR (OU) é verdadeira se pelo menos uma condição for verdadeira NEGAÇÃO NOT – não Uma expressão NOT (NÃO) inverte o valor da expressão ou condição, se verdadeira inverte para falsa e vice-versa. 45
  • 46. Elementos básicos de um algoritmo :: Operadores Lógicos TABELAS-VERDADE Conjunto de todas as possibilidades combinatórias entre os valores de diversas variáveis lógicas  apenas duas situações (V ou F). OPERAÇÃO DE NEGAÇÃO A não A F V V F 46
  • 47. Elementos básicos de um algoritmo :: Operadores Lógicos OPERAÇÃO DE CONJUNÇÃO OPERAÇÃO DE DISJUNÇÃO A B AeB A B A ou B F F F F F F F V F F V V V F F V F V V V V V V V 47
  • 48. Elementos básicos de um algoritmo :: Operadores Lógicos • Dados de entrada: tipo lógico • Resultado: tipo lógico • Exemplos: – cond1 ← V E F; – cond2 ← F OU F; – cond3 ← NÃO cond1; – cond4 ← (V E F) OU (5 > 3); 48
  • 49. Elementos básicos de um algoritmo :: Funções • Pré-definidas • Definidas pelo programador • Exemplos: – seno(angulo) – pow(x,y) – sqrt(resto) – exp(tempo) – ler(var1,var2,...) – escrever(resul1,result2,...) 49
  • 50. Elementos básicos de um algoritmo :: Comentários • Utilizados para descrever o algoritmo, esclarecendo trechos do código • Notação: – // – /* <comentário> */ 50
  • 51. Conceitos e Técnicas de Programação Algoritmos com qualidade 51
  • 52. Algoritmos com qualidade • Devem ser feitos para serem lidos por seres humanos! • Escreva os comentários no momento em que estiver escrevendo o algoritmo. 52
  • 53. Algoritmos com qualidade • Os comentários devem acrescentar alguma coisa, e não frasear o comando: // Multiplicação de b por h: area ← b * h; // Cálculo da área do retângulo: area ← b * h; 53
  • 54. Algoritmos com qualidade • Use comentários no prólogo: /***************************************** UNPBFPB SEU NOME AQUI DATA: 28/02/2012 ÚLTIMA MODIFICAÇÃO: 28/02/2012 ALGORITMO DE DEMONSTRAÇÃO *****************************************/ 54
  • 55. Algoritmos com qualidade • Use espaços em branco para melhorar a legibilidade: hip←sqrt(cat1*cat1+cat2*cat2); hip ← sqrt(cat1 * cat1 + cat2 * cat2); 55
  • 56. Algoritmos com qualidade • Escolha nomes representativos para as variáveis: p ← c + l; preco ← custo + lucro; 56
  • 57. Algoritmos com qualidade • Utilize um comando por linha. • Utilize parênteses para melhorar a compreensão e evitar erros. • Utilize identação (recuo de texto). 57
  • 58. Exercício 1. Escreva um algoritmo para ler um número inteiro e imprimir seu sucessor e seu antecessor. Possível solução: 1. Ler um número inteiro 2. Imprimir seu sucessor 3. Imprimir seu antecessor 58 58