Lógica de Programação

23
Lógica de Programação Aula anterior A lógica se relaciona com a “ordem da razão”, com a “correção do pensamento” É necessário utilizar processos lógicos de programação para construir algoritmos Um algoritmo é uma sequência de passos bem definidos Tem por objetivo solucionar um determinado problema Através do exemplo de lâmpadas Fluxo de execução Estrutura sequencial Estrutura de seleção Estrutura de repetição

description

Lógica de Programação. Aula anterior A lógica se relaciona com a “ordem da razão”, com a “correção do pensamento” É necessário utilizar processos lógicos de programação para construir algoritmos Um algoritmo é uma sequência de passos bem definidos - PowerPoint PPT Presentation

Transcript of Lógica de Programação

Page 1: Lógica de Programação

Lógica de ProgramaçãoAula anterior

A lógica se relaciona com a “ordem da razão”, com a “correção do pensamento”

É necessário utilizar processos lógicos de programação para construir algoritmos

Um algoritmo é uma sequência de passos bem definidos

Tem por objetivo solucionar um determinado problema

Através do exemplo de lâmpadasFluxo de execução

Estrutura sequencial

Estrutura de seleção

Estrutura de repetição

Page 2: Lógica de Programação

Lógica de ProgramaçãoNesta aula

Tipos PrimitivosVariáveisExpressões Aritméticas, Lógicas e RelacionaisComandos de Entrada e SaídaBlocos

ObjetivosApresentar os tipos básicos de dados a serem adotadosDefinir constantes e variáveis, explicando sua utilizaçãoExplicar expressões aritméticasConceituar o processo de atribuiçãoApresentar a importância e a aplicação dos comandos de I/OConceituar blocos lógicos

Page 3: Lógica de Programação

Tópicos PreliminaresTipos Primitivos

São os tipos básicos de informação dos algoritmos

Inteiro: informação pertencente ao conjunto dos números inteiros relativos (positiva ou negativa)

- Ele tem 15 irmãos

Real: informação pertencente ao conjunto dos números reais

- Meu saldo bancário é de $ 215,20

Caracter: informação alfanumérica (caracteres alfabéticos, numéricos e especiais)

- Constava na prova: “Use somente caneta!”

Lógico: informação biestável (admite apenas 2 valores)

- A porta pode estar aberta ou fechada

Page 4: Lógica de Programação

Tipos PrimitivosDetermine qual é o tipo de informação presente nas sentenças

A placa “Pare!” tinha 2 furos de bala

Josefina subiu 5 degraus para pegar uma maçã boa

Alberta levou 3,5 horas para chegar ao hospital

Astrogilda pintou em sua camisa: “Preserve o meio ambiente”, e

ficou devendo $ 100,59 ao vendedor de tintas

Page 5: Lógica de Programação

Tópicos PreliminaresConstantes

São valores que não sofrem nenhuma variação no decorrer do tempo

Exemplos:o valor de PI

a velocidade da luz

5

“Não fume”

Page 6: Lógica de Programação

VariáveisSão valores que podem sofrer alteração no decorrer do tempo

ExemplosCotação do dólar

Peso de uma pessoa

Preço da gasolina

Page 7: Lógica de Programação

VariáveisSão como gavetas que podem receber diversos tipos de objetos

Identificadores: São os nomes escolhidos para as informações variáveis

Deve iniciar por caracter alfabético

Pode ser seguido por mais caracteres alfabéticos ou numéricos

Não devem ser usados caracteres especiais

Declaração: processo de reservar e etiquetar gavetas

Page 8: Lógica de Programação

Identificador

letra

letra

dígito

identificador

Identificadore válidos: Alpha, X, BJ153, K7, ABCIdentificadores inválidos: 5X, E(13), A:B, X-Y, P&AA

Page 9: Lógica de Programação

Declaração de Variáveis

tipo identificadorDeclaração de

variáveis: ;

,

tipo inteiro

real

caracter

lógico

Exemplos

inteiro: X;caracter: Nome;real: Peso, Dólar;lógico: Resposta;

Page 10: Lógica de Programação

Exercício 1. Supondo que as variáveis NB, NA, NMat e SX sejam

utilizadas para armazenar a nota do(a) aluno(a), o nome do(a) aluno(a), o número de matrícula e o sexo, declare-as corretamente, associando o tipo primitivo adequado ao dado que será armazenado

Page 11: Lógica de Programação

Exercício 1. Supondo que as variáveis NB, NA, NMat e SX sejam

utilizadas para armazenar a nota do(a) aluno(a), o nome do(a) aluno(a), o número de matrícula e o sexo, declare-as corretamente, associando o tipo primitivo adequado ao dado que será armazenado

real: NB; caracter: NA; inteiro: Nmat; lógico: SX;

Page 12: Lógica de Programação

ExpressõesExpressões Aritméticas

Operadores aritméticos: utilizados para a realização de cálculos matemáticos

Operador Função Exemplos

+ Adição 2 + 3, X + Y

- Subtração 4 - 2, N – M

* Multiplicação 3 * 4, A * B

/ Divisão 10 / 2, C / D

pot(x,y) Potenciação (x elevado a y) pot(2, 3)

rad(x) Raiz quadrada (de x) rad(9)

Mod Resto da divisão 9 mod 4 resulta 1

Div Quociente da divisão inteira 9 div 4 resulta 2

Page 13: Lógica de Programação

ExpressõesExpressões Lógicas

Operadores relacionais: utilizados para a estabelecer relação de comparação entre valores

Operador Função Exemplos

= Igual a 3 = 3, X = Y

> Maior que 5 > 4, X > Y

< Menor que 3 < 6, X < Y

>= Maior ou igual a 5 >= 3, X >= Y

<= Menor ou igual a 3 <= 5, X <= Y

<> Diferente de 8 <> 9, X <> Y

Page 14: Lógica de Programação

ExpressõesExpressões Lógicas

Operadores lógicos: utilizados para a efetuar avaliações lógicas entre valores

Tabelas Verdade: Conjunto de todas as possibilidades de cada operador lógico

Operador Função Exemplos

Não Negação não V, não X

e Conjugação V e V, X e Y

ou Disjunção V ou V, X ou Y

A B A e B

F F F

F V F

V F F

V V V

A B A ou B

F F F

F V V

V F V

V V V

A não A

F V

V F

Page 15: Lógica de Programação

Exercício2. Sejam A, B e C variáveis de tipo inteiro, com valores iguais a 5, 10 e –8, respectivamente, e uma variável real D, com valor de 1,5, quais os resultados das expressões aritméticas a seguir?

(a) 2 * A mod 3 – C

(b) rad(-2 * C) div 4

(c) ((20 div 3) div 3) + pot(8,2)/2

(d) (30 mod 4 * pot(3,3)) * -1

(e) rad(pot(A,B/A)) + C * D

Page 16: Lógica de Programação

AtribuiçãoProcesso de associar um valor a uma variável (guardar um objeto na gaveta)

O tipo de dado deve ser compatível com a variável (objeto precisa caber na gaveta)

Cada variável pode receber apenas um valor. O segundo valor sobrepõe-se ao anterior

Podem ser atribuídos:

Constantes

Variáveis

Expressões (aritméticas, relacionais ou lógicas)

Comando de atribuição :

Page 17: Lógica de Programação

Atribuição

Ex.: B 7; A B; X B + 13 div 5;

atribuição identificador expressão ;

expressão expressão aritmética

expressão lógica

expressão literal

Page 18: Lógica de Programação

Entrada e SaídaAlgoritmos objetivam transformar informações

Algoritmo = Entrada + Processamento + Saída

Entrada: obtenção de dados provenientes do meio externo

Comando: leia

Exemplos:

leia (X);

leia (A, NOTA);

entrada dedados

leia ( identificador ) ;

,

Page 19: Lógica de Programação

Entrada e SaídaSaída: entrega dos resultados ao meio externo

Comando: escreva

Exemplos:

escreva (X);

escreva (B, MEDIA, 2+2);

escreva (“Você pesa”, P, “quilos”);

saída dedados

escreva ( identificador

expressão

) ;

,

Page 20: Lógica de Programação

BlocosUm Bloco é um conjunto de ações com uma função definida

O algoritmo pode ser visto como um Bloco

O algoritmo pode conter vários Blocos

Exemplo:início // início do bloco (algoritmo)

// declaração de variáveis

// sequência de ações (eventualmente mais blocos)

fim. // fim do bloco (algoritmo)

blocos início identificador ;

;

fim

Page 21: Lógica de Programação

Exercícios3. Utilizando o seguinte trecho de algoritmo

.

.

inteiro: X, Y;

real: Z;

leia (X);

escreva (X, “elevado ao cubo = ”, pot(X,3));

leia (Y);

escreva (X + Y);

Z X/Y;

escreva (Z);

Z Z + 1;

X (Y + X) mod 2;

escreva (X);

.

.

explique o que está acontecendo em cada linha e qual é o resultado de cada ação

Page 22: Lógica de Programação

Exercíciosinteiro: X, Y; // declaração de duas variáveis inteiras identificadas por X e Yreal: Z; // declaração de uma variável real identificada por Zleia (X); // entrada de dados de um valor inteiro em X // supondo que seja fornecido 3, X valerá 3 escreva (X, “elevado ao cubo = ”, pot(X,3)); // saída de dados: // valor de X, seqüência de caracteres, resultado da função pot // resultado do escreva: 3 elevado ao cubo = 27leia (Y); // entrada de dados de um valor inteiro em Y // supondo que seja fornecido 2, Y valerá 2 escreva (X + Y); // saída de dados: 5Z X/Y; // comando de atribuição, Z 3/2; ou seja, Z valerá 1,5escreva (Z); // saída de dados: 1,5

Page 23: Lógica de Programação

ExercíciosZ Z + 1;

// comando de atribuição incrementando o atual valor de Z de 1

// Z 1,5 + 1; ou seja, Z valerá 2,5

X (Y + X) mod 2;

// comando de atribuição com uma expressão aritmética

// X (Y + X) mod 2;

// X (2 + 3) mod 2;

// X (5) mod 2; ou seja, X valerá 1

escreva (X);

// saída de dados: 1