• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Lógica de programação em ppt
 

Lógica de programação em ppt

on

  • 787 views

Desenvolver o raciocínio lógico; ...

Desenvolver o raciocínio lógico;
Familiarizar o aluno com o modelo sequencial de computação;
Apresentar técnicas e linguagens para representação e construção de algoritmos simples;
Apresentar conceitos básicos de linguagens de programação;

Statistics

Views

Total Views
787
Views on SlideShare
787
Embed Views
0

Actions

Likes
1
Downloads
46
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Lógica de programação em ppt Lógica de programação em ppt Presentation Transcript

    • Lógica de Programação Andrei Bastos UFES – LABIC VITÓRIA, ES - 2014 Universidade Federal do Espírito Santo UFES - LABIC 1
    • OBJETIVOS • Desenvolver o raciocínio lógico; • Familiarizar o aluno com o modelo sequencial de computação; • Apresentar técnicas e linguagens para representação e construção de algoritmos simples; • Apresentar conceitos básicos de linguagens de programação; Universidade Federal do Espírito Santo UFES - LABIC 2
    • Bibliografia • Lógica de Programação – A Construção de Algoritmos e Estruturas de Dados – São Paulo • Paulo Sérgio de Moraes, Apostila de Lógica de Programação. Universidade Federal do Espírito Santo UFES - LABIC 3
    • Conceito São vários os conceitos para algoritmo. Escolhemos alguns para serem apresentados • “Um conjunto finito de regras que provê uma sequência de operações para resolver um tipo de problema específico” [KNUTH] • “Sequência ordenada, e não ambígua, de passos que levam à solução de um dado problema” [TREMBLAY] Universidade Federal do Espírito Santo UFES - LABIC 4
    • Conceito Um algoritmo é formalmente uma sequência finita de passos que levam a execução de uma tarefa. Podemos pensar em algoritmo como uma receita, uma sequência de instruções que dão cabo de uma meta específica. Estas tarefas não podem ser redundantes nem subjetivas na sua definição, devem ser claras e precisas. Universidade Federal do Espírito Santo UFES - LABIC 5
    • Formas de Representação DESCRIÇÃO NARRATIVA Faz-se uso do português para descrever algoritmos VANTAGENS: • o português é bastante conhecido por nós; DESVANTAGENS: • imprecisão; • pouca confiabilidade (a imprecisão acarreta a desconfiança); • extensão (normalmente, escreve-se muito para dizer pouca coisa). Universidade Federal do Espírito Santo UFES - LABIC 6
    • Exemplos “Chupar uma bala”. • Pegar a bala • Retirar o papel • Chupar a bala • Jogar o papel no lixo Universidade Federal do Espírito Santo UFES - LABIC 7
    • Exemplos “Somar dois números quaisquer”. • Escreva o primeiro número no retângulo A • Escreva o segundo número no retângulo B • Some o número do retângulo A com número do retângulo B e coloque o resultado no retângulo C Universidade Federal do Espírito Santo UFES - LABIC 8
    • Exercícios Faça um algoritmo: • para trocar uma lâmpada. • para comprar um teclado. • para colocar um tênis. • Para somar dois números e multiplicar o resultado pelo primeiro número. Universidade Federal do Espírito Santo UFES - LABIC 9
    • Programas Os programas de computadores nada mais são do que algoritmos escritos numa linguagem de computador (Pascal, C, Cobol, Fortran, Visual Basic entre outras) e que são interpretados e executados por uma máquina Universidade Federal do Espírito Santo UFES - LABIC 10
    • Desenvolvendo algoritmos Para escrever um algoritmo precisamos descrever a sequência de instruções, de maneira • simples e objetiva. Para isso utilizaremos algumas técnicas: • Usar somente um verbo por frase • Usar frases curtas e simples • Ser objetivo • Procurar usar palavras que não tenham sentido dúbio Universidade Federal do Espírito Santo UFES - LABIC 11
    • Fases Vimos que ALGORITMO é uma sequência lógica de instruções que podem ser executadas. É importante ressaltar que qualquer tarefa que siga determinado padrão pode ser descrita por um algoritmo, como por exemplo: COMO FAZER ARROZ DOCE ou então CALCULAR O SALDO FINANCEIRO DE UM ESTOQUE Universidade Federal do Espírito Santo UFES - LABIC 12
    • Fases Entretanto ao montar um algoritmo, precisamos primeiro dividir o problema apresentado em três fases fundamentais. Onde temos: ENTRADA: São os dados de entrada do algoritmo PROCESSAMENTO: São os procedimentos utilizados para chegar ao resultado final SAÍDA: São os dados já processados Universidade Federal do Espírito Santo UFES - LABIC 13
    • Fases Analogia com o Humano: Universidade Federal do Espírito Santo UFES - LABIC 14
    • Exemplo • Imagine o seguinte problema: Calcular a média final dos alunos de uma turma da UFES. Os alunos realizarão três provas: P1, P2, P3. Onde Média Final = (P1+P2+P3)/3. 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 3 (três). c) Quais serão os dados de saída? R: O dado de saída será a média final. Universidade Federal do Espírito Santo UFES - LABIC 15
    • Exemplo Algoritmo Calcular Média Final: • Receba a nota da prova1 • Receba a nota de prova2 • Receba a nota de prova3 • Some todas as notas e divida o resultado por 3 • Mostre o resultado da divisão Universidade Federal do Espírito Santo UFES - LABIC 16
    • 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: P1 P2 P3 Média Final • Nota da Prova 1 • Nota da Prova 2 • Nota da Prova 3 • Utilize a tabela ao lado: Universidade Federal do Espírito Santo UFES - LABIC 17
    • EXERCÍCIOS 1) Identifique os dados de entrada, processamento e saída no algoritmo abaixo – – – – – Receba código da peça Receba valor da peça Receba Quantidade de peças Calcule o valor total da peça (Quantidade * Valor da peça) Mostre o código da peça e seu valor total 2) Faça um algoritmo para “Calcular o estoque médio de uma peça”, sendo que – ESTOQUEMÉDIO = (QUANTIDADE MÍNIMA + QUANTIDADE MÁXIMA) /2 3) Teste o algoritmo anterior com dados definidos por você. Universidade Federal do Espírito Santo UFES - LABIC 18
    • Formas de Representação FLUXOGRAMA OU DIAGRAMA DE BLOCOS O diagrama de blocos é uma forma padronizada e eficaz para representar os passos lógicos de um determinado processamento. Com o diagrama podemos definir uma sequência de símbolos, com significado bem definido, portanto, sua principal função é a de facilitar a visualização dos passos de um processamento. VANTAGENS: • Uma das ferramentas mais conhecidas; • Figuras dizem muito mais que palavras; • Padrão mundial DESVANTAGENS: • Pouca atenção aos dados, não oferecendo recursos para descrevê-los ou representá-los; • Complica-se à medida que o algoritmo cresce. Universidade Federal do Espírito Santo UFES - LABIC 19
    • SIMBOLOGIA Existem diversos símbolos em um diagrama de bloco. Veja no quadro abaixo alguns dos símbolos mais utilizados. Universidade Federal do Espírito Santo UFES - LABIC 20
    • Exemplos • Dentro do símbolo sempre terá algo escrito, pois somente os símbolos não nos dizem nada. Veja no exemplo a seguir: Universidade Federal do Espírito Santo UFES - LABIC 21
    • Exemplos Universidade Federal do Espírito Santo UFES - LABIC 22
    • Constantes, Variáveis e Tipos de Dados • Variáveis e constantes são os elementos básicos que um programa manipula. • Uma variável é um espaço reservado na memória do computador para armazenar um tipo de dado determinado. • Variáveis devem receber nomes para poderem ser referenciadas e modificadas quando necessário. • Um programa deve conter declarações que especificam de que tipo são as variáveis que ele utilizará e as vezes um valor inicial. • Tipos podem ser por exemplo: inteiros, reais, caracteres, etc. As expressões combinam variáveis e constantes para calcular novos valores Universidade Federal do Espírito Santo UFES - LABIC 23
    • Constantes Constante é um determinado valor fixo que não se modifica ao longo do tempo, durante a execução de um programa. Conforme o seu tipo, a constante é classificada como sendo numérica, lógica e literal. Exemplo de constantes: Universidade Federal do Espírito Santo UFES - LABIC 24
    • Variáveis • Variável é a representação simbólica dos elementos de um certo conjunto. Cada variável corresponde a uma posição de memória, cujo conteúdo pode se alterado ao longo do tempo durante a execução de um programa. Embora uma variável possa assumir diferentes valores, ela só pode armazenar um valor a cada instante Exemplos de variáveis Universidade Federal do Espírito Santo UFES - LABIC 25
    • Tipos de Variáveis As variáveis e as constantes podem ser basicamente de quatro tipos: Numéricas, caracteres, Alfanuméricas ou lógicas. Numéricas Específicas para armazenamento de números, que posteriormente poderão ser utilizados para cálculos. Podem ser ainda classificadas como Inteiras ou Reais. Caracteres Específicas para armazenamento de conjunto de caracteres que não contenham números (literais). Ex: nomes. Alfanuméricas Específicas para dados que contenham letras e/ou números. Pode em determinados momentos conter somente dados numéricos ou somente literais. Se usado somente para armazenamento de números, não poderá ser utilizada para operações matemáticas. Lógicas Armazenam somente dados lógicos que podem ser Verdadeiro ou Falso. Universidade Federal do Espírito Santo UFES - LABIC 26
    • Declaração de Variáveis As variáveis só podem armazenar valores de um mesmo tipo, de maneira que também são classificadas como sendo numéricas, lógicas e literais. Universidade Federal do Espírito Santo UFES - LABIC 27
    • EXERCÍCIOS • • • O que é uma constante? Dê dois exemplos. O que é uma variável? Dê dois exemplos. Faça um teste de mesa no diagrama de bloco abaixo e preencha a tabela ao lado com os dados do teste: Universidade Federal do Espírito Santo UFES - LABIC 28
    • Operadores Os operadores são meios pelo qual incrementamos, decrementamos, comparamos e avaliamos dados dentro do computador. Temos três tipos de operadores: • Operadores Aritméticos • Operadores Relacionais • Operadores Lógicos Universidade Federal do Espírito Santo UFES - LABIC 29
    • Operadores Aritméticos Os operadores aritméticos são os utilizados para obter resultados numéricos. Além da adição, subtração, multiplicação e divisão, podem utilizar também o operador para exponencial. Os símbolos para os operadores aritméticos são: OPERAÇÃO SÍMBOLO Adição + Subtração - Multiplicação * Divisão / Exponencial ** ou ^ Universidade Federal do Espírito Santo UFES - LABIC 30
    • Operadores Aritméticos Hierarquia das Operações Aritméticas 1 º ( ) Parênteses 2 º Exponencial 3 º Multiplicação, divisão (o que aparecer primeiro) 4 º + ou – (o que aparecer primeiro) Exemplos TOTAL = PRECO * QUANTIDADE 1 + 7 * 2 ** 2 –1 = 28 3 * (1 – 2) + 4 * 2 = 5 Universidade Federal do Espírito Santo UFES - LABIC 31
    • Operadores Relacionais Os operadores relacionais são utilizados para comparar variáveis. Os valores a serem comparados podem ser caracteres, numéricos ou lógicos. Estes operadores sempre retornam valores lógicos (verdadeiro ou falso/ True ou False) Para estabelecer prioridades no que diz respeito a qual operação executar primeiro, utilize os parênteses. Os operadores relacionais são: Descrição Resultado Igual a == Diferente de != ou <> Maior que > Menor que < Maior ou igual a => Menor ou igual a <= Universidade Federal do Espírito Santo UFES - LABIC 32
    • Exemplos Tendo duas variáveis A = 5 e B = 3 Os resultados das expressões seriam: Expressão Resultado A == B Falso A <> B Verdadeiro A>B Verdadeiro A<B Falso A >= B Verdadeiro A <= B Falso Universidade Federal do Espírito Santo UFES - LABIC 33
    • Operadores Lógicos Os operadores lógicos servem para combinar resultados de expressões, retornando se o resultado final é verdadeiro ou falso. Os operadores lógicos são: E AND OU OR NÃO NOT E / AND: Uma expressão AND (E) é verdadeira se todas as condições forem Verdadeiras OR/OU: Uma expressão OR (OU) é verdadeira se pelo menos uma condição for Verdadeira NOT: Um expressão NOT (NÃO) inverte o valor da expressão ou condição, se verdadeira inverte para falsa e vice-versa. Universidade Federal do Espírito Santo UFES - LABIC 34
    • Exemplo A tabela abaixo mostra todos os valores possíveis criados pelos três operadores lógicos (AND, OR e NOT) 1º Valor Operador 2º Valor Resultado True AND True True True AND False False False AND True False False AND False False True OR True True True OR False True False OR True True False OR False False True NOT False False NOT True Universidade Federal do Espírito Santo UFES - LABIC 35
    • Exemplo Suponha que temos três variáveis A = 5, B = 8 e C =1 Os resultados das expressões seriam: Expressões Resultado A == B AND B>C False A <> B OR B<C True A>B NOT A<B AND B>C True A >= B OR B == C False A <= B NOT True False Universidade Federal do Espírito Santo UFES - LABIC 36
    • EXERCÍCIOS 1) Tendo as variáveis SALARIO, IR e SALLIQ, e considerando os valores abaixo. Informe se as expressões são verdadeiras ou falsas. Salário IR SALLIQ EXPRESSÃO 100,00 0,00 100 (SALLIQ >= 100,00) 200,00 10,00 190,00 (SALLIQ < 190,00) 300,00 15,00 285,00 V OU F SALLIQ = SALARIO - IR 2) Sabendo que A=3, B=7 e C=4, informe se as expressões abaixo são verdadeiras ou falsas. a) (A+C) > B b) B >= (A + 2) c) C = (B –A) d) (B + A) <= C e) (C+A) > B () () () () () Universidade Federal do Espírito Santo UFES - LABIC 37
    • EXERCÍCIOS 3) Sabendo que A=5, B=4 e C=3 e D=6, informe se as expressões abaixo são verdadeiras ou falsas. a) (A > C) AND (C <= D) ( ) b) (A+B) > 10 OR (A+B) = (C+D) ( ) c) (A>=C) AND (D >= C) ( ) Universidade Federal do Espírito Santo UFES - LABIC 38
    • Operações Lógicas Operações Lógicas são utilizadas quando se torna necessário tomar decisões em um diagrama de bloco. Num diagrama de bloco, toda decisão terá sempre como resposta o resultado VERDADEIRO ou FALSO. Como no exemplo do algoritmo “CHUPAR UMA BALA”. Imaginemos que algumas pessoas não gostem de chupar bala de Morango, neste caso teremos que modificar o algoritmo para: “Chupar uma bala”. · Pegar a bala · A bala é de morango? · Se sim, não chupe a bala · Se não, continue com o algoritmo · Retirar o papel · Chupar a bala · Jogar o papel no lixo Universidade Federal do Espírito Santo UFES - LABIC 39
    • Exemplo Exemplo: Algoritmo “Chupar Bala” utilizando diagrama de Blocos Universidade Federal do Espírito Santo UFES - LABIC 40
    • Estrutura de Decisão e Repetição Como vimos no capítulo anterior em “Operações Lógicas”, verificamos que na maioria das vezes necessitamos tomar decisões no andamento do algoritmo. Essas decisões interferem diretamente no andamento do programa. Trabalharemos com dois tipos de estrutura. A estrutura de Decisão e a estrutura de Repetição Comandos de Decisão Os comandos de decisão ou desvio fazem parte das técnicas de programação que conduzem a estruturas de programas que não são totalmente sequenciais. Com as instruções de SALTO ou DESVIO pode-se fazer com que o programa proceda de uma ou outra maneira, de acordo com as decisões lógicas tomadas em função dos dados ou resultados anteriores. As principais estruturas de decisão são: “Se Então”, “Se então Senão” e “Caso Selecione” Universidade Federal do Espírito Santo UFES - LABIC 41
    • SE ENTÃO / IF ... THEN A estrutura de decisão “SE/IF” normalmente vem acompanhada de um comando, ou seja, se determinada condição for satisfeita pelo comando SE/IF então execute determinado comando. Imagine um algoritmo que determinado aluno somente estará aprovado se sua média for maior ou igual a 5.0, veja no exemplo de algoritmo como ficaria. SE (MEDIA >= 5.0 ) Em diagrama de blocos ficaria assim: ENTÃO ALUNO APROVADO Na linguagem C, Ficaria: If(Media>=5.0) { Texto = “APROVADO”; } Universidade Federal do Espírito Santo UFES - LABIC 42
    • SE ENTÃO SENÃO / IF ... THEN ... ELSE A estrutura de decisão “SE/ENTÃO/SENÃO”, funciona exatamente como a estrutura “SE”, com apenas uma diferença, em “SE” somente podemos executar comandos caso a condição seja verdadeira, diferente de “SE/SENÃO” pois sempre um comando será executado independente da condição, ou seja, caso a condição seja “verdadeira” o comando da condição será executado, caso contrário o comando da condição “falsa” será executado Em algoritmo ficaria assim: SE MÉDIA >= 5.0 ENTÃO Em diagrama: ALUNO APROVADO SENÃO ALUNO REPROVADO Em Linguagem C: If (MEDIA>=5.0) { Texto = “APROVADO”; } else { Texto = “REPROVADO”; } Universidade Federal do Espírito Santo UFES - LABIC 43
    • Exercício • Escreva uma Algoritmo que envolva: – Uma condição com Se então (if) – Uma condição com Se então (if .. Else) Universidade Federal do Espírito Santo UFES - LABIC 44
    • Comandos de Repetição Utilizamos os comandos de repetição quando desejamos que um determinado conjunto de instruções ou comandos sejam executados um número definido ou indefinido de vezes, ou enquanto um determinado estado de coisas prevalecer ou até que seja alcançado. São eles os comandos: Para (valores Iniciais; Condições; Conjunto de comandos) (for) Enquanto (Condições forem satisfeitas) (while) Faça (conjunto de comandos) Enquanto (conjunto condições forem satisfeitas) (do while) Universidade Federal do Espírito Santo UFES - LABIC 45
    • Para/for • • Nessa estrutura, você determina valores iniciais as variáveis, impõem condições e comandos para serem realizados caso as condições forem satisfeitas. Mais utilizados em contadores, quando você quer fazer uma escala de variação Exemplo: Imagina que você queira ler 100 valores e calcular a média aritmética deles Bastaria você declarar uma variável inteira que começasse com o valor 0, fizesse uma condição lógica para contar os 100 valores e incrementar +1 a cada passagem. Vejamos na prática... Universidade Federal do Espírito Santo UFES - LABIC 46
    • Exemplo • Exemplo de para/for para o caso anterior: int i, soma, valor; double media_final ; for(i=0,soma=0, i<100; i++) { leia valor; soma = soma + valor ; } media_final = soma/100; imprima (media_final); Universidade Federal do Espírito Santo UFES - LABIC 47
    • Enquanto/while • Nessa estrutura você impõem condições e comandos para serem realizados caso as condições forem satisfeitas. • As condições serão avaliadas antes dos comandos • Geralmente utilizados quando você não sabe o número de vezes que irá se repetir. Exemplo: Imagina que você queira ler valores até que a soma de todos valores lidos seja maior que 100 e exiba a cada alteração; Vejamos na prática... Universidade Federal do Espírito Santo UFES - LABIC 48
    • Enquanto/While int i, soma, valor; soma = 0; while (soma<100) { Leia valor; Soma = soma + valor; Imprima Soma; } Universidade Federal do Espírito Santo UFES - LABIC 49
    • Faça... Enquanto /do.. while • Nessa estrutura você impõem condições e comandos para serem realizados caso as condições forem satisfeitas. • As condições serão avaliadas depois dos comandos • Geralmente utilizados quando você não sabe o número de vezes que irá se repetir e precisa que o começo seja lido. Exemplo: se o utilizador introduzir um valor menor que 10 para o raio, o programa volta a pedir um valor para o raio. Vejamos na prática... Universidade Federal do Espírito Santo UFES - LABIC 50
    • Faça Enquanto/do While double area, raio, Pi; Pi = 3.1415; do { Leia raio; } while( raio < 10 ); area = PI * raio * raio; Imprima area; Universidade Federal do Espírito Santo UFES - LABIC 51
    • Exercícios • Faça uma algoritmo que leia valores enquanto forem menores que 20; • Faça um algoritmo que leia 10 valores e imprima no final a multiplicação de todos eles; Universidade Federal do Espírito Santo UFES - LABIC 52