Estruturas de Repetição 3 - Curso de Algoritmos #11 - Gustavo Guanabara

631.71k views4548 WordsCopy TextShare
Curso em Vídeo
A estrutura Para.. Faça é uma estrutura de repetição com variável de controle, o que permite que voc...
Video Transcript:
Olá seja bem-vindo a mais uma aula do seu curso de algoritmo o meu nome é Gustavo Guanabara eu sou seu professor e agora a gente vai dar continuidade aos estudos em estruturas de repetição vendo a terceira e última estrutura de repetição que é a estrutura de repetição com variável de controle Então essa é a terceira parte dos nossos estudos em estruturas de repetição e eu quero antes de mais nada dar uma relembrada nas estruturas que nós vimos até agora o que nós vimos até o momento são as estruturas enquanto que eu botei um exemplo do enquanto você não arrumar o quarto você fica de castigo quando você terminar você está liberado e utilizando a mesma linha de raciocínio temos também as estrutura repita que é repita você está de castigo até arrumar o quarto quando isso for atingido você está liberado apenas lembrando nós temos uma inversão de estruturas lógicas ali na parte Rosa da estrutura enquanto nós utilizamos o operador Lógico não esse operador não é necessário no repita pois ele é inversão lógica da estrutura utilizada no enquanto as duas estruturas vistas até o momento utilizam expressões lógicas para verificar a continuidade ou não do do laço de repetição eu vou mostrar dois exemplos aqui que nós já vimos Como utilizar a estrutura enquanto e a estrutura repita para contar de 1 até 10 apenas Relembrando pra estrutura enquanto nós teremos C recebe 1 e enquanto C for menor ou igual a 10 ele escreve o c e Soma Mais Um na variável c utilizando a mesma linha de raciocínio só que com a estrutura repita nós temos o c recebe 1 escrevemos o c e somamos mais um Nele até que C seja maior do que 10 note aí que as estruturas rosas ainda são complementos lógicos uma das outras outra coisa que você tem que perceber é que a linha C recebe C + um sempre está presente nas estruturas de repetição e se essa linha não estiver nas duas estruturas seu programa entrará em Loop Infinito pois a variável c Nunca será alterada e nunca atingirá o valor 10 Então como você já deve ter percebido as estruturas enquanto e repita elas são complementares servem paraa mesma coisa e em algumas situações nós devemos fazer contagens nós temos que ter interações onde eu saiba o início e o fim dessa Contagem um exemplo é contar até 10 verificar se um número é primo nós sabemos que nós vamos contar sempre de um até o número que nós colocamos então em vários casos nós sabemos exatamente quantas vezes as coisas vão acontecer para esses casos nós temos uma terceira estrutura de repetição que nós vamos ver a partir de agora a última estrutura de repetição que nós vamos abordar é a estrutura para a sua sintaxe é bem simples para uma variável de controle recebe início até fim e aí segue um parâmetro que é opcional por isso ele está representado entre colchetes que é o passo informando um salto pra frente ou para trás e a palavra faça o bloco será executado E no fim para ocorrerá O Retorno vamos ver como exemplo o mesmo algoritmo que nós acabamos de ver para contar de um até 10 utilizando a estrutura para seria para C recebe de um até 10 passo um faça escreva L fim para E aí e logo de cara a primeira coisa que você percebe é que qu a estrutura para esse tipo de situação é representada apenas com três linhas é muito simples de fazer isso porque o para já vem com a atribuição incluída e com o incremento incluído presta atenção que você vai entender o que tá acontecendo logo na primeira linha comp para C recebe um você vai ver que o c vai receber um e ele vai até 10 e para cada interação ele vai ter o passo um nesse caso Como passo é um ele pode ser omitido se eu colocar passo um ou não colocar nada ele vai considerar passo um ele vai escrever o valor de c e vai chegar no fim para então na primeira passagem o c tá valendo 1 então ele vai escrever na tela o c que é 1 Quando ele chegar ao fim para ele vai voltar pra linha para e já que o passo é 1 ele já vai automaticamente na variável c que é a minha variável de controle somar o passo que no nosso caso aqui é mais 1 Então nesse caso aqui o c que estava valendo 1 a partir de agora vai receber mais um e vai passar a valer 2 descendo uma linha ele vai escreva LC que nesse caso agora é 2 e depois vai para F para voltando cima somando mais um no C E esse processo vai repetir até chegar a 10 eu acho que dessa maneira se você praticou as outas estruturas de repetição você já tá entendendo a estutura para fácil mas fixar a gente vai mostar um exemplo prático a prátic que proponho aqui é a mesma que eu propus a todas as estruturas de repetição contar de 1 até 10 vamos passar pro visualg e ver como isso acontece na prática e eu vou declarar a variável c que é minha variável que vai contar do tipo inteiro e vamos lá para C que começa recebendo um e vai até 10 faça vamos manter o passo um omitindo isso vamos pro fim para Então essa é a estrutura não é necessário eu somar mais um no C basta escrever vamos executar e você vai ver que ele vai mostrar uma contagem de 1 a 10 vamos fazer alguns exemplos aqui eu posso contar por exemplo de C até 10 posso contar de um até 10 pulando de dois em dois basta botar passo dois então 1 3 5 7 9 is ele começa com um e vai até 10 pulando de dois em dois Ele não mostrou o 10 porque após o 9 somando dois seria 11 o 11 não será mostrado posso também contar de trás para frente de 10 até 1 passo menos um executando ele vai começar em 10 olha aqui na estrutura ele vai começar em 10 e vai até um com o passo menos um isso é cada vez que chegar no fim para e voltar para cá ele tira um da variável c pro estudante iniciante em programação a estrutura para parece um Milagre né você escreve pouco e ela faz bastante para você mas eu tenho uma coisa para te falar ela não é utilizável em todas as situações vamos um exemplo aqui esse exemplo aqui vai fazer um somador de valores vamos exemplificar aqui e vai digitar cinco valores Então vou colocar lá 2 4 6 1 e 4 e a soma entre todos os valores é 17 Vamos alterar esse programa para utilizar a estrutura para Então o meu C começa com um e vai até CCO então eu posso eliminar essa linha vou mudar esse enquanto para um para o c que começa com um já substitui aquela linha até 5 faça e aqui o fim quanto vai mudar para fim para o incremento do C pode ser eliminado pois o incremento é automático o passo um que foi omitido aqui e o resto está funcionando corretamente vamos executar novamente 1 2 3 4 5 somando 5 + 4 + 3 + 2 + 1 a soma é 15 e aí você vê que a estrutura para substituiu a estrutura enquanto Sem problema nenhum e você vai me falar mas Guanabara E aí qual a situação que ela não pode ser utilizada vamos ver aqui nessa segunda estrutura nós vamos fazer a leitura dos valores vamos acumular e vamos solicitar ao usuária responder aquela pergunta que nós já fizemos nas aulas anteriores Você quer continuar sim ou não e isso vai se repetir Até que a resposta seja não ele não quer continuar no final ele mostra os valores executando eu vou digitar um valor quer continuar sim digito outro quero continuar digito o outro quero cont continuar digito mais um não quero continuar e ele me mostra a soma dos valores que foi 16 Note que para esse exemplo eu posso digitar um valor e dizer que eu não quero mais continuar ou posso digitar 500 valores até dizer que eu não quero mais continuar nesses casos eu não sei exatamente Quantas vezes eu vou repetir então eu deixo a cargo do usuário decidir se quer ou não continuar para esses casos específicos a estrutura para não pode ser utilizada pois Nós não sabemos de quanto até quo se você se lembra muito bem a sintaxe do para é para uma variável de controle recebe o início até o fim se eu não sei quantas vezes eu vou repetir o para não é a estrutura para ser utilizada nesse momento e aí se você já teve aula de algoritmo Pode ser que o seu professor tenha ensinado alguns métodos para fazer o uso do para nesse tipo de situações eu não recomendo eu considero isso uma programação pobre então eu não vou nem ensinar isso nesse curso existem sim mecanismos e métodos para você poder fazer isso mas não são métodos aceitos pela maioria dos programadores então eu me reservo o direito de não ensinar isso a vocês pois eu considero isso uma programação pobre mais uma vez falando vamos agora pra nossa segunda situação prática para dar mais exemplos do uso da estrutura para a segunda prática que eu propus é a exibição dos números pares e aí fica simples de entender vamos ao visualg vamos criar uma variável para contar eu posso usar C mas eu vou chamar de conte agora o nome da variável você decide lembrando de deixá-lo o mais claro possível vou fazer um para no meu programa Eu Vou solicitar que o usuário digite um valor vamos escrever digite um valor vou ler esse valor criar a variável V aqui em cima e eu vou fazer um para conte que é minha variável de controle vai de 1 até V eu posso fazer isso porque V é uma variável contém um valor Logo eu posso utilizá-lo dentro da minha estrutura de repetição fazer aqui vamos mudar para zero aqui para poder dar número par né vamos escrever o valor de contador que ele vai começar de zero vai até ver somando um então eu quero um valor sei lá 7 Ele foi de zer até 7 só que eu quero números pares então basta colocar passo dois lendo um valor vou digitar o mesmo valor se Lembrando que se não é par então ele deve ir até o valor anterior que é o valor 6 então ele foi 0 2 4 e 6 e eu tenho também mais uma proposta adicional a fazer fazer uma contagem regressiva de números pares e aí fica simples de entender se ele vai de zero até V Basta fazer ele ir de v até zer em vez de Passo Dois Passo men2 Vamos botar o mesmo valor 7 e agora ele tem que contar de sete até Zero Apenas o número par e ele não fez exatamente isso Pois 7ete é um número ímpar vamos resolver isso fazendo aqui uma estrutura condicional se por acaso o v por 102 foi igual a 1 que é um número ímpar então V recebe V - 1 s é eu vou tirar um de V para que ele fique par vamos de novo digitar 7 ele agora mostrou 6 4 2 e 0 vou executar novamente vou digitar um valor par 10 vocês vão ver que ele não vai tirar um do 10 para ficar nove ele vai começar a contar do 10 e vai até zero números pares contando Nada me impede de utilizar as estruturas condicionais e estruturas de repetição adicionais dentro de outras ou em combinação com elas o que você está aprendendo é aula a aula uma aula não elimina outra E aí eu gosto sempre de deixar claro o material adicional é sempre muito importante para baixar esse material tá aqui ó www. cursoemvideo. com lá você vai fazer sua inscrição em entrar no curso de algoritmo fazer a sua inscrição no curso de algoritmo é só clicar no botão se você tiver seu login e sua senha e lá você vai ter acesso a todas as aulas essa é a aula 11 mas nós temos várias aulas anteriores você vai vendo cada uma delas todos os exercícios todos os arquivos para download Tá tudo arrumado lá no site é só acessar e aproveitar os seus estudos vamos passar pra frente mais um exemplo prático a terceira prática que eu proponho é uma prática simples Eu quero ler uma quantidade de valores sei lá seis valores e eu quero saber quantos estão entre 0 e 10 Vamos à prática então eu vou querer aqui como a gente falou seis valores Então vamos para um para meu contador vai de um até seis posso ser qualquer um deles mas Lembrando que eu tenho que saber o limite mesmo que seja uma variável então nós temos lá fazer seis vezes então vamos ler um valor digite um valor e vamos solicitar a leitura dele agora nós já temos duas variáveis criadas e não declaradas c e v que são do tipo inteiro Vamos ler seis valores e o que eu quero saber é quantos deles estão entre 0 e 10 Então vamos fazer uma estrutura condicional como eu disse eu posso utilizar uma estrutura dentro da outra Sem problema nenhum pode ser o si pode ser o caso pode ser um enquanto dentro de um para pode ser outro para dentro de um para fica seu critério e de acordo com a sua necessidade que eu vou verificar se o valor estiver entre 0 e 10 se ele for maior ou igual a zer z0 e ele for menor igual a 10 faça botar logo o fim C eu vou ter uma variável aqui tot 010 no início do programa esse meu tot 010 vai receber zero porque não tenho nenhum valor entre 0 e 10 e se o valor estiver entre 0 e 10 meu tot 010 vai receber ele mesmo mais 1 isso é mais um valor entre 0 e 10 não sei se isso aqui vai dar problema com meus parênteses Mas vamos testar depois vamos escrever na tela ao todo foram tot 010 valores entre 0 e 10 lembrando do uso das vírgulas e lembrando também que você pode pausar o vídeo a qualquer momento para digitar no seu visual vamos executar digitar o valor realmente deu problema eu escrevi faça digitar o valor se nós olharmos aqui entre e eu tenho o 4 o 3 o 6 e o 3 Então eu tenho 1 2 3 4 valores digitados entre 0 e 10 então ao todo foram quatro valores entre 0 e 10 eu acho que ficou bem simples e claro para você que a gente pode utilizar uma estrutura dentro da outra vamos a uma proposta adicional dentro desse mesmo exercício a prática adicional é além de saber quantos estão entre 0 e 10 eu quero exibir a soma entre os números ímpares digitados isso é eu quero saber quantos estão entre 0 e 10 E além disso eu quero os que forem ímpares e estiverem dentro desse limite entre 0 e 10 voltando aqui ao visualg então se ele estiver entre 0 e 10 o tot 01 recebe tot 0 10+ 1 Só que eu também quero saber a soma dos ímpares que eu vou utilizar a variável S que vai começar com zero pois eu não tenho nenhum número ímpar para somar e aqui dentro dessa estrutura é eu quero somar os ímpares que estejam entre 0 e 10 Então dentro dela eu vou criar um outro para saber se esse meu valor é ímpar saber se ele é ímpar acabamos de fazer isso né O resto da divisão dele por dois é igual a 1 ele é ímpar isso foi visto em aulas passadas agora eu não errei botei o então então se ele for ímpar meu soma de ímpar recebe a soma de ímpar mais o valor aqui nesse caso eu estou somando valores então aqui não é mais um é mais o valor digitado aqui eu quero total Então não é mais valor é mais um Pois é mais um valor entre 0 e 10 eu espero que você tenha entendido a diferença entre as duas situações Vamos mostrar nesse intervalo a soma de ímpares foi S vamos executar vamos digitar valores 2 que é par mas está entre 0 e 10 7 que é ímpar mas está entre 0 e 10 21 que é ímpar mas não está no limite número 5 que é ímpar e está no limite número oito que é par mas está no limite e o número um que está no limite e é ímpar Então nesse caso eu tenho cinco números que estão dentro do limite ele tem que mostrar que ele tem cinco números entre 0 e 10 e vai somar apenas 7 com 5 que vai dar 12 + 1 que vai dar 13 então mostrando os valores ao todo foram cinco valores entre 0 e 10 conf fério que a gente já tinha combinado e nesse intervalo como eu tinha dito a soma de ímpares foi 13 e aí eu tenho uma proposta para deixar PR você e se eu quisesse somar os ímpares mesmo fora do intervalo isso é nesse caso aqui que tinha o 21 eu queria somar o 21 Tenta fazer isso em casa e você vê se você vai conseguir e eu já aviso logo é fácil e você não vai ter que digitar linha nenhuma adicional Mas tenta aí vamos então a nossa próxima prática a nossa quarta e última prática é uma prática sobre combinações est vamos vend o seguinte exemplo se eu quiser uma combinação entre um e três de dois dígitos então eu quero combinar os valores 1 2 e 3 dígito por dígito utilizando dois elementos então eu vou ter primeiras combinações com um um com dois um com três então fiz todas as combinações de um a partir de agora vamos a combinação de dois dois com um dois com dois e dois com TR por fim vamos as combinações três com 1 3 com 2 3 com TR E é exatamente isso que eu quero mostrar na tela eu quero mostrar as combinações de três valores agrupados dois a dois e aí você vai ver uma téc muito importante que é o alinhamento de estruturas de repetição que servem para qualquer uma mas eu vou exemplificar utilizando para pois a gente escreve menos Então esse meu programa aqui vai ser o combinações e eu vou ter um contador vou chamar de C1 já já você vai entender por vamos fazer o C1 funcionar para C1 vai de 1 até 3 que foi o valor combinado pode ser até quando você quiser e aqui eu vou escrever ser um então ele vai fazer uma contagem de um A TR como eu quero combinações de um a três duas vezes eu vou fazer um outro para aqui dentro vou criar a variável C2 que também vai de um até TR também vai ter o fim para declarar C2 e aqui você vai ver C1 com C2 Olha o que vai acontecer um com um um com dois um com três 2 com 1 2 com 2 2 com tr tr com 1 3 com 2 3 com TR exatamente como eu queria antes e isso vai acontecer Exatamente porque eu botei uma estrutura para dentro da outra estrutura para então ele só vai voltar pra estrutura de fora quando ele terminar a estrutura de dentro vamos ver funcionando isso utilizando o temporizador do visual eu vou executar esse programa de novo só que agora utilizando o timer de meio segundo vocês poderem entender nota aqui que ele vai fazer esse laço ele vai entrar nesse depois no segundo e vai fazer o segundo até terminar quando ele terminar ele vai vir para esse fim para e vai voltar primeiro novamente entrando mais uma vez no segundo laço e fazendo três vezes novamente cada vez que um laço é estourado ele é reiniciado caso seja executado mais vez Vamos clicar no relógio clicando no relógio nós vamos ter a execução começou no C1 foi pro C2 ele vai ficar voltando dentro do C2 depois ele volta pro C1 mais três vezes depois volta mais uma vez mais três vezes digite esse código no seu visualg Execute fique de olho no número das variáveis lá embaixo se você quiser aumentar o temporizador do lado do relógio você tem lá o meio segundo que pode virar mais tempo caso você precise de mais tempo para compreender Então fique de olho nos valores esse tipo de estrutura fica mais fácil de ser compreendida quando você praticar e nunca se esqueça você precisa praticar só assistir a aula não vai adiantar de nada Vamos então às nossas práticas dessa aula pra gente poder encerrar os exercícios propostos são aqueles que eu não resolvo durante a aula mas estão lá no site www.
cursoemvideo. com acessando fazendo sua inscrição no site se inscrevendo no curso de algoritmo você vai ter acesso a todos os exercícios resolvidos o primeiro exercício que eu vou propor a você é um exercício que todo professor de algoritmo propõe a seus alunos que é a sequência de Fibonacci a sequência de Fibonacci se você pesquisar tem tudo a ver com aquele número áureo que eu falei na primeira aula de algoritmo é uma sequência que começa com zer e 1 e o terceiro número é a soma de z0 e 1 que é 1 o quarto número é a soma do segundo com terceiro o quinto número é a soma do terceiro com quarto e assim sucessivamente vamos ver o algoritmo funcionando e você vai entender bem a série de fibonaci começa com 0 e 1 como eu falei e a partir daí 0 1 + 1 1 + 1 2 1 + 2 3 2 + 3 5 3 + 5 8 5 + 8 13 13 + 8 21 21 + 13 34 34 + 21 55 e assim sucessivamente esse meu algoritmo que eu coloquei aqui ele vai mostrar os 15 primeiros valores da série de Fibonacci primeiro que é z0 até o último que é 377 o último que eu digo dessa sequência de 15 valores a série de Fibonacci ela vai aumentando cada vez mais e aí vem algumas curiosidades se eu dividir 300 77 por 233 o número é aproximadamente Fi quanto maior o valor da série de Fibonacci mais próximo de fi isso acontece e se você não lembra o que que é fi assiste lá a primeira aula desse curso e você vai ver a parte sobre proporção Áurea ou o número da beleza ou o número de ouro e se eu colocar os valores de Fibonacci em forma de quadrados eles vão fazer uma espiral perfeita dá uma procurada aí na internet sobre proporção Áurea o número de ouro e a série de Fibonacci mas a sua missão agora é exibir automaticamente os 15 primeiros valores da série de Fibonacci Lembrando que cada termo é calculado pela soma dos dois anteriores dá uma raciocinada pensa direitinho e caso você precise de ajuda não esqueça acessando o site cursoemvideo. com você tem acesso à resposta que está na aula 11 desse curso a segunda proposta que eu quero fazer a você é a seguinte o segundo exercício é um analisador de valores o que eu quero é o seguinte nós vamos digitar cinco valores e no final eu quero mostrar a soma desses valores a média entre eles Quantos são divisíveis por 5 Quantos são nulos e a soma apenas dos números pares vamos ver esse exercício funcionando na prática para você poder replicar o resultado então eu quero digitar cinco valores vamos digitar lá 4 0 7 10 e 5 então ele vai somar os valores tirar a média Entre esses valores e me mostrar Quantos são nulos e a soma apenas dos números pares pressionando enter ele vai me mostrar que a soma dos valores foi 26 a média entre eles foi 5,2 que foi a soma dos valores dividido por 5 que é o número de valores que foram digitados ao todo foram três valores divisíveis por 5 foi o 0 o 10 e o 5 temos apenas um valor nulo que foi o zero aqui que foi o segundo valor digitado e a soma dos valores pares que são 4 0 e 10 foi 14 E mais uma vez ficamos por aqui eu gostaria de agradecer imensamente a hostnet hospedagem de sites que é a empresa patrocinadora desse curso que está cedendo todos os estúdios todas as infraestruturas a iluminação nova que você tá vendo a cada aula a gente melhora um pouquinho mais então queria agradecer lá acessem o site www.
hostnet. com. br e lá você vai ter o melhor lugar para colocar o seu site eu dou certeza disso não se esqueça de clicar aqui para se inscrever no canal sempre que você tiver uma aula nova você vai receber um aviso clicando aqui você vai ter acesso a uma playlist com todas as aulas do curso de algoritmo mas eu recomendo sempre que você acesse o que tá aqui no meio www.
cursoemvideo.
Copyright © 2024. Made with ♥ in London by YTScribe.com