Curso Python #013 - Estrutura de repetição for

Curso Python #013 - Estrutura de repetição for

Introdução aos Laços em Python

Apresentação da Aula

  • Gustavo Guanabara dá início à aula, explicando que os alunos aprenderão sobre a repetição de comandos em Python.
  • A aula 13 do curso foca nas estruturas de controle conhecidas como laços ou iterações, diferenciando de interações.

Estruturas de Repetição

  • A primeira estrutura de repetição abordada é a mais simples, com promessas de aulas futuras para explorar complexidades adicionais.
  • O professor menciona que nesta aula se afastará do exemplo anterior (carrinho), focando em um novo conceito.

Importância das Aulas Anteriores

  • É enfatizado que a compreensão das aulas anteriores (especialmente a aula 12) é crucial antes de prosseguir com o conteúdo atual.
  • Gustavo sugere que os alunos revisitem as playlists das aulas e exercícios para garantir uma base sólida.

Exemplo Prático: O Pequeno Guanabara

  • Um novo cenário é introduzido onde o personagem "Pequeno Guanabara" deve alcançar uma maçã, ilustrando um algoritmo simples.
  • O processo passo a passo é descrito, mostrando como o personagem se move até a maçã através de comandos sequenciais.

Necessidade dos Laços

  • Gustavo destaca que muitos passos repetidos manualmente seriam impraticáveis em situações reais (ex: 500 passos).
  • Ele introduz a ideia dos laços como solução para evitar repetições excessivas no código.

Implementação do Laço

  • O professor explica como criar um laço representado por uma bolinha rodante, indicando que tudo dentro desse laço será executado repetidamente.

Introdução ao Laço de Repetição em Python

Estrutura Básica do Laço

  • O apresentador descreve um laço que conta de 1 a 10, onde o personagem se move entre quadrados. Ao chegar no quadrado 10, ele para.
  • Quando o contador atinge 10, o personagem pode executar um comando, como pegar uma maçã. Essa estrutura é chamada de laço de repetição ou iteração.
  • O laço específico mencionado é denominado "laço com variável de controle", e a variável utilizada é 'C', representando o contador.

Implementação do Laço em Python

  • A sintaxe do laço em português é apresentada como "laço C no intervalo de 1 a 10". A indentação é crucial para definir os comandos dentro do laço.
  • O comando "pega" deve ser escrito fora do laço para não fazer parte da repetição. Isso demonstra a importância da organização dos comandos.

Sintaxe Python

  • Para implementar isso em Python, utiliza-se for C in range(1, 11):, destacando a necessidade dos dois pontos após essa linha.
  • É enfatizado que muitos alunos cometem erros simples ao esquecer os dois pontos na sintaxe.

Comandos Adicionais: Passo e Pula

Introduzindo Novos Comandos

  • Um novo cenário é introduzido onde o personagem pode cair se não houver chão. Um comando adicional chamado "pula" é apresentado.
  • O apresentador explica que os comandos "passo" e "pula" devem ser executados sequencialmente para evitar que o personagem caia no buraco.

Análise da Sequência

  • Após três repetições dos comandos "passo" e "pula", o próximo passo deve ser pegar a maçã sem cair no buraco.
  • A sequência gerada mostra que os comandos são repetidos três vezes antes de pegar a maçã, sugerindo uma possível otimização através de um laço.

Criando um Laço para Repetições

Estrutura do Novo Laço

  • O apresentador propõe criar um laço para repetir as ações “passo” e “pula” três vezes, evitando repetições manuais.

Estruturas de Laço em Programação

Importância das Estruturas de Laço

  • A estrutura de laço é fundamental em qualquer linguagem de programação, permitindo a execução repetitiva de comandos sem necessidade de duplicação manual.
  • Um exemplo prático mostra que um programa pode ser significativamente reduzido ao usar laços, evitando repetições desnecessárias como "passo e pula" várias vezes.

Transcrição para Python

  • A transcrição do código para Python é simples: utiliza-se for in range(0, 3) para criar um laço que executa os comandos desejados.
  • Comparar a sintaxe do Python com o algoritmo genérico ajuda na compreensão da implementação prática dos conceitos discutidos.

Adicionando Condições no Código

  • Ao adicionar moedas ao cenário, o padrão do código muda; agora é necessário incluir uma condição para pegar as moedas durante a execução.
  • O uso de estruturas condicionais (como if) dentro dos laços permite que o programa tome decisões baseadas na presença ou ausência de moedas.

Aninhamento de Estruturas

  • É importante entender como aninhar estruturas (um if dentro de um for, por exemplo), pois isso amplia as possibilidades lógicas do código.
  • O conceito de aninhamento é aplicável a qualquer linguagem e deve ser bem compreendido para facilitar a resolução de problemas complexos.

Execução Prática e Conclusão

  • A execução da rotina programada demonstra como o código pode resolver problemas específicos, como coletar itens em um cenário virtual.

Como usar loops em Python?

Introdução aos Loops

  • O apresentador discute a repetição de comandos em Python, começando com o exemplo de imprimir "oi" várias vezes. Ele menciona que escrever manualmente 10.000 vezes seria trabalhoso.

Estrutura do Loop for

  • É introduzido o uso da estrutura for para repetir ações, utilizando um intervalo (range) de 1 a 6 como exemplo.
  • O código imprime "oi" cinco vezes e "fim" uma vez, explicando que o loop não considera o último número no intervalo.

Contagem e Indentação

  • A contagem pode ser ajustada para começar em zero, resultando em seis impressões de "oi". A importância da indentação é destacada, pois ela determina quais comandos estão dentro ou fora do loop.
  • Um erro comum é não perceber que a indentação afeta a execução dos comandos; se "fim" estiver dentro do loop, será impresso várias vezes.

Ajustes no Intervalo

  • Para contar corretamente de 1 a 6, é necessário ajustar o intervalo. Se for usado um range de 6 até 0 sem especificar um passo negativo, nada será impresso.
  • O apresentador demonstra como contar para trás usando um passo negativo (-1), mostrando que isso permite iterar corretamente.

Exemplos Práticos

  • Ao modificar o passo do range para pular números (por exemplo, pulando de dois em dois), ele ilustra como os resultados mudam conforme as configurações do loop.
  • A prática com diferentes intervalos e passos é incentivada para desenvolver proficiência na utilização da estrutura for.

Leitura de Entradas

  • O apresentador sugere ler valores através da função input, permitindo ao usuário definir parâmetros como início e fim do loop.
  • Um exemplo prático mostra como utilizar variáveis lidas pelo usuário para determinar quantas vezes imprimir algo.

Flexibilidade nos Loops

  • O conceito de iniciar e finalizar loops com base em entradas dinâmicas é explorado. Isso permite criar loops mais flexíveis adaptados às necessidades do usuário.

Conclusão sobre Estruturas de Repetição

Estruturas de Repetição e Somatório em Python

Introdução às Estruturas de Repetição

  • O apresentador demonstra como ler um número várias vezes, utilizando um loop que permite a entrada de valores múltiplos. Ele exemplifica com o número 10, onde o programa solicita valores 10 vezes.

Cálculo do Somatório

  • É introduzido o conceito de somatório, onde uma variável S é inicializada em zero e recebe a soma dos números lidos. A sintaxe do Python permite simplificar essa operação.
  • O apresentador realiza um exemplo prático: ao inserir os números 4, 2, 3 e 1, ele calcula que o somatório é igual a 10. Isso ilustra a funcionalidade das estruturas de repetição.

Importância da Prática

  • O instrutor enfatiza a necessidade de prática constante através da resolução de exercícios. Ele menciona que foram preparados 11 desafios para os alunos.

Desafios Propostos

Desafio 46: Contagem Regressiva

  • O primeiro exercício consiste em criar um programa que exibe uma contagem regressiva de 10 até zero, com pausas de um segundo entre cada número.

Desafio 47: Números Pares

  • O próximo desafio pede para mostrar todos os números pares no intervalo entre 1 e 50.

Desafio 48: Soma dos Ímpares Múltiplos de Três

  • Este exercício requer calcular a soma dos números ímpares que são múltiplos de três entre 1 e 500.

Desafio 49: Tabuada Simplificada

  • Os alunos devem refazer um exercício anterior sobre tabuada usando laços para simplificar o código.

Desafio 50: Soma dos Números Pares Lidos

  • Neste desafio, deve-se desenvolver um programa que lê seis números inteiros e soma apenas aqueles que forem pares.

Progressão Aritmética e Números Primos

Desafio 51: Progressão Aritmética

  • Os alunos devem criar um programa que leia o primeiro termo e a razão de uma progressão aritmética (PA), mostrando os dez primeiros termos dessa PA.

Desafio 52: Verificação de Números Primos

Exercícios de Programação em Python

Desafio 53: Identificação de Palíndromos

  • O exercício consiste em criar um programa que leia uma frase e determine se ela é um palíndromo, ou seja, pode ser lida da mesma forma de frente para trás e vice-versa.
  • Exemplos de palíndromos incluem "após a sopa" e "a sacada da casa", onde os espaços são desconsiderados na leitura.
  • O programa deve ignorar acentos e espaços ao verificar se a frase digitada é um palíndromo.

Desafio 54: Maioridade

  • Este exercício pede a criação de um programa que leia o ano de nascimento de sete pessoas e conte quantas já atingiram a maioridade (21 anos).
  • O objetivo é implementar um contador que informe quantas pessoas são maiores ou menores de idade com base nos dados inseridos.

Desafio 55: Pesagem

  • O desafio envolve desenvolver um programa que leia o peso de cinco pessoas, identificando qual foi o maior e o menor peso registrado.
  • Este exercício é considerado clássico na programação, ajudando no desenvolvimento das habilidades necessárias para construir programas.

Desafio 56: Estatísticas do Grupo

  • Neste último desafio, o aluno deve criar um programa que colete nome, idade e sexo de quatro pessoas.
  • O resultado deve incluir a média das idades do grupo, o nome do homem mais velho e quantas mulheres têm menos de 21 anos. Este exercício é descrito como um dos mais difíceis da aula.

Conclusão da Aula

  • A aula encerra com uma motivação para os alunos completarem todos os desafios propostos sem copiar soluções prontas.
  • É enfatizada a importância de assistir aos vídeos da playlist para entender diferentes abordagens na resolução dos exercícios.
Video description

Nessa aula, vamos começar nossos estudos com os laços e vamos fazer primeiro o "for", que é uma estrutura versátil e simples de entender. Por exemplo: for c in range(0, 4): print(c) print('Acabou') Gostou da aula? Então torne-se um Gafanhoto APOIADOR do CursoemVídeo acessando o site cursoemvideo.com/apoie Aula do Curso de Python criado pelo professor Gustavo Guanabara para o portal CursoemVideo.com. Curso em Vídeo Seja um apoiador: http://cursoemvideo.com/apoie Site: http://www.cursoemvideo.com YouTube: http://www.youtube.com/cursoemvideo Facebook: http://www.facebook.com/cursosemvideo Twitter: http://twitter.com/cursosemvideo Google+: http://plus.google.com/112666558837414979080 Patrocínio HOSTNET: http://www.hostnet.com.br GAFANHOTOS: http://apoie.me/cursoemvideo