[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.00,0:00:06.73,Default,,0000,0000,0000,,Nessa seção, quero acrescentar a ideia de variáveis (variables) ao código que temos. Uma Dialogue: 0,0:00:06.73,0:00:12.64,Default,,0000,0000,0000,,variável (variable) é como uma caixa na memória. E essa caixa guarda um valor como um número ou Dialogue: 0,0:00:12.64,0:00:18.41,Default,,0000,0000,0000,,uma sequência de caracteres (string). Então, se você olhar para esse diagrama aqui. Se eu tenho a linha, Dialogue: 0,0:00:18.41,0:00:23.16,Default,,0000,0000,0000,,X é igual a sete. Isso se chama uma 'atribuição de variável' (variable assignment). E a forma de pensar Dialogue: 0,0:00:23.16,0:00:27.84,Default,,0000,0000,0000,,nisso é que na memória há uma caixa. Desenhei uma caixinha aqui. E é Dialogue: 0,0:00:27.84,0:00:32.58,Default,,0000,0000,0000,,chamada de X. Ela pode conter um valor. Então quando o código (code) diz X é igual a sete, o que Dialogue: 0,0:00:32.58,0:00:37.26,Default,,0000,0000,0000,,isso significa é pegue o valor sete e guarde na caixa. Isso é basicamente Dialogue: 0,0:00:37.26,0:00:41.83,Default,,0000,0000,0000,,o que a atribuição de variáveis (variable assignment) faz. Se eu olhar para o que esse código aqui faz Dialogue: 0,0:00:41.83,0:00:46.34,Default,,0000,0000,0000,,Na primeira linha eu digo X é igual a sete, então eu estou guardando um sete ali Dialogue: 0,0:00:46.34,0:00:51.28,Default,,0000,0000,0000,,E então as linhas seguintes mencionam X. Essa diz imprima (print) X ou imprima 'lucky', Dialogue: 0,0:00:51.28,0:00:56.90,Default,,0000,0000,0000,,X e as aparições de X, sem um sinal de igual, essas apenas recuperam (retrieve) o valor Dialogue: 0,0:00:56.90,0:01:02.50,Default,,0000,0000,0000,,fora da caixa. Qualquer coisa guardada ali será usada Dialogue: 0,0:01:02.50,0:01:07.73,Default,,0000,0000,0000,,Então se eu executar (run). O que eu obtenho é apenas a impressão Dialogue: 0,0:01:07.73,0:01:12.81,Default,,0000,0000,0000,,do sete. Porque essa linha do X igual a sete guardou um sete na caixa e as Dialogue: 0,0:01:12.81,0:01:17.95,Default,,0000,0000,0000,,linhas seguintes só se referem ao X. Se eu mudar para oito, eu só mudo uma Dialogue: 0,0:01:17.95,0:01:23.02,Default,,0000,0000,0000,,linha e executo, então agora todas as linhas se referem a oito porque Dialogue: 0,0:01:23.02,0:01:28.03,Default,,0000,0000,0000,,essa linha está guardando um oito na caixa. Tente mais um experimento aqui; acho que Dialogue: 0,0:01:28.03,0:01:34.58,Default,,0000,0000,0000,,vimos números e caracteres. Dois tipos de dados (data) que podemos usar muito. Então se eu Dialogue: 0,0:01:34.58,0:01:41.06,Default,,0000,0000,0000,,disser X igual entre aspas. Isso guardará o caracter na caixa. Então se Dialogue: 0,0:01:41.06,0:01:48.16,Default,,0000,0000,0000,,Executo então eu terei essas linhas. Na realidade, esse Dialogue: 0,0:01:48.16,0:01:53.68,Default,,0000,0000,0000,,nome X eu escolho X como primeiro exemplo, porque é uma variável comum nas Dialogue: 0,0:01:53.68,0:01:58.28,Default,,0000,0000,0000,,aulas de matemática, mas esse nome pode ser qualquer coisa que a gente queira, Dialogue: 0,0:01:58.28,0:02:03.13,Default,,0000,0000,0000,,é só sermos consistentes, então vou mudar para X Y Z é igual Dialogue: 0,0:02:03.13,0:02:07.97,Default,,0000,0000,0000,,então criaremos uma variável chamada X Y Z com as aspas Dialogue: 0,0:02:07.97,0:02:12.46,Default,,0000,0000,0000,,e tudo que preciso fazer é ter certeza que todas as linhas seguintes também Dialogue: 0,0:02:12.46,0:02:16.58,Default,,0000,0000,0000,,refiram-se a XYZ. Se executo , o programa ainda funciona.\Nentão o ponto é que Dialogue: 0,0:02:16.58,0:02:20.55,Default,,0000,0000,0000,,você pode escolher qualquer variável, qualquer nome que quiser para a variável Dialogue: 0,0:02:20.55,0:02:24.78,Default,,0000,0000,0000,,Então quando quiser se referir a essa variável, usará esse mesmo nome. Dialogue: 0,0:02:24.78,0:02:29.37,Default,,0000,0000,0000,,Você deve ser consistente com você mesmo. O ponto desse uso simples de Dialogue: 0,0:02:29.37,0:02:33.69,Default,,0000,0000,0000,,variáveis é mais apenas para evitar repetições. Significa que existe um Dialogue: 0,0:02:33.69,0:02:37.91,Default,,0000,0000,0000,,valor (value) que eu quero usar no meu programa. Posso atribui-lo em uma variável Dialogue: 0,0:02:37.91,0:02:42.33,Default,,0000,0000,0000,,em uma linha anterior, e então só usar essa variável em um monte de linhas seguintes. Dialogue: 0,0:02:42.33,0:02:46.82,Default,,0000,0000,0000,,E se depois eu quiser mudar o programa usando outro valor, posso simplesmente Dialogue: 0,0:02:46.82,0:02:51.08,Default,,0000,0000,0000,,mudar em um lugar, com a variável. E todos os usos dessa Dialogue: 0,0:02:51.08,0:02:55.19,Default,,0000,0000,0000,,variável usarão o novo valor. Então usaremos esse padrão Dialogue: 0,0:02:55.19,0:03:00.57,Default,,0000,0000,0000,,com muita muita frequência no nosso código. Devo dizer que o uso Dialogue: 0,0:03:00.57,0:03:06.71,Default,,0000,0000,0000,,do sinal de igual não é o mesmo que usamos em uma aula de matemática ou Dialogue: 0,0:03:06.71,0:03:12.70,Default,,0000,0000,0000,,Algebra. Na matemática é uma afirmação mais forte dizer X igual a Y. É como Dialogue: 0,0:03:12.70,0:03:18.30,Default,,0000,0000,0000,,dizer que são iguais o tempo todo. E em computação, o sinal de igual Dialogue: 0,0:03:18.30,0:03:22.75,Default,,0000,0000,0000,,não tem essa definição complicada.\NÉ realmente só uma atribuição. Dialogue: 0,0:03:22.75,0:03:27.50,Default,,0000,0000,0000,,Quando essa linha for executada, pegue o valor dela e guarde em uma caixa Dialogue: 0,0:03:27.50,0:03:32.13,Default,,0000,0000,0000,,chamada X Y Z ou o que for. Então isso apenas acontece quando essa Dialogue: 0,0:03:32.13,0:03:37.00,Default,,0000,0000,0000,,linha for executada. Mas não afeta o programa inteiro. Então é Dialogue: 0,0:03:37.00,0:03:41.87,Default,,0000,0000,0000,,mais simples do que usar o sinal de igual que você está acostumado, da matemática Dialogue: 0,0:03:41.87,0:03:49.97,Default,,0000,0000,0000,,Bem, então deixe-me tentar um pequeno exemplo de código que Dialogue: 0,0:03:49.97,0:03:56.18,Default,,0000,0000,0000,,siga o padrão que dê saída (output) e diz mude o código para Dialogue: 0,0:03:56.18,0:04:01.30,Default,,0000,0000,0000,,produzir essa saída (output). E então a ideia é que existe alguém por quem você tinha uma Dialogue: 0,0:04:01.30,0:04:06.35,Default,,0000,0000,0000,,queda, na escola, você tinha uma queda por alguém, então vamos Dialogue: 0,0:04:06.35,0:04:11.64,Default,,0000,0000,0000,,escrever essa pequena saída (output) sobre isso. Digamos que tive uma queda por alguém chamada Dialogue: 0,0:04:11.64,0:04:16.02,Default,,0000,0000,0000,,Alice. Então irá dizer Alice, Alice, Alice, Alice, quatro vezes e Dialogue: 0,0:04:16.02,0:04:20.76,Default,,0000,0000,0000,,também, 'na escola eu tive uma queda por Alice'. 'Agora a maldição caíra sobre Alice'. Agora Dialogue: 0,0:04:20.76,0:04:25.63,Default,,0000,0000,0000,,a ideia com esse programa é não repetir o nome Alice um monte de vezes. É para Dialogue: 0,0:04:25.63,0:04:30.38,Default,,0000,0000,0000,,usar as variáveis. Para por o nome uma vez, então se eu decidir que ao invés disso Dialogue: 0,0:04:30.38,0:04:35.14,Default,,0000,0000,0000,,tive uma queda por alguém chamado Bob ou Zoe ou o que for. Então posso apenas mudar em Dialogue: 0,0:04:35.14,0:04:39.78,Default,,0000,0000,0000,,um lugar. Então direi X é igual Alice. Isso é o que a afirmação do problema Dialogue: 0,0:04:39.78,0:04:45.18,Default,,0000,0000,0000,,diz. E a ideia é então apenas escrever nas outras linhas se referindo a X. Então, Dialogue: 0,0:04:45.18,0:04:50.38,Default,,0000,0000,0000,,para dizer o nome quatro vezes, posso apenas dizer imprima (print) X, vírgula, X, Dialogue: 0,0:04:50.38,0:04:55.51,Default,,0000,0000,0000,,vírgula X, vírgula, X. Vamos tentar isso e então tenho quatro. Então Dialogue: 0,0:04:55.51,0:05:01.18,Default,,0000,0000,0000,,para a próxima linha, dirá 'na escola eu tive uma queda por' e é como preencher Dialogue: 0,0:05:01.18,0:05:06.58,Default,,0000,0000,0000,,o espaço em branco, certo? Usar o nome que for. Então posso fazer isso dizendo Dialogue: 0,0:05:06.58,0:05:11.85,Default,,0000,0000,0000,,imprima com aspas e essa parte apenas como caracter (string). Então direi. Dialogue: 0,0:05:11.85,0:05:19.62,Default,,0000,0000,0000,,'Na escola eu tive uma queda por' ok essa parte é normal e então termino com Dialogue: 0,0:05:19.62,0:05:27.02,Default,,0000,0000,0000,,um (string) e direi vírgula X. Então imprimirá o caracter e eu seguirei com um Dialogue: 0,0:05:27.02,0:05:33.62,Default,,0000,0000,0000,,X. Vamos tentar. Assim. E farei a última linha. Você notará que Dialogue: 0,0:05:33.62,0:05:40.19,Default,,0000,0000,0000,,os ponto vírgulas. Sempre coloco eles em JavaScript e na realidade eles Dialogue: 0,0:05:40.19,0:05:47.00,Default,,0000,0000,0000,,geralmente são opcionais. Direi que agora é um pouco manhoso então essa é a (string) e Dialogue: 0,0:05:47.00,0:05:53.82,Default,,0000,0000,0000,,direi vírgula X. Então de novo eu tenho um misto de (string) e o X. Então eu Dialogue: 0,0:05:53.82,0:05:59.95,Default,,0000,0000,0000,,aqui no meio coloco 'maldição caia' ( curse is lifted) . Assim funciona e Dialogue: 0,0:05:59.95,0:06:04.33,Default,,0000,0000,0000,,é um uso simples de variáveis onde usamos o sinal de igual uma vez e Dialogue: 0,0:06:04.33,0:06:08.21,Default,,0000,0000,0000,,talvez usemos algumas outras vezes abaixo, mas na verdade é o padrão que iremos Dialogue: 0,0:06:08.21,0:06:12.14,Default,,0000,0000,0000,,usar nas aulas. Acho que curtiremos muito, então Dialogue: 0,0:06:12.14,0:06:13.72,Default,,0000,0000,0000,,esse é o padrão (pattern) que quero que pratiquem.