Apostila Logica Programacao
Apostila Logica Programacao
PROGRAMAÇÃO
Introdução
Vivemos em um mundo rodeado de tecnologias que facilitam nossas vidas e é impossível pensar
em não tê-las. Internet, smartphones, computadores, caixas eletrônicos, cartões de crédito e
débito são apenas alguns exemplos de tecnologias que fazem parte do nosso cotidiano e nos
auxiliam em muitas atividades. Mas, você já parou para pensar como estas tecnologias
funcionam? E você ficaria surpresa em saber que a base destas tecnologias está na lógica, assim
como a lógica que você utiliza, mesmo que inconscientemente, para ir para a escola?
Neste mini curso abordaremos o tema lógica de programação no qual serão apresentados os
princípios básicos para que você comece a entender como o computador realiza as mais diversas
atividades. Fique tranquila pois você verá que não é nada complicado!
Seja bem vinda e esperamos que você aproveite o mini curso de lógica de programação!
Meninas do Projeto ++C&TpM
Esta apostila foi elaborada exclusivamente como material de apoio para o mini curso de Lógica
de Programação que faz parte do Projeto ++C&TpM : Desmistificando a Ciência da Computação
e as Tecnologias da Informação por e para Mulheres oferecido pela Universidade Federal do ABC.
Índice
Definições de Hardware e Software .............................................................................................. 4
Lógica .............................................................................................................................................. 4
Algorítmo ........................................................................................................................................ 6
Variáveis ....................................................................................................................................... 10
Declarando Variáveis ................................................................................................................... 10
Atribuindo valores às variáveis.................................................................................................... 11
Entrada e Saída de Dados ............................................................................................................ 13
Expressões Aritméticas ................................................................................................................ 14
Expressões Literais ....................................................................................................................... 15
Expressões Relacionais................................................................................................................. 18
Expressões Lógicas ....................................................................................................................... 19
Estruturas de Controle ................................................................................................................. 21
Estrutura de Controle Sequencial ................................................................................................ 21
Estrutura de Controle Condicional .............................................................................................. 21
Estrutura de Controle de Repetição ............................................................................................ 29
Estrutura de Controle de Repetição Controlada por Condição .................................................. 29
Estrutura de Controle de Repetição Controlada por Variável .................................................... 32
Estrutura de Controle de Repetição ............................................................................................ 33
Variável Acumuladora .................................................................................................................. 34
Software: é a parte lógica, conjunto de instruções e dados. Consiste na parte que “não se pode
tocar”, ou seja, toda a parte virtual. Exemplos : aplicações, programas, sistema operacional.
Lógica
1. Entrar no mercado.
2. Pegar carrinho de compras.
3. Escolher os produtos.
4. Entrar na fila do caixa.
5. Aguardar a vez de ser atendido.
6. Pagar pelas compras.
7. Levar as compras ao carro.
8. Sair do mercado.
Veja que o objetivo desta sequencia é descrever os passos necessário para realizar uma compra.
O resultado final é sair do mercado com suas compras.
Exercício
Leias as afirmações abaixo e ordene de uma forma lógica. Qual seria o objetivo da sequencia?
Qual é o resultado final?
( ) Escovo os dentes
( ) Penteio o cabelo
( ) Vou ao banheiro
( ) Levanto da cama
( ) Abro os olhos
( ) Me espreguiço
( ) Troco de roupa
Objetivo :
Resultado final :
Algorítmo
Na programação, a sequência de ações é denominada algorítmo.
Portanto, o algorítmo é a uma sequência ordenada e finita de passos que levam à solução de um
problema.
Representação
início
…..
fim
Exemplo :
Uma estudante foi para a escola porém, como estava com muita fome, resolveu parar em uma padaria
para comer alguma coisa. Ela pediu um pedaço de pizza, um refrigerante e um quindim. Qual seria um
algoritmo para mostrar o valor que a estudante terá que pagar?
início
mostrar a soma
fim
Exercícios
1. Escolha o algorítimo correto para os seguintes objetivos :
a) Inicio
Receber o 2º número
Receber o 1º número
Mostrar a soma
Fim
b) Inicio
Receber o 1º número
Receber o 2º número
Mostrar a soma
Fim
c) Inicio
Receber o 1º número
Receber o 2º número
Mostrar a soma
Fim
a) Inicio
Receber o dinheiro
Fim
b) Inicio
Receber o dinheiro
Fim
c) Inicio
Receber o dinheiro
Fim
2. Complete os algorítimos :
Inicio
Separar as frutas
Pegar o liquidificador
Colocar a laranja
Ligar o liquidificador
Beber a vitamina
Fim
2.2 – Encontrar o número de telefone do seu amigo João na agenda do seu celular
Inicio
Fim
3. Você deseja calcular a sua média final da matéria de programação. Para isso, você precisa escrever
um algoritmo.
Para calcular a média, você precisa somar a nota de 2 provas (P1 e P2) e nota do laboratório. A
média final é dada por :
Variáveis
Algorítmos são formados por variáveis. As variáveis armazenam valores que podem ser
constantes ou alterados ao longo do algorítmo.
• Não é permitido símbolos ( / ^& % $....) exceto o sinal _ (traço inferior – underline ou
underscore)
NÃO PERMITIDO :
Lembrar :
Declarando Variáveis
A estrutura a ser seguida é :
onde :
o identificador pode ser qualquer palavra desde que siga as regras de nomenclatura;
o tipo pode ser literal, numérica ou lógica (sempre sublinhado)
Exemplo
início
PESSOA : caracter
IDADE : inteiro
fim
Exercícios
1 – Identifique os tipos de variáveis (caracter ou inteiro) :
a) Nome de pessoa
b) Idade
c) Nome da rua
d) Bairro
e) Cidade
f) Cep
g) Telefone
h) Soma de 2 números
i) Nome da mãe
a) Nome de pessoa
b) Quantidade de livros de um autor
c) Código de um uma diciplina
d) Artista favorito
e) Cep
f) Telefone
g) Produto de uma loja
inicio
PESSOA : caracter
IDADE : inteiro
IDADE <- 26
fim
Exercícios
1 – Faça a declaração das variáveis necessárias, identifique o tipo e atribua valores :
2 – Pensando na sua agenda de contatos do seu celular. Como você escreveria um algorítmo para receber
as informações? Identifique quais são as variáveis necessárias, o tipo e faça as atribuições das
informações para as variáveis.
Para descrever o comando para a entrada de dados no algorítmo, utilizamos as formas a seguir :
início
PESSOA : caracter
leia (PESSOA)
fim
início
PESSOA : caracter
leia (PESSOA)
escreva (PESSOA)
fim
Exercícios
1 - Pensando na sua agenda de contatos do seu celular, como você escreveria um algorítmo para receber
e mostrar as informações? Identifique quais são as variáveis necessárias, o tipo e escreva o algorítimo
para receber as informações via teclado e depois, mostre todas as informações na tela.
2 – Escreva um algorítimo para cadastrar e imprimir na tela os dados de uma diciplina escolar : nome da
matéria, descrição, frequencia e média mínima para aprovação.
Expressões Aritméticas
– Utilizam operadores aritméticos e funções aritméticas.
– OPERADORES ARITMÉTICOS
Operador Operação
+ adição
- subtração
* multiplicação
/ divisão
^ potenciação
Exemplo
A B C
3 0 0 A ← 3
3 4 0 B ← A+1
3 4 1 C ← B-A
3 3 1 B ← A*C
3 3 27 C ← B^A
3 9 27 B ← C/A
12 9 27 A ← B+A
Prioridade Operações
1 Potenciação, radiciação
2 Multiplicação, divisão
3 Adição, subtração
Expressões Literais
– Válidas somente para variáveis do tipo literal ou alfanumérico;
– Possui apenas um operador (concatenação)
+ concatenação
Exemplo
A B
A ← “Ice”
Ice B ← A + “berg”
Exercícios
Qual o algorítimo correto para :
b) Inicio
N1: inteiro
N2 : inteiro
Soma : inteiro
Escreva (N1)
Escreva (N2)
Soma <- N1 + N2
Escreva (Soma)
Fim
c) Inicio
N1 : inteiro
N2 : inteiro
Soma : inteiro
leia (N1)
leia (N2)
Soma <- N1 + N2
escreva (Soma)
Fim
Palavra1: caracter
Palavra2: caracter
Concatena: caracter
Concatena <- Palavra1 + Palavra2
Escreva (concatena)
Fim
b) Inicio
Palavra1: caracter
Palavra2: caracter
Concatena: caracter
Leia (palavra1)
Leia(palavra2)
Leia (concatena)
Palavra2 <- Palavra1 + concatena
Escreva (concatena)
Fim
c) Inicio
Palavra1: caracter
Palavra2: caracter
Concatena: caracter
Leia (palavra1)
Leia(palavra2)
Concatena <- Palavra1 + Palavra2
Escreva (concatena)
Fim
4 - Escreva um algorítimo que solicite um verbo e então, deve ser mostrado na tela “Você é capaz de “
concatenado do verbo que foi escrito, e seguido do ponto de interrogação.
P.ex, se a usuária digitar “programar”, deve aparecer na tela “Você é capaz de programar?”
Expressões Relacionais
Compostas por outras expressões ou variáveis com operadores relacionais.
Retornam valores lógico (verdadeiro ou falso).
OPERADORES RELACIONAIS
= Igualdade 1 = 1 verdadeiro
Exercício
Identifique se o resultado das atribuições abaixo será verdadeiro ou falso :
G1 <- 10
G2 <- 5
a) G1 = G2 ( )
b) G1 > G2 ( )
c) G2 > G1 ( )
d) G1 >= G2 ( )
e) G1 <> G2 ( )
a) Nome1 = Nome2 ( )
b) Nome1 <> Nome2 ( )
Expressões Lógicas
Composta por expressões relacionais
Utilizam operadores lógicos
O resultado é sempre um valor lógico
OPERADORES LÓGICOS
Operador Operação
e Intersecção
ou União
não Negação
Tabela Verdade
Operador e (Intersecção)
Operador ou (União)
Exercícios
4. Verifique se o resultado das afirmações abaixo é verdadeiro ou falso :
d) Eu comi 1 doce e 1 salgado, então, eu comi 2 alimentos? Verdadeiro ou Falso
e) Eu comi 1 doce ou 1 salgado, então, eu comi 2 alimentos? Veradeiro ou Falso
f) Fiz aniversário e meu pai pediu que escolhesse uma bolsa ou um sapato. Ganhei 1 presente.
Verdadeiro ou falso.
g) Fiz aniversário e meu pai pediu que escolhesse uma bolsa e um sapato. Ganhei 1 presente.
Verdadeiro ou falso.
2 – Verdadeiro ou falso :
Estruturas de Controle
Existem 4 tipos de estruturas de controle :
• Sequencial
• Condicional Simples
• Condicional Composta
• Repetição
início
voz1 : caracter
voz2 : caracter
escreva (“Digite o nome do primeiro cantor : “)
leia (voz1)
escreva (“Digite o nome do segundo cantor : “)
leia (voz2)
escreva (“Meus cantores favoritos são “ + voz1 + “ e ” + voz2)
fim
Condicional Simples
< comandos>
fimse
Exemplo
início
...
se media > 5 entao
resultado ← “APROVADO”
fimse
...
fim
início
idade : inteiro
resultado : caracter
escreva (“Digite a idade : “)
leia (idade)
se idade < 18 entao
resultado <- “Menor de idade. Não pode dirigir.”
fimse
escreva (resultado)
fim
Exemplo de resultado :
Condicional Composta
senao
fimse
Exemplo
início
...
se media > 5 entao
resultado ← “APROVADO”
senao
resultado ← “REPROVADO”
fimse
...
fim
início
idade : inteiro
resultado : caracter
leia (idade)
senao
fimse
escreva (resultado)
fim
Exemplos de resultados :
ENCADEAMENTO DE COMANDOS se
• Atentar para o conjunto de comandos que deverão ser executados em cada estrutura do
comando se
início
...
se presenca > 75 entao
se media > 5 entao
resultado ← “APROVADO”
senao
resultado ← “RECUPERAÇÃO”
fimse
senao
resultado ← “REPROVADO”
fimse
...
fim
Exercícios
1 – Analise os algorítimos abaixo e escolha a resposta correta :
Inicio
Num1: inteiro
Num2: inteiro
leia (Num1)
leia (Num2)
se Num1 > Num 2 entao
escreva (“Verdadeiro”)
senao
escreva (“Falso”)
fimse
fim
a) Somente quando o segundo número digitado for maior que o primeiro, aparecerá a mensagem
“Verdadeiro”
b) Somente quando o primeiro número digitado for menor que o segundo, aparecerá a mensagem
“Falso”
c) Quando o primeiro número digitado for igual ao segundo, aparecerá a mensage “Verdadeiro”
Inicio
Num1: inteiro
Num2: inteiro
leia (Num1)
leia (Num2)
se Num1 >= Num 2 entao
escreva (“Verdadeiro”)
senao
escreva (“Falso”)
fimse
fim
a) Quando o segundo número digitado for maior ou igual que o primeiro, aparecerá a mensagem
“Verdadeiro”
b) Quando o primeiro número digitado for menor que o segundo, aparecerá a mensagem “Verdadeiro”
c) Quando o primeiro número digitado for igual ao segundo, aparecerá a mensage “Falso”
2 – Horóscopo
Escreva um algorítimo que solicite que o usuário digite o nome e a data do aniversário (primeiro
solicite que digite o dia e depois o mes). Ao final, mostre na tela o nome e o signo do usuário (“Fulana,
seu signo é xxxxxx”)
3 – Bom no volante
Escreva um algorítimo para verificar se o usuário é bom condutor. O seu algorítimo deve conter
5 perguntas e conforme o usuário acertar a resposta de uma pergunta, deve-se partir para a próxima
pergunta. Quando o usuário acertar a resposta, deve ser exibida a mensagem “Acertou! Vamos para a
próxima pergunta.” e partir para a próxima pergunta. Se errar, deve exibir a mensagem “Errou, inicie o
teste novamente” e o algoritimo deve ser finalizado, isto é, o usuário não pode avançar para a próxima
questão. Se o usuário chegar à pergunta 5 e acertar a resposta, significa que ele acertou as 5 perguntas e
deve ser exibida a mensagem “Parabéns! Você conhece as leis de trânsito!”)
1 – Pergunta : Se o farol está vermelho, você pode avançar com o carro? (sim ou não)
2 – Pergunta : Se o farol está amarelo, você deve acelerar o carro para passar? (sim ou não)
3 – Pergunta : Se o farol está verde e não há nenhum pedestre atravessando, você pode avançar?
(sim ou não)
4 – Pergunta : Se o farol está verde e há pedestre atravessando, você pode avançar? (sim ou não)
5 – Pergunta : Se o farol está vermelho, você deve parar o carro? (sim ou não)
4 - Hora do remédio
Você está cuidando de um paciente que tem que tomar um remédio a cada 8 horas. Para te ajudar
a saber os horários de tomar o remédio, você vai escrever um algorítimo para saber o nome do remédio
e qual o próximo horário que ele deve ser ministrado ou se já está atrasado.
- se estiver adiantado : “A próxima dose do remédio <nome do remédio> deve ser ministrada as
XX hs.”
- se tiver passado do horário : “Está atrasado! A última dose do remédio <nome do remédio>
deveria ter sido ministrada as XX hs.”
OBS.: Para facilitar, na hora de informar o horário atual e o horário da última dose, vamos utilizar somente
horários das 00 as 12 hs.
Para exibir as mensagens na tela, você pode deixar horários após as 12 hs. P. ex., não se preocupe
se exibir que a próxima dose deve ser as 20 hs.
5 - Utilizando o algorítmo que você já escreveu para calcular a média final, modifique-o para que seja
mostrado se você foi aprovado, reprovado ou precisa de recuperação.
E como você faria para acrescentar a verificação de presença? Isto é, o aluno que tiver
menos de 75% de presença está automaticamente reprovado.
Pseudocódigo
< comandos>
fimenquanto
início
MUSICA : caracter
TOP3 : inteiro
TOP3 ← 0
enquanto TOP3 < 3 faca
escreva (“Digite o nome da música : “)
leia (MUSICA)
escreval (“Música “ , TOP3 + 1 , “ é “ MUSICA)
TOP3 ← TOP3 + 1
fimenquanto
fim
Exercícios
1 – Responda às questões
início
PESSOA : caracter
NUMERO_DE_PESSOAS : inteiro
NUMERO_DE_PESSOAS <- 0
enquanto NUMERO_DE_PESSOAS < 5 faca
escreval (“Digite o nome : “)
leia (PESSOA)
escreval (PESSOA)
NUMERO_DE_PESSOAS <- NUMERO_DE_PESSOAS + 1
fimenquanto
fim
2- Escreva um algorítimo que solicite 6 ítens para uma lista de compras do supermercado.
3 – Escreva um algorítimo que solicite o nome dos seus 3 cantores favoritos e exiba na tela “Fulano é
meu cantor favorito número 1”, “Siclano é meu cantor favorito número 2”....
4 - Um grupo de amigos deseja saber quem é o mais velho da turma. Escreva um algoritmo que receba o
número de amigos no grupo, e depois a idade de cada um deles. Por fim, retorne a maior idade recebida.
5 - Com a chegada dos novos alunos, o grupo de amigos cresce a cada dia. Então refaça o exercício 10,
mas dessa vez receba apenas as idades até que digitem 0, e então retorne a maior idade.
repita / até
Pseudocódigo
repita
< comandos>
início
MUSICA : caracter
TOP3 : inteiro
TOP3 <- 0
repita
TOP3 <- TOP3 + 1
escreva (“Digite o nome da música “, TOP3, “ : “)
leia (MUSICA)
escreval (MUSICA, “ é a música TOP ”, TOP3)
ate TOP3 = 3
fim
Exercícios
1 – Reescreva os exercícios 2 e 3 que você utilizou a estrutura “enquanto”, para que utilize a estrutura
“repita/até”. Há diferenças? Qual você achou mais fácil de utilizar?
Pseudocódigo
para < variável > de < valor inicial > ate < valor final > passo < valor a ser acrescido ou diminuído > faca
< comandos>
fim-para
Exemplo
Listar as 3 músicas mais famosas do momento :
início
MUSICA : caracter
TOP3 : inteiro
para TOP3 de 1 ate 3 passo 1 faca
escreva (“Música “ , TOP3 , “ : “ )
leia (MUSICA)
escreva (“ A música “ , TOP3, “ é ” , MUSICA)
fimpara
fim
Uso de Flags
Exemplo
Fazer o cadastro e impressão de vários produtos :
início
PRODUTO : caracter
escreva ("Digite o produto ou a palavra FIM para encerrar : ")
leia (PRODUTO)
enquanto (PRODUTO <> "FIM") faca
escreval (PRODUTO + “ CADASTRADO”)
escreva (“Digite o produto ou a palavra FIM para encerrar : ”)
leia (PRODUTO)
fimenquanto
fim
Variável Acumuladora
Exercícios
- Você está apto a dirigir ?
1 – Pergunta : Se o farol está vermelho, você pode avançar com o carro? (sim ou não)
2 – Pergunta : Se o farol está amarelo, você deve acelerar o carro para passar? (sim ou não)
3 – Pergunta : Se o farol está verde e não há nenhum pedestre atravessando, você pode
avançar? (sim ou não)
4 – Pergunta : Se o farol está verde e há pedestre aatravessando, você pode avançar? (sim ou
não)
5 – Pergunta : Se o farol está vermelho, você deve parar o carro? (sim ou não)
Para 5 respostas corretas, deve aparecer a mensagem : “Parabéns! Você já pode passar para a
próxima etapa do seu curso de direção!”
Para 4 respostas corretas, deve aparecer a mensagem : “Você precisa revisar alguns itens,
porém, pode passar para a próxima etapa do seu curso de direção.”
Para 2 ou 3 resposta corretas, deve aparecer a mensage : “Você tem conhecimento de alguns
ítens de trânsito, porém, ainda não é suficiente para passar para a próxima etapa do seu curso. Estude
mais um pouco e refaça o questionário.”
Para 1 ou nenhuma resposta correta, deve aparecer a mensagem : “Você é um perigo para o
trânsito! Revise todo o conteúdo e refaça o questionário.”
- Recrutamento e seleção
Escreva um algorítimo que será utilizado para obter informações de 8 candidatos, exibir a média
de idade dos candidatos, quantidade de candidatos e candidatas e quantos tem experiencia.