>> [RONALDO] OLÁ, PESSOAL, TUDO BEM? DANDO CONTINUIDADE À NOSSA AULA DE SCRATCH, HOJE EU VOU APRESENTAR OUTRAS FUNCIONALIDADES QUE SÃO BASTANTE PERTINENTE PARA RESOLUÇÃO DE PROBLEMAS. PRIMEIRA DELAS É A MANIPULAÇÃO DE STRING.
O QUE É UMA STRING? É UMA VARIÁVEL QUE A GENTE ARMAZENA DADOS, OU SEJA, CARACTERES - SEJA UM NOME, UMA FRASE - E É MUITO INTERESSANTE QUE A GENTE PRECISE FAZER O QUÊ? TRABALHAR COM ESSAS STRINGS.
E ESSA MANIPULAÇÃO DE STRING TEM A VER COM O QUÊ? ELA É UMA SEQUÊNCIA ORDENADA NO SENTIDO QUE EU TENHO UMA ORDEM, NÉ? PRIMEIRO CARACTERE QUE VEM DEPOIS DO SEGUNDO, E ASSIM POR DIANTE.
SE EU JÁ TENHO LÁ UM NOME, POR EXEMPLO, RONALDO, "R", "O", "N", "A", "L", "D", "O". ESSA É UMA SEQUÊNCIA ORDENADA DE CARACTERES, ISSO É UMA STRING. E QUANDO EU DEFINO UMA VARIÁVEL QUE É DO TIPO STRING, NA VERDADE QUANDO DECLARO UMA VARIÁVEL LÁ NO SCRATCH, EU POSSO TER O ACESSO INDIVIDUAL A CADA CARACTERE NA STRING.
EXEMPLO: EU TENHO AQUI UMA VARIÁVEL NOME, SE EU QUERO PEGAR O PRIMEIRO CARACTERE DO NOME, NO CASO EXEMPLO DE RONALDO SERIA O "R", ENTÃO A OPERAÇÃO, NO CASO O COMANDO AQUI QUE FAZ ISSO, EU POSSO PEGAR DA LETRA A PRIMEIRA POSIÇÃO DA VARIÁVEL NOME. OK? ISSO AQUI ESTÁ ONDE?
VOU PRECISAR MOSTRAR PARA VOCÊS AGORA NO SCRATCH ONDE FICA ISSO. EU TENHO AQUI NOS OPERADORES. .
. EU TENHO AQUI, Ó: OPÇÃO LETRA. ENTÃO, DENTRO DO OPERADOR, EU POSSO TER O QUÊ?
EU PEGO UMA LETRA. . .
AQUI APARECE "LETRA DE MAÇÃ", SENDO MAÇÃ, NA VERDADE, UMA STRING, UMA PALAVRA. MAS EU CONSIGO, ENTÃO, COLOCAR ESSE CARA AQUI E POSSO PEGAR A VARIÁVEL E DIZER: EU QUERO A LETRA DA POSIÇÃO "NOMES". PÔR NO ZOOM AQUI.
OK? VOLTANDO AQUI À NOSSA APRESENTAÇÃO. .
. ALÉM DISSO, EU TAMBÉM TENHO OUTROS COMANDOS, UM DELES É PARA SABER O TAMANHO DA MINHA STRING. ESSA STRING, DE NOVO, PODE SER UMA FRASE, PODE SER UM NOME, UM TEXTO, OK?
E, COM ISSO, UMA ATIVIDADE BASTANTE PERTINENTE AÍ SERIA PARA A GENTE VERIFICAR A QUANTIDADE DE VOGAIS QUE EU TENHO NUMA FRASE. EU VOU EXPLICAR UM POUQUINHO AQUI: EU TENHO A LEITURA DA FRASE, USANDO LÁ O "PERGUNTE"; ATRIBUO O RESULTADO DESSA PERGUNTA A UMA VARIÁVEL CHAMADA "FRASE", OU SEJA, LEMBRANDO QUE A PARTIR DE UMA PERGUNTA, O RESULTADO FICA NO COMANDO RESPOSTA, OK? DEPOIS EU PEGO O SEGUINTE: EU TENHO UMA VARIÁVEL CHAMADA "QUANTIDADE DE VOGAIS" COMEÇANDO POR ZERO, SE EU PRECISO SABER QUANTAS VOGAIS TÊM, EU INICIALIZO ESSA MINHA VARIÁVEL - LEMBRANDO QUE UMA VARIÁVEL É O LOCAL ONDE EU ARMAZENO VALORES, ENTÃO TEM UMA VARIÁVEL QUE VAI ARMAZENAR A QUANTIDADE DE VOGAIS.
E EU TAMBÉM TENHO A POSIÇÃO. PARA EU SABER QUANTAS VOGAIS EU TENHO NUMA FRASE, EU TENHO QUE PERCORRER ESSA MINHA FRASE, EU TENHO QUE IR CARACTERE A CARACTERE NESSA MINHA FRASE. ENTÃO EU TENHO O QUÊ?
POSIÇÕES NA MINHA FRASE, POSIÇÃO 1, 2, 3, ATÉ A QUANTIDADE TOTAL DE CARACTERES DA MINHA FRASE. POR ISSO QUE EU PEGO AQUI A POSIÇÃO ZERO. .
. A POSIÇÃO COMEÇANDO DE 1, QUANTIDADE DE VOGAIS DE ZERO, E VOU REPETIR QUANTAS VEZES? EU VOU PERCORRER ESSA MINHA STRING, ESSA MINHA FRASE POR QUANTAS VEZES?
ATÉ O TAMANHO DELA. POR ISSO QUE EU TENHO UM "REPITA ATÉ O TAMANHO DA FRASE", E EU VOU PEGANDO O CARACTERE A CARACTERE. ENTÃO VOU PEGANDO O CARACTERE AQUI, DA ONDE?
DA POSIÇÃO QUE EU TENHO COMEÇANDO COM 1 DA FRASE. E EU PEGO CADA UM DOS CARACTERES, AÍ EU VOU COMPARAR E VOU VERIFICAR: ESSE CARACTERE É "A"? OU É "E"?
OU É "I"? OU É "O"? OU É "U"?
QUE SÃO AS VOGAIS. SE FOR, EU VOU ADICIONAR 1 A QUEM? À VARIÁVEL "VOGAL", E COM ISSO EU VOU CONTANDO QUANTAS VOGAIS EU TENHO.
E DENTRO DO MEU "REPITA" AQUI, EU VOU ADICIONANDO 1 TAMBÉM À "POSIÇÃO". POR QUÊ? EU VOU.
. . POSIÇÃO 1, POSIÇÃO 2, POSIÇÃO 3 ATÉ A ÚLTIMA POSIÇÃO PARA COMPARAR.
NO FINAL, QUANDO EU SAIO DESSE MEU "REPITA", EU MOSTRO A QUANTIDADE DE VOGAIS QUE EU TENHO NA MINHA FRASE, OK? BEM UMA EXTENSÃO QUE EU TENHO DE CATEGORIAS AQUI É A EXTENSÃO CANETA. A CANETA É UTILIZADA PARA QUE A GENTE POSSA FAZER DESENHOS GEOMÉTRICOS - SEJA TRIÂNGULOS, QUADRADOS OU EU POSSO TRAÇAR LINHAS - E CADA ATOR TEM UMA CANETA, OU SEJA, NA VERDADE EXISTE UMA CANETA VINCULADA AO ATOR.
SÓ QUE ESSA CANETA, A GENTE DIZ QUE ELA É INVISÍVEL, ELA ESTÁ LEVANTADA, NÉ? EM ALGUMAS [. .
. ] O PESSOAL "AH, A CANETA TÁ LEVANTADA, ABAIXA A CANETA". O QUE SIGNIFICA ISSO?
SIGNIFICA QUE QUANDO EU FALO QUE ESTOU USANDO A CANETA, SE EU FIZER QUALQUER MOVIMENTO COM MEU ATOR, ELE VAI ESTAR PINTANDO DE ACORDO COM A COR DA CANETA, DE ACORDO COM A ESPESSURA DESSA CANETA, DE ACORDO COM O TAMANHO DELA E A COR, COMO EU JÁ DISSE. ENTÃO, EU TENHO AQUI O QUE A GENTE CHAMA DE "USE A CANETA OU LEVANTE A CANETA". POR QUÊ?
QUANDO EU ESTOU USANDO A CANETA - OLHA BEM ESSE EXEMPLO QUE EU ESTOU COLOCANDO AQUI - A PRIMEIRA COISA QUE EU ESTOU COLOCANDO É: QUANDO EU CLICO NA BANDEIRINHA, OU SEJA, AO INICIAR. . .
EU ESTOU APAGANDO TODA A MINHA TELA PORQUE PODE SER QUE TENHA ALGUMA COISA JÁ FEITA COM O USO DA CANETA, ENTÃO EU ESTOU APAGANDO E ESTOU DIZENDO: VOU USAR A CANETA, E VOU REPETIR ISSO AQUI POR 25 VEZES. E ESTOU PEDINDO PARA O MEU ATOR GIRAR E SE MOVER. NESSE MOVIMENTO QUE ACONTECE, COMO A MINHA CANETA ESTÁ EM USO, ELE VAI MARCANDO, OU SEJA, ELE VAI DESENHANDO COM A CANETA NA ESPESSURA ESPECIFICADA.
ESSA DAQUI A ESPESSURA PADRÃO, EU POSSO ALTERAR O TAMANHO E A COR DA CANETA. E DEPOIS EU ESTOU LEVANTANDO A CANETA. NO MOMENTO QUE EU LEVANTO A CANETA, EU PARO DE USAR ESSA CANETA.
ENTÃO, COM ISSO, DEPENDENDO DOS MOVIMENTOS DO MEU ATOR, EU POSSO FAZER CÍRCULOS, QUADRADO, ELIPSE, VÁRIAS COISAS QUE EU POSSO FAZER - INCLUSIVE TEM UM EXEMPLO QUE EU FIZ, NÃO ESTÁ AQUI DISPONÍVEL, QUE É DE UMA PARÁBOLA, ENTÃO A PARTIR DE UMA EQUAÇÃO DO SEGUNDO GRAU EU POSSO DESENHAR UMA PARÁBOLA E EU USO A CANETA PARA PODER PLOTAR ESSA PARÁBOLA. OK? PROCEDIMENTOS.
SE A GENTE FOR LEMBRAR OS CONCEITOS DO PENSAMENTO COMPUTACIONAL, UM DOS PILARES É DECOMPOSIÇÃO. DECOMPOSIÇÃO É VOCÊ DIVIDIR SEU PROBLEMA EM PARTES MENORES E TENTAR RESOLVER ESSE PROBLEMA MENORES, DEPOIS RETORNAR ESSAS SOLUÇÕES PARA QUE A GENTE PONHA, POSSA TER NOSSO PROBLEMA RESOLVIDO. BEM, A DECOMPOSIÇÃO, ENTÃO, ELA É BEM INTERESSANTE QUANDO A GENTE USA O CONCEITO DE PROCEDIMENTO, PORQUE PROCEDIMENTO É JUSTAMENTE VOCÊ DIVIDIR O SEU PROBLEMA, O SEU PROGRAMA EM PARTES MENORES PARA QUE VOCÊ POSSA EXECUTAR ESSE PROCEDIMENTO VÁRIAS VEZES, PARA EXECUÇÃO DE VÁRIAS TAREFAS, OK?
E O PROCEDIMENTO É UTILIZADO TAMBÉM PARA QUE VOCÊ NÃO PRECISE FICAR REPETINDO TRECHOS DE CÓDIGO. SE VOCÊ TEM O MESMO CÓDIGO EXECUTADO VÁRIAS VEZES EM LOCAIS DIFERENTES, VOCÊ PODE CHAMAR ESSE O PROCEDIMENTO VÁRIAS VEZES, O MESMO TRECHO DE CÓDIGO SENDO EXECUTADO VÁRIAS VEZES. UM EXEMPLO QUE EU TENHO AQUI DE PROCEDIMENTO - INCLUSIVE USANDO A CANETA, QUE É O QUE NÓS FALAMOS AGORA HÁ POUCO -ENTÃO EU ESTOU CRIANDO PROCEDIMENTO, É UM BLOCO ADICIONAL, UMA EXTENSÃO LÁ DO SCRATCH, OS BLOCOS PROCEDIMENTO, ENTÃO A HORA QUE EU PEÇO PARA.
. . QUE EU ESCOLHO PARA ADICIONAR UM NOVO PROCEDIMENTO, ELE VAI PERGUNTAR: "QUAL É O NOME DESSE PROCEDIMENTO?
". EU ESTOU ADICIONANDO AQUI COMO NOME "QUADRADO", EU POSSO INFORMAR ATRIBUTOS QUE SERÃO PASSADOS PARA ESSE PROCEDIMENTO, A GENTE CHAMA ISSO DE "ARGUMENTOS". QUAIS SÃO OS ARGUMENTOS?
QUAIS SÃO OS PARÂMETROS QUE SÃO PASSADOS PARA ESSE PROCEDIMENTO? ENTÃO EU POSSO INFORMAR AQUI SE UM PARÂMETRO DE ENTRADA É DO TIPO NÚMERO OU É DO TIPO TEXTO, OU É UM PARÂMETRO DO TIPO BOOLEANO. OK?
ENTÃO ESSE PROCEDIMENTO AQUI. . .
PARA ESSE PROCEDIMENTO, EU VOU COLOCAR TODOS OS MEUS COMANDOS ABAIXO DELE, NA MINHA PILHA DE COMANDO. ENTÃO QUANDO EU CHAMAR ESSE PROCEDIMENTO. .
. O QUE SIGNIFICA QUANDO EU CHAMAR ESSE PROCEDIMENTO? NESSE SCRIPT AQUI EU ESTOU CHAMANDO "QUADRADO".
QUEM QUE É QUADRADO? QUADRADO É UM PROCEDIMENTO QUE EU TENHO QUE PASSAR COMO PARÂMETRO TRÊS ARGUMENTOS, NO CASO "X", "Y" E O TAMANHO. "X", "Y" É A POSIÇÃO INICIAL ONDE EU VOU DESENHAR O MEU QUADRADO, E DEPOIS EU VOU FAZER.
. . AQUI EU TENHO UM "GIFIZINHO" MOSTRANDO TRÊS QUADRADOS, SÃO ESSES TRÊS QUADRADOS QUE EU ESTOU CRIANDO NA POSIÇÃO ZERO E ZERO, NA POSIÇÃO 30 E 30, NA POSIÇÃO "-50" E "-50", ENTRE "X" E "Y".
E AQUI SÃO OS TAMANHOS QUE EU TENHO. ENTÃO EU PASSEI ESSES PARÂMETROS PARA EU PODER CRIAR MEU QUADRADO. MUITO BEM.
ALÉM DAS VARIÁVEIS QUE NÓS JÁ APRENDEMOS, EU TENHO UMA VARIÁVEL CHAMADO "VARIÁVEL DO TIPO LISTA". AS LISTAS SÃO UTILIZADAS QUANDO EU TENHO QUE ARMAZENAR VÁRIAS VARIÁVEIS DO MESMO TIPO. ENTÃO, ÀS VEZES, EU TENHO LÁ "LISTA DE ALUNOS", "LISTA DE PRODUTOS", "LISTA DE NÚMEROS".
QUANTOS? MUITAS VEZES EU TENHO VÁRIAS, EU NÃO POSSO FICAR CRIANDO VARIÁVEL 1, 2, 3, VÁRIAS VARIÁVEIS. NÃO.
EU CRIO UMA LISTA QUE SERIA UMA COLEÇÃO DE VARIÁVEIS DO MESMO TIPO QUE ESTÃO AGRUPADOS COM O MESMO NOME EM UM ÚNICO IDENTIFICADOR, ENTÃO, "LISTAS DE NOMES", "LISTA DE PRODUTOS". COM ISSO, EU CONSIGO CONTROLAR E REFERENCIAR ESSES ELEMENTOS QUE ESTÃO ARMAZENADOS NESSA LISTA. INTERESSANTE QUE UMA LISTA NO SCRATCH É UM CONTÊINER QUE PODE SER ARMAZENADO E ARMAZENAR VÁRIOS VALORES.
ENTÃO LÁ NO MOMENTO QUE EU CRIO UMA LISTA, ISSO ESTÁ JUNTO LÁ COM VARIÁVEIS, EU TENHO LÁ "CRIAR LISTAS", EU DOU UM NOME PARA ESSA LISTA, EU NÃO PRECISO ESPECIFICAR QUAL É O TAMANHO DESSA LISTA, EU POSSO LÁ INSERIR NO "N" ELEMENTOS, QUANTOS EU PRECISAR, ISSO É INTERESSANTE NO SCRATCH. ALGUMAS LINGUAGENS VOCÊ TEM QUE DEFINIR UM TAMANHO FIXO PARA UMA LISTA, PRINCIPALMENTE QUANDO A GENTE USA O CONCEITO DE VETOR. NESSE CASO, EU POSSO ESPECIFICAR UMA LISTA DE NOMES, ELA JÁ ESTÁ VISÍVEL AQUI NO MEU PALCO, EU POSSO TIRAR, NÉ?
QUANDO NÃO SELECIONAR ELA DEIXA DE ESTAR VISÍVEL. EU TENHO UMA LISTA DE NOMES, EU JÁ ADICIONEI ALGUNS NOMES AQUI PORQUE, NA VERDADE, AQUI É A EXECUÇÃO DE UM EXEMPLO QUE EU CRIEI QUE É A INSERÇÃO DE VÁRIOS NOMES NA LISTA. USANDO ESSES COMANDOS DISPONÍVEIS PARA LISTA, EU POSSO ADICIONAR UM ITEM NUMA LISTA, EU POSSO APAGAR O ITEM 1 DE UMA LISTA, ESSE 1 AQUI.
. . COMO UMA LISTA É INSERIDA EM SEQUÊNCIA, EU TENHO O ELEMENTO DA POSIÇÃO 1, DA POSIÇÃO 2, 3 E 4, EU SEI QUANTOS ELEMENTOS TENHO NA MINHA LISTA.
ENTÃO EU TENHO AQUI COMO IDENTIFICAR A QUANTIDADE DE ELEMENTOS, APESAR QUE EU MOSTRO AQUI, MAS EU TENHO COMO SABER POR UM COMANDO QUANTOS ELEMENTOS EU TENHO NA MINHA LISTA. NÃO SÓ ISSO. EU CONSIGO APAGAR TODA MINHA LISTA, INSERIR O ELEMENTO NUMA DETERMINADA POSIÇÃO DA LISTA, SUBSTITUIR E, COM ISSO, EU POSSO FAZER VÁRIOS APLICAÇÕES USANDO LISTA.
AQUI EU ESTOU MOSTRANDO ESSE EXEMPLO QUE É: EU APAGO TODOS OS ELEMENTOS DE UMA LISTA PORQUE, QUANDO VOCÊ CRIA UMA LISTA, OS ELEMENTOS FICAM LÁ INSERIDOS; SE EU QUERO REINICIALIZAR ESSA LISTA, ZERAR UMA LISTA, EU TENHO UM COMANDO QUE APAGA TODOS OS ELEMENTOS DESSA LISTA. SE EU QUERO FAZER, POR EXEMPLO, UMA LISTA DE ALUNOS, ENTÃO EU TENHO LÁ. .
. EU VOU APAGAR TODAS AS LISTAS E VOU REPETIR POR QUANTAS VEZES? SE EU SEI QUANTIDADE DE ALUNOS QUE EU VOU INSERIR NA MINHA LISTA, EU POSSO DIZER: "Ó, REPITA POR DEZ VEZES".
OU EU POSSO REPETIR BASEADO UMA DETERMINADA CONDIÇÃO, OK? NESSE CASO AQUI EU ESTOU COLOCANDO 10, ENTRO COM O NOME E A RESPOSTA ESTOU ADICIONANDO À LISTA. QUANDO EU USO ESSE COMANDO "ADICIONE A RESPOSTA À LISTA", ELE JÁ ADICIONA NA ÚLTIMA POSIÇÃO DA LISTA.
OU SEJA, SE EU TENHO 4, O PRÓXIMO VAI SER NA POSIÇÃO 5, OK? É INTERESSANTE USAR A LISTA? SIM, TEM MUITOS PROBLEMAS QUE A GENTE PRECISA RESOLVER USANDO LISTAS, OK?
E EU ESTOU DANDO UM EXEMPLO AQUI DE COMO EU CONSIGO PEGAR, NO CASO, ELEMENTO POR ELEMENTO DA MINHA LISTA. NESSE CASO EU ESTOU FAZENDO O QUÊ? UM "REPITA" A PARTIR DO CONTADOR, "REPITA" ATÉ O TAMANHO DE ELEMENTOS QUE EU TENHO NA LISTA, QUANTIDADE DE NOMES, E EU ESTOU PEGANDO UM POR UM AQUI ESTOU VISUALIZANDO PARA.
. . "AH, POR FAVOR, ME APRESENTA QUEM SÃO OS ELEMENTOS, QUEM SÃO OS ALUNOS DE UMA LISTA", AQUI EU CONSIGO FAZER ISSO, OK?
BEM, UMA ATIVIDADE BASTANTE INTERESSANTE QUE EU ESTOU DEIXANDO DISPONÍVEL PARA VOCÊS AQUI É UMA BUSCA CHAMADO DE "BUSCA LINEAR". NÓS TEMOS VÁRIOS MÉTODOS DE BUSCAS, TÁ? MAS A BUSCA LINEAR É A MAIS SIMPLES DELA, POR QUÊ?
A BUSCA LINEAR FAZ UMA PESQUISA EM TODOS OS ELEMENTOS DE UMA LISTA. INDEPENDENTE SE A LISTA ESTÁ ORDENADA OU NÃO, ELE FAZ UM PERCURSO. O QUE É O PERCURSO?
ELE PERCORRE TODOS OS ELEMENTOS DA LISTA COMPARANDO O VALOR QUE EU ESTOU PROCURANDO COM CADA ELEMENTO DA LISTA, OK? E, DEPENDENDO DESSA QUANTIDADE DE ELEMENTOS, CLARO QUE ESSE PROCESSO PODE SER LENTO. SE UMA LISTA TIVER MIL ALUNOS, ELE VAI COMPARAR POSIÇÃO POR POSIÇÃO DA MINHA LISTA, "É O ELEMENTO QUE EU ESTOU PROCURANDO", "É O ELEMENTO".
. . ATÉ O FINAL.
COMO EU DISSE, A BUSCA LINEAR É INDEPENDENTE SE A LISTA ESTÁ ORDENADA, POR ISSO QUE ELA NÃO É UMA BUSCA TÃO EFICIENTE PARA LISTAS ORDENADAS, TEM COISA MELHOR, OK? NESSA ATIVIDADE ESPECÍFICA NÓS VAMOS APRESENTAR A BUSCA LINEAR. EU TENHO UM FLUXOGRAMA AQUI DESSE ALGORITMO, NO CASO DE BUSCA LINEAR, E AQUI EU TENHO O SCRIPT REFERENTE À BUSCA LINEAR.
NO CASO AQUI, EU ESTOU USANDO TAMBÉM PROCEDIMENTO PARA GENTE REFORÇAR A IMPORTÂNCIA DE CRIAR PROCEDIMENTOS. MEU PROCEDIMENTO CHAMA "BUSCA LINEAR", EU TENHO COMO PARÂMETRO O ELEMENTO ALVO QUE ESTOU PROCURANDO, O "VALOR_ALVO" QUE ESTOU PROCURANDO, EU VOU PROCURAR ESSE ELEMENTO NUMA LISTA. EU TENHO DOIS SCRIPTS, NESSE CASO AQUI QUANDO EU CLICAR AQUI EU ESTOU FAZENDO O QUÊ?
EU ESTOU VERIFICANDO, CHAMANDO NO CASO, A MINHA BUSCA LINEAR, ELE INFORMA LÁ "QUAL ELEMENTO QUE VOCÊ QUER PROCURAR? " E EU PASSO ESSA RESPOSTA À BUSCA. ESSA BUSCA VAI RETORNAR PARA UMA VARIÁVEL CHAMADO "POSIÇÃO", O VALOR ONDE ESSE ELEMENTO FOI LOCALIZADO NA LISTA.
E SE ESSE ELEMENTO NÃO FOI LOCALIZADO, SE EU PERCORRI TODA A MINHA LISTA E NÃO LOCALIZEI, A VARIÁVEL POSIÇÃO ESTÁ RECEBENDO O VALOR "-1", SIGNIFICA QUE "-1" É UM NÚMERO QUE NÃO EXISTE NA POSIÇÃO DO MEU VETOR, ENTÃO ESSE ELEMENTO CONSEQUENTEMENTE NÃO EXISTE NA LISTA, OK? ENTÃO EU TENHO QUE TER MEU PROCEDIMENTO E NO CASO O MEU SCRIPT QUE CHAMA ESSE PROCEDIMENTO. ENTÃO LÁ SE FOR "-1", O ELEMENTO NÃO EXISTE, SENÃO EU ESTOU DIZENDO QUE ELE EXISTE E EM QUE POSIÇÃO ESSE ELEMENTO SE ENCONTRA NA LISTA.
OK? BEM, EU DISSE QUE, EM SCRATCH, VÁRIAS AÇÕES SÃO REALIZADAS A PARTIR DE UM DETERMINADO EVENTO, MAS EM ALGUNS CASOS O EVENTO VEM SENDO REALIZADO A PARTIR DE UMA AÇÃO DE ATORES. ENTÃO POSSO FAZER AQUI UM EVENTO, OU SEJA, COORDENADO POR OUTRO ATOR E NÃO EXATAMENTE POR UM CLIQUE DO MOUSE OU POR UMA SELEÇÃO DE UMA TECLA.
ENTÃO, EU POSSO FAZER COM QUE UMA AÇÃO SEJA EXECUTADA A PARTIR DE UM ENVIO DE MENSAGEM DE UM ATOR A OUTRO ATOR OU A OUTROS ATORES. ISSO É FEITO COM O CONCEITO DE "BROADCAST DE MENSAGENS". ENTÃO, EU TENHO AQUI UM ATOR QUE ESTÁ TRANSMITINDO PARA OUTROS ATORES, OU PARA UM ATOR, UMA MENSAGEM DIZENDO ASSIM: "FAÇA ALGUMA COISA".
ENTÃO EU TRANSMITO UMA AÇÃO E FICO AGUARDANDO COM QUE ESSE CARA FAÇA ESSA AÇÃO OU EU POSSO TRANSMITIR A AÇÃO E ESSE CARA JÁ VAI FAZER, POR QUÊ? CLARO QUE NESSE ATOR, EU TENHO QUE TER UM SCRIPT DIZENDO: "QUANDO EU RECEBER UMA AÇÃO DE UM DETERMINADO ALGUÉM, EU VOU TER QUE FAZER ALGUMA COISA". ENTÃO O EXEMPLO AQUI DE BROADCAST BEM INTERESSANTE É: EU TENHO DOIS ATORES, ISSO AQUI É UM GRILO E ISSO AQUI É UM MORCEGO, E ESSE É UM PRIMEIRO ATOR AQUI QUE SERIA UM ATOR QUE VAI MANDAR MENSAGEM EM BROADCAST PARA QUE ESSES DOIS ATORES FAÇAM ALGUMA COISA.
FAÇAM O QUÊ? ALGUMA AÇÃO. CERTO?
ENTÃO ELE VAI MANDAR UM BROADCAST DIZENDO: "TRANSMITA UMA AÇÃO". ESSES DOIS ATORES VÃO TER SCRIPTS DIZENDO. .
. LEMBRANDO QUE CADA ATOR TEM O SEU SCRIPT, ENTÃO NESSE CASO EU TENHO "QUANDO EU RECEBER ESSA AÇÃO, FAÇA". ESSE GRILO AQUI ELE VAI FICAR O QUÊ?
TROCANDO DE FANTASIA, QUE, PARA NÓS, TEM A SENSAÇÃO QUE ELE TÁ PULANDO, QUE SÃO FANTASIAS DIFERENTES. E NO CASO DO MORCEGO, TAMBÉM FICA TROCANDO DE FANTASIA, COMO EU TENHO UM MORCEGO AQUI COM VÁRIAS FANTASIAS, QUE ELE ESTÁ ABRINDO AS ASAS E FECHANDO, TEM A SENSAÇÃO QUE ELE ESTÁ VOANDO, NÉ? MAS ESSAS AÇÕES FORAM ATIVADAS, FORAM REALIZADAS A PARTIR DO MOMENTO QUE ESSE ATOR AQUI ENCAMINHOU UMA AÇÃO DE BROADCAST PARA ELES.
ISSO É INTERESSANTE, QUE, COM ISSO, EU CONSIGO DISPARAR VÁRIAS AÇÕES PARA SEREM REALIZADAS AO MESMO TEMPO COM VÁRIOS OUTROS ATORES. BEM, O LIVRO QUE UTILIZEI PARA ELABORAÇÃO DO MATERIAL DE SCRATCH FOI O LIVRO DO MAJED, DENTRE OUTROS MATERIAIS, CLARO, QUE ESTÃO DISPONÍVEIS NO "AVA". ELE TEM VÁRIOS EXEMPLOS DE OBJETOS DE APRENDIZAGEM EXTREMAMENTE INTERESSANTES QUE EU GOSTARIA QUE VOCÊS PUDESSEM OLHAR E TAMBÉM EXECUTAR, EDITAR, ALTERAR, QUE EU ACHO QUE É IMPORTANTE PARA QUE VOCÊS ENTENDAM MELHOR O SCRATCH.
BEM, PARA QUE VOCÊS ENTENDAM MELHOR, ESTOU COLOCANDO ALGUMAS ATIVIDADES QUE EU CHAMEI AQUI DE "MÃO NA MASSA" QUE EU GOSTARIA QUE VOCÊS REALMENTE FIZESSEM DO ZERO, NÉ? AQUELAS OUTRAS ATIVIDADES EU JÁ COMPARTILHEI, ESSAS OUTRAS AQUI, QUE SERIA ESSA ATIVIDADE, PARA QUE A GENTE POSSA TRABALHAR COM MAIS DE UM ATOR, UMA ATIVIDADE PARA VERIFICAR SE UMA STRING OU UMA FRASE É PALÍNDROMO. O QUE É UM PALÍNDROMO?
É QUANDO EU CONSIGO LER DE FRENTE PARA TRÁS OU DE TRÁS PARA FRENTE, ELA É A MESMA COISA. TIPO "ARARA", ENTÃO TENHO AQUI "A" COM "A", "R" COM "R" E "A". ENTÃO A GENTE CONSEGUE LER DA MESMA MANEIRA.
CLARO QUE A GENTE TEM QUE DESCARTAR QUE ALGUNS CARACTERES ESPECIAIS E ACENTOS. AQUI A GENTE UTILIZA O QUÊ? MANIPULAÇÃO DE STRINGS.
E O ÚLTIMO PARA GENTE FAZER UM SCRIPT PARA, DADO UM NÚMERO, EU QUERO DIZER QUAL É O MÊS POR EXTENSO. UM, JANEIRO. DOIS, FEVEREIRO.
E ASSIM POR DIANTE. ENTÃO SÃO TRÊS ATIVIDADES QUE A GENTE VAI TER PARA VOCÊS DESENVOLVEREM. E, NA NOSSA PRÓXIMA AULA AGORA, EU VOU MOSTRAR UM POUCO MAIS PRÁTICO, ATIVIDADES MAIS PRÁTICAS DESDE O INÍCIO DA CRIAÇÃO DE UM PROJETO, COMPARTILHAMENTO DO PROJETO E A EXECUÇÃO DE UM DETERMINADO PROBLEMA.
OK? ATÉ A PRÓXIMA AULA, PESSOAL.