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.
Download

F - Redes fcc 2009.2