Lógica de Programação Prof. Msc. Raul Paradeda Aula 3 Fundamentos.

21
Lógica de Programação Prof. Msc. Raul Paradeda Aula 3 Fundamentos

Transcript of Lógica de Programação Prof. Msc. Raul Paradeda Aula 3 Fundamentos.

Page 1: Lógica de Programação Prof. Msc. Raul Paradeda Aula 3 Fundamentos.

Lógica de Programação

Prof. Msc. Raul ParadedaAula 3

Fundamentos

Page 2: Lógica de Programação Prof. Msc. Raul Paradeda Aula 3 Fundamentos.

SumárioQuestões sintáticas;Variáveis;Atribuição;Tipos;Declaração;Bloco de instruções;Exercícios.

Page 3: Lógica de Programação Prof. Msc. Raul Paradeda Aula 3 Fundamentos.

Questões sintáticas A nomenclatura dos comandos, variáveis,

funções, tipos, classes, dentre outras, é uma importante habilidade de programação.

Ou seja, os nomes são usados para denotar muitas entidades diferentes.

Um outro termo utilizado para os nomes é identificador.

As regras léxicas determinam como um nome pode ser construído.

Page 4: Lógica de Programação Prof. Msc. Raul Paradeda Aula 3 Fundamentos.

Questões sintáticas As regras para os identificadores são:

Podem ser seqüências de letras e dígitos.COMEÇAR POR LETRAS. Identificador Beta é diferente de beta.NÃO É PERMITIDO ESPAÇOS.É utilizado o caractere especial sublinhado (_).

Algumas linguagens possuem palavras chaves e/ou reservadas que não podem ser utilizadas como identificadores: int, if, while, etc.

Page 5: Lógica de Programação Prof. Msc. Raul Paradeda Aula 3 Fundamentos.

Variáveis Uso importante da nomenclatura é dar nomes a

variáveis, que são fundamentais na programação. Em algumas linguagens, uma variável é um nome

para um local de memória (ou bloco de locais). É regra criar a variável ANTES de utilizá-la ou

referenciá-la. Nestes locais de memória (variáveis) podemos

atribuir diversos tipos de valores. Toda variável tem um endereço de memória, ou

seja, identifica de modo único o local da memória onde o valor de uma variável é armazenado.

Page 6: Lógica de Programação Prof. Msc. Raul Paradeda Aula 3 Fundamentos.

Variáveis Analise o seguinte comando:

X = Y + 1; Tal comando deve ser lido:

Atribua ao endereço de memória denotado pela variável X o valor da expressão que é a soma do valor da variável Y e um.

Observe que, quando usado na esquerda, a variável X denota um endereço; no entanto se usado na direita, a variável denota o valor armazenado no endereço.

Page 7: Lógica de Programação Prof. Msc. Raul Paradeda Aula 3 Fundamentos.

Variável

Uma única variável pode manter apenas um valor a cada momento.

É a mesma coisa que dois corpos não podem ocupar o mesmo lugar no espaço, um precisa dar lugar para o outro.

Exemplo:

n1=8;

n1=14;

Page 8: Lógica de Programação Prof. Msc. Raul Paradeda Aula 3 Fundamentos.

Atribuição É o procedimento de armazenar um valor ou

resultado de uma operação dentre de um endereço de memória, ou seja, de uma variável.

A atribuição é feita utilizando o operador igual (=) para a linguagem C e seta (<-) para pseudocódigo;

É sempre feita da direita para a esquerda, ex:

num = 3;

num2 = num + 2;

num3 = num + num2; Ou seja, na esquerda deve-se colocar APENAS

UMA VARIÁVEL.

Page 9: Lógica de Programação Prof. Msc. Raul Paradeda Aula 3 Fundamentos.

Tipos Um tipo é um conjunto de valores e um conjunto de

operações sobre estes valores. Por exemplo, o tipo inteiro possui valores ..., -2, -1, 0,

1, 2, ... O conjunto de operações para este tipo +, -, *, /, <, ... As linguagens de programação permitem que se

manipule diversos tipos de dados. Desse forma, é necessário que no momento da

declaração da variável seja informado o tipo de dado que esta variável irá armazenar.

Page 10: Lógica de Programação Prof. Msc. Raul Paradeda Aula 3 Fundamentos.

Tipos A linguagem C suporta, entre outros, os seguintes

tipos de dados:

Tipo Declaração Valores

Inteiro int ...,-2,-1,0,1,2,...

Real float ...,-2.0,-1.9,..,-0.1,..,0.0,0.1,0.2,..,2.4,2.5,..

Caractere char ‘a’,’A’,’1’,’2’,...

PalavraString

char “a”,”1”,”Teste”,”ok”

Booleano boolean True, false, 0, 1

Page 11: Lógica de Programação Prof. Msc. Raul Paradeda Aula 3 Fundamentos.

Tipos Os valores que serão armazenados na variável

devem pertencer ao tipo de dado que a variável pode receber.

Strings são caracteres ou conjuntos de caracteres, sendo identificados pela aspas duplas (“), enquanto que caracteres são identificados pelas aspas simples (‘).

Os valores caracteres e palavras são declaradas da mesma forma, diferenciam-se apenas que em strings devemos informar o tamanho da palavra que será armazenada na variável declarada e para caracteres não sendo necessário tal informação.

Page 12: Lógica de Programação Prof. Msc. Raul Paradeda Aula 3 Fundamentos.

Tipos Os valores booleanos são talvez os menos

conhecidos. São oriundos da lógica de Boole. É baseada em um conjunto de apenas dois valores

que normalmente são representados por 0 e 1 ou Verdadeiro (V) e Falso (F) ou true e false.

Podemos dizer que qualquer afirmação é “V” ou “F” na lógica matemática.Exemplos:

Cachorros são mamíferos.Cachorros são aves.5>3.

Page 13: Lógica de Programação Prof. Msc. Raul Paradeda Aula 3 Fundamentos.

Tipos Uma operação lógica sempre opera com valores

lógicos, e apresentam assim como resultado um valor lógico.

Para a resolução de operações da lógica de boole temos vários operadores lógicos, chamados de conectivos.

Os conectivos mais utilizados são: e (&&), ou (||) (~) e não (!).

A ordem de procedência dos conectivos lógicos é: 1º (parênteses), 2º (não) e 3º (e, ou).

Page 14: Lógica de Programação Prof. Msc. Raul Paradeda Aula 3 Fundamentos.

Tipos O uso dos conectivos, para encontrar a solução de

uma lógica de boole, pode ser seguida utilizando um recurso chamado de tabela-verdade.

Nesta tabela colocamos o conectivo no canto superior esquerdo e os valores booleanos nas linhas verticais e horizontais do conectivo.

Os resultados são encontrados nos cruzamentos dos valores.

e V F

V V F

F F F

ou V F

V V V

F V F

não V F

F V

Page 15: Lógica de Programação Prof. Msc. Raul Paradeda Aula 3 Fundamentos.

Exercícios Exemplo: Cachorros são mamíferos e cachorros são aves.

V e F => F Qual o resultado das seguintes expressões lógicas:

V e (V ou F)não V e não (V ou F)~F e (V ou F) ou (~V) (5>4) && (5<15) !(12<10)||(23>30)

e V F

V V F

F F F

ou V F

V V V

F V F

não V F

F V

Page 16: Lógica de Programação Prof. Msc. Raul Paradeda Aula 3 Fundamentos.

Tipos Os valores inteiros e reais, além de utilizar os

operadores já conhecidos como +, -, *, / também podem utilizar os seguintes operadores: pot (pow): potência entre dois números.

10 pot 2 = 100 [pow(10,2)] Raiz (sqrt): operação de radiciação entre dois números.

9 raiz 2 = 3 [sqrt(9)] Resto (%): resto da divisão inteira de dois número inteiros.

10 resto 4 = 2 [10%2]

Procedência é: 1º (parênteses), 2º (pot, raiz), 3º (*, /, div, resto) e 4º (+, -).

Page 17: Lógica de Programação Prof. Msc. Raul Paradeda Aula 3 Fundamentos.

Variáveis As variáveis podem apresentar duas características bem

diferentes. A primeira, é que se um valor é atribuído para a mesma,

esta poderá receber outro valor, sendo o anterior substituído.

A segunda característica, é declararmos como uma constante. Isto quer dizer, no momento de sua declaração informamos um valor para a mesma e este valor não poderá ser substituído.

Como já mencionado, ao declararmos uma variável ou constante devemos informar qual o tipo de valor que será armazenada na mesma, assim como, um identificador (como a variável será conhecida no programa).

Page 18: Lógica de Programação Prof. Msc. Raul Paradeda Aula 3 Fundamentos.

Declaração A declaração é “avisar ao computador para reservar

um determinado espaço na memória para uso”. A sintaxe da declaração de variáveis e constantes irá

variar de linguagem para linguagem. Em pseudocódigo será feita da seguinte maneira:

VAR nome_variavel:Tipo;

nome_variavel:Tipo;

Constante nome_variavel=valor; Exemplo:

VAR numero1,numero2,numero3: inteiro;

Page 19: Lógica de Programação Prof. Msc. Raul Paradeda Aula 3 Fundamentos.

Declaração Na linguagem C não há o uso da palavra VAR e

constante, a declaração é feita da seguinte forma:

Tipo nome_variavel;

Const tipo nome_variavel = valor; Exemplo:

float media;

int num, num2 = 4;

const float pi = 3.14;

Page 20: Lógica de Programação Prof. Msc. Raul Paradeda Aula 3 Fundamentos.

Bloco de instruções O bloco de instruções principal delimita as instruções

pertencentes aquele programa. Pode-se haver vários blocos de instruções,

entretanto, EXISTE APENAS UM BLOCO DE INSTRUÇÕES PRINCIPAL.

Os blocos de instruções são utilizados para delimitar as instruções que fazem parte de determinado comando.

Na linguagem C utiliza-se as chaves para a delimitação ( { } ).

Em pseudocódigo utiliza-se as palavras de início e fim.

Page 21: Lógica de Programação Prof. Msc. Raul Paradeda Aula 3 Fundamentos.

Exercícios1. Faça um resumo sobre:

1. Questões sintáticas;

2. Variáveis;

3. Atribuição;

4. Tipos;

5. Declaração;

6. Bloco de instrução.

2. Crie 10 exercícios de lógica de boole mostrando a solução para cada uma.

3. Pesquise sobre os comandos de entrada e saída da linguagem C e de Portugol.