letramento digital...letramento digital curso: especialização em letramento digital 2 introdução...
Post on 26-Oct-2020
6 Views
Preview:
TRANSCRIPT
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
top related