Apostila de Lógica de programaçãopesquisa.ufabc.edu.br/lirte/ctpm/wp-content/uploads/...Mini...
Transcript of Apostila de Lógica de programaçãopesquisa.ufabc.edu.br/lirte/ctpm/wp-content/uploads/...Mini...
APOSTILA DE LÓGICA DE PROGRAMAÇÃO
++ C&TpM : Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
MULHERES NA COMPUTAÇÃO UFABC
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
1
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.
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
2
Autora Erika Yahata
Revisão Lara Tenore, Thais Ribeiro
Date Junho, 2018
Coordenadora Mirtha Lina Fernández Venero
Contato [email protected]
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
3
Í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
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
4
Definições de Hardware e Software
Hardware: é a parte física do computador; conjunto de componentes eletrônicos, circuitos
integrados e placas. Tudo o que “pode ser tocado”, denomina-se hardware. Exemplos : monitor,
teclado, placa mãe,
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
Lógica é uma sequência de fatos. A lógica necessita de coerência.
Uma sequência lógica é aquela onde é possível entender com clareza todos os fatos, o objetivo e
o resultado final.
Exemplo de sequencia sem lógica :
1. Sair do mercado.
2. Aguardar a vez de ser atendido.
3. Entrar na fila do caixa.
4. Levar as compras ao carro.
5. Pagar pelas compras.
6. Entrar no mercado.
7. Escolher os produtos.
8. Pegar carrinho de compras.
Exemplo de sequencia 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.
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
5
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
( ) Pego minha bolsa
( ) Vou para a cozinha
( ) Penteio o cabelo
( ) Vou ao banheiro
( ) Levanto da cama
( ) Tomo meu café da manhã
( ) Abro os olhos
( ) Saio de casa para ir para a universidade
( ) Me espreguiço
( ) Troco de roupa
Objetivo :
Resultado final :
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
6
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
< comando 1 >
< comando 2 >
…..
< comando n >
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
receba o preço da pizza
receba o preço do refrigerante
receba o preço do quindim
somar todos valores
mostrar a soma
fim
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
7
Exercícios
1. Escolha o algorítimo correto para os seguintes objetivos :
1.1 – Somar 2 números :
a) Inicio
Somar os dois números
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
Somar os dois números
Fim
c) Inicio
Receber o 1º número
Receber o 2º número
Somar os dois números
Mostrar a soma
Fim
1.2 – Calcular o troco :
a) Inicio
Somar os preços dos produtos
Informar o preço total
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
8
Receber o dinheiro
Subtrair o preço total do dinheiro recebido
Informar e dar o troco
Fim
b) Inicio
Receber o dinheiro
Informar o valor do dinheiro recebido
Informar o que pode ser comprado
Somar os preços dos produtos
Informar o preço total
Subtrair o preço total do dinheiro recebido
Informar e dar o troco
Fim
c) Inicio
Receber o dinheiro
Somar os preços dos produtos
Informar o preço total
Subtrair o preço total do dinheiro recebido
Informar e dar o troco
Fim
2. Complete os algorítimos :
2.1 – Fazer uma vitamina de laranja, cenoura, acerola e um pouco de leite
Inicio
Separar as frutas
Pegar o liquidificador
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
9
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
Pressionar o ícone contatos
Pressionar o campo de procura
?
?
?
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 :
Média final = P1 + P2 + Lab
3
Escreva o algoritmo para mostrar a média final.
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
10
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.
Cada variável é chamada de identificador e deve seguir as seguintes regras :
• Ser formado por um ou mais caracteres;
• Primeiro caracter deve ser sempre uma letra;
• Não é permitido símbolos ( / ^& % $....) exceto o sinal _ (traço inferior – underline ou
underscore)
Ex.: A Nome endereco DATA_NASCIMENTO
NÃO PERMITIDO :
6G 239 A&B DATA-NASCIMENTO
Lembrar :
Cada variável pode conter apenas um valor;
Se mais de um valor for inserido, permanecerá o último valor e o valor antigo será
substituído
As variáveis são armazenadas na memória RAM e são desalocadas ao término do
algorítmo
Declarando Variáveis A estrutura a ser seguida é :
< identificador ou nome da variável > : < tipo >
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
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
11
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
2 – Como você faria a declaração das seguintes variáveis e seu tipo ?
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
Atribuindo valores às variáveis Exemplo :
inicio
PESSOA : caracter
IDADE : inteiro
PESSOA <- “Maria”
IDADE <- 26
fim
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
12
Exercícios
1 – Faça a declaração das variáveis necessárias, identifique o tipo e atribua valores :
a) Nome de pessoa : Silvio Santos
b) Idade : 40
c) Nome da rua : Rua das estrelas
d) Numero : 30
e) Bairro : Morumbi
f) Cidade : SP
g) Cep : 09789789
h) Telefone : 67846783
i) Nome da mãe : Maria Santos
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.
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
13
Entrada e Saída de Dados
Os algorítmos utilizam-se de comandos de entrada e saída de dados.
ENTRADA DE DADOS : comando leia
Para descrever o comando para a entrada de dados no algorítmo, utilizamos as formas a seguir :
início
PESSOA : caracter
leia (PESSOA)
fim
SAÍDA DE DADOS : comando escreva
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.
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
14
Expressões Aritméticas – Utilizam operadores aritméticos e funções aritméticas.
– Válidas somente para variáveis do tipo numérico.
– OPERADORES ARITMÉTICOS
Operador Operação
+ adição
- subtração
* multiplicação
/ divisão
^ potenciação
Exemplo
Variáveis Atribuição / Operação
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
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
15
Prioridade entre operações aritméticas
Prioridade Operações
1 Potenciação, radiciação
2 Multiplicação, divisão
3 Adição, subtração
Lembrando que os parêntes podem alterar a prioridade
Ex.: 5 + 15 / 5 = 8
(5 + 15) / 5 = 4
Expressões Literais – Válidas somente para variáveis do tipo literal ou alfanumérico;
– Possui apenas um operador (concatenação)
Operador Literal Operação
+ concatenação
Exemplo
Variáveis Atribuição / Operação
A B
A ← “Ice”
Ice
B ← A + “berg”
Ice Iceberg ------------------------
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
16
Exercícios
Qual o algorítimo correto para :
1- Soma de dois números
a) Inicio
N1 : caracter
N2 : caracter
Soma : inteiro
N1 <- 1
N2 <- 1
Soma <- N1 + N2
Escreva (Soma)
Fim
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
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
17
2- Mostrar a concatenação de 2 palavras :
a) Inicio
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
3 - Escreva um algorítimo que solicite o preço de 3 produtos e mostre a soma.
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?”
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
18
Expressões Relacionais Compostas por outras expressões ou variáveis com operadores relacionais.
Retornam valores lógico (verdadeiro ou falso).
OPERADORES RELACIONAIS
Operador Operação Exemplos
= Igualdade 1 = 1 verdadeiro
<> Diferença 1<>1 falso
< Menor que 1 < 1 falso
> Maior que 1 > 1 falso
<= Menor ou igual a 1<=1 verdadeiro
>= Maior ou igual a 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 ( )
Nome1 <- Maria
Nome2 <- João
a) Nome1 = Nome2 ( )
b) Nome1 <> Nome2 ( )
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
19
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)
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
20
Prioridade entre operadores e operações
* Operações entre parênteses devem ser resolvidos primeiro
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 :
Preco_Salgado <- 5,00
Preco_Doce <- 4,00
Preco_Suco <- 3,00
Preco_Pipoca <- 6,00
d) Preco_Salgado < Preco_Doce
e) Preco_Doce = Preco_Salgado
f) Preco_Salgado > preco_doce e Preco_suco < Preco_pipoca
g) Preco_Salgado < Preco_doce ou Preco_suco < Preco_pipoca
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
21
Estruturas de Controle Existem 4 tipos de estruturas de controle :
• Sequencial
• Condicional Simples
• Condicional Composta
• Repetição
Estrutura de Controle Sequencial • Conhecida também com estrutura de controle linear;
• Sequência de instruções que serão executadas respeitando-se as ordem em que foram
escritas.
Exemplo
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
Estrutura de Controle Condicional • Utilizado para tomar decisões;
• Executará um conjunto de instruções desde que uma condição seja satisfeita;
• Dividida em condicional simples e composta
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
22
Condicional Simples
• Formada pela estrutura se / entao / fimse;
• Satisfeita a condição, o conjunto de comandos entre entao e fimse serão executadas.
se < condição > entao
< comandos>
fimse
Exemplo
início
. . .
se media > 5 entao
resultado ← “APROVADO”
fimse
. . .
fim
Exemplo de um algorítimo utilizando condicional simples
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
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
23
Exemplo de resultado :
Condicional Composta
• Possibilita a execução de comandos quando a condição for falsa;
• Formada por se / entao / senao / fimse
se < condição > entao
< comandos >
senao
< comandos >
fimse
Exemplo
início
. . .
se media > 5 entao
resultado ← “APROVADO”
senao
resultado ← “REPROVADO”
fimse
. . .
fim
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
24
Exemplo de um algorítimo utilizando condicional composta
início
idade : inteiro
resultado : caracter
escreva (“Digite a idade : “)
leia (idade)
se idade < 18 entao
resultado <- “Menor de idade. Não pode dirigir.”
senao
resultado <- “Maior de idade.”
fimse
escreva (resultado)
fim
Exemplos de resultados :
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
25
ENCADEAMENTO DE COMANDOS se
• Utilizado para solucionar problemas com vários testes / comparações;
• 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
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
26
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”
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
27
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”)
Para o horóscopo, você deve seguir as informações :
Aquário : 20 de Janeiro – 18 de Fevereiro Peixes : 19 de Fevereiro – 20 de Março Áries : 21 de Março – 19 de Abril Touro : 20 de Abril – 20 de Maio Gêmeos : 21 de Maio – 20 de Junho Câncer : 21 de Junho – 22 de Julho Leão : 23 de Julho – 22 de Agosto Virgem : 23 de Agosto – 22 de Setembro Libra : 23 de Setembro – 22 de Outubro Escorpião : October 23 - November 21 Sagitário : 22 de Novembro – 21 de Dezembro Capricórnio : 22 de Dezembro – 19 de Janeiro
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!”)
A resposta do usuário deve ser sim ou não
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)
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
28
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.
1- Solicite que informe o nome do remédio
2- Solicite que informe o horario atual (somente a hora cheia. P. ex., se são 08:40, informe somente
08)
3- Solicite que informe o horario da última dose (somente a hora cheia. P. ex., se são 01:40, informe
somente 01)
4- Deve ser exibido na tela :
- 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.
Média final = P1 + P2 + lab
3
Com o valor da média final, segue-se a regra :
Média final >= 7 : mostrar mensagem “aluno aprovado”
Média final <= 4 : mostrar mensagem “ aluno reprovado”
4 < Média final < 7 : mostrar mensagem “ 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.
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
29
Estrutura de Controle de Repetição • Utilizado quando há a necessidade de repetir a mesma ação;
• Utilizando esta estrutura, não há a necessidade de escrever a mesma ação várias vezes.
Existem 2 tipos de estruturas de repetição :
– Controlada por condição
– Controlada por variável (contador)
Estrutura de Controle de Repetição Controlada por Condição • Nesse tipo de estrutura, o bloco de instruções é executado enquanto determinada
condição for verdadeira;
• As estruturas controladas por condição são :
enquanto / faca / fimenquanto
repita / até que
enquanto / faca / fimenquanto
Pseudocódigo
enquanto < condição > faca
< comandos>
fimenquanto
Ex.: Listar as 3 músicas mais famosas do momento :
início
MUSICA : caracter
TOP3 : inteiro
TOP3 ← 0
enquanto TOP3 < 3 faca
escreva (“Digite o nome da música : “)
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
30
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
a) Será solicitado digitar somente 5 nomes. (verdadeiro ou falso)
b) Será solicitado digitar somente 4 nomes. (verdadeiro ou falso)
c) Será exibido na tela 5 nomes. (veradeiro ou falso)
d) Será exibido na tela somente 4 nomes. (veradeiro ou falso)
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.
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
31
repita / até
Pseudocódigo
repita
< comandos>
até < condição >
Ex.: Listar as 3 músicas mais famosas do momento :
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?
2 - Os alunos de um grupo da disciplina Bases Experimentais da Ciência não conseguem entrar em um
consenso sobre o projeto que precisam desenvolver. Ana acredita que deve ser feito um projeto sobre
degradação de vitaminas, Beto quer pesquisar sobre espectros de luz e Carla sobre cultura de bactérias.
Os oito alunos do grupo decidem então votar no projeto que desejam. Escreva um algoritmo que receba
os 8 votos nos projetos A (Ana), B (Beto) e C (Carla) e exiba o vencedor.
3 - Os Professores de um grupo de pesquisa instalaram acesso por senha em um laboratório do bloco L.
A senha escolhida foi SEQTS. Escreva um algoritmo que recebe uma senha e retorna se ela é válida ou
não. Caso a senha seja válida, deve exibir a mensagem : “Acesso liberado”. Caso se senha seja inválida,
deve exibir a mensagem, “Senha inválida. Tente novamente.”. Na 3ª tentativa inválida, deve exibir a
mensagem : “Senha bloqueada. Favor contactar a administração.” e o programa deve ser finalizado.
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
32
Estrutura de Controle de Repetição Controlada por Variável • A repetição(loop) de instruções será controlada por uma variável que inicia com um
valor determinado e é incrementada a cada repetição até ultrapassar um limite
• Estrutura controladas por variável :
para / faca / fimpara
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
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
33
Estrutura de Controle de Repetição
Uso de Flags
A flag ou técnica de marcação é utilizada quando não se sabe quantas vezes os
comandos devem ser repetidos;
A flag indica quando o usuário deseja encerrar a repetição
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
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
34
Variável Acumuladora
Utilizada quando há a necessidade de acumular vários valores para a execução de uma
operação ou obtenção de um valor total
Exemplo
Totalizar o valor de uma compra
início
PRODUTO : caracter
PRECO, TOTAL : inteiro
PRODUTO ← “INICIAR”
TOTAL ← 0
escreva (“Digite o nome do produto ou FIM para encerrar : ”)
leia (PRODUTO)
enquanto (PRODUTO <> “FIM”) faca
escreva (“Digite o preço : ”)
leia (PRECO)
TOTAL ← (TOTAL + PRECO)
escreva (“Digite o produto ou FIM para encerrar : ”)
leia (PRODUTO)
fimenquanto
escreva (“O total da compra é : “, TOTAL)
fim
Mini curso de Lógica de Programação
Universidade Federal do ABC ++C&TpM: Desmistificando a Ciência da Computação e as Tecnologias da Informação por e para Mulheres
35
Exercícios
- Você está apto a dirigir ?
Escreva um algorítimo no qual o aspirante a condutor deve responder a um questionario.
Conforme o número de acertos, o usuário será informado se já está apto a dirigir.
A resposta deve ser sim ou não
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.
1 – Solicite que seja informado o nome, idade, sexo e se tem experiencia
2 – Exiba a média da idade dos candidataos
3 – Exiba o total de candidatos e o total de candidatas
4 – Exiba quantos tem experiencia