LETRAMENTO DIGITAL...LETRAMENTO DIGITAL Curso: Especialização em Letramento Digital 2 Introdução...

Post on 26-Oct-2020

6 views 0 download

Transcript of LETRAMENTO DIGITAL...LETRAMENTO DIGITAL Curso: Especialização em Letramento Digital 2 Introdução...

LETRAMENTODIGITAL

Curso:Especialização em Letramento Digital

2

Introdução à Lógica de Programação Pós-Graduação Lato Sensu em Letramento Digital

Prof.a Dr.a Elloá B. Guedesebgcosta@uea.edu.brwww.elloaguedes.com

3

Prof.a Dr.a Elloá B. Guedes Formação: • Doutorado em Ciência da

Computação – UFCG (2013) • Mestrado em Ciência da

Computação – UFCG (2011) • Graduação em Ciência da

Computação – UFCG (2009)

Como a disciplina está organizada? Aula 01 - A importância da programação e os primeiros fundamentos • Manhã – Motivação e contextualização, conhecendo o Scratch • Tarde – Conhecendo os blocos • 10 horas/aula

Aula 02 - Conhecendo e praticando comandos • Manhã – Comandos de entrada e saída • Tarde – Desvio Condicional • 10 horas/aula

5

Como a disciplina está organizada? Aula 03 - Melhorando as habilidades • Manhã – Comandos de Repetição • Tarde – Integrando conceitos • 10 horas/aula

6

Como está organizada nossa aula nesta manhã? Aula 2/Manhã: A importância da programação e os primeiros fundamentos • Das 08h às 9h30min – Aula • Das 9h30min às 10h - Atividade 04 • Das 10h às 10h10min - Intervalo • Das 10h10min às 10h40min –

Interatividade • Das 10h40min às12 – Aula

Objetivos 1. Conhecer o papel das variáveis na

programação, utilizando-as para resolução de problemas.

2. Conhecer e saber aplicar os comandos de seleção.

Contextualização • Noções de LOGO, linguagem de

programação e algoritmo. • Na aula anterior, já vimos como

construir nossos primeiros programas com o Scratch.

• Blocos de controle, comando, sensores, etc.

• Aprendemos também a ler dados do usuário!

Contextualização • Imagine que queremos fazer uma calculadora

para a operação de soma.

• Leitura dos operandos e apresentação do resultado.

• Papel dos blocos sensores para entrada de dados.

Mãos à Obra!

11

Contextualização • Bloco sensor de entrada de dados.

• Devolve a resposta do usuário.

• Porém, com uma nova pergunta, o valor de resposta guarda apenas o resultado mais recente informado.

12

Contextualizando

• Precisamos de uma maneira de guardar os valores já lidos.

• Esses valores devem ser consultados posteriormente e atualizados.

13

Variáveis • O conceito de variável é muito importante na programação.

• Variável é uma região da memória do computador que tem um nome.

14

Variáveis • No Scratch, há um grupo de

blocos responsáveis por criar uma variável.

• A variável pode ser vista por um ator ou por todos.

15

Mãos à Obra!

16

Variáveis • Vamos criar uma variável chamada

jogador.

• Ao criá-la, aparecem blocos relativos a essa variável.

Jogador

Adicione

Esconda

17

Variáveis • Ao criar uma variável no Scratch,

vemos um monitor para ela no canto da tela.

• Esse monitor pode ser omitido ou exibido com blocos relacionados às variáveis.

18

Mãos à Obra!

19

Tarefa

• Crie uma variável e mude o valor dela para 150. Em seguida, aumente o tamanho do gato para essa variável. Faça o gato dizer o valor dessa variável.

20

Tarefa

21

Tarefa

• Pergunte ao usuário o nome dele e a idade, armazenando-os em variáveis.

• Faça o gato dizer o quadrado da idade.

22

Tarefa

23

Tarefa

• Faça o gato perguntar dois números ao usuário e dizer o resultado da soma de ambos.

• Omita o valor das variáveis.

24

Tarefa

25

Tarefa

• No Roteiro 02: Crie um algoritmo no Scratch que converta a temperatura de 60o

F para graus Celsius. Apresente o resultado obtido. Dica: C = (5/9) * (F – 32)

• Modifique essa tarefa para que o valor da temperatura em Fahrenheit e em Celsius fique armazenado em uma variável e seja exibido numa mensagem final.

• Exemplo de saída: X graus Fahrenheit equivalem a Y graus Celsius.

26

Tarefa

27

Escolha de identificadores para variáveis

• Identificadores são os nomes que escolhemos para nossas variáveis.

• Comumente, iniciam com letra minúscula.

○ Exemplos: idade, nome, jogador, pontos, etc.

• Não devem possuir espaços.

○ Evite: nome jogador, total pontos, etc.

28

• Não devem possuir caracteres acentuados ou especiais.

○ Evite: #idade, pontuação, resultado! • Cuidado ao utilizar letras maiúsculas e

minúsculas.

○ Soma, SOMA, soma e SoMa são quatro variáveis diferentes.

• Nunca começam com números.

○ Evite: 1jogador, 3player, etc.

29

Escolha de identificadores para variáveis

• Escolher bons identificadores é uma boa prática de programação.

• Adote um padrão e use-o ao longo de todo o algoritmo.

• Sugestão: se o identificador só possui uma palavra, denote-a em letra minúscula sempre.

○ Exemplos: nome, idade, pontos, etc.

30

• Sugestão: se o identificador possui mais de uma palavra, denote a primeira letra da segunda em maiúscula.

○ o pontosJogador, distanciaMouse, etc.

31

Tarefa

• Vamos calcular a distância percorrida por um certo veículo!

• Crie uma variável “velocidade” com o valor de 60 (km/h).

• Crie uma variável “tempo” com o valor de 2.5 (horas).

• Calcule a distância percorrida e armazene-a em uma variável (distancia).

32

Tarefa

33

Tarefa

• Faça um programa que selecione um número aleatoriamente entre 1 e 100 e armazene-o em uma variável.

• Apresente o número escolhido.

• Em seguida, apresente seu sucessor e antecessor.

34

Tarefa

35

Tarefa

• Faça um programa que leia do usuário um valor para uma variável x.

• Troque x pelo seu dobro.

• Imprima o novo valor de x.

36

Tarefa

37

Tarefa

• Crie uma variável “velocidade” e pergunte o seu valor ao usuário.

• O gatinho deve deslizar na tela com essa velocidade (velocidade = passos).

38

Tarefa

39

Tarefa

• Pergunte ao usuário um número e armazene-o em uma variável.

• Apresente o quadrado, o cubo e a quarta potência desse número.

40

Tarefa

41

Tarefa

• Crie duas variáveis ○ posX e posY.

• Mude o valor de posX para um valor gerado aleatoriamente entre -240 e 240.

• Mude o valor de posY para um valor gerado aleatoriamente entre -180 e 180.

• Posicione o gato nas coordenas indicadas por essas variáveis.

42

Tarefa

43

Tarefa

• Examine o bloco a seguir: • Que tipo de informação variavel armazena?

44

Tarefa

45

Tarefa • Utilize os atores do gatinho e do cachorro.

• Crie duas variáveis x e y.

• Oculte as duas variáveis ao clicar na bandeirinha verde.

• O gato deve perguntar ao usuário um valor para x do usuário.

• O cachorro deve perguntar um valor para y do usuário.

• Troque o conteúdo das variáveis x e y.

• Faça com que cada ator mencione a sua variável ao final.

46

Tarefa

47

Trocando o conteúdo de duas variáveis • Cada variável só assume um valor de cada vez! • Imagine que o usuário tenha dito x = 4 e y = 6.

• O que acontece se executarmos o seguinte trecho?

48

Trocando o conteúdo de duas variáveis • Vamos reimaginar esse problema? • Temos duas garrafas, e ambas estão cheias.

• Queremos trocar o conteúdo dessas duas garrafas, preservando o líquido.

49

Trocando o conteúdo de duas variáveis

• Precisaremos de uma garrafa vazia para nos auxiliar.

• Algoritmo para troca do conteúdo das garrafas:

Passo 1: Transfira o conteúdo da garrafa de fanta para a garrafa auxiliar.

Passo 2: Transfira o conteúdo da garrafa de guaraná para a garrafa de fanta.

Passo 3: Transfira o conteúdo da garrafa auxiliar para a garrafa de guaraná.

Trocando o conteúdo de duas variáveis • Fazendo uma analogia com nossa tarefa.

• Precisamos de uma nova variável (auxiliar).

52

Atividade 03 – Praticando conceitos de variáveis

Entrega: Mesmo dia – Manhã

No máximo 3Quantidade dealunos por equipe

1hDuração da Atividade

Consulte o Roteiro de Aprendizagem 03

Descrição da Atividade

53

Interatividade

Duração da Interatividade 20 minutos

Neste momento, as turmas serão

consultadas para saber o progresso da resolução da

tarefa.

Será necessário compartilhar o

conteúdo da tela do meu computador para replicar as

dúvidas dos alunos..

Recursos para Interatividade

54

Variáveis

• Já vimos bem o conceito de variável. • São regiões da memória, rotuladas por um identificador, que

guardam valores.

• Cada variável só armazena um valor por vez.

55

Variáveis

• Aprendemos maneiras diferentes de inicializar variáveis.

• A partir de um valor lido do usuário.

• A partir de atribuições de valores.

56

Variáveis

• Podemos introduzir controles que permitem alterar o conteúdo de uma variável.

• Inserção de controles deslizantes.

• Possibilidade de personalização de valores máximo e mínimo.

57

Tarefa

58

Tarefa

• Construa um programa que, utilizando o controle de variável deslizante, permita ao usuário escolher a velocidade que o gato se desloca na tela, de 1 a 150.

59

Tarefa

60

Tarefa

• Utilizando uma variável deslizante, mude a cor do gatinho.

• Mude também a cor do palco.

• A variável deslizante deve estar entre 0 e 255.

61

Tarefa

62

Variáveis deslizantes: Aplicação

• Vamos simular a Lei de Ohm.

• Quando uma voltagem V é aplicada em um resistor R, uma corrente I passará por esse resistor

Corrente(i)= Voltagem(v)Resistência(R)

• Na nossa aplicação, vamos alterar os valores de V e R usando variáveis deslizantes.

63

Variáveis deslizantes: Aplicação

• Vamos usar um pano de fundo específico.

64

Mãos à Obra!

65

Variáveis deslizantes: Aplicação

• Vou usar um Sprite pronto para representar a cor da lâmpada.

66

Tarefa

67

Variáveis deslizantes: Aplicação

• Vamos criar duas variáveis deslizantes.

• Voltagem: variando de 0 a 150, por exemplo.

• Resistência: variando de 1 a 30, por exemplo.

• Criar uma variável chamada corrente, que é dada conforme a equação da Lei de Ohm.

68

Entendendo o efeito fantasma

69

Mãos à Obra!

70

Objetivos da manhã cumpridos!

1. Conhecer o papel das variáveis na programação, utilizando-as para resolução de problemas.

71

Como está organizada nossa aula nesta tarde? Aula 2/Tarde: Comandos de seleção • Das 13h30 às 15h00min – Aula • Das 15h min às 15h10min -

Intervalo • Das 15h10min às 16h10 – Aula • Das 16h10-16h20 min –

Apresentação roteiro 4 • Das 16h20 às 16h30 – Instruções

para o projeto

Objetivos 3. Conhecer o papel das variáveis na

programação, utilizando-as para resolução de problemas.

4. Conhecer e saber aplicar os desvios condicionais.

Recapitulando • Já conhecemos muitos conceitos

de programação! • Linguagem de programação. • Algoritmos. • Variáveis. • Linguagem e ambiente Scratch. • Linguagem LOGO.

Recapitulando • Conceito importante: variáveis. • Armazenam valores na memória. • Possui um nome (identificador). • Podem ser numéricas, textuais ou

lógicas.

Variáveis lógicas

• Armazenam valores verdadeiros ou falsos.

• Verdadeiro = true. • Falso = false. • Blocos operadores pontiagudos

resultam em valores lógicos.

Variáveis e operações lógicas

• Vamos relembrar as operações lógicas com valores numéricos.

Variáveis e operações lógicas

• Quando comparamos dados textuais, temos que nos atentar a alguns detalhes.

• Não há diferenças entre letras maiúsculas e minúsculas.

• A ordem alfabética importa!

Mãos à Obra!

79

Variáveis e Operações Lógicas

• Quais os resultados das operações a seguir?

80

Variáveis e operações lógicas

• Suponha que x = 5 e y = 10. • Qual o resultado das instruções a seguir?

81

Variáveis e operações lógicas

• Podem envolver valores armazenados em variáveis. • O que o gatinho irá falar?

82

Mãos à Obra!

83

Variáveis e operações lógicas

• Também podem ser originadas em blocos-sensores.

84

Desvio Condicional • São comandos que direcionam o algoritmo

a depender de uma condição. • Podem ser simples ou compostos. • Também chamados de “comandos de

seleção” ou “comandos do tipo se-então”.

85

Desvio Condicional • No Scratch, o desvio condicional é feito por determinados blocos de

controle (cor laranja). • Observe que há um “encaixe” para blocos pontiagudos, que recebem

valores ou expressões lógicas.

86

Desvio Condicional Simples

• O desvio condicional simples examina uma condição e indica algo a ser feito caso ela seja verdadeira.

• É importante lembrar que só afeta a execução dos blocos internos a ele.

87

Desvio Condicional Simples

88

Desvio Condicional Simples

• Qual a saída produzida?

89

Mãos à Obra!

90

Tarefa • Faça um algoritmo que atenda ao que se

pede: ○ Leia uma temperatura do usuário. Se

este valor for igual ou menor que zero, faça o gatinho ficar-azul claro e falar “Que baita frio!”

○ Depois de dois segundos, o gatinho deve voltar à cor normal e encerrar o algoritmo.

• Um cuidado: ao clicar na bandeira verde, coloque o gatinho em sua fantasia habitual. 91

Tarefa

92

Desvio Condicional Simples

• Necessita de uma condição a ser testada. • Se a condição resulta em verdadeiro, executa os comandos. • Ao seu término, todas os comandos que o sucedem são executados

normalmente.

93

Tarefa • Faça um algoritmo que leia um número do

usuário e que determina se este número é par.

94

Tarefa

95

Desvio Condicional Composto

• Ao usarmos o desvio condicional, muitas vezes estamos interessados em tratar quando a condição é verdadeira e quando esta é falsa.

• Para isso, usamos o desvio condicional composto.

• Termo “senão” significa “se a condição não é verdadeira, execute isto:”

96

Desvio Condicional Composto

97

Tarefa

• Usando o desvio condicional composto, faça um programa que informe se um número é par ou ímpar.

98

Tarefa

99

Tarefa

• Faça um algoritmo que leia duas notas do aluno e calcule a média.

• Se a média for maior ou igual a 7, informe “APROVADO”.

• Em caso contrário, indique “Em recuperação”!

100

Tarefa

101

Tarefa

• Faça um algoritmo que leia dois números do usuário e informe qual é o maior dos dois.

102

Tarefa

103

Desvio Condicional Aninhado

• Podemos aninhar vários blocos se (ou se/senão) uns dentro dos outros.

• Isso é muito útil em diversas situações nos nossos programas.

104

Relembrar a diferença entre “aninhar” e “alinhar”, ressaltando o termo correto.

PREVIEW

105

Desvio Condicional Aninhado

• Qual a saída produzida pelo algoritmo a seguir?

106

Mãos à Obra!

107

Condições e Operadores lógicos

• Às vezes, podemos otimizar a utilização dos desvios condicionais!

• Situação:

○ Imagine que tenhamos uma situação de um jogo com diferentes fases.

○ Cheque se o jogador está na fase 1.

108

○ Em caso afirmativo, observe se ele conseguiu mais de 100 pontos.

○ Em caso afirmativo, ele ganha um bônus de 100 pontos.

• Construa os blocos que representem esta situação

○ Quais são as variáveis envolvidas? ○ Como usar o desvio condicional para

resolver essa situação?109

Condições e Operadores lógicos

• Uma solução para este cenário seria:

110

Condições e Operadores lógicos

• Observe que o bônus só é adicionado se AMBAS as condições são verdadeiras

• Qual o operador lógico que resulta em verdadeiro quando ambos os valores são verdadeiros?

• Como esse trecho poderia ser reescrito?

111

Condições e Operadores lógicos

• Ainda no cenário do jogo anterior: ○ Para passar de fase, há um tempo

determinado. ○ Se o tempo for igual a zero, o jogo

acaba. ○ Se ainda há tempo disponível, mas a

energia da nave acabou, o jogo também deve acabar.

112

• Construa os blocos que representem esta situação.

○ Quais são as variáveis envolvidas? ○ Como usar o desvio condicional para

resolver essa situação?

113

Condições e Operadores lógicos

• Uma solução para este cenário seria:

114

Condições e Operadores lógicos

• Observe que o jogador perde se acabar o tempo ou a energia. • Qual o operador lógico que resulta em “verdadeiro” quando um dos

valores é “verdadeiro”? • Como este trecho poderia ser reescrito?

115

Condições e operadores lógicos

116

Variáveis como flags

• Flags são variáveis com valores lógicos normalmente usadas para indicar se algo em que estamos interessados aconteceu ou não.

• No exemplo anterior, “acabou” atua como flag. • Veja alguns exemplos de uso.

117

Desvio condicional: intervalos numéricos nas condições

• Em alguns de nossos programas, queremos usar intervalos numéricos para filtrar dados inadequados.

• No Scratch. não temos maior igual (>) nem menor igual (<), comuns na Matemática.

• Também não temos o símbolo de diferente (=)

118

119

Desvio condicional: intervalos numéricos nas condições

• Queremos denotar x > 10.

120

Mãos à Obra!

121

Desvio condicional: intervalos numéricos nas condições

• Qual a expressão equivalente aos operadores a seguir?

122

Tarefa

• Faça um programa que leia a idade de uma pessoa e informe sua classe eleitoral: não eleitor (abaixo de 16 anos), eleitor obrigatório (entre 18 e 65 anos) e eleitor facultativo (entre 16 e 18 anos e acima dos 65 anos).

123

Tarefa

124

Tarefa

• Faça um programa que leia uma letra e diga se esta é vogal ou consoante.

• Se for consoante, informe se vem antes ou depois da letra m (metade do alfabeto).

125

Tarefa

126

INTERVALO

127

Já conhecemos vários conceitos de programação!

• Tipos de dados (numéricos, textuais e lógicos). • Variáveis. • Comandos. • Desvios condicionais:

○ Simples. ○ Composto. ○ Aninhado.

128

Desvio Condicional Simples

Desvio Condicional Composto

Projeto 1 – Calculador de Áreas

Projeto 1 – Calculador de Áreas

• Resolver esse problema envolve vários passos!

• Organizar o pano de fundo e o sprite.

• Perguntar ao usuário a opção desejada.

• Ler os valores relativos àquela opção.

• Calcular a área da respectiva figura • Exibir o resultado.

Projeto 1 – Calculador de Áreas

• Vamos programar! • Mudar o pano de fundo.

133

Tarefa

134

Projeto 1 – Calculador de Áreas

• Lembre-se de que o cálculo da área de cada figura é diferente! • Retângulo = base * altura • Triângulo = base*altura/2 • No caso do círculo, o diâmetro é dado, mas a área depende do raio

○ Divida primeiro o diâmetro por 2 para obter o raio. ○ Círculo = pi*raio2

135

Projeto 1 – Calculador de Áreas

• Vamos programar! • Calcular as áreas.

136

Tarefa

137

Projeto 1 – Calculador de Áreas

• Efetuar testes em nosso programa! • Opção retângulo:

○ Base = 10, Altura= 10 ○ Resultado: Área = 100

• Opção triângulo: ○ Base = 10, Altura= 10 ○ Resultado: Área = 50

138

• Opção círculo ○ Diâmetro = 20 ○ Resultado: Área = 314 (aproximadamente)

139

Mãos à Obra!

140

Projeto 1 – Calculador de Áreas

• Concluímos nosso primeiro pequeno projeto com o Scratch!

• O cálculo da área de figuras geométricas planas é abordado a partir da quinta série.

141

Projeto 2 – Casa de câmbio • Diferentes países possuem

diferentes moedas. • Dólar, Euro, Iene, Pesos Argentinos,

etc. • História, Geografia, Matemática,

etc. • Vamos viajar! • Queremos converter do Real para

uma outra moeda, similar ao que é feito em uma casa de câmbio.

Projeto 2 – Casa de câmbio • Usaremos a seguinte tabela de

conversão. • O valor em reais será multiplicado

pelo fator de conversão.

Projeto 2 – Casa de câmbio

• Lembrar que a casa de câmbio recolhe uma taxa a depender do valor convertido!

• Suponha que essa taxa é de 2%.

Projeto 2 – Casa de câmbio • Resolver esse problema envolve

vários passos! • Organizar o pano de fundo e o

sprite. • Perguntar ao usuário o valor em

reais. • Ler para qual moeda deve haver a

conversão. • Descontar a taxa requerida pela

casa de câmbio. • Calcular e exibir o resultado

considerando o valor restante.

Projeto 2 – Casa de Câmbio

• Vamos programar! • Preparar o pano de fundo a partir de

uma imagem.

146

Tarefa

147

Projeto 2 – Casa de Câmbio

• Vamos programar! • Ler o valor do usuário e a moeda para

qual converter. • Encerrar o programa caso a moeda

seja inválida. • O Scratch não faz diferenciação entre

maiúsculas e minúsculas em texto.

148

Tarefa

149

Projeto 2 – Casa de Câmbio

• Vamos programar! • Subtrair a taxa do valor informado

150

Tarefa

151

Projeto 2 – Casa de Câmbio

• Vamos programar! • Efetuar a conversão • Imprimir os resultados

○ Vamos caprichar! ○ Imprimir o nome da moeda

também. ○ Exemplo: Você recebeu 98 euros. ○ Exemplo: Você recebeu 35 dólares.

152

Tarefa

153

Projeto 2 – Casa de Câmbio

• Concluímos nosso segundo projeto. • Motivação prática. • Desperta a curiosidade.

154

Objetivos do dia cumpridos!

1. Conhecer o papel das variáveis na programação, utilizando-as para resolução de problemas2. Conhecer e saber aplicar os desvios condicionais

155

Atividade 04 – Praticando o desvio condicional

Entrega: Mesmo dia – Tarde

No máximo 3Quantidade dealunos por equipe

10minDuração da Atividade

Consulte o Roteiro de Aprendizagem 04

Descrição da Atividade

156

Instruções para roteiro de aprendizagem

157

Instruções para o projeto prático

158