17
Lógica de Programação e Algoritmos Prof. André Y. Kusumoto [email protected]

Lógica de Programação e Algoritmos - kusumoto.com.br · 1º Parênteses e funções (resolvidos da esquerda para a direita) 2º Multiplicação (*), Divisão ( / e div ) e Resto

Embed Size (px)

Citation preview

Lógica de Programação e Algoritmos

Prof. André Y. Kusumoto

[email protected]

Prof. André Y. Kusumoto – [email protected]

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: inteiros, reais, caracteres, etc.

• As expressões combinam variáveis e constantes para calcular novos

valores.

2

Prof. André Y. Kusumoto – [email protected]

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.

3

Prof. André Y. Kusumoto – [email protected]

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:

4

VARIÁVEIS

total <- produto * quantidade

VARIÁVEL CONTEÚDO DA

VARIÁVEL

nome <- “JOSÉ”;

idade <- 50;

Prof. André Y. Kusumoto – [email protected]

Tipos de Variáveis

As variáveis e as constantes podem ser basicamente de quatro tipos:

• Numéricas

• Específicas para armazenamento de números (cálculos). Podem ser ainda

classificadas como Inteiras ou Reais. As variáveis do tipo inteiro são para

armazenamento de números inteiros e as Reais são para o armazenamento de

números que possuam casas decimais.

• 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.5

Prof. André Y. Kusumoto – [email protected]

Comando de Atribuição

• Ao criarmos uma variável, partimos do princípio que em algum momento

ou vários momentos dentro do nosso algoritmo, ela receberá valores, ou

seja, armazenaremos dados na memória através de nossas variáveis.

• Para atribuirmos um valor ou uma expressão a uma variável, utilizamos o

comando de atribuição

Assim, a sintaxe do comando é:

Exemplo:Salario 1000;

Nome “Ana”;

6

identificador expressão;

Prof. André Y. Kusumoto – [email protected]

Comentários

• Comentários devem ser inseridos no algoritmo a fim de esclarecer o

desenvolvimento do mesmo. Os comentários são inseridos

entre { e }.

{ Texto de comentário delimitado por chaves }

7

Prof. André Y. Kusumoto – [email protected]

Operadores

Operadores Aritméticos

• É comum necessitarmos realizar cálculos matemáticos com as

informações que estamos manipulando. Para isso, é necessário

sabermos qual a representação dos símbolos de operações matemáticas.

Vejamos:

8

Operador Operação Exemplo

+ Adição 10 + 15

- Subtração 20 – 10

* Multiplicação 3 * 5

/Divisão (onde o resultado será um número real)

10 / 2 = 5

5 / 2 = 2,5

DIV

Divisão (onde o resultado será um número inteiro)10 div 2 = 5

7 div 2 = 3

MOD Resto de uma divisão 7 mod 2 = 1

exp(a, b) Exponenciação exp(5, 2)

Prof. André Y. Kusumoto – [email protected]

Operadores

Operadores Relacionais

• Além de operações matemáticas, é frequente nossa necessidade em

comparar informações. Por exemplo: Se média for maior ou igual a 7.

Para isso, utilizamos operadores relacionais.

9

Operador Relação

= Igualdade

≠ ou <> Diferente

> Maior que

≥ ou >= Maior ou igual que

< Menor que

≤ ou <= Menor ou igual que

Prof. André Y. Kusumoto – [email protected]

Operadores

Operadores Lógicos

• É frequente precisarmos analisar expressões lógicas, aquelas que só

possuem dois valores possíveis: Verdadeiro ou Falso. Os operadores

usados em expressões lógicas são os Operadores Lógicos. Veja:

10

Operador Relação

E (And) E lógico

Ou (Or) Ou lógico

Não (Not) Negação lógica

Ou-X (Xor) Ou ‘Exclusivo’

Prof. André Y. Kusumoto – [email protected]

Operadores

Operadores Lógicos

• Veja a seguinte tabela (Tabela Verdade) para entender melhor os

operadores lógicos.

* o valor da saída é V se as entradas são diferentes e F se as entradas são iguais

11

P Q P e Q P ou Q P ou-X Q*

F F F F F

F V F V V

V F F V V

V V V V F

Prof. André Y. Kusumoto – [email protected]

Prioridade na Avaliação de Expressões

1º Parênteses e funções (resolvidos da esquerda para a direita)

2º Multiplicação (*), Divisão ( / e div ) e Resto ( Mod )

(resolvidos da esquerda para a direita)

3º soma e subtração

4º Operadores relacionais: >, <, ≥, ≤, =, ≠

5º Operador Lógico Não (Not)

6º Operador Lógico E (And)

7º Operador Lógico Ou (Or)

8º Operador Lógico Ou Exclusivo (XOr)

12

Prof. André Y. Kusumoto – [email protected]

Comandos de Entrada e Saída

• Para atingirmos os objetivos de um algoritmo, necessitamos receber

dados do mundo externo e precisamos exteriorizar as informações

produzidas.

• Para obtermos e exteriorizarmos esses dados, utilizamos os seguintes

comandos de entrada e saída, LER, ESCREVER e IMPRIMIR.

• O comando ler espera receber um determinado dado (sem importar a origem).

• O comando escrever mostra a informação produzida no vídeo.

• O comando imprimir faz a impressão em papel da informação produzida.

13

Prof. André Y. Kusumoto – [email protected]

Comandos de Entrada e Saída

Veja a sintaxe dos comandos:

ler(variável1, variável2, ... , variável);

escrever(lista de constantes, variáveis e/ou expressões);

imprimir(lista de constantes, variáveis e/ou expressões);

Exemplos:ler(numero1);

numero2 numero1 * 2;

escrever(‘O dobro do número é ‘, numero2);

14

Prof. André Y. Kusumoto – [email protected]

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.

2) Sabendo que A=3, B=7 e C=4, informe se as expressões abaixo são verdadeiras ou

falsas.

[ ] (A+C) > B

[ ] B >= (A + 2)

[ ] C = (B –A)

[ ] (B + A) <= C

[ ] (C+A) > B

15

Prof. André Y. Kusumoto – [email protected]

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 > C) AND (C <= D)

[ ] (A+B) > 10 OR (A+B) = (C+D)

[ ] (A>=C) AND (D >= C)

16

Prof. André Y. Kusumoto – [email protected]

Referências

• Algoritmos Estruturados.

FARRER, Harry, BECKER, Christiano G., FARIA, Eduardo C., MATOS, Helton Fábio de, SANTOS, Marcos

Augusto dos, MAIA, Miriam Lourenço. Rio de Janeiro: Editora Guanabara, 1989.

• Lógica de Programação – A Construção de Algoritmos e Estruturas de Dados

Forbellone, André Luiz Villar . São Paulo, Prentice Hall, 2005:

• Algoritmos e estruturas de dados.

GUIMARÃES, Angelo de Moura, LAGES, Newton A de Castilho. Rio de Janeiro: LTC – Livros Técnicos e

Científicos Editora, 1985.

• Programação e lógica com Turbo Pascal.

MECLER, Ian, MAIA, Luiz Paulo. Rio de Paulo Janeiro: Campus, 1989.

• Unicamp - Centro de Computação – DSC. Sérgio de Moraes, abril 2000.

• Algoritmos.

SALVETTI, Dirceu Douglas, BARBOSA, Lisbete Madsen. São Paulo: Makron Books, 1998.

• Concursos Públicos – Raciocínio Lógico.

SILVA, Joselias Santos da. São Paulo: R&A Editora Cursos e Materiais Didáticos, 1999.

• Algoritmos e Estruturas de Dados.

WIRTH, Niklaus. Rio de Janeiro: Editora Prentice-Hall do Brasil, 1986.

• Sites na Web: http://www.inf.pucrs.br/~egidio/algo1/

17