Lógica de Programação
Prof. Msc. Raul Paradeda
Aula 3
Fundamentos
Sumário
Questões sintáticas;
Variáveis;
Atribuição;
Tipos;
Declaração;
Bloco de instruções;
Exercícios.
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.
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.
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.
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.
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;
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.
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.
Tipos
A linguagem C suporta, entre outros, os seguintes
tipos de dados:
Tipo
Declaração
Valores
Inteiro
Real
int
float
Caractere
Palavra
String
Booleano
char
char
...,-2,-1,0,1,2,...
...,-2.0,-1.9,..,0.1,..,0.0,0.1,0.2,..,2.4,2.5,..
‘a’,’A’,’1’,’2’,...
“a”,”1”,”Teste”,”ok”
boolean
True, false, 0, 1
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.
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.
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).
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
V
V
F
F
ou
V
V
V
F
V
F
F
F
F
V
F
não
V
F
F
V
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
V
V
F
F
ou
V
V
V
F
V
F
F
F
F
V
F
não
V
F
F
V
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º (+, -).
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).
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;
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;
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.
Exercícios
1. 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.