Você está na página 1de 71

Algoritmos de

Lógica de
Programação II
Unidade I:
Entrada e saída de dados
Prof. Me. Pietro Martins de Oliveira
Entrada e saída de dados

• Leitura de dados a partir do teclado (scanf): é


feita por uma função
• Sintaxe:
scanf(“<tipo_variavel>”, &<variável>);

• Escrita de dados na tela do computador (printf):


é feita por uma função
• Sintaxe:
printf(“texto <tipo_variavel>”, <variável>);
Especificadores de formato

• Caracteres especiais para indicar o tipo da variável


• Tais caracteres devem ser inseridos entre as aspas
duplas para indicar o tipo
• %d: imprimir/ler um int
• %f: imprimir/ler um float
• %e: imprimir/ler um double
• %c: imprimir/ler um char
• %s: imprimir/ler um vetor de char (string)
Caracteres especiais importantes

• Caracteres especiais para utilizar em textos (dentro das


aspas duplas):
• \n: pula de linha
• \0: indica o fim de um texto (nulo)
• \: indica que o próximo caractere, caso seja especial,
deverá ser interpretado literalmente
• ' ': indica um espaço
• \t: insere uma tabulação (tab)
• \b: retrocesso (tab)
• \f: salta de página de formulário
Entrada e saída de dados
Entrada e saída de dados

• Execução do programa
Entrada e saída de dados

• Execução do programa
Entrada e saída de dados

• Execução do programa
Algoritmos de
Lógica de
Programação II
Unidade II:
Estruturas Condicionais
Prof. Me. Pietro Martins de Oliveira
Introdução

• Há casos onde é necessário definir caminhos


diferentes de acordo com situações específicas
• Por exemplo:
• Tomar decisões
• Escolher entre diferentes opções
• Realizar comparações
• Imagine um caso em que é preciso determinar um
valor, informado pelo usuário, é um número
negativo?
• Dependendo dessa resposta, o algoritmo irá executar
um bloco de comandos ou simplesmente ignorá-lo.
Exemplificando...

• Desenvolver um programa que peça para o usuário


informar dois números. O programa deverá informar o
seguinte:
a) Qual é o maior número?
b) Qual é o menor número?
c) Os números são iguais?

• Desenvolver uma função valide se o usuário informou um


cpf válido ou inválido.
• A programação de um alarme de incêndio: os sensores
estão detectando sinal de incêndio?
Estruturas condicionais

• Estrutura condicional ou estrutura de decisão:

a) A sequência de passos a ser executada


depende de uma condição
b) Caso a condição seja verdadeira, o bloco de
comandos é executado
c) Caso a condição não seja verdadeira, o bloco
de comandos é ignorado
d) Permite interromper e/ou redirecionar o fluxo
de um algoritmo
Estruturas condicionais

• Usadas para “selecionar um caminho” que será


executado, baseado em uma condição
• A condição deve ser composta por de uma ou mais
expressões lógico-relacional
• Há várias formas de se categorizar as sintaxes das
estruturas condicionais:
• Simples (if),
• Composta (if-else),
• Aninhadas,
• Múltipla (switch-case).
Algoritmos de
Lógica de
Programação II
Unidade II:
O comando if
Prof. Me. Pietro Martins de Oliveira
Estrutura condicional simples

• O comando if
• O bloco de comandos definido pelo if só é
executado caso sua condição seja verdadeira
• A condição deve ser expressa de uma
expressão lógico-relacional
• Há várias formas de se organizar a sintaxe do
comando if
• Simples
• Composta
• Aninhada
Estrutura condicional simples

• Testa uma condição e, caso ela seja verdadeira,


executa um bloco de comandos.
• A condição é dada por uma expressão lógico-
relacional e possui como resultado verdadeiro
(true) ou falso (false)
• Sintaxe do if em linguagem C:

ATENÇÃO:
INDENTAÇÃO
Exemplo

• Desenvolva um algoritmo que peça para o usuário


informar um número.
• Caso o número seja maior do que 10, o algoritmo
deverá imprimir: “Maior que 10”.
• Construção do programa:
• Entrada: valor numérico (int ou float)
• Saída: mensagem que informa que o número é maior
que 10 (através de um printf)
• Passo a passo:
• Usuário informa o número
• Se o número > 10: informar ao usuário
Exemplo

Exemplo

ATENÇÃO:
INDENTAÇÃO
Exemplo

TESTE DE
MESA!!!

numero → <lixo de memória>


Exemplo

TESTE DE
MESA!!!

numero → <lixo de memória>


Saída (tela) → Digite um número inteiro:
Exemplo

TESTE DE
MESA!!!

numero → 11
Saída (tela) → Digite um número inteiro:
Exemplo

TESTE DE
MESA!!!

numero → 11
Saída (tela) → Digite um número inteiro:
Exemplo

TESTE DE
MESA!!!

numero → 11
Saída (tela) → Valor maior que 10.
Condições complexas

• De maneira geral, condições simples são formadas


com operadores relacionais:
• Maior que (>), menor que (<), maior ou igual (>=),
menor ou igual (<=), igual (==) e
diferente (!=)
• Pode-se utilizar os operadores lógicos para compor
condições complexas.
• Condição complexa: união de duas ou mais
condições simples
• Operadores:
• Conjunção (&&), disjunção (||) e negação (!)
Exemplo

1) Imagine que é preciso informar ao usuário se um número


é maior que 10 e, simultaneamente, menor que 20:

ATENÇÃO:
INDENTAÇÃO
Exemplo

TESTE DE
MESA!!!

num → <lixo de memória>


Exemplo

TESTE DE
MESA!!!

num → <lixo de memória>


Saída (tela) → Digite um número:
Exemplo

TESTE DE
MESA!!!

num → 11
Saída (tela) → Digite um número:
Exemplo

TESTE DE
MESA!!!

num → 11
Saída (tela) → Digite um número:
Exemplo

TESTE DE
MESA!!!

num → 11
Saída (tela) → Valor entre 10 e 20
Exemplo

2) Imagine que é preciso informar ao usuário se um número


é maior que 10 ou se é igual a 0:
ATENÇÃO:
INDENTAÇÃO
Exemplo

TESTE DE
MESA!!!

num → <lixo de memória>


Exemplo

TESTE DE
MESA!!!

num → <lixo de memória>


Saída (tela) → Digite um número:
Exemplo

TESTE DE
MESA!!!

num → 5
Saída (tela) → Digite um número:
Exemplo

TESTE DE
MESA!!!

num → 5
Saída (tela) → Digite um número:
Algoritmos de
Lógica de
Programação II
Unidade II:
O par de comandos if-else
Prof. Me. Pietro Martins de Oliveira
Estrutura condicional composta

• A condição de um comando if pode ser falsa. Nesse caso,


pode-se capturar tal evento com um comando else
aliado ao respectivo if.
• Sintaxe do if-else em linguagem C:

ATENÇÃO:
INDENTAÇÃO
Estrutura condicional composta

• Desenvolva um algoritmo que peça para o usuário


informar um número.
• O algoritmo deverá informar se o número é par ou
ímpar.
• Construção do programa:
• Entrada: valor numérico
• Saída: mensagens que informam se o número é par ou
ímpar
• Passo a passo:
• Informar o número
• Se o número for par: imprimir “número par”
• Caso contrário: imprimir “número ímpar”
Exemplo
Exemplo

TESTE DE
MESA!!!

num → <lixo>
resto → <lixo>
Exemplo

TESTE DE
MESA!!!

num → <lixo>
resto → <lixo>
Saída (tela) → Digite um número:
Exemplo

TESTE DE
MESA!!!

num → 5
resto → <lixo>
Saída (tela) → Digite um número:
Exemplo

TESTE DE
MESA!!!

num → 5
resto → 2
Saída (tela) → Digite um número:
Exemplo

TESTE DE
MESA!!!

num → 5
resto → 1
Saída (tela) → Digite um número:
Exemplo

TESTE DE
MESA!!!

num → 5
resto → 1
Saída (tela) → Digite um número:
Exemplo

TESTE DE
MESA!!!

num → 5
resto → 1
Saída (tela) → Digite um número:
Exemplo

TESTE DE
MESA!!!

num → 5
resto → 1
Saída (tela) → Ímpar!
Observação Importante!!!

Essas duas
instruções podem
ser
substituídas pela
operação de
módulo
(%) que se
estudamos na
Unidade I
O mesmo exemplo, porém com o operador %

ATENÇÃO:
INDENTAÇÃO
Algoritmos de
Lógica de
Programação II
Unidade II:
Encadeamento de comandos if e if-else

Prof. Me. Pietro Martins de Oliveira


Estruturas condicionais aninhadas

• Pode-se compor uma estrutura condicional mais


complexa
• Coloca-se um “if-else” dentro do outro, de
acordo com a necessidade do algoritmo
• Pode-se utilizar estruturas condicionais
simples, compostas e múltiplas, todas elas de
maneira aninhada
• Criam-se vários níveis de decisões em que, a
decisão mais interna só será conferida caso a
decisão mais externa tenha resultado
verdadeiro
Estruturas condicionais aninhadas

• Sintaxe genérica

ATENÇÃO:
IDENTAÇÃO
Exemplo

• Construa um algoritmo que receba, como entrada,


a média final de um aluno:
• Imprima “Aprovado” caso a nota seja maior ou
igual a 7.;
• “Exame” se a média for maior ou igual a 4,
porém menor que 7;
• Imprima “Reprovado” caso a média seja menor
que 4.
Exemplo
Exemplo

TESTE DE
MESA!!!

media →
Exemplo

TESTE DE
MESA!!!

media →
Saída (tela) → Digite a nota do aluno:
Exemplo

TESTE DE
MESA!!!

media → 6.9
Saída (tela) → Digite a nota do aluno:
Exemplo

TESTE DE
MESA!!!

media → 6.9
Saída (tela) → Digite a nota do aluno:
Exemplo

TESTE DE
MESA!!!

media → 6.9
Saída (tela) → Digite a nota do aluno:
Exemplo

TESTE DE
MESA!!!

media → 6.9
Saída (tela) → Digite a nota do aluno:
Exemplo

TESTE DE
MESA!!!

media → 6.9
Saída (tela) → Vai fazer sub.

Você também pode gostar