O documento descreve um enigma sobre um prisioneiro preso em uma cela com duas saídas, cada uma vigiada por um guarda, sendo que um guarda sempre diz a verdade e o outro sempre mente. Para descobrir qual a saída correta, o prisioneiro deve fazer uma única pergunta a um dos guardas escolhidos aleatoriamente.
2. Introdução à Lógica de programação
Exercício
Somar dois números quaisquer
Escreva o primeiro número no retângulo A;
Escreva o segundo número no retângulo B;
Some o número do retângulo A com número do
retângulo B e coloque o resultado no retângulo C;
3. Algoritmo
Variáveis e Constantes
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.
4. Algoritmo
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.
5. Algoritmo
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.
6. Algoritmo
Tipo de Dados
Dados numéricos
Os dados numéricos representáveis num computador num
computador são divididos em apenas duas classes:
Os inteiros e os reais.
7. Algoritmo
Tipo de Dados
Dados numéricos inteiros
Os números inteiros são aqueles que não possuem componentes
decimais ou fracionários, podendo ser positivos ou negativos
8. Algoritmo
Tipo de Dados
Dados numéricos reais
Os números reais são aqueles que podem possuir componentes
decimais ou fracionários, podendo ser positivos ou negativos
9. Algoritmo
Tipo de Dados
Dados literais
O tipo de dado literal é constituído por uma sequencia de
caracteres contendo letras, dígitos e/ou símbolos especiais.
Esse tipo de dados também é chamado de alfanumerico, cadeias
de caracteres ou ainda string (inglês).
Os caracteres geralmente vem ente aspas ( “ ” )
10. Algoritmo
Tipo de Dados
Dados lógicos (booleanos)
O tipo de dado logico é usado para representar dois únicos
valores lógicos possíveis: verdadeiro ou falso. É comum
encontrar-se em outras referencias outros tipos de pares de
valores lógicos com sim/não , 1/0, true/false.
11. Algoritmo
Música – Variável de Ipanema
Olha que coisa mais linda mais cheia de graça é a variavel que
vem e que passa trazendo valores para processar.
Seja no escopo fechado. Se é grande ou pequena esta reservado
memoria no esquema.
Variavel global sei que posso usar.
Ah um espaço vazio!
Ah porque o NULL existe!
Ah passa ao banco e persiste!
Passa ao banco insere uma linha ou então morre sozinha
A se ela soubesse que quando ela passa.
O coletor de lixo trabalha de graça libera memoria
para o programador.
12. Algoritmo
Instruções Primitivas
Como o próprio nome diz, Instruções Primitivas são os comandos
básicos que efetuam tarefas essenciais para a operação dos
computadores, como entrada e saída de dados (comunicação com
o usuário e com os dispositivos periféricos), e movimentação dos
mesmos na memória.
13. Algoritmo
Instruções Primitivas
Instruções primitivas
A instrução primitiva de atribuição avalia uma expressão e
armazena o valor resultante numa variável. O valor resultante da
expressão e a variável devem ter tipos compatíveis.
A instrução primitiva de saída de dados admite como argumentos
uma lista de variáveis, um literal, ou uma mistura de ambos. No
primeiro caso, o valor de cada uma das variáveis é buscado na
memória e colocado no dispositivo de saída. No caso de literais,
estes são copiados diretamente no dispositivo de saída.
A instrução primitiva de entrada de dados busca, no dispositivo de
entrada, dados que são guardados nas posições de memória
correspondentes às variáveis da lista que lhe são passadas como
argumento.
14. Algoritmo
Instruções Primitivas
Instrução Primitiva de Atribuição
A instrução primitiva de atribuição, ou simplesmente atribuição, é a
principal maneira de se armazenar uma informação numa variável.
Sua sintaxe é:
<nome_de_variável> <expressão>
15. Algoritmo
Instruções Primitivas
Instrução Primitiva de Atribuição
Algoritmo EXEMPLO
Var PRECO_UNIT, PRECO_TOT : real;
QUANT : inteiro;
Início
PRECO_UNIT 5.0
QUANT 10
PRECO_TOT PRECO_UNIT * QUANT
Fim
16. Algoritmo
Instruções Primitivas
Instruções primitivas de saída
As instruções primitivas de saída de dados são
o meio pelo qual informações contidas na
memória dos computadores são colocadas nos
dispositivos de saída, para que o usuário
possa visualizá-las.
Há duas sintaxes possíveis para esta
instrução:
17. Algoritmo
Instruções Primitivas
Instruções primitivas de saída
Algoritmo EXEMPLO
Var PRECO_UNIT, PRECO_TOT : real
QUANT : inteiro
Início
PRECO_UNIT 5.0
QUANT 10
PRECO_TOT PRECO_UNIT * QUANT
Escreva PRECO_TOT
Fim.
18. Algoritmo
Instruções Primitivas
Instruções primitivas entrada de dados
As instruções primitivas de entrada de dados
são o meio pelo qual informações são
fornecidas ao computador para serem
processadas.
Sua sintaxe é:
19. Algoritmo
Instruções Primitivas
Instruções primitivas entrada de dados
Algoritmo EXEMPLO
Var PRECO_UNIT, PRECO_TOT : real;
QUANT : inteiro;
Início
Leia PRECO_UNIT, QUANT;
PRECO_TOT PRECO_UNIT * QUANT;
Escreva PRECO_TOT;
Fim.
21. Algoritmo
Operadores
Os operadores são meios pelo qual incrementamos,
decrementamos, comparamos e avaliamos dados dentro do
computador.
Temos três tipos de operadores:
• Operadores Aritméticos
• Operadores Relacionais
• Operadores Lógicos
22. Algoritmo
Operadores aritméticos
Os operadores aritméticos são os utilizados para obter resultados
numéricos. Além da adição, subtração, multiplicação e divisão,
podem utilizar também o operador para exponenciação.
Os símbolos para os operadores aritméticos são:
Adição +
Subtração -
Multiplicação *
Divisão /
Exponenciação **
Mod MOD
23. Algoritmo
Operadores Relacionais
Os operadores relacionais são utilizados para comparar String de
caracteres e números. Os valores a serem comparados podem ser
caracteres ou variáveis. Estes operadores sempre retornam
valores lógicos (verdadeiro ou falso/ True ou False)
Os operadores relacionais são:
Igual a =
Diferente de != ou <>
Maior que >
Menor que <
Maior ou igual a >=
Menor ou igual a <=
24. Algoritmo
Operadores Lógicos
Os operadores lógicos servem para combinar resultados de
expressões, retornando se o resultado final é verdadeiro ou falso.
Os operadores lógicos são:
E AND
OU OR
NÃO NOT
25. Algoritmo
Operadores Lógicos
E / AND Uma expressão AND (E) é verdadeira se todas as
condições forem verdadeiras
OR/OU Uma expressão OR (OU) é verdadeira se pelo menos uma
condição for verdadeira
NOT Um expressão NOT (NÃO) inverte o valor da expressão ou
condição, se verdadeira inverte para falsa e vice-versa.
26. Algoritmo
Operadores Lógicos
Exercícios
1) Sabendo que A=3, B=7 e C=4, informe se as expressões abaixo
são verdadeiras ou falsas.
a) (A+C) > B ( )
b) B >= (A + 2) ( )
c) C = (B –A) ( )
d) (B + A) <= C ( )
e) (C+A) > B ( )
2) Sabendo que A=5, B=4 e C=3 e D=6, informe se as expressões
abaixo são verdadeiras ou falsas.
a) (A > C) AND (C <= D) ( )
b) (A+B) > 10 OR (A+B) = (C+D) ( )
c) (A>=C) AND (D >= C) ( )
27. Algoritmo
Operações Lógicas
Operações Lógicas são utilizadas quando se torna necessário tomar
decisões em um diagrama de bloco.
Num diagrama de bloco, toda decisão terá sempre como resposta o
resultado VERDADEIRO ou FALSO.
30. Algoritmo
Enigma
O PRISIONEIRO
No antigo Egito, havia um prisioneiro numa cela com duas saídas,
cada uma delas com um guarda. Cada saída dava para um
corredor diferente em que um dava para o campo e, portanto, para
a liberdade e o outro para um fosso de crocodilos. Só os guardas
sabiam qual a saída certa, mas um deles dizia sempre a verdade e
outro mentia sempre. O prisioneiro não sabia nem qual a saída
certa nem qual o guarda verdadeiro. Qual a pergunta (e uma só
pergunta) que o prisioneiro deveria fazer a um dos guardas ao
acaso, para saber qual a porta certa?