52
Lógica de Programação Andrei Bastos UFES – LABIC VITÓRIA, ES - 2014 Universidade Federal do Espírito Santo - UFES - LABIC 1

Lógica de programação em ppt

Embed Size (px)

DESCRIPTION

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;

Citation preview

Page 1: Lógica de programação em ppt

Lógica de Programação

Andrei Bastos

UFES – LABIC

VITÓRIA, ES - 2014

Universidade Federal do Espírito Santo -

UFES - LABIC 1

Page 2: Lógica de programação em ppt

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

Page 3: Lógica de programação em ppt

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

Page 4: Lógica de programação em ppt

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

Page 5: Lógica de programação em ppt

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

Page 6: Lógica de programação em ppt

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

Page 7: Lógica de programação em ppt

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

Page 8: Lógica de programação em ppt

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

Page 9: Lógica de programação em ppt

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.

Exercícios

Universidade Federal do Espírito Santo - UFES - LABIC

9

Page 10: Lógica de programação em ppt

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

Page 11: Lógica de programação em ppt

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

Page 12: Lógica de programação em ppt

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

Page 13: Lógica de programação em ppt

Fases

Entretanto ao montar um algoritmo, precisamos primeiro dividir o problema apresentado em três fases fundamentais.

Universidade Federal do Espírito Santo - UFES - LABIC

13

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

Page 14: Lógica de programação em ppt

Fases

Universidade Federal do Espírito Santo - UFES - LABIC

14

Analogia com o Humano:

Page 15: Lógica de programação em ppt

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

Page 16: Lógica de programação em ppt

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

Page 17: Lógica de programação em ppt

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

• Utilize a tabela ao lado:

Universidade Federal do Espírito Santo - UFES - LABIC

17

P1 P2 P3 Média Final

Page 18: Lógica de programação em ppt

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

Page 19: Lógica de programação em ppt

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

Page 20: Lógica de programação em ppt

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

Page 21: Lógica de programação em ppt

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

Page 22: Lógica de programação em ppt

Exemplos

Universidade Federal do Espírito Santo - UFES - LABIC

22

Page 23: Lógica de programação em ppt

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

Page 24: Lógica de programação em ppt

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.

Universidade Federal do Espírito Santo - UFES - LABIC

24

Exemplo de constantes:

Page 25: Lógica de programação em ppt

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

Universidade Federal do Espírito Santo - UFES - LABIC

25

Exemplos de variáveis

Page 26: Lógica de programação em ppt

Tipos de Variáveis

Universidade Federal do Espírito Santo - UFES - LABIC

26

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.

Page 27: Lógica de programação em ppt

Declaração de Variáveis

Universidade Federal do Espírito Santo - UFES - LABIC

27

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.

Page 28: Lógica de programação em ppt

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

Page 29: Lógica de programação em ppt

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

Page 30: Lógica de programação em ppt

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:

Universidade Federal do Espírito Santo - UFES - LABIC

30

OPERAÇÃO SÍMBOLO

Adição +

Subtração -

Multiplicação *

Divisão /

Exponencial ** ou ^

Page 31: Lógica de programação em ppt

Operadores Aritméticos

Universidade Federal do Espírito Santo - UFES - LABIC

31

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

Page 32: Lógica de programação em ppt

Operadores Relacionais

Universidade Federal do Espírito Santo - UFES - LABIC

32

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 <=

Page 33: Lógica de programação em ppt

Exemplos

Universidade Federal do Espírito Santo - UFES - LABIC

33

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

Page 34: Lógica de programação em ppt

Operadores Lógicos

Universidade Federal do Espírito Santo - UFES - LABIC

34

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.

Page 35: Lógica de programação em ppt

Exemplo

Universidade Federal do Espírito Santo - UFES - LABIC

35

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

Page 36: Lógica de programação em ppt

Exemplo

Universidade Federal do Espírito Santo - UFES - LABIC

36

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 True

A < B AND B > C True

A >= B OR B == C False

A <= B NOT False

Page 37: Lógica de programação em ppt

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.

Universidade Federal do Espírito Santo - UFES - LABIC

37

Salário IR SALLIQ EXPRESSÃO V OU F

100,00 0,00 100 (SALLIQ >= 100,00)

200,00 10,00 190,00 (SALLIQ < 190,00)

300,00 15,00 285,00 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 ( )

Page 38: Lógica de programação em ppt

EXERCÍCIOS

Universidade Federal do Espírito Santo - UFES - LABIC

38

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) ( )

Page 39: Lógica de programação em ppt

Operações Lógicas

Universidade Federal do Espírito Santo - UFES - LABIC

39

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

Page 40: Lógica de programação em ppt

Exemplo Exemplo: Algoritmo “Chupar Bala” utilizando diagrama de Blocos

Universidade Federal do Espírito Santo - UFES - LABIC

40

Page 41: Lógica de programação em ppt

Estrutura de Decisão e Repetição

Universidade Federal do Espírito Santo - UFES - LABIC

41

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”

Page 42: Lógica de programação em ppt

SE ENTÃO / IF ... THEN

Universidade Federal do Espírito Santo - UFES - LABIC

42

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 ) ENTÃO ALUNO APROVADO

Em diagrama de blocos ficaria assim:

Na linguagem C, Ficaria:

If(Media>=5.0) { Texto = “APROVADO”; }

Page 43: Lógica de programação em ppt

SE ENTÃO SENÃO / IF ... THEN ... ELSE

Universidade Federal do Espírito Santo - UFES - LABIC

43

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 ALUNO APROVADO SENÃO ALUNO REPROVADO

Em diagrama:

Em Linguagem C:

If (MEDIA>=5.0) { Texto = “APROVADO”; } else { Texto = “REPROVADO”; }

Page 44: Lógica de programação em ppt

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

Page 45: Lógica de programação em ppt

Comandos de Repetição

Universidade Federal do Espírito Santo - UFES - LABIC

45

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)

Page 46: Lógica de programação em ppt

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

Page 47: Lógica de programação em ppt

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

Page 48: Lógica de programação em ppt

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

Page 49: Lógica de programação em ppt

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

Page 50: Lógica de programação em ppt

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

Page 51: Lógica de programação em ppt

Faça Enquanto/do While

Universidade Federal do Espírito Santo - UFES - LABIC

51

double area, raio, Pi; Pi = 3.1415; do { Leia raio; } while( raio < 10 ); area = PI * raio * raio; Imprima area;

Page 52: Lógica de programação em ppt

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