Apostila de Lógica de programaçãopesquisa.ufabc.edu.br/lirte/ctpm/wp-content/uploads/...Mini...

36
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

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