SlideShare uma empresa Scribd logo
1 de 40
Baixar para ler offline
Algoritmos e Linguagem
       de Programação
                Professor: Mauro Jansen



              Parte 2 – Fundamentos
(Tipos de dados, variáveis, expressões e operadores)

                        09/2012
Algoritmos e Ling.de Programação
Prof. Mauro             Fundamentos              2
Introdução a tipos de dados
 Todo o trabalho realizado por um computador é
 baseado na manipulação das informações
 contidas em sua memória
 Estas informações podem ser classificadas em
 dois tipos:
   As instruções, que comandam o funcionamento da
   máquina e determinam a maneira como devem ser
   tratados os dados
   Os dados propriamente ditos, que correspondem à
   porção das informações a serem processadas pelo
   computador
                 Algoritmos e Ling.de Programação
   Prof. Mauro             Fundamentos               3
Introdução a tipos de dados
 Internamente, essas informações (dados e
 instruções), ficam registradas na memória
 na forma binária
 Porém, para facilitar, as linguagens de
 programação oferecem a noção de TIPOS
 DE DADOS, que nos permite manipular as
 informações de forma mais parecida com o
 modo como fazemos no mundo real

                 Algoritmos e Ling.de Programação
   Prof. Mauro             Fundamentos              4
Conceito de tipos de dados
 Podemos definir tipos de dados como um
 conjunto de objetos que têm em comum o
 mesmo comportamento diante de um
 conjunto definido de operações
 Exemplos:
   Pessoas
   Z (conjunto dos números inteiros)
   R (conjunto dos números reais)
   Letras
                 Algoritmos e Ling.de Programação
   Prof. Mauro             Fundamentos              5
Tipos de dados básicos
 As linguagens de programação não podem
 manipular todos os tipos do mundo real e têm os
 seus próprios tipos de dados
 Os tipos de dados básicos são:
   Numéricos (somente números)
         Inteiro
         Real
   Literais (letras números ou símbolos)
         Caractere
         String
   Lógicos ou Booleanos
                     Algoritmos e Ling.de Programação
   Prof. Mauro                 Fundamentos              6
Tipos de dados básicos
                                     Tipos de Dados




            Numérico                              Literal                 Lógico




        inteiro        real               caractere              String



 OBS: Além dos tipos básicos, as linguagens
 podem oferecer variações dos mesmos ou
 outros tipos como Data, Hora, etc.
                              Algoritmos e Ling.de Programação
   Prof. Mauro                          Fundamentos                                7
Dados numéricos
 São dados numéricos que podem ser usados
 em operações aritméticas. Subtipos:
   Inteiros: que não possuem parte fracionária e
   podem ser positivos ou negativos.
         10 (número inteiro positivo)
         -9 (número inteiro negativo)
         0 (número inteiro)
   Reais: que podem possuir parte fracionária e
   podem ser positivos ou negativos.
         15.05 (número real positivo com duas casas
         decimais)
         -15. (número real negativo sem casas decimais)
                      Algoritmos e Ling.de Programação
   Prof. Mauro                  Fundamentos               8
Dados literais
  Podem ser seqüências de letras, dígitos ou símbolos
  especiais. Subtipos:
    Caractere: um único caractere:
          ‘a’
          ‘7’
          ‘@’
    Cadeia de Caracteres (string): conjunto de
    caracteres formando uma palavra, frase ou parágrafo:
          “Algoritmos”
          “Algoritmos e Linguagem de Programação”
          “*** Projeto Cara Limpa (anti-drogas) ***”
  Normalmente ficam entre aspas simples (caractere) ou
  duplas (string)
                         Algoritmos e Ling.de Programação
    Prof. Mauro                    Fundamentos              9
Dados lógicos
 Também chamados booleanos, devido à
 Álgebra de Boole
 Só possuem dois valores possíveis:
   Verdadeiro ou Falso
 Normalmente são resultados de testes de
 expressões lógicas e servirão de condição
 para execução de uma ou mais instruções



                 Algoritmos e Ling.de Programação
   Prof. Mauro             Fundamentos              10
Algoritmos e Ling.de Programação
Prof. Mauro             Fundamentos              11
Conceito de variável
 “Uma variável é um local na memória principal,
 isto é, um endereço que armazena um conteúdo”
                                          (LOPES E GARCIA, 2002)


 “Podemos imaginar uma variável como o nome
 de um local onde se pode colocar qualquer valor
 do conjunto de valores possíveis do tipo básico
 associado”.
                                  (GUIMARÃES E LAGES, 1994)


                 Algoritmos e Ling.de Programação
   Prof. Mauro             Fundamentos                        12
Características de uma variável
 Basicamente, uma variável
 possui três atributos:
   um nome (ou identificador)                             tipo
   um tipo de dado associado à                             de
                                                          dado
   mesma
   e o dado (valor) por ela
   guardado.
                                                    Nome da variável
 Todas as variáveis utilizadas na
                                                          valor
 elaboração de um programa
 devem ser declaradas.

                 Algoritmos e Ling.de Programação
   Prof. Mauro             Fundamentos                                 13
Declaração de variáveis
 Declarar uma variável corresponde à criação de um
 local na memória rotulado com o nome da variável
 (identificador) e marcado com o tipo de valores que
 ela pode conter:
             Memória RAM
                                                          tipo
                                                           de
        Nome da variável
                                                          dado
                 valor

        Nome da variável
                                                              tipo
                 valor
                                                               de
        Nome da variável                                      dado
                 valor

                           Algoritmos e Ling.de Programação
   Prof. Mauro                       Fundamentos                     14
Declaração de variáveis: sintaxe
  Sintaxe: existem duas formas básicas para
  declaração de variáveis em pseudocódigos:
     Com o tipo após o(s) nome(s) das variável(is):
 Var <nome da variável 1>[,<nome da variável 2>,...]: <tipo1>;
     <nome da variável 3>[,<nome da variável 4>,...]: <tipo2>;


     Com o tipo antes do nome da(s) variável(is):
 <tipo1> <nome da variável 1>[,<nome da variável 2>,...];
 <tipo2> <nome da variável 3>[,<nome da variável 4>,...]:

  Exemplos:
 Var nome, endereco: string;
     salario, aumento: real;

 String nome, endereco;
 Real salario, aumento;
                          Algoritmos e Ling.de Programação
     Prof. Mauro                    Fundamentos                  15
Declaração de variáveis: regras
 Como identificar os tipos de dados

  Inteiro – int ou integer
  Real – real, float ou double
  Literal – char (caractere) ou string (cadeia de caracteres)
  Lógico – boolean ou lógico

 Exemplos
  int valor;                              Variáveis do mesmo tipo podem
                                          ser declaradas juntas, bastando
  real salario, taxa;                     separar os identificadores por
  char opcao;                             vírgula.


                      Algoritmos e Ling.de Programação
    Prof. Mauro                 Fundamentos                             16
Declaração de variáveis: regras
 Regras para a Formação de Identificadores
 (nomes de variáveis):
   O primeiro caractere do nome deve ser uma
   letra.
   Se houver mais de um caractere, só se deve usar
   letra ou algarismo.
   Há diferença em usar letras maiúsculas e
   minúsculas.
   Não usar palavras que sejam reservadas Às
   Linguagens de Programação.
   Devemos dar nomes representativos para as
   variáveis.

                 Algoritmos e Ling.de Programação
   Prof. Mauro             Fundamentos              17
Declaração de variáveis: exemplos
  Declarações Válidas
    int quantidade
                                               Variáveis diferentes, pois
    real precodevenda                          uma usa letra maiúscula
    int Quantidade
    string nome
  Declarações Inválidas
                                    Não devemos usar cedilha
    real preço de venda             nem espaço.
    int 2numero        Não devemos iniciar o
                       identificador com algarismo
    string nomeloj@
                                        Não devemos utilizar
                                        caracteres especiais
                      Algoritmos e Ling.de Programação
    Prof. Mauro                 Fundamentos                                 18
Exercícios de fixação
  O que é um tipo de dado?
  Quais são os tipos de dados básicos? Cite
  exemplos de dados de cada tipo.
  Diga qual o tipo de cada dado abaixo:
    “Linguagem de programação”
    123.75
    “A”
    -72
    3>2
    “12345”
    VERDADEIRO
    “01/01/2010”

                  Algoritmos e Ling.de Programação
    Prof. Mauro             Fundamentos              19
Exercícios de fixação
  O que é uma variável?
  Quais os atributos de uma variável?
  O que é declarar uma variável?
  Quais as regras para criação do nome de
  uma variável?
  Dê um exemplo de declaração de variável
  em cada tipo de dados básico.


                 Algoritmos e Ling.de Programação
   Prof. Mauro             Fundamentos              20
Exercícios de fixação
  Dados os nomes de variáveis abaixo, indique quais são
  válidos e quais são inválidos:
    VALOR
    X2
    3X4
    XYZ
    “NOTA”
    SALÁRIO-LÍQUIDO
    NOTA*DO*ALUNO
    MARIA
    NOMEDAESCOLA
    AH!
    A1B2C3
    KM/H


                      Algoritmos e Ling.de Programação
    Prof. Mauro                 Fundamentos               21
Algoritmos e Ling.de Programação
Prof. Mauro             Fundamentos              22
Expressão
 Combinação de operandos (valores ou
 variáveis), operadores, e chamadas de
 funções que são interpretadas (avaliadas) de
 acordo com as regras de precedência e de
 associatividade particulares a uma determinada
 linguagem de programação, que calcula e, em
 seguida, produz (retorna) um valor
 Exemplos:
   2+2 (expressão aritmética)
   “Algoritmos “+” e Programação” (expressão literal)
   5 > 3 (expressão lógica)
   Salario * reajuste / 100 (expressão aritmética usando
   variáveis)
                  Algoritmos e Ling.de Programação
   Prof. Mauro              Fundamentos               23
Operadores

   Operadores são elementos que atuam sobre
      operandos e produzem um resultado.

 Operandos são valores ou variáveis de um dos
 tipos de dados
 Exemplo
   5+3
         Operandos: 5 e 3
         Operador: +
         Resultado: 8
                     Algoritmos e Ling.de Programação
   Prof. Mauro                 Fundamentos              24
Tipos de operadores
  Operadores Unários: atuam sobre um único
  operando.
         Exemplo: -2


  Operadores Binários: atuam sobre dois
  operandos.
         Exemplo: 3 + 6




                   Algoritmos e Ling.de Programação
   Prof. Mauro               Fundamentos              25
Expressões aritméticas
  Produzem como resultado um tipo de dado
  numérico.
  Utilizam operadores aritméticos e variáveis
  numéricas.
  Operadores aritméticos:




                  Algoritmos e Ling.de Programação
    Prof. Mauro             Fundamentos              26
Expressões lógicas
  Produzem como resultado um valor lógico
  (.Verdadeiro. ou .Falso.).
  Fundamentam-se na Lógica Matemática.

  Conceito de Proposição


      Uma proposição ou sentença é qualquer oração que
        pode ser avaliada como verdadeira ou falsa.


                    Algoritmos e Ling.de Programação
    Prof. Mauro               Fundamentos                27
Expressões lógicas: exemplos e princípios
  Exemplos de Proposições
    São Luís é a capital do Maranhão.
    A Lua é feita de queijo.
    2 é um número par.
    5 – 3 = 0.
  Regras Fundamentais da Lógica Matemática
    Princípio da não contradição: uma proposição não
    pode ser verdadeira e falsa ao mesmo tempo.
    Princípio do terceiro excluído: uma proposição
    sempre assume um valor (verdadeiro ou falso)

                   Algoritmos e Ling.de Programação
    Prof. Mauro              Fundamentos              28
Expressões lógicas: tipos
  Tipos de Proposições
    Proposições Simples ou Atômicas
          Não é possível decompô-las
                  Cinco é menor que dez.
    Proposições Compostas ou Moleculares
          Formadas por duas ou mais proposições simples
          ligadas por meio de conectivos lógicos.

         São cinco os conectivos lógicos:

         E – OU – NÃO – SE ... ENTÃO – SE, E SOMENTE SE

                            Algoritmos e Ling.de Programação
    Prof. Mauro                       Fundamentos              29
Proposições compostas
  Exemplos de Proposições Compostas

 1. Pelé é brasileiro E Maradona é Argentino.
 2. Vou à praia OU ao cinema.
 3. SE eu estudar, ENTÃO serei aprovado em
    Programação.
 4. Serei aprovado em Programação SE, E SOMENTE
    SE,
    SE eu estudar.



                  Algoritmos e Ling.de Programação
    Prof. Mauro             Fundamentos              30
Operador lógico de negação (NÃO)
 Cada conectivo lógico está associado a uma
 operação lógica.
 Negação: usa o operador NÃO para modificar
 uma proposição, invertendo seu valor lógico.
   A representação desta operação na tabela verdade
   é a seguinte:

                       p          NÃO p
                       V            F
                       F            V

                 Algoritmos e Ling.de Programação
   Prof. Mauro             Fundamentos              31
Operador lógico de conjunção (E)
  Conjunção: Com o uso do conectivo E é
  possível ligar duas proposições, formando uma
  nova proposição chamada conjunção, cujo valor
  lógico é a verdade quando ambas as proposições
  que a compõe forem verdadeiras.
                   a      b aEb
                   V      V  V
                   V      F  F
                   F      V  F
                   F      F  F
                  Algoritmos e Ling.de Programação
    Prof. Mauro             Fundamentos              32
Operador lógico de disjunção (OU)
  Disjunção: Com o uso do conectivo OU é
  possível ligar duas proposições, formando uma
  nova proposição chamada disjunção, cujo valor
  lógico é a falsidade quando ambas as
  proposições que a compõe forem falsas.
                   a      b a OU b
                   V      V    V
                   V      F    V
                   F      V    V
                   F      F    F
                  Algoritmos e Ling.de Programação
    Prof. Mauro             Fundamentos              33
Resumo dos operadores lógicos
 Tabela Demonstrativa dos Operadores
 Lógicos




                 Algoritmos e Ling.de Programação
   Prof. Mauro             Fundamentos              34
Operadores relacionais
  Usados quando se deseja efetuar
  comparações.
  Produzem como resultado um dos valores
  lógicos.




                  Algoritmos e Ling.de Programação
    Prof. Mauro             Fundamentos              35
Funções
 Funções são sub-programas existentes nas
 linguagens de programação que recebem
 dados, efetuam operações com os mesmos
 e retornam um resultado
 Podem ser usadas em expressões
 Tipos de funções:
   Matemáticas (retornam valor numérico)
   Literais (retornam valor literal)
   Lógicas (retornam valor lógico)
                Algoritmos e Ling.de Programação
  Prof. Mauro             Fundamentos              36
Funções
   Toda função tem um nome (identificador)
   seguido de “(“, dos parâmetros separados por
   vírgula e “)”
   Exemplos:
Função                          Resultado fornecido
RAIZ(<número>)                  Raiz quadrada
EXP(<base>,<expoente>)          Potenciação
ABS(<número>)                   Valor absoluto do número
RESTO(<a>,<b>)                  Resto da divisão a / b
TRUNCA(<n>) ou INT(<n>)         Parte inteira do número real n
LOG(<n>)                        Logarítmo na base 10 de n


                          Algoritmos e Ling.de Programação
      Prof. Mauro                   Fundamentos                  37
Prioridade dos operadores
  Toda expressão respeita a ordem de execução de
  seus operadores, sempre da esquerda para a
  direita.




                  Algoritmos e Ling.de Programação
    Prof. Mauro             Fundamentos              38
Exercícios de fixação
  Sabendo que X=2, Y=5, diga o tipo e resultado
  das seguintes expressões:
    3 ** X + 10 / 2 – 3
    X=Y
    7+Y > X * 2
    Y>X
  Crie a expressão aritmética para calcular:
    Média de quatro notas (n1, n2, n3 e n4)
    Valor do delta, X’ e X’’, em uma equação do 2º grau,
    em função das variáveis a, b e c
    Retornar somente a parte fracionária de um número
    real N

                   Algoritmos e Ling.de Programação
    Prof. Mauro              Fundamentos                   39
Exercícios de fixação
  Dadas as variáveis A=3, B=16, NOME=“MARIA”,
  PROFISSAO=“ADVOGADO” e TESTE=FALSO,
  avalie as expressões:
    A+1 >= RAIZ(B) OU NOME=“ANA”
    A+1 >= RAIZ(B) E PROFISSAO=“MEDICO”
    NOME<>”ANA” OU PROFISSAO=“MEDICO” E
    A+1>RAIZ(B)
    INT(A/B) + 2




                  Algoritmos e Ling.de Programação
    Prof. Mauro             Fundamentos              40

Mais conteúdo relacionado

Mais procurados

Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Daniel Brandão
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Mariana Camargo
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-Mauro Pereira
 
Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisFabrício Lopes Sanchez
 
Lógica de Programação - Entrada/saída de dados
Lógica de Programação - Entrada/saída de dadosLógica de Programação - Entrada/saída de dados
Lógica de Programação - Entrada/saída de dadosWesley R. Bezerra
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programaçãorodfernandes
 
Aula 1 introdução a algoritmos
Aula 1   introdução a algoritmosAula 1   introdução a algoritmos
Aula 1 introdução a algoritmosAdilio Tavares
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Aula sobre matrizes - Linguagem C
Aula sobre matrizes - Linguagem CAula sobre matrizes - Linguagem C
Aula sobre matrizes - Linguagem Cprofjr
 
Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosMario Jorge Pereira
 
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)Janynne Gomes
 
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)Leinylson Fontinele
 
Algoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoAlgoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoMauro Pereira
 
Exercicios de Algoritimos
 Exercicios de Algoritimos Exercicios de Algoritimos
Exercicios de Algoritimossandra avenia
 
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)Leinylson Fontinele
 
Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Cloves da Rocha
 

Mais procurados (20)

Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 
Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentais
 
Lógica de Programação - Entrada/saída de dados
Lógica de Programação - Entrada/saída de dadosLógica de Programação - Entrada/saída de dados
Lógica de Programação - Entrada/saída de dados
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
 
Aula 1 introdução a algoritmos
Aula 1   introdução a algoritmosAula 1   introdução a algoritmos
Aula 1 introdução a algoritmos
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Aula sobre matrizes - Linguagem C
Aula sobre matrizes - Linguagem CAula sobre matrizes - Linguagem C
Aula sobre matrizes - Linguagem C
 
Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e Algoritmos
 
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
 
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
 
Aula01 - Logica de Programação
Aula01 - Logica de ProgramaçãoAula01 - Logica de Programação
Aula01 - Logica de Programação
 
Algoritmo 04 - Estruturas de decisão
 Algoritmo 04 - Estruturas de decisão Algoritmo 04 - Estruturas de decisão
Algoritmo 04 - Estruturas de decisão
 
Aula 06 - Sistema Binário
Aula 06 - Sistema BinárioAula 06 - Sistema Binário
Aula 06 - Sistema Binário
 
Algoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoAlgoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigo
 
Exercicios de Algoritimos
 Exercicios de Algoritimos Exercicios de Algoritimos
Exercicios de Algoritimos
 
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
 
Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1
 

Destaque

Algoritmos e lp parte 1-introdução
Algoritmos e lp parte 1-introduçãoAlgoritmos e lp parte 1-introdução
Algoritmos e lp parte 1-introduçãoMauro Pereira
 
Algoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosAlgoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosMauro Pereira
 
Guia prático para criar algoritmos
Guia prático para criar algoritmosGuia prático para criar algoritmos
Guia prático para criar algoritmosMauro Pereira
 
Lista de exercicios algoritmos com pseudocodigo
Lista de exercicios   algoritmos com pseudocodigoLista de exercicios   algoritmos com pseudocodigo
Lista de exercicios algoritmos com pseudocodigoMauro Pereira
 
Redes 4 endereçamento
Redes 4 endereçamentoRedes 4 endereçamento
Redes 4 endereçamentoMauro Pereira
 
Algoritmos e lp parte 5-subalgoritmos
Algoritmos e lp parte 5-subalgoritmosAlgoritmos e lp parte 5-subalgoritmos
Algoritmos e lp parte 5-subalgoritmosMauro Pereira
 
Guia para traducao algoritmos x l ps
Guia para traducao algoritmos x l psGuia para traducao algoritmos x l ps
Guia para traducao algoritmos x l psMauro Pereira
 
Lista de exercicios 01 introdução
Lista de exercicios 01 introduçãoLista de exercicios 01 introdução
Lista de exercicios 01 introduçãoMauro Pereira
 
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
Lista de exercicios   vetores, matrizes, registros e sub-algoritmosLista de exercicios   vetores, matrizes, registros e sub-algoritmos
Lista de exercicios vetores, matrizes, registros e sub-algoritmosMauro Pereira
 
Logica computacional
Logica computacionalLogica computacional
Logica computacionalJota Thin
 
Microprocessadores ii revisão de linguagem de programação (parte2)
Microprocessadores ii revisão de linguagem de programação (parte2)Microprocessadores ii revisão de linguagem de programação (parte2)
Microprocessadores ii revisão de linguagem de programação (parte2)Mauro Pereira
 
Lista de exercicios 02 hardware
Lista de exercicios 02 hardwareLista de exercicios 02 hardware
Lista de exercicios 02 hardwareMauro Pereira
 
Microprocessadores ii arquitetura
Microprocessadores ii arquiteturaMicroprocessadores ii arquitetura
Microprocessadores ii arquiteturaMauro Pereira
 
Redes padroes e cabeamento
Redes padroes e cabeamentoRedes padroes e cabeamento
Redes padroes e cabeamentoMauro Pereira
 

Destaque (18)

Algoritmos e lp parte 1-introdução
Algoritmos e lp parte 1-introduçãoAlgoritmos e lp parte 1-introdução
Algoritmos e lp parte 1-introdução
 
Algoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosAlgoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registros
 
Guia prático para criar algoritmos
Guia prático para criar algoritmosGuia prático para criar algoritmos
Guia prático para criar algoritmos
 
Lista de exercicios algoritmos com pseudocodigo
Lista de exercicios   algoritmos com pseudocodigoLista de exercicios   algoritmos com pseudocodigo
Lista de exercicios algoritmos com pseudocodigo
 
Redes 4 endereçamento
Redes 4 endereçamentoRedes 4 endereçamento
Redes 4 endereçamento
 
Algoritmos Aula 01
Algoritmos Aula 01Algoritmos Aula 01
Algoritmos Aula 01
 
Algoritmos e lp parte 5-subalgoritmos
Algoritmos e lp parte 5-subalgoritmosAlgoritmos e lp parte 5-subalgoritmos
Algoritmos e lp parte 5-subalgoritmos
 
Guia para traducao algoritmos x l ps
Guia para traducao algoritmos x l psGuia para traducao algoritmos x l ps
Guia para traducao algoritmos x l ps
 
Lista de exercicios 01 introdução
Lista de exercicios 01 introduçãoLista de exercicios 01 introdução
Lista de exercicios 01 introdução
 
Algoritmos e Programação
Algoritmos e ProgramaçãoAlgoritmos e Programação
Algoritmos e Programação
 
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
Lista de exercicios   vetores, matrizes, registros e sub-algoritmosLista de exercicios   vetores, matrizes, registros e sub-algoritmos
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
 
Logica computacional
Logica computacionalLogica computacional
Logica computacional
 
Linguagem c parte 1
Linguagem c parte 1Linguagem c parte 1
Linguagem c parte 1
 
Microprocessadores ii revisão de linguagem de programação (parte2)
Microprocessadores ii revisão de linguagem de programação (parte2)Microprocessadores ii revisão de linguagem de programação (parte2)
Microprocessadores ii revisão de linguagem de programação (parte2)
 
Lista de exercicios 02 hardware
Lista de exercicios 02 hardwareLista de exercicios 02 hardware
Lista de exercicios 02 hardware
 
Apostila c
Apostila cApostila c
Apostila c
 
Microprocessadores ii arquitetura
Microprocessadores ii arquiteturaMicroprocessadores ii arquitetura
Microprocessadores ii arquitetura
 
Redes padroes e cabeamento
Redes padroes e cabeamentoRedes padroes e cabeamento
Redes padroes e cabeamento
 

Semelhante a Algoritmos e lp parte 2-fundamentos

Poo1 aula 4 - tipos de dados variáveis-constantes - copia
Poo1   aula 4 - tipos de dados variáveis-constantes - copiaPoo1   aula 4 - tipos de dados variáveis-constantes - copia
Poo1 aula 4 - tipos de dados variáveis-constantes - copiaDenis Sobrenome
 
Poo1 aula 4 - tipos de dados variáveis-constantes
Poo1   aula 4 - tipos de dados variáveis-constantesPoo1   aula 4 - tipos de dados variáveis-constantes
Poo1 aula 4 - tipos de dados variáveis-constantesDenis Sobrenome
 
Poo1 aula 4 - tipos de dados variáveis-constantes
Poo1   aula 4 - tipos de dados variáveis-constantesPoo1   aula 4 - tipos de dados variáveis-constantes
Poo1 aula 4 - tipos de dados variáveis-constantesDenis Sobrenome
 
Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4PeslPinguim
 
Conceitos e técnicas de programação aula 3
Conceitos e técnicas de programação aula 3Conceitos e técnicas de programação aula 3
Conceitos e técnicas de programação aula 3Robson Ferreira
 
CURSO 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
 
Logica java ate slide 30
Logica java   ate slide 30Logica java   ate slide 30
Logica java ate slide 30hflandim
 
Aula de programacao_final.dizando
Aula de programacao_final.dizandoAula de programacao_final.dizando
Aula de programacao_final.dizandoJoão Gomes
 
53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-i53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-iEdvan Mateó
 
Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Eder Samaniego
 

Semelhante a Algoritmos e lp parte 2-fundamentos (20)

Cap05
Cap05Cap05
Cap05
 
Cap05
Cap05Cap05
Cap05
 
Cap05
Cap05Cap05
Cap05
 
02 algoritmos
02 algoritmos02 algoritmos
02 algoritmos
 
Poo1 aula 4 - tipos de dados variáveis-constantes - copia
Poo1   aula 4 - tipos de dados variáveis-constantes - copiaPoo1   aula 4 - tipos de dados variáveis-constantes - copia
Poo1 aula 4 - tipos de dados variáveis-constantes - copia
 
Poo1 aula 4 - tipos de dados variáveis-constantes
Poo1   aula 4 - tipos de dados variáveis-constantesPoo1   aula 4 - tipos de dados variáveis-constantes
Poo1 aula 4 - tipos de dados variáveis-constantes
 
Poo1 aula 4 - tipos de dados variáveis-constantes
Poo1   aula 4 - tipos de dados variáveis-constantesPoo1   aula 4 - tipos de dados variáveis-constantes
Poo1 aula 4 - tipos de dados variáveis-constantes
 
Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4
 
Conceitos e técnicas de programação aula 3
Conceitos e técnicas de programação aula 3Conceitos e técnicas de programação aula 3
Conceitos e técnicas de programação aula 3
 
Algoritmos Aula 02
Algoritmos Aula 02Algoritmos Aula 02
Algoritmos 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
 
01 logica
01 logica01 logica
01 logica
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Logica java ate slide 30
Logica java   ate slide 30Logica java   ate slide 30
Logica java ate slide 30
 
Aula de programacao_final.dizando
Aula de programacao_final.dizandoAula de programacao_final.dizando
Aula de programacao_final.dizando
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
02 1 algoritmos
02 1 algoritmos02 1 algoritmos
02 1 algoritmos
 
53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-i53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-i
 
Aula02
Aula02Aula02
Aula02
 
Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2
 

Mais de Mauro Pereira

Programação Web - CSS
Programação Web - CSSProgramação Web - CSS
Programação Web - CSSMauro Pereira
 
Redes 7 ferramentas para montagem de redes
Redes 7 ferramentas para montagem de redesRedes 7 ferramentas para montagem de redes
Redes 7 ferramentas para montagem de redesMauro Pereira
 
Exercicio introducao a arquitetura de computadores
Exercicio    introducao a arquitetura de computadoresExercicio    introducao a arquitetura de computadores
Exercicio introducao a arquitetura de computadoresMauro Pereira
 
Introdução à Arquitetura de Computadores
Introdução à Arquitetura de ComputadoresIntrodução à Arquitetura de Computadores
Introdução à Arquitetura de ComputadoresMauro Pereira
 
Sistemas de Numeracao
Sistemas de NumeracaoSistemas de Numeracao
Sistemas de NumeracaoMauro Pereira
 
Lógica binária, potas lógicas e circuitos lógicos
Lógica binária, potas lógicas e circuitos lógicosLógica binária, potas lógicas e circuitos lógicos
Lógica binária, potas lógicas e circuitos lógicosMauro Pereira
 
Trabalho para nota da etapa 2 2017.1
Trabalho para nota da etapa 2 2017.1Trabalho para nota da etapa 2 2017.1
Trabalho para nota da etapa 2 2017.1Mauro Pereira
 
Redes 6 equipamentos ativos da rede
Redes 6 equipamentos ativos da redeRedes 6 equipamentos ativos da rede
Redes 6 equipamentos ativos da redeMauro Pereira
 
Redes 2 padronização e arquitetura de redes
Redes 2 padronização e arquitetura de redesRedes 2 padronização e arquitetura de redes
Redes 2 padronização e arquitetura de redesMauro Pereira
 
Redes 1 introducao historico conceitos
Redes 1 introducao historico conceitosRedes 1 introducao historico conceitos
Redes 1 introducao historico conceitosMauro Pereira
 
6 softwares de manutenção
6 softwares de manutenção6 softwares de manutenção
6 softwares de manutençãoMauro Pereira
 
4.1 softwares e configurações importantes
4.1 softwares e configurações importantes4.1 softwares e configurações importantes
4.1 softwares e configurações importantesMauro Pereira
 
Trabalho para nota da etapa 2 2015.2
Trabalho para nota da etapa 2 2015.2Trabalho para nota da etapa 2 2015.2
Trabalho para nota da etapa 2 2015.2Mauro Pereira
 
Exercicio 1 - conceitos camadas e protocolos
Exercicio 1 - conceitos camadas e protocolosExercicio 1 - conceitos camadas e protocolos
Exercicio 1 - conceitos camadas e protocolosMauro Pereira
 
Exercicio 2 endereços, dispositivos, internet-intranet-extranet, padroes, c...
Exercicio 2   endereços, dispositivos, internet-intranet-extranet, padroes, c...Exercicio 2   endereços, dispositivos, internet-intranet-extranet, padroes, c...
Exercicio 2 endereços, dispositivos, internet-intranet-extranet, padroes, c...Mauro Pereira
 

Mais de Mauro Pereira (18)

Programação Web - CSS
Programação Web - CSSProgramação Web - CSS
Programação Web - CSS
 
Redes 7 ferramentas para montagem de redes
Redes 7 ferramentas para montagem de redesRedes 7 ferramentas para montagem de redes
Redes 7 ferramentas para montagem de redes
 
Exercicio introducao a arquitetura de computadores
Exercicio    introducao a arquitetura de computadoresExercicio    introducao a arquitetura de computadores
Exercicio introducao a arquitetura de computadores
 
Introdução à Arquitetura de Computadores
Introdução à Arquitetura de ComputadoresIntrodução à Arquitetura de Computadores
Introdução à Arquitetura de Computadores
 
Sistemas de Numeracao
Sistemas de NumeracaoSistemas de Numeracao
Sistemas de Numeracao
 
Lógica binária, potas lógicas e circuitos lógicos
Lógica binária, potas lógicas e circuitos lógicosLógica binária, potas lógicas e circuitos lógicos
Lógica binária, potas lógicas e circuitos lógicos
 
Trabalho para nota da etapa 2 2017.1
Trabalho para nota da etapa 2 2017.1Trabalho para nota da etapa 2 2017.1
Trabalho para nota da etapa 2 2017.1
 
Redes 6 equipamentos ativos da rede
Redes 6 equipamentos ativos da redeRedes 6 equipamentos ativos da rede
Redes 6 equipamentos ativos da rede
 
Redes 5 cabeamento
Redes 5 cabeamentoRedes 5 cabeamento
Redes 5 cabeamento
 
Redes 3 protocolos
Redes 3 protocolosRedes 3 protocolos
Redes 3 protocolos
 
Redes 2 padronização e arquitetura de redes
Redes 2 padronização e arquitetura de redesRedes 2 padronização e arquitetura de redes
Redes 2 padronização e arquitetura de redes
 
Redes 1 introducao historico conceitos
Redes 1 introducao historico conceitosRedes 1 introducao historico conceitos
Redes 1 introducao historico conceitos
 
6 softwares de manutenção
6 softwares de manutenção6 softwares de manutenção
6 softwares de manutenção
 
4.1 softwares e configurações importantes
4.1 softwares e configurações importantes4.1 softwares e configurações importantes
4.1 softwares e configurações importantes
 
Trabalho para nota da etapa 2 2015.2
Trabalho para nota da etapa 2 2015.2Trabalho para nota da etapa 2 2015.2
Trabalho para nota da etapa 2 2015.2
 
Exercicio 1 - conceitos camadas e protocolos
Exercicio 1 - conceitos camadas e protocolosExercicio 1 - conceitos camadas e protocolos
Exercicio 1 - conceitos camadas e protocolos
 
Exercicio 2 endereços, dispositivos, internet-intranet-extranet, padroes, c...
Exercicio 2   endereços, dispositivos, internet-intranet-extranet, padroes, c...Exercicio 2   endereços, dispositivos, internet-intranet-extranet, padroes, c...
Exercicio 2 endereços, dispositivos, internet-intranet-extranet, padroes, c...
 
Linguagem c parte 2
Linguagem c parte 2Linguagem c parte 2
Linguagem c parte 2
 

Algoritmos e lp parte 2-fundamentos

  • 1. Algoritmos e Linguagem de Programação Professor: Mauro Jansen Parte 2 – Fundamentos (Tipos de dados, variáveis, expressões e operadores) 09/2012
  • 2. Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 2
  • 3. Introdução a tipos de dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória Estas informações podem ser classificadas em dois tipos: As instruções, que comandam o funcionamento da máquina e determinam a maneira como devem ser tratados os dados Os dados propriamente ditos, que correspondem à porção das informações a serem processadas pelo computador Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 3
  • 4. Introdução a tipos de dados Internamente, essas informações (dados e instruções), ficam registradas na memória na forma binária Porém, para facilitar, as linguagens de programação oferecem a noção de TIPOS DE DADOS, que nos permite manipular as informações de forma mais parecida com o modo como fazemos no mundo real Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 4
  • 5. Conceito de tipos de dados Podemos definir tipos de dados como um conjunto de objetos que têm em comum o mesmo comportamento diante de um conjunto definido de operações Exemplos: Pessoas Z (conjunto dos números inteiros) R (conjunto dos números reais) Letras Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 5
  • 6. Tipos de dados básicos As linguagens de programação não podem manipular todos os tipos do mundo real e têm os seus próprios tipos de dados Os tipos de dados básicos são: Numéricos (somente números) Inteiro Real Literais (letras números ou símbolos) Caractere String Lógicos ou Booleanos Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 6
  • 7. Tipos de dados básicos Tipos de Dados Numérico Literal Lógico inteiro real caractere String OBS: Além dos tipos básicos, as linguagens podem oferecer variações dos mesmos ou outros tipos como Data, Hora, etc. Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 7
  • 8. Dados numéricos São dados numéricos que podem ser usados em operações aritméticas. Subtipos: Inteiros: que não possuem parte fracionária e podem ser positivos ou negativos. 10 (número inteiro positivo) -9 (número inteiro negativo) 0 (número inteiro) Reais: que podem possuir parte fracionária e podem ser positivos ou negativos. 15.05 (número real positivo com duas casas decimais) -15. (número real negativo sem casas decimais) Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 8
  • 9. Dados literais Podem ser seqüências de letras, dígitos ou símbolos especiais. Subtipos: Caractere: um único caractere: ‘a’ ‘7’ ‘@’ Cadeia de Caracteres (string): conjunto de caracteres formando uma palavra, frase ou parágrafo: “Algoritmos” “Algoritmos e Linguagem de Programação” “*** Projeto Cara Limpa (anti-drogas) ***” Normalmente ficam entre aspas simples (caractere) ou duplas (string) Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 9
  • 10. Dados lógicos Também chamados booleanos, devido à Álgebra de Boole Só possuem dois valores possíveis: Verdadeiro ou Falso Normalmente são resultados de testes de expressões lógicas e servirão de condição para execução de uma ou mais instruções Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 10
  • 11. Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 11
  • 12. Conceito de variável “Uma variável é um local na memória principal, isto é, um endereço que armazena um conteúdo” (LOPES E GARCIA, 2002) “Podemos imaginar uma variável como o nome de um local onde se pode colocar qualquer valor do conjunto de valores possíveis do tipo básico associado”. (GUIMARÃES E LAGES, 1994) Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 12
  • 13. Características de uma variável Basicamente, uma variável possui três atributos: um nome (ou identificador) tipo um tipo de dado associado à de dado mesma e o dado (valor) por ela guardado. Nome da variável Todas as variáveis utilizadas na valor elaboração de um programa devem ser declaradas. Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 13
  • 14. Declaração de variáveis Declarar uma variável corresponde à criação de um local na memória rotulado com o nome da variável (identificador) e marcado com o tipo de valores que ela pode conter: Memória RAM tipo de Nome da variável dado valor Nome da variável tipo valor de Nome da variável dado valor Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 14
  • 15. Declaração de variáveis: sintaxe Sintaxe: existem duas formas básicas para declaração de variáveis em pseudocódigos: Com o tipo após o(s) nome(s) das variável(is): Var <nome da variável 1>[,<nome da variável 2>,...]: <tipo1>; <nome da variável 3>[,<nome da variável 4>,...]: <tipo2>; Com o tipo antes do nome da(s) variável(is): <tipo1> <nome da variável 1>[,<nome da variável 2>,...]; <tipo2> <nome da variável 3>[,<nome da variável 4>,...]: Exemplos: Var nome, endereco: string; salario, aumento: real; String nome, endereco; Real salario, aumento; Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 15
  • 16. Declaração de variáveis: regras Como identificar os tipos de dados Inteiro – int ou integer Real – real, float ou double Literal – char (caractere) ou string (cadeia de caracteres) Lógico – boolean ou lógico Exemplos int valor; Variáveis do mesmo tipo podem ser declaradas juntas, bastando real salario, taxa; separar os identificadores por char opcao; vírgula. Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 16
  • 17. Declaração de variáveis: regras Regras para a Formação de Identificadores (nomes de variáveis): O primeiro caractere do nome deve ser uma letra. Se houver mais de um caractere, só se deve usar letra ou algarismo. Há diferença em usar letras maiúsculas e minúsculas. Não usar palavras que sejam reservadas Às Linguagens de Programação. Devemos dar nomes representativos para as variáveis. Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 17
  • 18. Declaração de variáveis: exemplos Declarações Válidas int quantidade Variáveis diferentes, pois real precodevenda uma usa letra maiúscula int Quantidade string nome Declarações Inválidas Não devemos usar cedilha real preço de venda nem espaço. int 2numero Não devemos iniciar o identificador com algarismo string nomeloj@ Não devemos utilizar caracteres especiais Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 18
  • 19. Exercícios de fixação O que é um tipo de dado? Quais são os tipos de dados básicos? Cite exemplos de dados de cada tipo. Diga qual o tipo de cada dado abaixo: “Linguagem de programação” 123.75 “A” -72 3>2 “12345” VERDADEIRO “01/01/2010” Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 19
  • 20. Exercícios de fixação O que é uma variável? Quais os atributos de uma variável? O que é declarar uma variável? Quais as regras para criação do nome de uma variável? Dê um exemplo de declaração de variável em cada tipo de dados básico. Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 20
  • 21. Exercícios de fixação Dados os nomes de variáveis abaixo, indique quais são válidos e quais são inválidos: VALOR X2 3X4 XYZ “NOTA” SALÁRIO-LÍQUIDO NOTA*DO*ALUNO MARIA NOMEDAESCOLA AH! A1B2C3 KM/H Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 21
  • 22. Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 22
  • 23. Expressão Combinação de operandos (valores ou variáveis), operadores, e chamadas de funções que são interpretadas (avaliadas) de acordo com as regras de precedência e de associatividade particulares a uma determinada linguagem de programação, que calcula e, em seguida, produz (retorna) um valor Exemplos: 2+2 (expressão aritmética) “Algoritmos “+” e Programação” (expressão literal) 5 > 3 (expressão lógica) Salario * reajuste / 100 (expressão aritmética usando variáveis) Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 23
  • 24. Operadores Operadores são elementos que atuam sobre operandos e produzem um resultado. Operandos são valores ou variáveis de um dos tipos de dados Exemplo 5+3 Operandos: 5 e 3 Operador: + Resultado: 8 Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 24
  • 25. Tipos de operadores Operadores Unários: atuam sobre um único operando. Exemplo: -2 Operadores Binários: atuam sobre dois operandos. Exemplo: 3 + 6 Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 25
  • 26. Expressões aritméticas Produzem como resultado um tipo de dado numérico. Utilizam operadores aritméticos e variáveis numéricas. Operadores aritméticos: Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 26
  • 27. Expressões lógicas Produzem como resultado um valor lógico (.Verdadeiro. ou .Falso.). Fundamentam-se na Lógica Matemática. Conceito de Proposição Uma proposição ou sentença é qualquer oração que pode ser avaliada como verdadeira ou falsa. Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 27
  • 28. Expressões lógicas: exemplos e princípios Exemplos de Proposições São Luís é a capital do Maranhão. A Lua é feita de queijo. 2 é um número par. 5 – 3 = 0. Regras Fundamentais da Lógica Matemática Princípio da não contradição: uma proposição não pode ser verdadeira e falsa ao mesmo tempo. Princípio do terceiro excluído: uma proposição sempre assume um valor (verdadeiro ou falso) Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 28
  • 29. Expressões lógicas: tipos Tipos de Proposições Proposições Simples ou Atômicas Não é possível decompô-las Cinco é menor que dez. Proposições Compostas ou Moleculares Formadas por duas ou mais proposições simples ligadas por meio de conectivos lógicos. São cinco os conectivos lógicos: E – OU – NÃO – SE ... ENTÃO – SE, E SOMENTE SE Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 29
  • 30. Proposições compostas Exemplos de Proposições Compostas 1. Pelé é brasileiro E Maradona é Argentino. 2. Vou à praia OU ao cinema. 3. SE eu estudar, ENTÃO serei aprovado em Programação. 4. Serei aprovado em Programação SE, E SOMENTE SE, SE eu estudar. Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 30
  • 31. Operador lógico de negação (NÃO) Cada conectivo lógico está associado a uma operação lógica. Negação: usa o operador NÃO para modificar uma proposição, invertendo seu valor lógico. A representação desta operação na tabela verdade é a seguinte: p NÃO p V F F V Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 31
  • 32. Operador lógico de conjunção (E) Conjunção: Com o uso do conectivo E é possível ligar duas proposições, formando uma nova proposição chamada conjunção, cujo valor lógico é a verdade quando ambas as proposições que a compõe forem verdadeiras. a b aEb V V V V F F F V F F F F Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 32
  • 33. Operador lógico de disjunção (OU) Disjunção: Com o uso do conectivo OU é possível ligar duas proposições, formando uma nova proposição chamada disjunção, cujo valor lógico é a falsidade quando ambas as proposições que a compõe forem falsas. a b a OU b V V V V F V F V V F F F Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 33
  • 34. Resumo dos operadores lógicos Tabela Demonstrativa dos Operadores Lógicos Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 34
  • 35. Operadores relacionais Usados quando se deseja efetuar comparações. Produzem como resultado um dos valores lógicos. Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 35
  • 36. Funções Funções são sub-programas existentes nas linguagens de programação que recebem dados, efetuam operações com os mesmos e retornam um resultado Podem ser usadas em expressões Tipos de funções: Matemáticas (retornam valor numérico) Literais (retornam valor literal) Lógicas (retornam valor lógico) Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 36
  • 37. Funções Toda função tem um nome (identificador) seguido de “(“, dos parâmetros separados por vírgula e “)” Exemplos: Função Resultado fornecido RAIZ(<número>) Raiz quadrada EXP(<base>,<expoente>) Potenciação ABS(<número>) Valor absoluto do número RESTO(<a>,<b>) Resto da divisão a / b TRUNCA(<n>) ou INT(<n>) Parte inteira do número real n LOG(<n>) Logarítmo na base 10 de n Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 37
  • 38. Prioridade dos operadores Toda expressão respeita a ordem de execução de seus operadores, sempre da esquerda para a direita. Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 38
  • 39. Exercícios de fixação Sabendo que X=2, Y=5, diga o tipo e resultado das seguintes expressões: 3 ** X + 10 / 2 – 3 X=Y 7+Y > X * 2 Y>X Crie a expressão aritmética para calcular: Média de quatro notas (n1, n2, n3 e n4) Valor do delta, X’ e X’’, em uma equação do 2º grau, em função das variáveis a, b e c Retornar somente a parte fracionária de um número real N Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 39
  • 40. Exercícios de fixação Dadas as variáveis A=3, B=16, NOME=“MARIA”, PROFISSAO=“ADVOGADO” e TESTE=FALSO, avalie as expressões: A+1 >= RAIZ(B) OU NOME=“ANA” A+1 >= RAIZ(B) E PROFISSAO=“MEDICO” NOME<>”ANA” OU PROFISSAO=“MEDICO” E A+1>RAIZ(B) INT(A/B) + 2 Algoritmos e Ling.de Programação Prof. Mauro Fundamentos 40