- Aula 29, 30, 31 e 32 - Técnicas de programação. Correção da Prova Questão 1 (1,0 ponto) - Na estrutura de repetição 'Para' (For), após a 1ª passagem, quando se chega ao fim dos comandos internos ao bloco de instruções, qual a seqüência executada: ( ) Inicializa-se a variável, testa-se a condição e faz o incremento da variável. ( ) Testa-se a condição, inicializa-se a variável e faz o incremento da variável. (X) Volta-se para o (For), faz-se o incremento e testa-se a condição. ( ) Volta-se para o (For), testa-se a condição e faz-se o incremento da variável. ( ) Volta-se para o (For), inicializa-se a variável, testa-se a condição e faz-se o incremento da variável. Questão 2 (1,0 ponto) - Relacione as afirmações abaixo, com o tipo de estrutura correspondente. (A) Neste tipo de estrutura, o processamento é executado instrução após instrução, de cima para baixo e da esquerda para a direita, na ordem em que forem escritas. (B) Usamos este tipo de estrutura, quando precisamos testar certa condição antes de executarmos uma determinada instrução ou um bloco de instruções. (C) Em situações que duas alternativas dependem de uma mesma condição, uma da condição ser verdadeira e outra da condição ser falsa, fazemos uso deste tipo de estrutura. (D) Esta estrutura é indicada, quando uma determinada instrução ou bloco de instruções deve ser executado se um grande conjunto de possibilidades ou combinações de situações for satisfeito. (E) Fazemos uso deste tipo de estrutura quando há a necessidade de repetir diversas vezes um mesmo trecho de algoritmo enquanto uma determinada condição for verdadeira, porém, sempre verificando antes de cada execução se é permitido executar o mesmo trecho. (F) Este tipo de estrutura permite que uma instrução ou um bloco de instruções seja executado pelo menos uma vez antes de verificar se uma determinada condição é verdadeira. (G) Esta estrutura possui limites fixos, permitindo a execução de uma instrução ou bloco de instruções um número definido de vezes. (F) Estrutura de repetição com pós-teste (D) Estrutura de decisão encadeada (B) Estrutura de decisão simples (G) Estrutura de repetição com variável de controle (C) Estrutura de decisão composta (E) Estrutura de repetição com pré-teste (A) Estrutura Seqüencial Questão 3 (1,5 pontos) - Para demonstrar o entendimento das estruturas de repetição, construa um algoritmo em javascript, para cada tipo de estrutura, que imprima a tabuada do 8. As estruturas são: - Estrutura de repetição com pré-teste - Estrutura de repetição com pós-teste - Estrutura de repetição com variável de controle Exibição: 8 X 1 = 8 8 X 2 = 16 . . . 8 X 10 = 80 <script type="text/javascript"> var n, i, result; n = 8; i = 1; while (i <= 10) { result = n * i; document.write (n + "X" + i + "=" + result + "<br>"); i++; } </script> ------------------------------------------------------------------------------------------------<script type="text/javascript"> var n, i, result; n = 8; i = 1; do { result = n * i; document.write (n + "X" + i + "=" + result + "<br>"); i++; } while (i <= 10) </script> ------------------------------------------------------------------------------------------------<script type="text/javascript"> var n, i, result; n = 8; for (i = 1; i <= 10; i++) { result = n * i; document.write (n + "X" + i + "=" + result + "<br>"); } </script> ------------------------------------------------------------------------------------------------- Questão 4 (1,5 pontos) - Utilizando a estrutura de múltipla escolha elabore um algoritmo em javascript que leia o valor de dois números inteiros e a operação aritmética desejada (+, -, *, /). Calcule a resposta adequada e apresente o resultado, conforme o exemplo abaixo. Ex. A multiplicação resulta em 15! Obs. Se o valor do segundo número informado for zero e a operação escolhida for a divisão, exibir a mensagem "Denominador nulo!". <script type="text/javascript"> var n1, n2, r, oper; n1 = parseFloat(window.prompt("Informe o primeiro número!")); n2 = parseFloat(window.prompt("Informe o segundo número!")); oper = window.prompt("Informe a operação desejada!"); switch(oper) { case '+' : r = n1 + n2; document.write("A soma resulta em " + r + "!"); break; case '-' : r = n1 - n2; document.write("A subtração resulta em " + r + "!"); break; case '*' : r = n1 * n2; document.write("A multiplicação resulta em " + r + "!"); break; case '/' : if (n2 == 0) { window.alert("Denominador nulo!"); } else { r = n1 / n2; document.write("A divisão resulta em " + r + "!"); } break; default: document.write("Operação Inválida!"); } </script> Questão 5 (1,5 pontos) – Pedro tem 70 kg de peso e engorda 500 gramas por ano, enquanto seu irmão José tem 55 kg e aumenta seu peso em 01 Kg por ano. Utilizando a estrutura de repetição com pré-teste, elabore um algoritmo em javascript que calcule e exiba quantos anos serão necessários para que José seja mais pesado que Pedro. Exiba também, com quantos kilos cada um estará. Exibição: Serão necessários 31 anos! José terá 86 kilos! Pedro terá 85.5 kilos! <script type="text/javascript"> var jose, pedro, i; i = 0; jose = 55; pedro = 70; while (pedro >= jose) { pedro = pedro + 0.5; jose = jose + 1; i++; } document.write("Serão necessários " + i + " anos!" + "<br>"); document.write("José terá " + jose + " kilos!" + "<br>"); document.write("Pedro terá " + pedro + " kilos!"); </script> Questão 6 (1,5 pontos) - Conforme matéria da revista Veja, o You Tube é o site de vídeo mais popular da internet e está transformando a relação do espectador com o mundo da imagem. O You Tube é uma comunidade em que se pode ver e veicular vídeos de no máximo 12 minutos, que os próprios usuários acrescentam ao acervo, a respeito de quaisquer assuntos. Um grupo de 05 adolescentes fundou um fã-clube da cantora Madonna. Cada uma delas deseja inserir um vídeo da cantora no You Tube. Para controlar a postagem destes arquivos, utilize a estrutura de repetição com variável de controle e desenvolva um algoritmo em javascript que controle o envio dos vídeos para o website. O programa deve receber do usuário o tempo do vídeo em segundos, transformá-los em minutos, exibir (document.write) a sua duração e informar que o vídeo foi aceito. Se o tempo, em minutos, exceder o tempo máximo estipulado, o programa deve emitir (window.alert) uma mensagem informando que o vídeo não pode ser enviado. Exibição: Duração do vídeo 3 minutos! Vídeo aceito! <script type="text/javascript"> var s, m, i; for (i = 1; i <= 5; i++) { s = parseFloat(window.prompt("Informe o tempo do vídeo em segundos!")); m = s / 60; if (m > 12) { window.alert("O vídeo não pode ser enviado!"); } else { document.write("Duração do vídeo " + m + minutos! " + "Vídeo aceito!" + "<br>"); } } </script> "