nesse curso de lógica de programação completo para iniciantes eu vou te ensinar como montar algoritmos do zero e vou te ensinar também o que é um algoritmo se você não sabe ainda usando a lógica de programação e como a lógica de programação é universal esse curso de lógica de programação vai servir para você independente se você quer aprender Python JavaScript csharp Java ou qualquer outra linguagem de programação que você decidir usar nós vamos aprender tudo que você está vendo aqui na tela e antes de começar esse vídeo eu só quero te pedir duas coisas Desce
aqui nos com comos Digite o seu nome o dia que você está começando e o quanto você sabe de lógica de programação pronto desceu aí Fechou então vamos agora pra nossa primeira aula antes de começar aqui eu quero tirar dúvidas que muitas pessoas têm para saber se você está pronto ou não para fazer esse curso Então vamos falar aqui dos pré-requisitos para fazer esse curso o primeiro é o seguinte eu preciso saber matemática para ser um programador então a matemática é um universo então eu não vou te falar que você não vai precisar saber absolutamente
nada de matemática seria Mentira você precisa no mínimo saber o básico da matemática que é a adição a subtração multiplicação e divisão e é só isso você só vai precisar aprender temas mais avançados se o tipo de programa que você estiver pensando em criar precisar e necessitar de fato de usar ess sistemas avançados como estatística e outras coisas assim mesmo que você tiver que usar ess sistemas mais avançados você só vai ter que fazer a mesma coisa que fez para encontrar este vídeo aqui vai pesquisar no seu amigo Google no seu amigo YouTube como fazer
x e depois encontrar uma explicação para resolver aquele problema e depois aplicar ele no seu programa um exemplo disso é que eu sou péssimo em matemática e mesmo assim eu ainda consigo criar programas completos usando essa mesma tática eu preciso falar inglês para ser um programador não você não precisa saber falar em inglês para ser um programador Mas você vai notar que todas as linguagens de programação que são usadas no mundo real como Python JavaScript C Java e outras elas são escritas em inglês então tudo que você precisa fazer para começar a criar programas nessas
linguagens é decorar essas palavrinhas que são mais usadas na programação é igual decorar o nome de coisas que você já usa no seu dia a dia que estão em inglês como por exemplo webcam let's go bye good night Yes Essas são palavrinhas que você vai aprendendo aos poucos e eu vou ir explicando cada uma delas também para que você não tenha dificuldades então não você não precisa saber falar em inglês se eu aprender lógica de programação eu consigo usar ela em outras linguagens de programação sim a lógica de programação é universal e o conhecimento que
você vai adquirir aqui pode ser transferido não só para qualquer linguagem de programação como também para melhorar o seu raciocínio lógico na vida real Então você vai matar dois coelhos com a cajadada só eu tenho 10 anos eu posso começar eu tenho 15 anos tenho 30 anos tenho 50 anos tem 80 anos eu posso começar cara assim só tem dois casos que eu consigo imaginar onde a idade vai impedir pessoa a primeira é ela é tão nova que ela nem sabe escrever ainda ela não tem conhecimento da do português ou do idioma nativo dela ou
dois a memória dela tá tão ruim que ela nem consegue lembrar o que que ela tomou no café da manhã se você não tá em nenhum desses dois casos Fica tranquilo porque você pode sim se tornar um programador e Pode sim aprender a programar Jonathan mas eu tenho um computador batata será que eu ainda vou conseguir me tornar um programador cara sim é possível que você se torne um programador mesmo tendo um computador batata porque na verdade se você está rodando esse vídeo aqui dentro do YouTube você conseguir acessar um site é tudo que você
precisa para conseguir montar os seus programas do zero Inclusive eu vou te provar isso nos exemplos que nós vamos ver aqui mais pro final do curso onde nós vamos criar um programa usando linguagem de programação somente usando o nosso navegador eu tenho dificuldade em aprender programação Será que eu vou conseguir Olha na minha opinião se você vai conseguir ou não vai depender de duas coisas só primeiro quem está te ensinando e segunda quão paciente você é com você mesmo programar não é extremamente complexo mas é sim algo que requer o seu tempo paciência e muita
prática para centar esse conhecimento na sua cabeça então se você é louco para aprender isso com o tempo eu te garanto que você vai conseguir sim e outra se você tá duvidando você só vai descobrir tentando E aí tirei essas dúvidas Eu espero que sim então agora que nós temos essas coisas fora do caminho vamos de fato começar a aprender agora então na aula número um vamos descobrir porque um sof software é criado mas antes disso você chegou na aula número um di aqui nos comentários level um Então vamos lá por que que um software
é criado nós já iremos aqui começar a montar a lógica paraos Nossos programas mas se você é um iniciante Total talvez você nem saiba porque os programas são criados Então vou resumir para vocês aqui as duas grandes utilidades pelo qual os softwares são criados E também porque as pessoas são tão bem pagas para se tornarem desenvolvedores de software o primeiro motivo é o seguinte para criar soluções para problemas do dia a dia Como assim Jonathan vamos começar em empresas que criam software para resolver problemas do dia a dia primeira empresa aqui que você já conhece
Com certeza é a Netflix a Netflix resolver o problema que as pessoas tinham quando elas queriam assistir uma série elas queriam assistir um desenho ou um filme mas tinham que procurar isso em vários lugares diferentes a Netflix criou um software que é um programa que uniu tudo isso em um lugar só um outro exemplo disso é o Google a Google resolveu Um dos problemas mais fundamentais da humanidade hoje que nós temos que é de conseguir encontrar informação sobre algo do nosso interesse o Google criou um software que pode ser acessado em qualquer dispositivo e te
permite encontrar qualquer coisa que você deseja encontrar nós temos também um exemplo do Instagram o Instagram é um software para quem quer divulgar qualquer tipo de conteúdo que temha interesse seja esse conteúdo pessoal ou profissional Mas jonath então todo o software ele grandioso assim todo o software tem que ser uma empresa gigante tem que resolver um problema gigante não Definitivamente não nós temos o segundo motivo pelo qual o software é criado o primeiro é para criar soluções problemas do dia a dia mas o segundo é automação e otimização de processos Deixa eu te dar um
exemplo os postes de luz na sua cidade ligam desligam sozinhos Pois é existe um algoritmo embutido neles que identifica se está escurecendo e as luzes devem ser acesas ou se está clareando e as luzes devem ser apagadas Imagine que se não fosse por esses algoritmos que controlam quando as luzes dos postes devem se desligar ou Ligar alguém teria que ir todos os dias em cada um D centenas de postes que existem na sua cidade e desligar ou Ligar eles manualmente é uma loucura né Pois é os algoritmos que são criados através da lógica de programação
estão em todos os lugares inclusive em objetos que você vê no seu dia a dia esse foi só um exemplo básico com o conhecimento de lógica de programação que vai estar adquirindo aqui neste curso você terá o conhecimento necessário para começar a criar cada uma das funcionalidades que compõem cada um desses programas Independente se eles são programas gigantes hoje ou não todos eles começaram por apenas uma pequena funcionalidade e é exatamente sobre esse processo que eu vou te explicar na próxima aula mas nem todo o programa precisa ser grandioso e gigantesco como esse que eu
já mencionei aqui anteriormente nós temos programas muito mais simples como por exemplo a calculadora E também o bloco de notas que já vem instalado em praticamente todos os computadores que nos permitem fazer cálculos matemáticos ou anotar algo digitalmente como é o caso do bloco de notas então continuando aqui a segunda maior utilidade da programação é a automação ou otimização de processos repetitivos Deixa eu te dar alguns exemplos disso nós podemos automatizar tarefas na web como por exemplo interagir preencher ou buscar informações em sites de forma automatizada nós podemos automatizar a criação o preenchimento a duplicação
e o envio de arquivos nós podemos criar ler e enviar e-mails nós podemos pegar tarefas que usam seu teclado e mouse e automatizar elas praticamente qualquer processo que é feito em um dispositivo pode ser automatizado parcial ou totalmente usando a programação e uma das linguagens que lideram esse mercado de automação Hoje é a linguagem de programação Python que é Inclusive a linguagem de programação que nós estaremos usando aqui em alguns dos nossos projetos mais para o final deste curso Então em resumo nós temos aqui os motivos pelos quais softwares são criados certo tanto para criar
soluções para problemas do dia a dia quanto para automação e otimização de processos e na próxima aula eu vou te mostrar exatamente como as pessoas transformam uma ideia em um software pronto como esse daqu que vocês estão vendo na tela Então vamos ver agora como um software é criado e onde que a lógica de programação se encaixa nisso mas antes eu montei essa citação aqui para você antes de existir a lógica havia um processo um ciclo e neste caso estou falando do ciclo de desenvolvimento de software Como que funciona esse ciclo de desenvolvimento de software
vamos ver aqui para que nós possamos criar um software do zero existem vários tipos de processos diferentes que podem ser seguidos Mas nós vamos estar Seguindo aqui um processo que é parecido com com a metodologia ágil de desenvolvimento de software Esse é o ciclo que acontece quando você está criando um software do zero e entregando ele para um cliente ou para você mesmo e nós começamos tudo no estágio número um que é a idealização como que seria essa idealização basicamente alguém vai ter uma ideia essa ideia pode partir ou de você ou de ter seja
a pessoa que está te contratando seja o projeto freelancer que você está fazendo alguém terá uma ideia e esse vai ser o ponto inicial normalmente nesse ponto aqui nós temos alguém que vai estar anotando a ideia geral nada super específico neste caso apenas algumas anotações de o que que Esperamos que esse software que esse programa que essa automação venha estar resolvendo pra gente depois que nós temos isso nós passamos pra segunda fase que é o estágio número dois que eu coloquei aqui que é a especificação de requisito Esse passo é extremamente importante mesmo se você
está criando um software para você mesmo o que que é a especificação de requisitos esse é o momento que nós vamos documentar exatamente o que que o software deve e também não deve resolver isso é importante por se você está fazendo um programa para você mesmo isso vai impedir que você fique criando o software pel uma internidade e nunca tem um ponto que você possa dizer Pronto agora eu acabei eu estou pronto esse esse software Está entregue e se você estiver trabalhando para outra pessoa se você você não define exatamente o que que deve ser
feito o cliente pode ficar te pedindo novos requisitos infinitos ali funcionalidades infinitas ilimitadas E como você não especificou o que que não deve ser feito ou você não especificou exatamente o que será feito você não pode reclamar porque se você não documentou você não pode cobrar é como alguém que não não faz um contrato e depois quer cobrar por algo que nem foi escrito então no estágio número dois nós especificamos exatamente o que que será feito e o que que não será feito naquele software e normalmente aqui você estipulou também datas de entrega ou no
mínimo prazos ah previsões de entrega no estágio três nós temos a validação da solução o que que seria essa validação da solução você já teve uma ideia anotou essa ideia geral você montou o documento de requisitos e é importante você entender que nesse processo que você está documentando os requisitos Nem sempre o seu cliente sabe se você está fazendo iso para um cliente Nem sempre o cliente sabe exatamente o que ele quer então muita das vezes o que vai acontecer é que o programador vai fazer algumas suposições sobre quais requisitos esse programa deve possuir com
base na idealização com base na ideia que o cliente passou para ele olha meu software tem que ser isso isso isso aqui ele passou uma ideia geral então o programador foi lá fez algumas assunções ele assumiu algumas coisas fez algumas suposições e montou um documento de requisitos com base nisso depois de ter feito isso nós chegamos ao estágio três e vai apresentar esse documento ao cliente que solicitou este software e você vai literalmente fazer isso você vai validar se aquilo é exatamente o que o cliente pediu ou não se não for você você volta ao
estágio dois e refaz esse documento de requisitos até que ele esteja exatamente de acordo com o que o cliente precisa e você só vai pro próximo passo depois de ter resolvido isso então você vai ficar nesse bate volta até que você resolva essa questão e somente agora nós vamos pro estágio quatro onde você vai de fato começar a escrever código então você vê como que nós temos que passar por todo um processo aqui antes de chegar na parte onde nós vamos escrever código isso é muito importante entender porque se você não faz isso você vai
estar dando um tiro no pé e você vai estar cavando talvez no sentido errado sendo que você deveria estar cavando pra direita você vai estar cavando pra esquerda então se você não sabe onde você quer chegar não adianta você começa a codar porque você não tem objetivo Você não tem uma meta final então aqui no estágio quatro você já está com tudo muito bem definido sabe exatamente o que que deve ser feito e sabe exatamente Quais são as funcionalidades do seu sistema Então você vai começar a fazer o desenvolvimento a programação no caso e também
testar o seu software para garantir que ele esteja o mais estável possível é não existe software 100% estável isso é é impossível mas mais estável possível então você fez todas as funcionalidades que foram pedidas e testou da melhor forma possível para garantir que o seu software está o mais estável possível feito isso resta agora fazer o nosso estágio de implantação e entrega o estágio CCO no estágio cinco Você já montou o software El já está funcional você tem que apenas agora ir até o cliente ou se você é o seu próprio cliente instalar no seu
computador mas se você tem um outro cliente você vai fazer a instalação desse software no computador outra pessoa ou se for um site por exemplo sistema web você vai subir esse site pra nuvem para que o cliente possa acessar esse site esse sistema web a partir do computador dele e aqui é chamado de implantação entrega porque agora também é o momento do cliente ir lá e tentar quebrar o seu programa tentar fazer ele funcionar ver se ele está atendendo ele de fato E caso ele encontre algum problema ou caso ele necessite alguma nova funcionalidade nós
vamos continuar esse ciclo aqui ah infinitamente durante o tempo que você estiver com o contrato com esse cliente então esse é o ciclo de desenvolvimento de software e assim que Nós criamos software do zero Então agora que você conhece o ciclo de desenvolvimento de software eu quero que você digite aqui nos comentários o seguinte conheço o ciclo nessa aula eu quero te mostrar qual é o problema que todo iniciante enfrenta no início da sua carreira e eu deixei aqui uma frase para vocês que é o seguinte me solta deixa começar a codar essa é uma
frase que todo iniciante inexperiente costuma dizer isso porque a habilidade mais IMP important que você precisa desenvolver como programador é a habilidade de ouvir ou ler e compreender muito bem qualquer problema que te for apresentado e somente depois de compreender muito bem o que foi pedido começar a desenvolver a lógica Ou seja a sequência de Passos necessários para resolver qualquer problema o erro número um que eu vejo os meus alunos cometendo é que eles querem ir direto pro código eles querem escrever o código de cara mas escrever o código deve ser feito só mente após
de você ter entendido não somente qual é o problema Mas quais passos serão necessários para resolver este problema e nós damos o nome desses Passos necessários para resolver o problema de algoritmo se você for direto pro código você vai travar você vai começar a brigar com você mesmo você vai achar que você não é capaz de fazer aquilo e provavelmente vai desistir vai achar que os outros conseguem mas eu não que eu não sou bom nisso e várias outras coisas isso acontece porque você está tentando resolver um problema que ainda não entendeu e não faz
ideia de como resolver então entenda uma coisa todos passam por isso é normal que você vai escrever o código lentamente quando você está começando Você vai precisar muito mais tempo para entender o problema que pode parecer muito simples para mim ou Pode parecer muito simples para outra pessoa mas você no começo vai demorar para resolver as soluções isso é normal e às vezes quando você está na faculdade ou você está em uma situação de pressão as pessoas querem que você resolva isso instantaneamente mas a real é iniciante vai demorar Vai levar tempo e precisa desse
tempo para que ele consiga avançar no tempo dele e eventualmente conseguir resolver essas questões mais rápido outra questão que é normal você vai resolver os mesmos problemas em situações diferentes isso é normal eu digo isso porque você vai encontrar diversos problemas talvez 10 problemas diferentes mas dentro desses 10 problemas existem partes das soluções que estão nesses problemas que são que você já resolveu que você já conseguiu resolver anteriormente em outra situação Então essa repetição de cenários que você vai e observar em problemas diferentes vai te ajudar e vai também acelerar o seu processo de compreensão
de como criar soluções então por isso que eu digo pratique muito outra questão normal que você vai se achar incapaz ou insuficiente nós temos até um nome para isso na na área de programação que é o síndrome do impostor você achar que você não é capaz ou não é suficiente isso acontece claramente porque você não está sendo exposto a suficiente aquele mesmo tipo de problema por isso pessoal que eu vou te pedir que você tenha paciência com você mesmo você é a pessoa que mais vai precisar de paciência nesse caso aqui porque é normal você
se frustrar e ter dificuldade no começo todos passaram por isso eu passei muito por isso eu tentei desistir várias vezes mas sempre que eu consegui resolver um novo problema eu me lembrava que sim eu era capaz de resolver problemas eu só precisava de mais tempo para analisar aquela situação e o quarto ponto positivo aqui é normal também que você vai gradualmente conseguir solucionar problemas mais facilmente Então fique tranquilo que você vai também chegar lá e aqui eu deixei uma frase para vocês tudo começa na análise na análise crítica do problema que é inclusive o tema
da nossa próxima aula então vamos agora entender o que é análise crítica e como aprender a resolver problemas através da análise crítica e se você chegou aqui na aula quatro digite aqui nos comentários eu sou nível quatro eu deixei essa frase aqui que eu quero muito que vocês gravem ela que é o seguinte saber programar é secundário o importante é saber criar soluções bem definidas e outro ponto saber analisar e resolver um problema é mais importante que decorar os comandos de um uma linguagem de programação eu digo isso pelo seguinte motivo o ponto mais importante
para que você consiga ser um programador de sucesso é a capacidade de analisar e resolver um problema para que depois você possa ser capaz de montar uma série de Passos necessários para solucionar aquilo nós chamamos isso de um algoritmo Então vamos começar agora a trabalhar nossa análise crítica através do seguinte problema esse aqui é o primeiro problema que nós vamos analisar vou chamar o problema de copo d'água vamos imaginar que você está seguindo uma receita que requer é exatamente 2 ml de água para que você consiga fazer essa receita infelizmente nós não temos algo com
a medida de exatamente 2 ml e nem só com 1 ml o que também funcionaria mas o que você tem são dois copos um que cabe 5 ml E outro que cabe 3 ml Então como que você poderia conseguir exatamente a medida que você precisa que são os 2 ml eu quero que você pause o vídeo agora e se dê alguns minutos aí para tentar encontrar uma solução sobre isso e depois voltar aqui ok conseguiu encontrar aí se você não tiver conseguido não fique bravo com você mesmo Muitas pessoas não conseguem resolver esse problema na
primeira vez que eles são expostos a ele eu mesmo já quebrei muita cabeça para entender problemas como este aqui mas vamos à solução deste problema Então nesse caso para obter uma medida de 2 ml nós primeiro temos que encher o copo de 5 ml por inteiro e depois encher o copo de 3 ml usando o copo de 5 ml E assim se nós pensarmos bem agora nós temos o seguinte agora nós teremos exatamente 2 ml restantes no copo de 5 ml Ficou claro se por algum motivo esse problema parecer tão difícil para você isso é
porque poucas pessoas pensariam em resolver essa situação transferindo água de um copo para o outro mas é exatamente isso que nós estamos trabalhando aqui a nossa análise crítica e eu já vou te dar mais um exemplo agora mas antes disso vamos pensar em uma coisa quanto mais experiente você se tornar mais Óbvio ficam os caminhos que levam a solução e por isso nós precisamos praticar o máximo possível e esse Desafio Foi para que nós possamos começar a aquecer aqui na nossa cabeça vamos pensar em um segundo problema o meu salário por hora eu tenho esse
problema aqui Escreva um programa que retorne o valor hora de um funcionário Com base no seu salário mensal e horas trabalhadas por mês então neste caso a primeira coisa que nós temos que fazer é analisar e ler o problema mais uma vez Então vamos lá Escreva um programa que retorna a valor hora de um funcionário Com base no seu salário mensal e horas trabalhadas por mês você consegue pensar em uma solução para este problema quais Passos você tomaria para conseguir resolver esse problema aqui pause o vídeo agora e tente escrever uma solução aí ou se
preferir deixa um comentário aqui abaixo desse vídeo com a solução que você escreveria para este problema Ok já tentou Aí vamos então agora resolver esse problema então nós temos aqui o problema e neste caso para que nós possamos encontrar o valor hora de um funcionário nós temos que fazer o seguinte cálculo nós temos que fazer o salário mensal dividido pelo total de horas trabalhadas e fazendo esse cálculo nós temos o nosso valor hora então para que nós possamos resolver esse problema nós teremos que primeiro perguntar essa pessoa qual é o seu salário mensal temos um
exemplo aqui de 2500 e guardar essa informação e depois nós teremos que perguntar Quantas horas essa pessoa trabalha por mês e guardar essa informação vamos imaginar que ela trabalhe 176 horas por mês depois de perguntar o salário mensal guardar essa informação as horas trabalhadas e guardar essa informação Finalmente nós temos que simplesmente fazer a divisão do salário mensal com as horas trabalhadas e assim nós teremos o resultado desse cálculo que representaria o nosso a solução esperada para o nosso problema que é exatamente isso aqui o salário hora é igual a r 14.20 para quem ganha
r$ 2500 e trabalha 176 horas por mês então o que que eu quero que você tire disso aqui resolver o problema antes de escrever uma linha de código Esse é todo iniciante ao perceber que o código é secundário Então você percebeu que nós não escrevemos código aqui Mas conseguimos resolver o problema mesmo assim porque o mais importante é conseguir resolver o problema entender qual entender o problema e entender quais Passos são necessários para resolver aquela situação e nós estamos apenas começando se você tá curtindo esse vídeo Não esqueça de curtir aqui e deixar seu comentário
me dizendo a sua opinião sobre ele que ele é muito importante também essa habilidade de conseguir pensar na solução é tão importante tão mais importante que aprender a programar que aprender a linguagem de programação que eu vou te mostrar aqui uma entrevista que eu fiz com um inscrito aqui do canal que ele conseguiu criar uma automação que economizou até R 1 milhão deais pra empresa onde ele trabalha e sabe qual que é a habilidade mais importante na visão dele deixa eu te mostrar aqui nisso aí cara nesse robozinho que eu fiz eh realmente como tu
falou é o negócio é a lógica a lógica já tá dentro da sua cabeça por exemplo fazia tempo que eu não programava a última vez que eu programei foi ano passado velho Aí eu peguei aí eu peguei o Python Ah esse robô aí no final dele eu tava pesquisando como é que usava algumas condicionais no pyon que eu não lembrava Mas eu sabia como era para fazer só que eu pesquisei a sintaxe porque a lógica o importante é a lógica você pesquisa sintaxe o pessoal se Prende muito a isso ah não decar sintaxe não é
a lógica prende você antes de fazer já tem que tá na sua cabeça Exatamente porque o resto você pesquisa no Google tá lá Pronto pega a sintaxe e aplica a sua lógica o mais importante é a lógica é mais ou menos isso cara é mais é exatamente isso na verdade nem Exatamente isso né É exatamente mesmo isso pois é pessoal eu gostaria de entrevistar mais 30 pessoas aqui e eu tenho certeza que elas diriam exatamente a mesma coisa habilidade mais importante não é decorar a sintaxe não é decorar os comandos os comandos de cada linguagem
de programação é conseguir resolver problemas e depois que você conseguir resolver os problemas você pode ir para qualquer linguagem de programação e simplesmente pesquisar no Google como executar como fazer aquele comando específico Eu sou programador há mais de 6 anos e eu tenho certeza que eu conseguiria encontrar vários programadores que diriam exatamente a mesma coisa mas eu sei que você está iniciando agora e eu vou te mostrar a metodologia que eu uso para conseguir montar um algoritmo do zero para um problema que eu nunca vi antes e você vai estar vendo isso nas próximas aulas
e se você está conseguindo aprender comigo e considera esse conteúdo um conteúdo de valor você pode fazer uma doação igual ao valor que você julgar que eu estou trazendo para você aqui basta seguir as instruções que eu coloquei abaixo desse vídeo aqui onde eu escrevi apoie Este trabalho com a doação então na próxima aula nós vamos começar a entender como transformar a habilidade de resolver problemas na habilidade de criar algoritmos Ei deixa eu te perguntar você tá curtindo essas aulas a forma mais fácil de você apoiar Esse trabalho é simplesmente se inscrever nesse canal curtindo
e deixando um comentário e assim também você recebe os próximos vídeos que são lançados aqui neste canal então na aula de hoje nós vamos entender o que são algoritmos e como montar um algoritmo do zero então para começar o que são algoritmos o que que são algoritmos um algoritmo é simplesmente uma série de instruções a serem seguidas para resolver um problema é apenas isso quando os algoritmos devem ser criados eles devem ser criados sempre que nós queremos montar uma sequência de Passos necessários para solucionar um problema mas qual é a estratégia para montar um algoritmo
quando eu falo de estratégia tô falando Independente se alguém te apresenta um problema a ser resolvido ou você encontra um problema a ser resolvido independente disso o passo os passos são basicamente os mesmos e agora eu vou te apresentar o método 5q para montar um algoritmo mas como funciona esse método 5q a primeira parte é o seguinte nós temos que fazer análise crítica do problema e descobrir o seguinte O que que significa fazer uma análise crítica eu quero dizer que nós vamos tentar explicar esse problema para você mesmo em voz alta e caso algo ainda
não esteja claro para você peça mais informações ou investigue mais Caso seja um problema que você encontrou até que você compreenda completamente o problema você não consegue criar uma solução Se você não entende o problema é literalmente impossível tentar resolver algo que você não entende Então comece com a análise crítica do problema fazendo isso aqui e agora os cinco qus o primeiro Quais são os dados de entrada necessários para resolver este problema o que devo fazer com esses dados Quais são as restrições deste problema Qual é o resultado esperado e finalmente Qual é a sequência
de Passos a ser feitas para chegar ao resultado esperado Esse é o método 5p e agora nós vamos aplicar esse método a um problema real para que fique bem claro para você como ele funciona na prática o problema real aqui é monte um algoritmo necessário para ligar para um amigo Quais são os dados de entrada necessário para ligar para alguém O que que você precisa para poder ligar para alguém então o primeiro passo como Eu mencionei para vocês é análise crítica Leia e Entenda esse problema você entende exatamente quais são os passos necessários que você
deve tomar para ligar para um amigo se você não entende V atrás essa informação e entenda exatamente como você poderia resolver esse problema feito isso podemos ir para o primeiro passo que é descobrir quais são os dados de entradas necessário neste caso os dados de entradas necessário é apenas um telefone e um número de celular você precisa dessas duas coisas para conseguir resolver este problema a segunda coisa é o que que eu devo fazer com esses dados no caso onde estou tentando montar um algoritmo necessário para ligar para um amigo você consegue descobrir o que
que eu devo fazer com esses dados eu ten tenho aqui um telefone e tenho o número de celular o que que eu devo fazer com esses dados po ir agora e tente resolver esse problema neste caso eu devo usar o celular para desar o número do meu amigo eu devo fazer isso com esses dados o terceiro passo Quais são as restrições deste problema Existe alguma restrição para este problema aqui neste caso nós podemos entender as restrições são casos que podem acontecer de exceção coisas que podem dar errado ou coisas que não devem acontecer Esses são
as Essas são as restrições dos problemas então nessa situação caso o meu amigo não atenda devo deixar uma mensagem dizendo me ligue de volta essa é uma possível restrição neste caso e qual é o resultado esperado no caso deste algoritmo aqui o resultado esperado é que eu consiga falar com o meu amigo esse é o resultado esperado neste caso e neste caso Qual é a sequência de Passos a serem feitas para chegar a resultado esperado Lembrando que esse aqui é o nosso algoritmo e quando eu estou te pedindo uma sequência de Passos a serem feitas
para chegar ao resultado eu estou dizendo para você fazer o seguinte analise criticamente o problema e tente explicar ele em voz alta depois disso você vai tentar quebrar e escrever cada parte do problema em pequenas instruções no estilo passo um passo Dois Passo TR passo quatro Então eu quero que você pause o vídeo aqui agora e Anote para mim todos os passos necessários para que você consiga ligar para alguém pause o vídeo agora e t ver isso aí ok já tentou então neste caso ao quebrar esse problema em pequenas instruções eu teria seguinte Primeiro passo
seria p o telefone depois se es travado por senha destra o celular eu verico se há sinal da operadora eu navego até o discador do meu celular eu digito o número do meu amigo eu aperto o botão de ligar eu aguardo a ligação completar e aqui se a ligação completar eu converso com ele se a ligação não completar deixar uma mensagem dizendo me ligue de volta então um ponto importante que você vai ver aqui é que eu poderia estar inserindo várias outras verificações que nós chamamos de condicionais na programação na medida do necessário para garantir
que o seu algoritmo funcione bem mesmo em situações adversas e aqui um aviso ISO bem importante a sua solução não precisa estar exatamente igual a minha existem diversas formas de você ligar para alguém o conceito mais importante aqui é que você comece a destravar a sua mente para montar instruções capazes de resolver problemas essa habilidade chave que nós estamos trabalhando nessa aula não é a habilidade de copiar o professor é a habilidade de montar pequenas instruções que resolvem problemas e esse processo fez sentido para você se ele fez sentido deixa sua opinião aqui abaixo eu
quero saber de você vamos ao problema número dois valor por hora Escreva um programa que retorna O valor hora de um funcionário Com base no seu salário mensal e horas trabalhadas por mês então vamos resolver ele agora Quais são os dados de entradas necessário Eu recomendo sempre que você Tente aqui durante todos os desafios resolver antes de eu te dar a resposta comentando aqui abaixo a sua solução neste caso os dados necessários para este problema aqui são os seguintes sendo que eu estou escrevendo aqui um programa que retorna a valor hó de um funci ário
Com base no seu salário mensal e horas trabalhadas por mês eu preciso de dos seguintes dados eu preciso saber qual é o salário mensal daquela pessoa e eu preciso saber quantas horas trabalhadas por mês aquela pessoa faz e assim eu consigo chegar no valor hora no segundo passo o que devo fazer com estes dados neste caso eu devo usar eles para calcular o valor o valor hora que um funcionário recebe usando o seguinte cálculo salário mensal dividido por horas trabalhadas Mas quais são as restrições deste problema neste caso as restrições são as seguintes os valores
devem ser entregues somente em formato de salário por hora eu não eu não estou interessado em nenhuma outra informação que não seja essa a quarta situação é a seguinte qual é o resultado esperado neste caso aqui você pode pensar Você consegue imaginar qual o resultado esperado nós já falamos aqui neste caso o resultado esperado é o valor hora que um funcionário recebe este é o resultado que nós esperamos Então qual é a sequência de Passos a ser feitas para chegar ao resultado esperado quero que você dê um pause aí E tente fazer isso tentou aí
então vamos ver agora como que eu resolveria este problema primeiro eu perguntaria quanta a pessoa ganha por mês eu guardaria essa informação depois eu perguntaria quantas horas ela trabalha por mês guardaria essa informação depois e com isso eu calcularia o valor hora da pessoa que é fazer o cálculo de salário mensal dividido por horas trabalhadas feito isso eu exibiria o valor hora daquela pessoa tá começando a ficar claro eu espero que sim deixe seos comentários aqui abaixo eu preciso saber quala você está e o que que você está achando até o momento vamos ver mais
uma situação para que você consiga trabalhar muito mais essa habilidade de raciocínio lógico o problema número três é o seguinte chute o número nmero Escreva um programa que ao iniciar gera um valor aleatório de 1 a 10 e permite que o usuário chute um número até que o valor aleatório gerado no início do programa seja chutado corretamente Além disso o programa deve informar se o chute foi a cima abaixo ou igual ao valor aleatório gerado no início do programa Então vamos comigo Quais são os dados de entradas necessário neste caso pause a e tente e
depois volte aqui o primeiro dado é um valor aleatório de 1 a 10 e e um chute do usuário e o que que eu devo fazer com estes dados neste caso eu devo pegar o valor aleatório de 1 a 10 que foi gerado e comparar ele com o valor que foi chutado pelo usuário só que neste caso ten outra questão que eu t fazer também se o chute for maior ou menor que o valor gerado alertar o usuário sobre isso e o deixar jogar novamente até que ele Acerte o número que foi gerado Quais são
as restrições deste problema neste a primeira restrição é ainte oama não finalizado até que um seado diss US quant vezes quiser Mas qual é o resultado esperado neste caso aqui Você consegue imaginar neste caso o resultado esperado é o programa identificar que o valor chutado pelo usuário é igual ao valor gerado no início do programa então agora Qual é a sequência de Passos a serem feitas para chegar ao resultado esperado eu quero que você pause o vídeo e tente escrever agora essa solução aí em formato de passo um passo 2 passo 3 e deixa aqui
nos comentários deste vídeo ok então vamos ver aqui como eu resolveria este problema primeiro eu geraria um valor aleatório de 1 a 10 depois eu vou armazenar depois eu armazenaria este valor eu receberia o chute do usuário agora eu vou fazer uma comparação compararia o chute do usuário com o valor aleatório que foi gerado ali no passo um se o chute for maior que o valor gerado eu vou exibir chuto alto e voltar ao passo TRS se o shute for menor que o valor de gerado eu vou exibir chutou baixo e voltar ao passo três
agora se o chute for igual ao valor gerado eu vou exibir acertou e voltar ao passo um Ficou claro você entendeu os processos aqui de como usar os 5q eu quero que você deixe a sua opinião aqui abaixo me dizendo o que que você achou dos 5qs e na próxima aula eu vou te mostrar Quais são os quatro conceitos que você absolutamente precisa dominar para conseguir montar algoritmos que resolvem qualquer problema na programação e esse é inclusive exatamente o tópico da nossa próxima aula então vamos agora falar dos quatro conceitos obrigatórios que você deve dominar
se você quer ser capaz de resolver problemas e se você está gostando dessa aula não esqueça de compartilhar ela com pelo menos uma pessoa hoje então Quais são os quatro conceitos obrigatórios que você deve dominar para ser capaz de resolver problemas O primeiro é o conceito de variáveis depois o conceito de condicionais laços de repetição e finalmente as coleções Esses são os pontos mais importantes e nós vamos entrar em cada um deles aqui para que você entenda exatamente como que eles são usados E como que eles são aplicados na criação de algoritmos quando falamos de
variáveis Deixa eu te perguntar uma coisa quando você ouve o nome de alguém O que que você faz com esse nome você tenta guardar ele certo onde você guarda ele você guarda ele na sua memória Quando alguém te passa uma data de uma consulta o que que você faz com essa data você anota ela em algum lugar para se lembrar daquilo ou simplesmente tenta guardar aquela informação na sua mente certo quando alguém te diz para ir a supermercado e comprar uma barra de chocolate você guarda ou anota essa informação em algum lugar também certo o
que que todas essas situações têm em comum nós temos uma informação que precisa ser guardada em algum lugar e essa informação pode ser de qualquer tipo diferente pode ser um texto uma data um número cada situação Vai necessitar um tipo de dado diferente e por isso também que nós chamamos esse conceito de no conceito de variáveis porque ela varia de acordo com a situação onde ela vai estar sendo utilizada Vamos então entender através de um problema real como as variáveis são utilizadas na criação de algoritmo as variáveis aqui são todos os tipos de dados que
devem ser guardados na memória do computador para serem usadas depois dentro do nosso programa Então eu quero que você dê um pause e olhe esse problema na sua opinião Quais são as variáveis deste problema quais são os dados que nós devemos guardar para usar depois no nosso programa dê um pause agora e tente identificar esses momentos e escreva eles em algum lugar pode ser aqui nos comentários ou em um bloco de notas aí então no caso deste problema nós temos três variáveis nós temos o valor hora o salário mensal e horas trabalhadas então anotei aqui
nós temos o salário mensal nós temos as horas trabalhadas por mês e o valor hora e como Eu mencionei anteriormente variáveis possuem este nome porque elas podem receber valores diferentes de tipos diferentes dependendo do caso onde elas estão sendo usadas nós iremos ver um exemplo real de variáveis na linguagem que eu considero mais amigável para iniciantes que é o Python ainda neste curso mas antes disso vamos entender o segundo conceito obrigatório que são condicionais E como que elas podem ser úteis dentro da criação de algoritmos Deixa eu te perguntar quando alguém te te oferece um
panfleto na rua você pega esse panfleto sem pensar quando você descobre que algo que você quer muito comprar está na promoção você compra ela você compra essa coisa direto sem pensar antes eu imagino que a resposta para essas perguntas tenham sido não para a maioria das pessoas isso porque para quase tudo que pensamos em fazer nas nossas vidas Nós pensamos e contemplamos se devemos ou não fazer aquilo normalmente com base em algum critério nosso por exemplo se alguém te oferecer um panfleto na rua talvez você pense Se isso for útil de alguma forma para mim
então eu vou pegar esse panfleto Caso contrário eu vou deixar essa pessoa no vácuo mesmo e vou continuar andando e se alguém te oferece uma promoção para comprar algo que está com 70% de desconto talvez você pense pô se eu não comprar isso aqui agora Talvez eu nunca vou conseguir comprar isso com desconto de novo no mundo da programação Nós também podemos representar estes questionamentos ou condicionais como eles são chamados na programação e eu vou te mostrar aqui um exemplo real de como que você usaria as condicionais Vamos ler novamente esse problema e tentar entender
Quais são os momentos onde nós devemos tomar uma decisão Escreva um programa que ao iniciar gera um valor aleatório de 1 a 10 e permite que o usuário chute um número até que o valor aleatório gerado no início do programa seja chutado corret ente o programa deve informar se o chute foi acima abaixo ou igual a valor aleatório então aqui nesse caso eu quero que você pause o vídeo e tente identificar Quais são os momentos nessa descrição que eu deveria tomar uma decisão baseado em alguma condição então pause agora e tente identificar esses momentos e
escreve eles em algum lugar Ok conseguiu aí então vamos lá neste caso nós podemos identificar algumas condicionais A primeira é se o número chutado for menor que o número gerado Então avise que deve chutar mais alto se o número chutado for maior que o número gerado Então avise que deve chutar mais baixo e finalmente se o número chutado for igual for igual ao número gerado Então avise que ele acertou então é dessa forma que nós podemos identificar condicionais em um problema nós buscamos ali Quais são os momentos onde uma decisão está sendo tomada com base
em alguma outra condição quando você identifica isso nós podemos pensar que esse é que essa situação se tornará uma condicional dos Nossos programas E Agora Nós temos os laços de repetição que é o terceiro ponto obrigatório que você deve entender isso porque no mundo real e na programação nós temos diversas situações onde nós precisamos fazer uma ação várias vezes ou por uma determinada quantidade de vezes por exemplo você precisa cortar um pão por uma determinada quantidade de vezes você precisa varrer o chão por uma determinada quantidade de vezes você precisa dar vários passos para chegar
a um lugar vamos então pensar num cenário real aqui agora vamos dizer que para derrubar uma árvore você tem que dar 11 machadadas nela Então você teria que criar um comando que mande a pessoa dar 11 machadadas na árvore e com isso a árvore cairia deixa eu te mostrar isso através de um exemplo real usado na criação de um jogo Então vamos entender o que acabou de acontecer aqui no exemplo anterior que eu mostrei para vocês num jogo nós temos uma repetição que é executada por 11 vezes para conseguir derrubar uma árvore Esse é um
exemplo de repetição usada na lógica de programação dentro de jogos mas nós podemos ver isso aqui aplicada em diversas situações diferentes deixa dar para você aqui um segundo cenário real vamos imaginar um cenário diferente Onde você quer criar um programa que recebe um número e o incrementa por um por 10 vezes como que você poderia fazer isso nós poderíamos primeiro declarar um valor inicial vamos imaginar Que Nós escolhemos o valor 10 e agora eu tenho que fazer várias repetições por 10 vezes e em cada e em cada vez que eu faço uma repetição eu vou
processar esse dado na primeira vez que nós rodamos essa repetição nós temos o valor inicial que é 10 mais 1 então nós resultamos em 11 na segunda vez nós pegamos O Valor anterior de que era 11 e acrescentamos um a ele e chegamos ao valor de 12 nós vamos seguir esse mesmo processo agora por 10 vezes então vou fazer esse processo aqui por mais algumas vezes até que eu chegue na décima repetição ao chegar na 10ma repetição eu iniciei com o valor 19 incrementei ele por um e agora eu tenho o valor 20 Então esse
aqui é um algoritmo que estaria usando um laço de repetição e é importante notar que o os laços de repetição possuem um ponto em comum Normalmente eles possuem um ponto inicial e um ponto final ou em alguns casos uma condição que irá significar o final daquele laço de repetição por exemplo deixe uma torneira aberta até que o copo esteja cheio de água nade até chegar ao outro lado da piscina some todos os valores até enquanto o valor for menor que 100 dem machadadas na Árvore até que ela caia todas essas são pontos em comum então
em todos os casos Aqui nós temos um ponto inicial e um ponto final Outro ponto chave aqui é que os laços de repetição são extremamente úteis para qu eles são úteis para conseguir automatizar processos isso porque é possível definir por quantas vezes algo deve ser executado eles possuem o ponto de início e fim e podem estar atrelado a uma condição como nós podemos ver aqui as repetições são um ponto chave para que você possa começar a conseguir automatizar as coisas uma vez que se você consegue criar as condições para que algo seja iniciado e encerrado
você começa a ter o conhecimento necessário para conseguir automatizar processos desde os mais simples Até os mais complexos então aqui são apenas alguns exemplos e nas próximas aulas eu irei te dar exemplos reais usando a programação em Python que é uma das linguagens mais simples de aprender na minha visão mas antes disso vamos ao quarto conceito mais importante que você deve dominar para conseguir criar algoritmos que é o conceito de um coleções isso porque em muitos casos você terá necessidade de trabalhar com coleções de valores que estão armazenados em um local só por exemplo vamos
imaginar que você tem uma lista de convidados aqui o Jeff Amanda Carol e o Robert ou vamos imaginar que nós temos uma lista de números premiados e aqui estão os números premiados aqui da linguagem de programação disponibiliza alguns tipos de coleções diferentes e no caso do Python nós temos listas nós temos arrays ah outras linguagens T outros tipos porém o objetivo das coleções são o mesmo eles te permitem armazenar uma coleção de Valores em um local só esses valores podem ser do mesmo tipo ou de tipos diferentes cada linguagem cada tipo de coleção trata isso
de uma forma diferente mas fique tranquilo que nós vamos ver pelo menos um exemplo disso aqui no curso e Como que você pode usar ele dentro da criação de algoritmos e aqui temos um exemplo de coleções um exemplo de uso de coleções em um algoritmo o algoritmo chute o número aqui está o problema dado uma coleção de dados idades que são esses valores aqui essas idades aqui Imprima na tela a soma desses valores então neste caso nós poderemos criar um programa que passa por cada valor dentro dessa coleção e o soma com o próximo valor
então nós poderíamos ter algo como o seguinte primeiro nós vamos ter um valor inicial para o total sendo que esse o nosso objetivo vamos inicializar ele como zero próximo passo seria passar por primeiro valor e somar ele Ao Total depois passar por segundo valor e somar ele ao total e aqui nós vamos fazer isso até chegar ao último item da nossa coleção que no caso é o quinto item que aqui Corresponde à idade 23 Finalmente nós deveríamos exibir o valor total porque nós acabamos de somar cada item dentro da coleção de idades com o total
e agora nós podemos exibir esse valor na tela Então pessoal é o seguinte dominar esses quatro conceitos te permitirá criar algoritmos muito mais facilmente se você entender plenamente esses conceitos você vai sim conseguir criar algoritmos com mais facilidade acisa essa parte novamente se necessário porque você precisa de estar internalizando esses conceitos então é o seguinte agora que você já tem uma noção dos conceitos mais importantes nós podemos criar os nossos próprios algoritmos através das estratégias que eu irei te mostrar nas próximas duas aulas e outra coisa pessoal poxa se você tá curtindo esse vídeo tá
aprendendo para caramba não custa nada você pegar esse link aqui entrar no seu WhatsApp e mandar para mais pessoas entrar no Facebook no Instagram em um fórum qualquer lugar que você tiver acesso e compartilhar com o máximo pessoas possível porque o meu objetivo é tornar esse curso de lógica de programação o curso número um de lógica de programação aqui no YouTube eu quero muito contar com a sua ajuda então nessa aula sete eu vou te dar um intensivão de como você pode fazer para estar criando soluções usando pseud código do básico ao avançado para que
você realmente Entenda como que iso é usado e quais também são as opções que você pode usar para estar criando soluções do zero como nós podemos demonstrar a solução para um problema Existem duas formas básicas de fazer isso A primeira é através do pseudocódigo que é o tema dessa aula e a segunda é através do fluxograma e eu tenho certeza que no momento que eu digo isso as pessoas já vão começar a perguntar duas coisas qual que é melhor e qual que eu devo usar na verdade não há um melhor que o outro o melhor
é aquele que você consegue usar consistentemente para representar a solução para um problema que você encontrou eu vou te ensinar as duas maneiras e você pode escolher qual parece ser mais natural para você nessa aula especificamente nós vamos começar com P do código que é utilizado quando você quer representar a sua solução de uma maneira escrita e que é muito mais parecida com a linguagem de programação Então o que é exatamente o pseudo código o pseudo código é apenas uma descrição dos Passos necessários para resolver um determinado problema em uma linguagem natural que não está
ligada diretamente a uma linguagem de programação Então é isso o psod do código é uma descrição dos Passos necessários para resolver determinados problemas em uma linguagem natural e um ponto importante é que ele costuma usar elementos que são comuns em qualquer linguagem de programação como variáveis condicionais repetições coleções E por aí vai antes de continuar aqui eu tenho que te dar algumas alertas sobre o pseud código principalmente se você é um an primeira questão é o psil do código não é uma linguagem de programação a ideia toda do psil do código é de escrever algo
em uma linguagem natural que pode ser lida por qualquer pessoa o ponto ruim disso é que o pseudo código não é padronizado então ele pode ser escrito de várias maneiras diferentes em inglês em português usando um tipo de palavra-chave ou outro então não há um padrão certo ou errado de escrever o pseudo código mas eu vou te dar algumas diretrizes aqui para ficar um pouco mais fácil para você é importante saber também que ele não será processado por um computador O pseud código vai ficar só no papel ou só no bloco de notas ele nunca
vai ser transferido para um programa que vai tentar executar aquilo ali como se fosse uma linguagem de programação real e por causa disso ele não substitui uma linguagem de programação real ele deve ser usado apenas para criar uma lógica para resolver um problema e depois escrito em uma linguagem de programação real como Python JavaScript csharp Java ou qualquer outra e sabendo que ele não é uma linguagem de programação real não vale a pena na minha visão se tornar um especialista em pseudocódigo ou em linguagens de aprendizado que são consideradas pseudocódigo no Brasil e como ele
não é uma linguagem de programação real não vale a pena na minha visão se tornar um especialista em pseudocódigo ou em linguagens de aprendizado como a linguagem de programação Portugal que é muito famosa e muito ensinada nas faculdades do Brasil isso porque uma linguagem Como Portugal Ela não é uma linguagem real então se você ficar bom Nela você não vai conseguir traduzir essa experiência paraa criação de programas reais porque ninguém cria programas usando Portugal outro problema é que ela é escrita em português mas todas as linguagens de programação reais usadas para montar aplicações no mundo
real São escritas em inglês então se você estiver se acostumando com o cenário onde você escreve Em português você vai se acostumar com cenário falso sendo que as linguagens mais famosas de hoje como Python JavaScript Java sarp São escritas em inglês eu pularia totalmente o Portugal e iria direto para uma linguagem de programação se a sua intenção é se tornar um programador Python então eu não recomendo que você se torne um especialista em Portugal agora iremos ver um problema que nós já vimos anteriormente Esse é exatamente o mesmo problema só que agora ao invés de
escrever a solução dele em uma linguagem natural nós iremos criar ele usando pel do código Lembrando que o método a ser usado para criar um algoritmo é o seguinte é exatamente o mesmo método o método 5q certo nós devemos fazer a análise crítica daquele problema e descobrir o seguinte você deve ser capaz de explicar esse problema para você mesmo em voz alta e caso necessário você pode pedir mais informações a quem gente passou o problema ou Caso seja o problema que você encontrou você deve investigar mais até que você compreenda completamente aquele problema feito isso
nós podemos passar paraos próximos cinco passos Quais são os dados de entradas necessários que devo fazer com esses dados Quais são as restrições deste problema qual é Qual é o resultado esperado e finalmente Qual é a sequência de Passos a ser feitas para chegar ao resultado esperado e neste caso você vai fazer essa parte agora em psel do código e não mais em uma lista de pequenos pontos em linguagem natural como nós fizemos no início do curso agora nós vamos usar o psel do código Escreva um programa que retorna O valor hora de um funcionário
Com base no seu salário mensal e horas trabalhadas por mês neste caso nós precisamos do salário mensal e nós precisamos das horas trabalhadas por mês Ok o segundo passo é o seguinte o que devo fazer com esses dados neste caso eu devo usar eles para calcular o valor hora que um funcionário recebe usando o cálculo salário mensal dividido por horas trabalhadas e quais são as restrições deste problema neste caso os valores devem ser entregues somente em formato de salário por hora o quarto q é o seguinte qual é o resultado esperado neste caso o resultado
esperado é o valor hora que um funcionário recebe e agora Finalmente nós vamos fazer o quinto passo que é é definir a sequência de Passos a ser feitas para chegar ao resultado esperado e agora nós vamos fazer essa parte em psel do código Mas como você nunca escreveu um psel do código antes eu vou te dar uma diretriz aqui uma Um Guia Para que você possa começar a escrever os seus PS do código certo Qual é a sintaxe de opsal do código quando eu digo sintaxe eu estou dizendo as palavras chaves específicas que significam algo
específicos em uma determinada linguagem e no nosso caso a nossa linguagem é o psel do código a sintaxe que Vamos definir aqui vai estar utilizando palavras em inglês como input que é a palavra usada para receber dados do usuário print que será a palavra que representará que queremos exibir o resultado no console if condição que será condicional que controla se algo deve ou não ser feito else que é a cláusula ou a situação a ser executada caso nenhuma condicional if seja executada loop de X a y irá representar um laço de repetição que irá iterar
de X a y loop X em Y laço será um laço de repetição que irá iterar X em uma coleção y e quando eu digo iterar eu quero dizer passar por cada item dentro de uma coleção e Finalmente nós temos o while x que é um laço de repetição que acontecerá enquanto uma condição for verdadeira e lembrando pessoal a gente continuar aqui como eu já disse em slides anteriores não existe um padrão universal de sintaxe para o pseud código Até porque até porque o algoritmo que criamos com pseud código nunca será executado em um computador
ela serve apenas para montar uma solução para um problema de forma escrita se aproximando muito de como a solução ficaria quando usarmos uma linguagem de programação real mas é apenas isso uma aproximação de qualquer forma eu creio que tudo isso fica muito mais claro quando nós pegamos todos esses conceitos e colocamos eles em prática através de um exemplo que é o que eu vou te mostrar agora então neste caso nós temos que criar o nosso pseudo código Mas qual é o processo de escrever um pseudo código é basicamente a mesma coisa que fizemos anteriormente quando
estávamos escrevendo um código com a linguagem natural só que agora nós estamos aproximando mais da maneira na qual escrevemos uma linguagem de programação deixa eu dar o exemplo aqui para você entender para resolver esse problema eu iniciaria pedindo um input do salário mensal e not que eu estou usando aqui o input que representa uma uma palavra usada para receber dados do usuário e depois eu estou dando um nome a uma variável e você percebe que eu estou dando um nome de uma variável separada por underline mas é apenas uma convenção você não é obrigado a
seguir ela depois eu vou estar também recebendo o input das horas trabalhadas por mês porque essa informação também é importante para que eu consiga fazer o cálculo feito isso eu vou agora receber em uma variável chamada valor hora o cálculo que é o salário mensal dividido pelas horas trabalhar ol adas e depois que eu tenho isso eu vou dar um print Ou seja eu vou se gente notar ali o print quer dizer que eu vou exibir algo então eu vou exibir na tela o valor então eu vou exibir na tela o valor hora neste caso
então este aqui é um exemplo de um algoritmo que foi criado usando o psil do código mas para ficar claro vamos ver mais um exemplo de um algoritmo de pel do código que usa variáveis neste caso o gerador de boas-vindas e eu quero que você dê o pause sempre que eu vou fazer uma explicação para que você Tente resolver no seu próprio tempo aí e também está de fato praticando isso aqui então o problema aqui é o seguinte cria um programa que pede ao usuário o seu nome e depois o dá as boas-vindas dizendo x
seja bem-vindo onde X é o nome do usuário Então vamos quebrar esse problema aqui usando os 5q necessários para montar um algoritmo Quais são os dados de entradas necessários neste caso de um pause aí tente identificar e depois anote aí para mim já tentou então neste caso tudo que eu preciso para fazer esse algoritmo é o nome do usuário o que que eu devo fazer com esses dados neste caso neste caso após receber o nome do usuário eu devo exibir uma mensagem que diz nome do usuário mais a mensagem seja bem-vindo e agora eu devo
identificar se existem ou não restrições para este problema neste caso eu posso identificar que há uma restrição Onde eu devo possuir um nome para que eu possa possa exibir quem eu estou apresentando se eu não tenho nome eu não consigo apresentar alguém e qual é o resultado esperado neste caso neste caso o resultado esperado é o seguinte uma mensagem que exibe o nome do usuário mais a mensagem seja bem-vindo como que eu poderia estar criando um algoritmo que faz Exatamente isso aqui eu quero que você deixe um comentário com a sua solução e depois volte
aqui então neste caso para resolver este problema eu primeiro preciso de estar pedindo a informação do usuário que é o seu nome então vou fazer aqui o input pedindo o nome do usuário depois disso é muito simples eu só tenho que primir na tela o nome do usuário mais a frase seja bem-vindo essa é a solução para este caso deste problema então eu acredito que seja bem claro aqui então agora vamos ver um exemplo do um psel do código onde nós devemos usar variáveis e condicionais o problema é o seguinte exiba o maior dos dois
números você deve criar um programa que recebe dois valores e exibe qual é o maior entre eles então Quais são os dados de entradas necessários em um programa onde você recebe dois valores e exibe Qual é o maior entre eles neste caso nós devemos receber o primeiro valor e o segundo valor o que que eu devo fazer com esses dois valores Você consegue imaginar se você consegue imaginar dê um pause no vídeo agora e tente fazer isso aí neste caso após receber os dois valores eu devo os comparar e exibir Qual é o maior entre
eles que aqui quais são as restrições deste problema uma restrição é que eu devo possuir dois números para que a comparação seja realizada sem dois números eu não consigo fazer essa comparação Mas qual é o resultado esperado neste caso neste caso o resultado esperado é que o seguinte é que eu consigo exibir na tela o maior valor entre os dois Ok já temos isso então vamos agora montar o algoritmo montar aqui o psod código que descreve exatamente como que você resolveria este problema eu quero que você pause o vídeo e tente resolver deixando um comentário
aqui como você resolveria essa situação a forma que eu resolveria a situação seria primeiro pedindo ao usuário o primeiro valor então vou fazer um input aqui pedindo o primeiro valor e guardar essa informação nessa variável o primeiro valor depois eu vou pedir pro usuário o segundo valor e agora eu tenho que comparar para saber qual deles é o maior então vou fazer uma condicional aqui da seguinte forma if Prim valor maior que o segundo valor Se esse for o caso eu vou imprimir na tela o seguinte o primeiro valor é maior else se a gente
voltar aqui na nossa colinha o else significa o que é uma cláusula a ser executada caso nenhuma condicional if seja executada Então se o nosso if não foi executado onde ele verificou que o primeiro valor é maior que o segundo valor necessariamente nós temos apenas uma outra opção que é o seguinte o segundo valor é maior e é isso que eu vou imprimir na tela neste caso agora nós vamos ver um exemplo de psod do código que é o fatorial de um número e aqui é muito importante esse exemplo porque eu vou te mostrar que
mesmo quando você não conhece um conceito você deve ser capaz de resolver problemas que incluem isso isso porque no início desse curso eu expliquei que a matemática avançada quase nunca seria usada e mesmo que fosse necessário você poderia simplesmente pesquisar para encontrar como resolver aquela situação Então vamos resolver esse problema agora usando 5qs e eu vou te mostrar Como que você vai resolver ele mesmo se você não souber ainda o que que é o fatorial de um número a situação é o seguinte crie um programa que recebe um número e imprime o seu fatorial se
você não sabe o que que é o fatorial O que que a pessoa tende a fazer ela tende ela tende a entrar em desespero a querer desistir a dizer que é muito difícil que ela não é capaz que não vai dar para fazer que isso e outras questões assim Mas relaxa tudo nessa vida parece ser difícil se você ainda não tentou aquilo Esse é um cenário perfeito que se você não tem conhecimento sobre o que é um fatorial ou em qualquer outra situação que você perceber que você não sabe como fazer aquilo eu quero que
você vá até o seu chefe até o supervisor colega ou o melhor de todos vá até um local que está Sempre disponível e te dará as respostas muito mais rápidas e de bônus você não irá tomar o tempo das pessoas ao seu redor que provavelmente também estão ocupadas resolvendo outros problemas eu estou falando do nosso amigo Google se a gente entrar aqui eu vou até entrar com você em tempo real aqui ó nós vamos estar no Google e eu vou digitar aqui como calcular fatorial de um número e dar um enter e agora de cara
nós já temos aqui a explicação de como calcular um fatorial E se eu entrar aqui nesse site nesse primeiro site que eu encontrei ele já nos explica o fatorial de um número inteiro e positivo n representando por n exclamação é obtido a partir da multiplicação de todos os seus antecessores até o número um e aqui embaixo nós temos os exemplos disso Olha se eu quero obter o fatorial de TR eu tenho que fazer todos os valores de trê até o número 1 multiplicando pelo Valor anterior 3 x 2 6 6 x 1 6 se eu
quero fatorial de 4 eu faço 4 x 3 12 12 x 2 24 24 x 1 24 então você pode ver que o cálculo é sempre eu pego um número inicial e começo a multiplicar de trás para frente e depois pego o resultado dessa multiplicação e multiplico ela pelo próximo valor e assim sucessivamente até chegar a multiplicação pelo um e o resultado final disso será o nosso fatorial Então é assim que nós calculamos o fatorial certo vamos agora ciente dessa solução resolver este problema então nossos cinco QS aqui primeiro Quais são os dados de entrada
necessário se eu quero criar um programa que recebe um número e imprime o seu fatorial Qual é o dado que eu preciso neste caso se o se você tiver dito que é um número você estaria certo neste caso nós precisamos de um número para que nós possamos calcular o fatorial como nós acabamos de ver ali na explicação que encontramos no Google Além disso no segundo ke aqui o que que devemos o que devemos fazer com estes dados se você não consegue responder essa pergunta aqui agora eu volte uns segundinhos aqui no vídeo e assista essa
explicação que diz exatamente como que você chega ao fatorial de um número e se você entender ela você vai conseguir responder essa pergunta aqui então neste caso Deixa eu te mostrar após receber um número eu devo multiplicar por todos os seus antecessores e feito isso eu devo pegar Este resultado e o exibir na tela Mas quais são as restrições deste problema ele está dizendo aqui que você deve criar um programa que recebe um número e imprime o seu fatorial neste caso talvez a restrição não seja muito clara se você não tiver investigado ou pesquisado ou
entendido o problema o suficiente por isso que é extremamente importante que você faça essa análise crítica que é investigar que é perguntar que é compreender de fato exatamente o que que tá sendo pedido para você e qual é a melhor solução para resolver aquilo isso porque a restrição para esse problema é bem claro se você voltar aqui vamos vamos te mostrar aqui se nós voltarmos aqui qual é a restrição deste problema o fatorial de um número inteiro e positivo então ele deve ser um número inteiro e um número positivo certo então aqui estão as duas
restrições deste problema e se por acaso você não sabe o que que é um número inteiro é simplesmente mais uma situação que você vai ter que pesquisar não tem problema nenhum você não sabe saber ninguém nas sabendo Mas todos têm o mesmo direito de pesquisa então se a gente voltar aqui quais são as restrições para este problema neste caso o número deve ser um número inteiro e o número deve ser positivo e agora qual é o resultado esperado neste caso o resultado esperado neste caso se nós queremos calcular o fatorial de um número é o
quê é esperado que o fatorial do número recebido seja exibido esse é o nosso resultado esperado Então vamos agora ao algoritmo necessário para resolver este problema então aqui como que nós podemos montar o pseudocódigo para resolver este problema o fatorial de um número eu já deixei a solução exposta aqui porque eu quero explicar exatamente como que foi feito isso aqui certo então no caso do fatorial para que nós possamos fazer esse cálculo nós temos esse algoritmo aqui para que você possa calcular o fatorial nós precisamos primeiro que o usuário te informe um número então vou
estar iniciando pedindo aqui o input de um número porém nós só podemos continuar aqui respeitando a restrição que o número deve ser positivo e por esse motivo eu faço a comparação de if número menor que zero eu vou imprimir na tela através do print digite apenas números positivos o motivo que os que as condicionais existem é para que você possa estar fazendo Exatamente isso criar restrições para que o seu programa funcione somente da forma que ele deve funcionar então após garantir que o número é sim positivo nós vamos definir que o fatorial ou seja o
valor inicial do nosso resultado será um Então agora que nós já temos aqui um número que foi digitado pelo usuário nós devemos fazer agora um laço de repetição que irá percorrer de um até o número que foi passado pelo usuário aqui em cima certo e a cada vez que ele faz essa repetição que ele faz essa iteração que é o que nós chamamos na linguagem de programação nós iremos calcular o fatorial vezes o número ou seja nesse primeiro momento aqui eu estaria calculando 1 x 1 e depois eu armazeno esse aqui dentro de fatorial e
quando nós fazemos isso na sequência o nosso resultado final seria o seria o fatorial que eu escrevi resultado aqui mas seria fatorial Deixa eu só corrigir isso aqui então o nosso resultado final seria o fatorial certo Porém isso pode não ter ficado claro então eu tenho uma tabela aqui ao lado que vai explicar um pouco melhor como esse cálculo foi feito então vamos ver aqui como que é feito essa parte do processo nós iniciamos com o número vamos imaginar que o usuário passou o número C se ele passou o número 5 Então o que nós
esperamos aqui é o fatorial de 5 e como que nós calculamos o fatorial de 5 você deveria fazer 5 x 4 o resultado disso vezes 3 o resultado disso vezes 2 o resultado disso vezes 1 certo só que na programação nós podemos também fazer o processo inverso que o resultado Seria o mesmo então por isso que eu não estou fazendo de trás para frente mas sim do número um até o número que foi escolhido Ok espero que você tenha entendido essa explicação senão eu recomendo que você volte o vídeo alguns segundos e ou ela mais
uma vez Então aqui nós definimos a outra variável que vai ser usada que é o fatorial que vai estar iniciando como um que é o que nós fizemos aqui você pode ver que nós temos aqui o fatorial definido como 1 então agora nós vamos começar a fazer os cálculos eu pego o valor anterior e multiplico por 1 até 5 Então você vai ver que o processo que eu faço aqui é exatamente isso eu pego o valor anterior até chegar ao número que nós definimos aqui em cima que é C então primeiro eu vou pegar 1
que irá nos resultar em 1 e agora eu pego esse resultado e multiplico por 2 que irá nos resultar em 2 eu pego esse resultado que foi obtido aqui 2 e multiplico por 3 que irá nos resultar em 6 eu pego esse resultado que foi obtido aqui que é o 6 e multiplico por 4 que é o nosso próximo número na sequência e obtenho 24 e finalmente eu pego esse resultado 24 e multiplico por 5 e eu vou obter 120 E é assim que nós conseguimos calcular o fatorial esse processo aqui seria o mesmo independente
de qual número que você digitasse aqui tanto que se eu tivesse como rodar Esse programa aqui e te mostrar o valor que seria exibido desse fatorial aqui caso eu tenha colocado o número cinco seria exatamente 120 certo Então essa é explicação de como funciona o fatorial E aí como que é que que tá achando dessa aula aqui de fatorial eu sei que essa questão pode pode ser bem difícil para você que tá começando e eu como tinha meio que um bloqueio com matemática sempre que eu vi a matemática nas programação Eu já queria desistir na
hora eu falei não isso aqui é muito difícil é impossível aprender é não é para mim e cara eu realmente tive esse bloqueio por muito tempo e e eu tô até compartilhando essa história aqui porque eu sei que muitas pessoas têm dificuldade com matemática também e eu quero te dizer uma coisa o bloqueio que nós temos com matemática que é uma coisa que eu também tenho esse bloqueio ele só acontece pelo medo você tem medo de ser difícil demais aí quando você tem o medo você cria um bloqueio como se fosse um uma parede e
nenhuma informação vai conseguir entrar ali mais então o que você tem que fazer é ter paciência com você mesmo é a melhor coisa que eu posso dizer Tenha paciência com você mesmo assista mais a explicação assista mais algumas vezes assista outras explicações de outras pessoas ou seja encontre a explicação que faz sentido para você se por acaso essa explicação que eu te passei não fez sentido procure outra explicação e Entenda como funciona o fatorial e depois continue aqui porque você vai conseguir sim desde que você tenha paciência com você mesmo Espero que você esteja conseguindo
acompanhar aqui inclusive deixe sua opinião aqui embaixo sobre o que que você tá achando dessas aulas até o momento isso é muito importante para mim e vamos agora para nosso exemplo número cinco some os valores de uma lista nós vamos trabalhar aqui variáveis coleções e laços de repetição dados uma coleção de dados idades que tem essas idades aqui Imprima na tela a soma destes valores Então vamos lá Quais são os dados de entrada necessário neste caso você consegue identificar aqui quais são os dados de entrada neste caso o dado de entr entrada é a lista
de idades mas o que que eu devo fazer com estes dados essa lista de idades no caso você consegue imaginar neste caso após receber a lista de idades eu devo somar cada idade com a idade anterior até chegar ao final da lista e exibir a soma de todas as idades neste caso é um algoritmo relativamente simples mas vamos entender aqui tem alguma restrição nesse problema você consegue identificar alguma restrição nesse caso apenas os valores contidos na lista devem ser adicionados E qual é o resultado esperado neste caso acredito que ficou Claro aqui dá um pause
aí e tente descobrir qual é o resultado esperado neste caso tentou então é esperado que a soma de todas as idades seja exibido Então vamos montar agora o pso do código necessário para resolver este problema qual o primeiro passo que nós precisamos aqui nós precisamos de receber os dados então eu vou guardar as informações de todas as idades em uma variável e aqui esses colchetes estão representando a coleção de números a coleção de idades no caso e aqui os números entre os colchetes aqui estão representando a nossa coleção de idades eu passo esse valor para
uma variável que eu dei o nome de idades e eu vou agora inicializar uma outra variável que eu vou chamar de Total com valor de zero para que nós possamos estar somando valores anteriores e adicionando aqui a esse valor total e depois exibir esse resultado e agora para que eu possa estar passando por cada um desses itens que estão dentro da coleção de idades nós vamos iterar sobre cada uma delas ou seja nós vamos passar sobre cada uma delas usando um laço de repetição então nós temos aqui um loop que vai de idade em idades
na nossa colinha nós temos loop X em Y é um laço de repetição que irá iterar X em uma coleção Y ou seja o laço X em Y é onde nós vamos estar passando por cada item dentro de uma coleção no nosso caso cada item é cada idade e a coleção no nosso caso são as idades em si então quando eu faço loop idade em idades eu vou estar passando em cada uma dessas idades que estão contidas dentro dessa coleção e vou somar Ao Total e aqui o cálculo é exatamente o mesmo Que nós tínhamos
anteriormente você vai pegar o primeiro valor por exemplo 15 e somar a total de zero passou pela primeira vez na próxima vez você vai pegar 15 + 46 e continuar depois pega esse resultado e soma o próximo soma o próximo soma o próximo e Finalmente nós teríamos aqui o total deixa eu mostrar para vocês aqui em formato de tabela para você entender exatamente como que isso funcionaria ok então neste caso vamos entender como esse cálculo foi feito de fato neste caso aqui o que que nós temos nós temos sempre o valor inicial que neste caso
será zero e o cálculo todo aqui é o seguinte você pega o valor anterior e soma a um dos itens que estão dentro aqui da nossa coleção a cada um deles na verdade certo então o que que eu vou fazer aqui o primeiro cálculo é o total anterior mais 15 que é o primeiro item da nossa lista aqui eu pego esse resultado nós temos 15 e agora eu faço esse resultado mais o próximo item da nossa lista que é 46 eu tenho 61 eu vou para o próximo cálculo que é o valor anterior mais o
próximo item da lista próximo item da lista é 75 então nós temos O Valor anterior mais 75 que irá igualar a 136 eu pego esse resultado e somo ao próximo item da lista que é 34 então O Valor anterior mais 34 = 170 eu pego esse valor e vou para o último cálculo que é o valor anterior mais o próximo item da lista que é 23 e se nós fizermos isso nós temos aqui o resultado de 193 que é o resultado esperado neste caso para este problema certo então essa então assim que nós resolvemos este
problema vamos agora fazer o exemplo do chute o número neste caso nós temos exemplo de variáveis laços de repetição e condicionais que serão usadas para montar o nosso pisil do código logo logo e neste caso o problema é o seguinte Escreva um programa que ao iniciar gera um valor aleatório de 1 a 10 e permite que o usuário chute um número até que o valor aleatório gerado no início do programa seja chutado corretamente o programa deve informar caso o chute tenha sido acima abaixo ou igual ao valor aleatório gerado no início do programa Então vamos
lá primeiro o qu Quais são os dados necessários Quais são os dados de entrada necessários neste caso dê um pause agora e tente identificar esses dados tentou aí neste caso nós necessitamos de um valor aleatório de 1 a 10 E além disso nós também necessitamos de um valor de chute do usuário Ok e agora o segundo que o que eu devo fazer com esses dados eu já tenho o valor aleatório eu já tenho também o chute do usuário quais são os passos que você me diria que eu tenho que fazer para para saber se o
valor é maior menor ou igual ao valor do chute do usuário quando nós comparamos o chute ao valor aleatório gerado no início do programa dê um pause aí e tente resolver essa questão nessa situação após ter gerado e armazenado o valor aleatório eu devo pedir que o usuário chute um número e ao receber o chute do usuário deve comparar se o chute é maior menor ou igual ao valor gerado e exibir a mensagem correspondente a essa comparação que é a seguinte chute é maior que o valor gerado chute é menor que o valor gerado ou
acertou o chute terceiro o qu Quais são as restrições deste problema você consegue identificar alguma restrição neste problema em específico bom nós temos aqui uma restrição que é o seguinte o valor aleatório deve estar entre 1 e 10 essa restrição deste problema o quarto q é o seguinte qual é o resultado esperado você consegue me dizer qual é o resultado esperado deste programa que que ele deve estar fazendo pra gente dê um pause aí e tente escrever esse resultado esperado o resultado esperado aqui é que eu devo exibir na tela uma de três possíveis mensagens
que são chute é maior que o valor gerado chute é menor que o valor gerado ou acertou o chute Então vamos agora montar o nosso algoritmo através da nossa colinha aqui qual é o primeiro passo que eu devo fazer para começar este programa Qual é o primeiro passo que deve ser executado nessa situação eu preciso extrair do eu preciso extrair o valor aleatório Então vou receber o input de um valor aleatório de 1 a 10 alguma coisa de alguma forma você vai estar obtendo esse valor aleatório ele vai ser guardado dentro da variável o valor
aleatório o próximo passo é definir se o usuário acertou ou não isso é importante que nós vamos estar ah fazendo comparações aqui e essa condicional se ele acertou ou não vai nos permitir decidir se nós devemos continuar fazendo avaliações ou se nós devemos parar de fazer avaliações e quando eu falo de avaliações eu já estou falando dessa próxima linha aqui while acertou igual a falso e agora se nós voltarmos a nossa colinha w x significa o seguinte laço de repetição que acontecerá enquanto uma condição for verdadeira então neste caso aqui qual é nossa condição verdadeira
é enquanto acert for falso e como nós definimos inicialmente aqui que o acert é igual a falso essa condi no momento é verdadeira então ela vai continuar rodando enquanto nós não mudarmos ela e por isso eu vou estar fazendo as comparações agora na próxima linha Primeiro vou pedir o shute do usuário para que eu possa comparar com o valor aleatório que foi gerado na nossa primeira linha ali na sequência eu vou então comparar o chute do usuário foi maior que o valor aleatório Se for esse o caso eu vou exibir na tela shute é maior
que o valor aleatório shute é maior que o valor gerado mas nós temos que avaliar todas as possibilidades e nós temos aqui uma outra possibilidade ainda que é o caso onde o shute é menor que o valor aleatório então if sho menor que valor aleatório eu vou dizer shute é menor que valor gerado porém nós Ainda temos mais um situação que é caso o chute seja exatamente igual ao valor aleatório gerado e neste caso eu vou dizer que você acertou o chute e como o usuário acertou o chute Aqui nós temos que mudar o valor
da variável acertou para verdadeiro e é o que eu estou fazendo aqui agora para que o nosso laço de repetição while Não continue infinitamente Porque nós já atingimos o resultado desse programa que é a pessoa acertar o valor aleatório que foi gerado inicialmente porém caso ela digite qualquer coisa que não esteja dentro dessas condições nós vamos colocar uma cláusula else e que se você der uma olhada na colinha o else é o seguinte cláusula a ser executada caso nenhuma condicional if seja executada então se ele não caiu em nenhuma das condições anteriores ele vai cair
aqui e neste caso eu vou dizer apenas que você chutou um valor inválido pessoal eu tenho dois avisos para você que chegou aqui o aviso número um é o seguinte eu sei que vocês terão dúvidas sobre como criar um pel do código perfeito que funcione e que seja extremamente de acordo com as regras que eu passei aqui mas seguinte não se prenda a essa única forma que eu criei aqui e quando eu falar a forma eu estou dizendo dessas palavrinhas Chaves aqui certo essa input print if else loop Essas são essa é a maneira que
eu estou fazendo aqui mas você pode escrever o pseud código de várias formas e esse é um dos dos dos dos poderes e também das fraquezas do pseudocódigo de qualquer forma não existe um pseudocódigo perfeito e ele é apenas essa colinha que eu te passei aqui é apenas um guia se você quer decorar algo eu que você decore direto uma linguagem de programação e não o pseu do código isso porque o único motivo que ela existe é para que você consiga representar um algoritmo de uma forma que uma pessoa não técnica consiga entender a lógica
que está sendo usada para resolver um problema e também para que você possa tentar quebrar um problema em pequenos passos para que seja mais fácil criar soluções para problemas que você nunca talvez tenha solucionado antes e o segundo ponto é o seguinte é absolutamente normal achar difícil no primeiro contato achar difícil você conseguir montar um algoritmo no primeiro contato porque você tem que entender se você está vendo o japonês pela primeira vez o espanhol pela primeira vez tudo parece difícil tudo parece difícil quando você está vendo pela primeira vez e tudo também se torna mais
simples Quando você vê aquilo mais algumas vezes ou você persiste naquilo Então por esse motivo eu peço que você tenha paciência com você mesmo e assista novamente essas aulas para poder cementar Esse conhecimento na sua cabeça e assim você vai estar gradativamente encontrando esses problemas mais e mais simples de resolver inclusive uma boa notícia para você aqui nós iremos ver três exemplos reais em Python ou seja nós vamos sair do campo de de psod código e nós vamos montar programas reais usando uma linguagem de programação real porque nesse caso você consegue sim testar o seu
resultado porque na linguagem de programação você pode colocar em um programa de que roda código e ali você testa se o seu programa funcionou ou não e no PSE do código não tem como você fazer isso porque ele não roda em computador ele é usado apenas para criar o algoritmo ali a os passos necessários para resolver um problema mas ele não roda em um computador mas uma linguagem de programação sim mas antes de começar a usar uma linguagem de programação real eu vou te mostrar na próxima aula como que você pode usar a segunda opção
que é criar soluções usando fluxogramas eu sei que você tá passando aqui numa montanha R de Emoções Mas fique tranquilo é normal você passar por tudo isso e eu espero que você tenha paciência com você mesmo para conseguir seguind nessa jornada inclusive deixa aqui nos comentários a sua opinião sobre isso eu quero que vocês Conversem entre SS aqui é uma comunidade para vocês terem essa oportunidade de estar compartilhando experiências de como é e aprender programação do zero Ok então vamos agora pra nossa próxima aula onde nós vamos usar fluxogramas vamos falar agora de como nós
podemos criar uma solução usando fluxograma mas se você não sabe o que que é um fluxograma eu vou te mostrar agora o fluxograma é uma representação gráfica de um algoritmo Como assim na aula anterior nós vimos Como usar o pseudocódigo para criar uma solução porém essas situações onde você talvez seja uma pessoa mais visual ou talvez você tenha que apresentar uma solução que você criou para uma pessoa que não está acostumada a ler pseudocódigo ou por qualquer outro motivo que te faça ter que representar visualmente uma solução os fluxogramas são uma boa opção neste caso
e o ponto positivo é que diferente do psel do código os fluxogramas T Sim uma forma padronizada de serem inscritas ela vai ser a mesma em qualquer lugar que você usar um fluxograma e Aqui nós temos os símbolos contidos em um fluxo fluxograma e você vai ver isso em qualquer fluxograma que você estiver criando ou lendo nós temos a primeira linha de fluxo que vai indicar o fluxo de lógica ao se conectar com os outros símbolos depois nós temos aqui o início e fim que vai ser inserido em todo o algoritmo que você montar usando
fluxograma ele tem que necessariamente possuir um início e um fim e você Vai representar ele usando esse símbolo aqui o símbolo de entrada e saída é esse que você está vendo aqui agora e o símbolo de entrada e saída vai ser usado para todos os momentos onde você vai guardar por exemplo informação de uma variável ou você vai estar exibindo dados para o usuário isso é considerado uma saída Então nós vamos estar saindo essa com essa informação através de uma de através da exibição dessa informação nós temos o símbolo de processamento que será usado em
todas as situações onde você vai estar fazendo alguma operação matemática ou manipulação de dados se você vai processar os dados que foram entrados ali anteriormente você vai usar este símbolo aqui e Finalmente nós temos o símbolo de decisão que é em todo momento onde você tem que tomar uma decisão que é onde nós teremos ali o if no caso da do psel do código você vai usar esse símbolo para entrar para estar tomando a decisão entre um duas ou mais alternativas certo deixa eu te mostrar um exemplo clássico disso para que fique muito mais claro
Esse é o fluxograma que que deve exibir o maior dos dois números neste caso Vamos iniciar depois iniciar nós vamos ir para o próximo passo que é receber o primeiro valor certo após receber o primeiro valor nós vamos receber o segundo valor e você pode perceber os símbolos que estão sendo usados aqui após ter recebido o primeiro valor nós temos que tomar uma decisão que é o seguinte o valor 1 é diferente do valor 2 caso não seja nós vamos exibir o seguinte exibir os valores são iguais porém caso o valor um seja diferente do
valor do nós vamos entrar aqui e tomar mais uma decisão que é o seguinte o valor um é maior que o valor do caso ele não seja nós vamos exibir o valor do é maior que o valor 1 porém caso o valor 1 seja maior que o valor 2 eu vou exibir que sim exibir valor um é maior que o valor do certo esse é o nosso resultado final do fluxograma de exibir o maior dos dois números no próximo problema aqui nós iremos resolver com fluxograma o problema de 1 a n que quer dizer o
seguinte nós devemos exibir na tela todos os números de 1 até n onde n será o número que será digitado pelo usuário Então vamos ver aqui o fluxo grama de como resolver essa situação neste caso para que nós possamos criar o fluxograma nós temos que iniciar e depois de iniciar nós vamos Guardar o valor inicial que será um e depois nós vamos guardar também o valor máximo esse valor máximo será algum valor vamos imaginar que ele seja cinco eu vou colocar aqui que o valor máximo será igual a c neste caso como o valor máximo
é igual a 5 nós vamos agora começar a fazer um laço de repetição para que todos os valores de um até o n que no caso o valor n aqui é 5 seja impresso na tela então eu vou imprimir este valor inicial que é o valor de um e eu vou fazer uma comparação o valor atual é maior ou igual ao valor máximo se nós imaginarmos nós temos que imaginar que agora você tem aqui Um que é o valor inicial é maior ou igual a 5 não como ele não é ele vai vir aqui e
vai fazer esse cálculo como ele não é nós temos que pegar o valor atual e somar o uma ilha então nós temos agora dois certo então vou aqui e imprimo dois na tela e agora eu faço a comparação 2 é maior ou igual a 5 não então vou fazer mais uma vez aqui e agora nós temos três eu vou aqui no nosso fluxo imprimo três na tela ok agora eu faço mais uma vez a pergunta 3 é maior ou igual a 5 não então venho aqui imprimo então eu venho aqui e digo 3 + 1
é ig a 4 eu sigo o fluxo imprimo 4ro na tela e volto aqui novamente para essa decisão Agora eu tenho que saber 4 é maior que 5 4 é maior ou igual a 5 não então venho aqui somo 4 + 1 que irá nos resultar em 5 então eu continuo agora venho aqui imprimo o cin na tela e pergunto mais uma vez o valor é maior igual a valor máximo neste caso nós estamos com cinco 5 é maior ou igual a 5 sim 5 é igual a 5 então neste caso ele vai cair nessa
condição de sim e vai finalizar o programa certo então esse esse aqui é um exemplo do fluxograma então o fluxograma final ficaria dessa maneira aqui certo e como nós podemos ver aqui nós estamos criando um programa bem pequenininho E já tivemos que montar um fluxo um fluxograma relativamente grande não complexo mas grandinho de qualquer forma vamos ver aqui Quais são as vantagens e desvantagens de usar um fluxo fluxograma eu coloquei as principais vantagens e desvantagens aqui primeiro as vantagens os fluxogramas podem ser mais intuitivos de entender para algumas pessoas tem pessoas que são muito visuais
e precisam disso os fluxogramas podem abrir caminho para que as pessoas não técnicas entrem no processo de design da solução se você imaginar que você vai colocar esse fluxograma numa mesa e vai deixar outras pessoas contribuírem com você fica muito mais fácil do que olhar um bloco de texto um bloco de texto funciona muito bem para uma pessoa mas para um grupo de pessoas coisas visuais tendem a funcionar melhor o outra questão é caso você tenha um processo altamente complexo tentar quebrar em Passos menores em um fluxograma pode deixar a lógica mais explícita ou seja
mais óbvio né e fácil de compreensão então isso aqui pode ser positivo ou negativo Depende de como você está vendo porque se é muito complexo Você vai precisar de um fluxograma gigantesco de várias conexões vários pontos ali de entrada vários pontos de decisão então assim eh isso poderia entrar em qualquer uma das das das colunas aqui vantagem ou desvantagem dependendo de como você vê isso e falando das desvantagens especificamente caso você tenha um processo altamente complexo tentar quebrar em Passos um em um fluxograma pode levar muito mais tempo do que do que o Pou do
código isso aqui é fato e eu tô falando simplesmente do tempo de o tempo que você vai precisar para criar essa solução um fluxograma leva muito mais tempo para poder escrever para poder desenhar do que um um texto que um texto você escreve ali e é mais fácil e com fluxograma Às vezes você precisa de um programa externo ou você vai ter que desenhar aquilo e aí se você vai desenhar você não vai vai conseguir colocar uma lógica complexa num papel A4 Então você vai precisar de um papel muito maior uma cartolina E aí você
vai ter que começar também gastar mais dinheiro com papéis com impressão então assim é são desvantagens do fluxograma o nível de detalhe da informação que é colocada em cada Campo pode ter que ser simplificada para deixar para deixar o fluxograma mais legível por que que eu estou dizendo isso Se a gente voltar no nosso exemplo aqui do fluxograma imagina que se eu colocasse um parágrafo dentro de cada um desses bloco zinhos aqui ficaria praticamente ilegível né não tem como você ler eh muita informação e também não faz sentido porque a ideia do fluxograma é de
simplificar as coisas Se você começar a colocar blocos de texos parágrafos para descrever o que que tá acontecendo vai ficar eh na minha visão perde a utilidade no fluxograma o fluxograma tem que ser simples e intuitivo de se ler com poucas palavras então é na minha visão Isso é uma desvantagem do fluxograma e outra questão é que ao tentar representar uma lógica de um programa maior você terá você terá um fluxograma Possivelmente gigantesco e que não é facilmente Lido A não ser que tenha múltiplos monitores ou Imprima um fluxograma em em tamanhos grandes o suficiente
para serem Unidos por uma mesa em uma mesa de trabalho por exemplo então tô só Resumindo aqui para vocês que se você vai ter um fluxograma de um programa Real de uma solução real você não vai fazer só isso aqui você não vai ter só um problema um único problema você tem um software composto de diversos módulos diversas funcionalidades e diversas questões então isso aqui é apenas um pequeno pequeníssimo problema dentro de uma solução muito maior que você terá então você vai imag imaginar que isso aqui é como se fosse um bairro dentro de um
país Ah na questão de um fluxograma então em soluções gigantescas você terá que dê aí talvez uns 20 monitores um sei lá papéis vários papéis A1 a zer gigantescos para conseguir exibir isso aqui em fluxograma então fica realmente bem complexo mas há sim empresas que fazem isso já trabalhei num empresa que eles usavam muito fluxograma então é uma uma uma uma prática que existe bastante no mercado hoje mas tem essa desvantagem e eu deixei essa frase aqui para vocês que é o seguinte só existem dois estados na mente de um programador o primeiro estado é
mas como que eu vou resolver isso e o segundo estado é caramba era isso Pois é galera é É engraçado porque quando você começa a programar só vai ter dois estados que você vai encontrar um é você está extremamente frustrada e não consegue resolver uma coisa e outra você tá num momento de estasia total de loucura total que você acabou de conseguir resolver um problema Às vezes você nem sabe como você resolveu ou você passou muito tempo e resolveu e você vai ter essa essa montanha r esse esse toda essa energia que vai aparecer que
vai surgir quando você consegue de fato resolver uma coisa isso é É surreal a a o mundo de programação o o dia a dia do programador é realmente uma montanha russa de de altas emoções Então é eu espero que você esteja preparado porque você vai passar por todas elas e é totalmente comum fazer isso inclusive lembre-se se você gosta desse trabalho que eu estou fazendo e quer apoiar você pode estar entrando aqui na descrição desse vídeo e procurando informação de como você pode doar fazer uma doação para esse canal de acordo com o valor que
você acredita que eu esteja providenciando para você aqui neste vídeo e se você acha que o que eu falei aqui anteriormente É verdade compartilha suas opiniões aqui nos comentários quero saber de você agora nós vamos finalmente começar a transferir o conhecimento que nós temos adquirido até o momento para uma linguagem de programação real e isso é extremamente importante por qual motivo na aula dois eu já te mostrei como um software é criado do zero e onde que a lógica de programação se encaixa nisso e nessa aula eu vou te mostrar como podemos transferir o que
nós vimos até o momento para uma linguagem programação real como o Python mas o que é Python Python é a segunda linguagem de programação mais popular em 2021 e aqui está a fonte ela te permite criar scripts sites aplicações para celular sistemas web aplicações para desktop até aplicações que analisam dados em massa aplicações de Inteligência Artificial e muito mais e na minha visão ela é extremamente amigável para iniciantes inclusive Foi por esse motivo que eu escolhi usar ela aqui e eu também considero que ela seja uma das linguagens mais simples de se aprender e começar
a usar na minha visão então exatamente o que estaremos aprendendo agora nós vamos eu vou te ensinar como criar o seu primeiro programa Python como criar e usar variáveis em Python como criar e usar condicionais laços de repetição listas E além disso para que nós possamos colocar tudo isso em prática nós iremos criar três mini projetos para consolidar o conhecimento deste curso em você o primeiro é fatorial de um número depois chute o número e depois medidor de velo cidade e agora eu vou voltar a exatamente o que eu falei lá no início do curso
que é o seguinte você pode ter um computador batata Ou seja um computador extremamente ruim fraco antigo e mesmo assim conseguir programar porque você pode criar os seus programas totalmente através do navegador e é exatamente isso que nós vamos fazer agora usando a ferramenta rolet eu deixei o link na descrição para esse site Mas você pode entrar comigo aqui o site é r p l.com e quando você entrar aqui nós vamos chegar nesse site que você tem que fazer para começar a programar é clicar em sign up ou se inscrever aqui é clicar em sign
up e aqui você vai criar uma conta ou logar com o Google github Facebook o que você achar melhor eu vou logar com o Google aqui para agilizar o processo OK depois que você fez o login o que que nós temos que fazer você vai clicar aqui no maizinho que vai estar em algum local encontra esse botão de maizinho aí no seus no no rolet aperte nele e agora nós vamos digitar Python para encontrar a linguagem Python e você vai clicar aqui em Python na primeira opção e depois você vai dar o nome para esse
projetinho que nós estamos criando vamos dar o nome aqui de meu primeiro projeto e nós vamos criar o rapple vou criar aqui que é nosso projetinho cre Create rapple cliquei aqui e agora nós vamos ser redirecionado para essa página essa página é o local onde nós vamos estar executando todo o nosso código a partir de agora certo então para que nós possamos criar o nosso primeiro projeto eu vou estar dentro dessa janela aqui main.py clicar dentro dela e digitar print abre parênteses aspas duplas e vou digitar hello world que é a nossa primeiro é o
famoso primeiro programa de todo programador e depois que você já colocou esse comando aqui você pode executar esse código clicando no Play esse botão gigante aqui apertei Play e você pode ver que ele funcionou perfeitamente então agora ten um desafio para você você já criou esse primeiro projeto quero que você compartilhe e deixe ele aqui nos comentários para as pessoas poderem também acessar E como que você pode compartilhar um projeto é bem simples você vai literalmente copiar esse link que está aqui em cima cont control c e depois colar ele aqui nos comentários dizendo Esse
foi o meu primeiro projeto certo esse é o seu desafio e eu vejo você então na próxima aula onde nós vamos entrar em variáveis Então vamos agora entender o que são variáveis e como isso é utilizado dentro da linguagem de programação Python e agora para começar essa aula nós vamos estar criando um novo arquivo aqui dentro desse projeto que nós tínhamos criado na última aula aqui na esquerda na AB à esquerda você pode clicar nesse botãozinho add file para adicionar no novo arquivo e aqui nós vamos chamar esse arquivo de aula 1 aula 1. py
e quando eu digo isso aqui eu estou criando um arquivo Python com o nome de aula um e é importante que você coloque ponto py porque essa é a extensão dessa linguagem de programação Ok feito isso vamos imaginar agora o primeiro conceito que nós iremos aprender que são variáveis e aqui eu estou digitando o comentário quando eu coloco esse hashtag tudo que vai estar tudo que estiver escrito aqui dentro não será interpretado pelo nosso editor de código então nós podemos comentar o que nós quisermos aqui ok então no caso de variáveis vamos imaginar que quando
você ouve um nome de alguém você guarda essa informação na sua cabeça como nós tínhamos falado lá no início lá na aula sobre variáveis e pro computador é muito parecido ele vai guardar na cabeça vamos dizer assim na entre a cabeça dele através do conceito de variáveis Então vamos imaginar que nós queiramos guardar a informação sobre a velocidade da internet para fazer isso eu preciso de criar uma variável vamos chamar essa variável vamos chamar essa variável de velocidade underline internet igual a 10 então o que que eu estou fazendo neste caso aqui eu vou pegar
o valor 10 e atribuir através do símbolo de igual a uma variável que eu estou chamando de velocidade underline internet então neste momento aqui eu estou criando um espaço no meu computador onde essa informação será guardada e é importante entender que existem algumas restrições na hora que você vai criar uma variável por exemplo você não pode começar com número e você não pode começar com o símbolo e você não pode inserir espaços dentro do nome da variável então uma boa prática no caso do Python é que você crie os seus nomes totalmente em letras minúsculas
e Separe as palavras usando underline porque o underline É sim permitido porém um traço por exemplo já não seria permitido então underline é a forma que você vai usar para separar as palavras Beleza então agora eu tenho essa velocidade da internet mas eu quero exibir ela de alguma forma como que eu posso fazer isso bom e o comando é bem parecido com o que nós já temos visto até o momento basta digitar print só que agora a diferença é que você vai colocar o que você quer imprimir entre parênteses então aqui dentro do parênteses vamos
dizer que eu queira imprimir a velocidade internet então quando eu faço isso eu estou pegando essa referência que está guardado na memória na memória do computador e eu vou imprimir na tela e agora para que eu possa rodar este arquivo aula 1. py e executar todos os comandos que estão aqui eu preciso chamar ele e como que eu faço para chamar ele eu vou entrar aqui na aba direita e clicar em Shell e vou rodar o comando Python espaço e agora eu chamo o nome do arquivo no meu caso o arquivo se chama aula 1.
py e eu dou um enter pronto quando eu fiz isso eu executei todas as linhas de código aqui e executei Este comando de imprimir na tela que é o print e assim nós temos aqui o print que você está vendo na tela então agora nós já sabemos que é possível armazenar informações na memória do computador Mas quais são os tipos de dados que você pode armazenar na memória do seu computador bom nesse caso nós temos basicamente números nós temos valores booleanos e nós temos Strings OK ess são alguns dos tipos mais básicos Deixa eu te
dar um exemplo aqui nós podemos considerar que a velocidade da internet é um nú número então vou pegar ela aqui cont control x e vou colar ela aqui dentro de números um outro exemplo de número seria por exemplo a nota de um filme vamos usar a nota de um filme de 8.5 e nesse caso a nota de filme por possuir um valor decimal Nós consideramos ele um valor decimal e que na programação em Python nós chamamos ele de float que é um tipo mais específico de número certo e percebe aqui que eu estou colocando um
comentário e esse comentário pode ser colocado em qualquer local que ele não vai interferir na execução do seu programa A outra questão são os valores booleanos o que que seria esses valores booleanos bom vamos imaginar que você quer entrar em um cinema mas esse cinema pode estar aberto ou fechado então nós poderíamos ter uma variável que guarda essas informações está aberto Ele só pode ter dois estados sim ou não certo e na linguagem de programação nós usamos os conceitos de True para verdadeiro ou false para falso e você deve escrever exatamente dessa forma com letra
F maiúscula no caso de false e com letra T maiúscula no caso de True e deve ser em inglês como eu já disse as linguagens de programação são sempre em inglês e no caso desses valores true e false que são chamados de booleanos na programação eles funcionam exatamente como dizer sim ou não no português e você vai ver mais paraa frente aqui nas aulas que você pode usar eles também para tomar decisões por exemplo vamos imaginar que você vai vender ingressos para um show de uma banda mas a entrada só estará aberta após as 20
horas então para que você saiba se você deve ou não liberar a compra de ingresso você poderia consultar essa variável aqui está aberto para saber se você deve ou não liberar a compra de ingressos no seu sistema então esses são os valores booleanos e é importante lembrar que o Python é uma linguagem Case sensitive como eu já disse isso significa que as letras maiúsculas e minúsculas importam quando você escreve algo como é o caso aqui de True ou false que tem a primeira letra em maiúsculo e por último nós temos os Strings Como assim deixa
eu te dar um exemplo aqui de string nome do curso é igual a lógica de programação e nesse caso aqui o string é basicamente um texto e o string deve ser usado quando você quer trabalhar com textos e precisa montar uma frase ou combinação de palavras e letras e para criar um string basta que você coloque aqui um texto entre aspas simples que é o que eu fiz aqui ou no Python você pode usar também as as duplas Então você tem a opção de usar aspas duplas ou aspas simples nos dois casos elas resolveriam a
situação de criação de um string então para mostrar para vocês aqui agora como variáveis seriam usadas em um programa Real vamos pegar aqui um exemplo Que nós tínhamos feito anteriormente no nosso curso o problema é esse aqui ó vamos vou colar ele aqui para você problema um valor por hora deixa eu colar a descrição dele aqui para você para vocês notarem mais mais uma vez para que vocês se lembrem mais uma vez essa é a descrição do problema Escreva um programa que retorna O valor hora de um funcionário Com base no seu salário mensal e
horas trabalhadas por mês Então nesse caso eu vou pegar aqui eu vou copiar e colar o algoritmo Que nós tínhamos montado durante essa aula durante a aula onde nós resolvemos onde nós conseguimos resolver este problema e eu vou te mostrar como é fácil introduzir um pel do código para um código real eu vou colar aqui e para que esse código não Rode porque ele apenas não precisa do código eu vou colocar ele entre um comentário de bloco que eu posso fazer dessa forma aspas simples três vezes e antes dele também aspas simples três vezes e
dessa maneira essas linhas aqui não serão interpretadas pelo nosso interpretador de código então agora como que eu transformaria esse pseudo código em código Python bom é bem simples primeiro eu teria que perguntar ao usuário Qual é o seu salário mensal então no Python para pedir informação do eu posso dizer input e aqui entre parênteses eu vou colocar um string então como é um string eu vou colocar aspas simples e vou fazer uma pergunta qual é o seu salário mensal e vou guardar essa informação em uma variável chamada salário mensal Além disso eu tenho que perguntar
outra coisa as horas trabalhadas por mês então vou fazer mais uma pergunta usando o input abre parênteses aspas simples para colocar um string e vou fazer a pergunta Quantas horas trabalha por mês e vou guardar essa informação em uma variável chamado horas trabalhadas por mês então agora o cálculo que nós temos que fazer é dividir o salário mensal por horas trabalhadas por mês então vou fazer exatamente isso salário mensal salário vou dar um Tab aqui para completar automaticamente dividido por horas trabalhadas por mês e vou guardar essa informação em uma variável chamada valor valor hora
e depois eu vou imprimir na tela esse valor hora certo só que neste caso aqui do Python esse código não vai funcionar por um pequeno motivo de tipos aqui dentro do salário mensal e de horas trabalhadas nós temos o tipo string certo Porém você não consegue somar texto como se fosse valor numérico então nós temos que pegar esse valor que foi passado pelo usuário e transformar ele em um valor inteiro e para fazer isso é bem fácil nós podemos converter um string para um valor inteiro usando o comando int Então vou colocar aqui int que
representa inteiro e colocar o valor que eu quero transformar inteiro entre parênteses Então vou transformar o salário mensal e vou transformar também as horas trabalhadas em um valor inteiro então agora nós podemos rodar este programa vamos voltar aqui mais uma vez eu vou ir em Shell e vou executar o comando aqui Python e chamar o nome do arquivo que nós queremos rodar que neste caso é aula 1. py então aula 1. p e dar um enter e agora está me perguntando qual é o seu salário mensal vamos dizer que eu ganho R 2500 e vou
dar um enter Quantas horas trabalha por mês vamos dizer que eu trabalho 176 horas por mês vou dar um enter e aqui está o resultado eu ganho exatamente 14.20 reais por hora então Aqui nós temos um exemplo real de como você poderia usar variáveis dentro de uma linguagem de programação real e agora para que nós possamos deixar isso aqui ainda mais útil eu vou te ensinar na próxima aula como que você pode usar condicionais Então vamos agora entender sobre condicionais para que nós possamos fazer essa aula nós vamos manter esse mesmo projeto Que Nós criamos
anteriormente e nós vamos criar aqui mais vamos criar aqui um novo arquivo o arquivo aula dois então vou ir aqui na barra lateral esquerda clicar em add file e depois digitar aula 2. py ok vamos mudar para este arquivo cliquei aqui então vamos estar falando aqui agora sobre condicionais em basicamente todo o programa que você criar será necessário que você tome decisões e nós podemos fazer isso usando Três Palavrinhas Chaves no Python que são if L if e else Vou colocar aqui um comentário em bloco então três aspas simples e eu coloco o comentário aqui
no meio que é o seguinte vamos imaginar essa seguinte frase aqui vou colar uma frase aqui pra gente e aí Jonathan Bora dar uma saída hoje E aí eu vou responder se eu terminar meu trabalho aqui eu consigo Então como que eu poderia transformar essa interação no mundo real para uma condição na linguagem de programação nesse caso nós temos que primeiro ter uma variável que vai ser usada que vai que vai ser o nosso ponto de decisão para tomar a decisão se eu vou sair ou não então eu posso por exemplo criar uma variável chamada
trabalho terminado e aqui eu vou estar armazenando se eu terminei ou não aquele trabalho vamos imaginar que sim eu já terminei Então vou colocar aqui como true já foi terminado E agora Como que eu posso usar essa variável para tomar uma decisão neste caso eu vou usar o if que Eu mencionei aqui em cima nós podemos criar da seguinte forma if trabalho terminado eu vou dar um Tab para completar automaticamente aqui igual igual a true dois pontos enter print e aqui vou colocar uma frase Opa Bora dar uma saída então o que que aconteceu aqui
deixa eu explicar para vocês primeiro nós usamos a palavrinha chave if que vai comparar que é que quer dizer se então se trabalho terminado for true e aqui eu estou comparando usando a igualdade e no caso do Python você compara igualdade usando dois iguais ele vai avaliar essa situação aqui variável é true se eu voltar aqui em cima sim a variável foi atribuída como true então true é igual a true sim ou seja verdadeiro é igual verdadeiro Sim ela faz essa comparação e com base nela Ela vai imprimir esse resultado porém nós temos também que
tratar a outra situação onde eu talvez não tenha terminado o meu trabalho e nesse caso eu posso colocar aqui um else então caso contrário o else serve para isso else dois pontos enter eu vou imprimir na tela não posso sair agora E se eu rodar esse código para gente mostrar o resultado vamos rodar ele aqui então agora se eu clicar aqui em Shell e digitar o comando Python e chamar o nome do arquivo que neste caso é aula 2. py e dar um enter ele vai dizer Opa Bora dar uma saída por que ele disse
isso porque ele fez avaliação aqui trabalho terminado é true e true igual a true é verdadeiro então ele vai executar essa linha aqui porém se eu vier aqui atrás e alterar para por exemplo false e rodar mais uma vez Esse comando vamos rodar aqui Python aula 2. py e dar um enter ele vai dizer agora ele vai dizer não posso sair agora porque ele fez essa comparação essa comparação não foi verdadeira então ela irá cair aqui na próxima situação vamos imaginar um outro cenário aqui agora eu vou limpar aqui o console apertando esse xinho Ei
você consegue me ajudar a mover Essas caixas lá para fora hoje à tarde e aí eu vou responder se eu estiver livre sim mas se não der pede o meu irmão para te ajudar Ok Então essas são as condições como que eu poderia agora representar isso usando Python então nós temos que primeiro ter uma variável para poder ser usada como base de decisão Então vou criar uma variável aqui chamada estou livre vamos setar ela aqui Vamos definir que inicialmente vai ser falsa e agora eu só vou eu só vou poder ajudar se eu estiver livre
como que eu poderia representar isso com python if estou livre igual igual a true então se eu realmente estiver livre enter eu vou imprimir na tela ok posso ajudar hoje sim caso contrário Então eu vou dar um enter backspace para voltar aqui um nível de indentação e vou digitar else dois pontos enter e vou imprimir peça o meu irmão para te ajudar certo E se eu rodar esse código aqui vamos rodar o comando Python aula 2. py e aqui como eu defini que eu não estou livre hoje ele vai fazer essa avaliação vai confirmar que
essa avaliação não é verdadeira então ele vai cair no nosso bloco else e executar Este comando aqui peço o meu irmão para te ajudar e se eu alterar para true que eu estou livre hoje e rodar mais uma vez Esse comando Python aula 2. py e dar um enter OK posso te ajudar hoje sim Então nesse caso eu posso ajudar porque eu estou livre fez sentido como faz aqui como nós conseguimos fazer as comparações vamos ver aqui um exemplo um pouco mais complexo agora eu cheguei na aula atrasado ainda posso entrar eu vou dizer se
essa não for a sua terceira vez chegando atrasado então pode sim caso contrário irá tomar uma suspensão como que eu poderia representar essa situação usando o Python deixa eu mostrar para vocês aqui nós temos que primeiro ter todas as variáveis todo o input necessário para tomar essa decisão Então quais são os inputs necessários lembre-se eu estou continuo eu continuo usando os C QS que são necessários para montar um algoritmo eu s estou fazendo de uma forma um pouco mais rápida aqui mas eu continuo tendo que usar exatamente os cinco que eu mostrei para vocês durante
o início desse curso Então quais são os dados de entrada aqui eu preciso de saber quais são os números de atrasos daquela pessoa vamos dizer que ela tem dois atrasos no momento e agora eu tenho que fazer as comparações e quais são as comparações as comparações elas vão estar vindo exatamente das restrições deste problema e qual é a restrição aqui ó se essa não for a sua terceira vez que está chegando então sim pode entrar caso contrário você tomará você estará tomando uma suspensão então nós temos que tratar cada um desses cenários aqui agora primeiro
cenário é if o número de atrasos for maior ou igual nós vamos dizer o seguinte vou dar um print aqui dizendo que eu vou dizer o seguinte você está suspenso porém agora nós vamos usar uma outra condicional que if em situações onde nós temos várias avaliações a serem feitas nós podemos colocar a condicional if e aqui vamos por exemplo tratar o caso onde a pessoa tem um número de atrasos de 1 é o if número de atrasos igual a 1 dois pontos vamos dizer o seguinte pode entrar porém caso tome duas mais duas faltas irá
ser suspenso Essa é a única situação não Nós ainda temos o situação onde a pessoa pode tomar pode ter dois atrasos Então vamos colocar mais uma condicional é if número de atrasos igual a 2 neste caso eu vou dizer o seguinte pode entrar porém caso tome mais uma falta irá ser suspenso E Agora Nós temos também usar o else então a pessoa já veio aqui nós garantimos que ela não tem três atrasos ela não tem um atraso ela não tem dois atrasos então qualquer outra situação que não esteja em nenhuma dessas nós vamos dizer o
seguinte else dois pontos que vamos simplesmente dizer pode entrar e agora agora deixa eu explicar para vocês com mais especificidade o que será esse caso em qual caso você vai utilizar o l if o l if ele funciona da seguinte forma todo o comando if ele Obrigatoriamente será avaliado pelo seu interpretador interpretador é a funcionalidade que vai ler o seu código e executar aqueles comandos SE necessário e quando você cria um if você está obrigando o computador a processar aquela informação porém o l if todos os L ifs aqui eles são executados somente caso os
ifs que estão acima deles não tenham sido executados Então se por exemplo eu cheguei aqui e o meu número de atraso é TRS esse código aqui nunca será executado se eu cheguei aqui o meu número de atraso é igual a um esse código aqui abaixo Nunca será executado faz sentido deixa eu mostrar para vocês aqui na prática esse programa funcionando vamos rodar ele aqui Python aula 2. py eu vou dar um enter e agora ele está dizendo aqui o seguinte pode entrar porém caso tome mais uma falta irá ser suspenso Por que que ele está
dizendo isso porque se nós entrarmos aqui Qual é o meu número de atrasos dois certo e aqui o que que vai acontecer quando eu tenho dois atrasos se se eu entrar aqui no meu código é o if número de atrasos igual a 2 ele vai imprimir essa frase então você pode dizer então você pode notar que nosso programa está funcionando perfeitamente Se eu mudar aqui o meu número de atraso para um e rodar Esse comando mais uma vez Python aula do pon py nós temos aqui pode entrar porém caso tome mais duas faltas errado essas
faltas aqui mais duas faltas irá ser suspenso Então como agora meu número de atraso é apenas um ele caiu nessa condicional aqui e finalmente se eu colocar por exemplo três eu tenho três faltas eu vou rodar esse programa mais uma vez aula 2. py que que ele vai dizer você está suspenso por quê Porque ele caiu nessa condicional aqui certo e agora se eu por exemplo rodar se eu alterar aqui para zero o que que vai acontecer vamos rar o programa Python aula 2 p py neste caso ele vai dizer pode entrar porque nesse caso
eu não tenho nenhum atraso então eu vou cair nessa condição do else Então vamos agora ver uma condição real Com base no que nós já vios anteriormente no curso para que nós possamos ver exatamente com as condicionais são utilizadas para resolver problemas Reais lembra daquele problema encontre o maior entre dois números eu tenho aqui o pseudo código que nós Montamos para aquele problema e eu vou colocar ele aqui agora e nós e eu vou te mostrar como que você pode transformar ele em um código Real em Python esse aqui é o psel do código que
nós havíamos criado para resolver esse problema Lembrando que eu cheguei nesse psel do código seguindo 5qs que você utiliza para montar um algoritmo eu estou sempre usando esse mesmo processo eu só estou fazendo de forma mais agilizada mas o processo é sempre o mesmo usa esse método dos 5 QS para chegar nesse resultado aqui então eu vou traduzir esse código agora para Python vamos lá eu tenho que primeiro receber o input do primeiro valor então vou pedir o usuário input Digite o primeiro valor e vou guardar essa informação em uma variável chamada primeiro underline valor
depois disso eu vou fazer a mesma coisa com o segundo valor input Digite o segundo valor e vou guardar essa informação em uma variável chamada segundo valor feito isso tudo que nós temos que fazer agora são as comparações vamos fazer aqui a comparação if primeiro valor for maior que segundo valor então eu vou dar dois pontos vou imprimir na tela print o primeiro valor é maior caso contrário Então eu vou dar aqui um enter backspace e vou digitar else dois pontos e dar um enter vou imprimir na tela o segundo valor é maior vamos testar
isso aqui só que Lembrando aqui esse código puramente aqui não vai funcionar porque quando você pede informação para o usuário ele chega no Tipo ele vem no tipo string porém eu não consigo fazer comparações matemáticas com o texto eu preciso comparar com números Então eu tenho que transformar essa resposta do usuário aqui em um número e para fazer isso eu posso colocar aqui o comando int para transformar isso aqui em um valor inteiro e aqui também no segundo valor fazer esse mesmo processo vamos rodar agora esse código aqui dentro do Shell cliquei em Shell e
vou digitar aqui Python aula 2. py e vou dar um enter Digite o primeiro valor Vamos colocar 15 Digite o segundo valor Vamos colocar 20 e que ele está dizendo o segundo valor é maior corretamente certo ele pegou o primeiro valor segundo valor comparou e notou que o segundo valor aqui é maior se eu rodar mais uma vez Python aula 2. py vou fazer diferente vou colocar aqui o primeiro valor como 50 e o segundo valor como 10 agora ele vai dizer que o primeiro valor é maior certo então é assim que você usa condicionais
dentro do Python para tomar decisões Lembrando que eu estou sempre usando aqui os 5qs que eu passei para vocês para chegar a esses resultados eu só eu só estou fazendo de forma mais agilizada e na próxima aula eu vou te mostrar como que nós podemos usar os laços de repetições dentro do Python Vamos falar agora sobre laços de repetição para que nós possamos fazer isso vamos criar aqui um novo arquivo eu vou aqui na aba esquerda e clicar em add file e chamar esse arquivo de aula 3.pe aula nós vamos falar sobre laços de repetição
e também sobre listas porque esses conceitos estão bem ligados um aos outros laços de repetição eles são usad em quais o que são laços de repetição basicamente são maneiras de você executar o mesmo comando várias vezes por exemplo vamos dizer que você queira imprimir na tela uma mensagem três vezes como que você poderia fazer isso Você poderia imprimir na tela carregando depois de novo carregando depois mais uma vez carregando e se eu rodar esse código aqui Python aula 3py ele funciona só que existe uma forma muito mais simplificada de você fazer isso que é usando
os laços de repetição eu poderia criar aqui um laço de repetição fazendo da seguinte forma for palavra em Range de um a quro dois pontos print carregando e agora se eu apagar esse código anterior e rodar esse e rodar esse código atual mais uma vez Python aula 3. py nós temos aqui exatamente a mesma coisa sendo feita só que agora em apenas duas linhas de código o que que aconteceu aqui neste caso nós estamos fazendo o uso de laço de repetição e a estrutura de um laço de repetição é a seguinte nós temos a palavra
chave for e nós temos um item em alguma coleção essa coleção pode ser qualquer coisa em coleção dois pontos e depois nós colocamos aqui os comandos que nós queremos executar tá certo aqui em cima eu estou usando o exemplo do Range que é uma maneira de você gerar listas no Python para que essa função Range fique mais claro deixa eu te mostrar um outro exemplo dela aqui embaixo for item in Range de 1 a 20 dois pontos enter print item E agora se eu rodar esse código mais uma vez Python aula 3. py e dar
um enter o que que acontece Aqui nós temos o primeiro código que está sendo executado que é aqui e nós temos também aqui o nosso Range sendo executado e aqui eu estou dizendo que eu vou executar 20 vezes esse comando Lembrando que há uma especificidade aqui do comando Range que ele você que você pode especificar Qual é o número Inicial que ele vai estar utilizando e o número que ele vai estar finalizando porém ele nunca vai incluir esse último número Como assim Jonathan Se você olhar aqui à direita nós iniciamos no valor um que é
exatamente o que eu defini aqui porém ele vai estar passando por todos os valores e ele vai finalizar no 19 Isso é apenas a maneira que o Range funciona ele não inclui o último número na sua repetição então se eu quisesse de fato que ele fosse de 1 a 20 eu deveria colocar 21 aqui tanto que se eu rodar esse código aqui mais uma vez Python aula 3. py e dar um enter você pode perceber que agora ele vai de 1 até 20 isso porque ele foi até o penúltimo número e existe também uma outra
funcionalidade da função Range que que é o seguinte for item em range eu posso colocar que eu quero ir de 1 até 20 porém eu posso colocar um terceiro argumento que é o pulo ele vai dar um pulo de quanto em quantos entre cada valor vamos dizer que eu quero que ele dê um pulo de dois pontos Como assim de on deixa eu imprimir na tela que vai ficar bem claro para você aqui tá print item vamos rodar esse código mais uma vez Python aula 3. py E agora o que que está acontecendo vamos ver
aqui nós temos ó o que que nós temos aqui nosso primeiro for que imprimiu carregando três vezes nós temos nosso segundo for que vai imprimir de 1 a 20 que no caso é esse código aqui e nós temos o nosso último for que é esse aqui que está usando o Range de 1 a 20 e pula de dois em dois números então ele vai começar no um pula dois o próximo é TR pula dois o próximo é c e assim sucessivamente até chegar ao último valor que neste caso foi o valor 19 certo e aí
mais pra frente Como eu disse para você os laços de repetição estão muito atrelados também a listas que são uma forma de estar armazenando coleções que também é um dos temas que nós estudamos aqui então para que você possa criar uma lista no Python é muito simples vamos imaginar que nós tenos aqui uma lista de nomes nomes igual a e aqui você vai abrir e fechar colchetes e colocar quaisquer valores que você queira armazenar aqui dentro vamos armazenar nomes aqui então tem alguns nomes como Jonathan Christian Roberto e Camila eu posso criar um laço de
repetição que vai iterar sobre cada um deles ou seja vai passar sobre cada um deles e aí nós podemos fazer qualquer expressão que nós queremos uma dessas possíveis expressões é imprimir esse valor na tela então eu posso fazer for nome inem nomes dois pontos enter print e aqui eu passo o nome deixa eu rodar esse código aqui vamos rodar aqui Python aula 3. py eu vou dar um enter e agora você pode ver que ele fez todos os outros processos Que Nós já tínhamos definidos definido anteriormente E além disso ele também imprimiu aqui na tela
todos os nomes e aqui estão e aqui é o código responsável por isso e agora entrando um pouquinho mais na explicação de como isso funciona aqui Nós lembramos que o a sintaxe é a seguinte for item em coleção Qual é o nosso item nesse caso se nós estamos trabalhando com a coleção de nomes nós podemos chamar que cada item deste dessa coleção será um nome Então essa é uma convenção que você segue por exemplo se você estivesse fazendo um laço de repetição sobre animais você teria por exemplo aqui for se você tivesse aqui animais você
chamaria o seu item de animal se você estivesse iterando sobre aniversários você poderia chamar o seu item aqui de aniversário faz sentido entendeu a a sacada você você basicamente vai pegar a versão plural que você está iterando aqui e chamar ela na versão singular isso não vai afetar a execução do seu programa mas sim vai te ajudar a entender melhor porque a maneira que você escreve o seu código deixa ele pode deixar ele mais claro ou mais difícil de entender então deixa eu voltar aqui for nome em nomes Então essa é uma das maneiras que
você pode estar criando laços de repetições e também usando listas dentro do Python então agora deixa eu te mostrar o nosso exemplo real utilizando o Que Nós já tínhamos visto durante esse curso de lógica de programação para que nós possamos entender como que é possível transformar um algoritmo de pseudo código em um código real usando Python eu vou apagar aqui e vou colar um psel do código que nós já havíamos criado anteriormente esse aqui é o psel do código esse P do código é do exemplo Imprima os valores de um a n esse é o
nosso problema que nós vamos resolver aqui agora e no curso de lógica ele estava sendo chamado de um a n Esse é o nome do do problema certo Estamos tentando resolver então para que nós possamos fazer isso você pode perceber que nós já temos uma certa lógica que foi criada aqui basta transferir isso agora para Python então é o seguinte vamos primeiro pedir uma informação do usuário input digite valor máximo que é o que representa o n vou guardar essa informação em uma variável chamada valor underline máximo outra dica aqui você pode perceber que eu
não estou usando acentos Agudos ou qualquer tipo de acento ou de caracteres especiais em variáveis isso porque você não deve usar caracteres especiais Então as suas palavras não devem conter acentos ou coisas do tipo Então agora que eu já tenho o valor máximo Vamos definir um valor inicial para que tenha um ponto de início e um ponto de finalização do meu loop vou criar uma variável chamada valor inicial e definir o valor inicial como um e agora eu posso fazer o meu laço de repetição e para fazer um laço eu posso usar o comando for
e nós estamos interando sub número certo então for número e agora neste caso eu vou usar a função Range por que que eu vou usar a função Range porque eu quero rodar isso aqui por uma determinada quantidade de vezes e qual que é o nosso valor inicial eu já tenho ele aqui em cima eu defini aqui então ele vai ser o nosso valor inicial que eu vou passar aqui embaixo o valor inicial E qual é o nosso valor final o nosso valor final é o valor que o usuário digitar aqui valor máximo certo então vamos
colocar aqui valor máximo só que lembrando o nosso valor máximo vai chegar no formato de string porque nós estamos pedindo aqui no formato de string então é importante que você converta esse valor para um valor inteiro para que você consiga fazer esse processamento certo então vou fazer essa conversão já aqui em cima mesmo que também é possível então int abre parênteses e no final aqui fecha parênteses então agora o que for passado aqui será passado no formato inteiro e assim eu consigo usar ele aqui dentro do Range certo E lembrando que a nossa função Range
não inclui o último valor que você definir aqui então por esse motivo eu vou colocar o valor máximo mais 1 que assim ele vai incluir o valor final também dois pontos e agora vou imprimir aqui na tela o número Vamos fazer um teste deste código eu vou rodar aqui Python aula 3 p p e dar um enter ele vai me perguntar digit um valor máximo Vamos colocar aqui o valor 10 eu vou dar um enter e você pode ver que ele imprimiu aqui na tela todos os valores eu sei que nós estamos vendo muitos conceitos
aqui Novos Mas como eu já disse a ideia aqui não é de tornar um programador Python é apenas te mostrar como que você poderia estar transferindo a lógica de programação Que Nós aprendemos durante o curso em um código real o ideal é que você pratique muito mais esses conceitos aqui para que você seja capaz de programar em Python mas como a ideia é passar a lógica de programação eu acredito que nós conseguimos estar entendendo dessa forma então na próxima aula eu vou te mostrarem um pouco mais de detalhes como que nós podemos trabalhar com coleções
e Mais especificamente nesse caso listas em Python Então vamos falar aqui agora sobre coleções Mais especificamente sobre listas em Python para isso vou criar aqui um novo arquivo chamado aula 4 ppy e vamos entender aqui sobre coleções Mais especificamente sobre listas deixa eu dar um xizinho aqui para apagar essas informações para que você não tem que fazer algo como preço 1 ig a ig a 20 preço 2 = 50 preço 3 = 200 para que nós não tenhamos que armazenar valores similares em locais diferentes nós podemos guardar tudo dentro de uma lista no Python por
exemplo ao invés de ter aqui preço um preço dois preço 3 eu posso simplesmente criar uma lista chamada preços e dentro dela eu vou colocar igual abre e fecha colchetes eu vou colocar esses valores aqui 20 50 e 200 e assim eu tenho esses valores em um local só Além disso tem um conceito muito importante que nós temos que entender quando nós estamos falando de listas para que você posa acessar qualquer um desses valores você tem que acessar eles através de um conceito chamado de índice o que seria esses índices bom você pode imaginar que
aqui o índice é basicamente o endereço dessa informação dentro da lista e o índice vai sempre estar inicializando com zero então se eu quero acessar o número 20 eu acessaria o índice zero se eu quero acessar o número 50 eu acesso o índice 1 e se eu quero acessar o número 200 eu acesso o índice do isso fica mais claro quando nós usamos a função print vou chamar aqui print e eu vou passar preços e agora para que eu possa selecionar algum desses itens aqui eu tenho que chamar ele pelo índice e para chamar pelo
índice eu vou abrir e fechar colchetes e colocar aqui dentro o número do índice e não o valor em si não vou colocar aqui 50 se eu quero acessar 50 eu vou colocar aqui o número um e agora se eu rodar esse código aqui Python aula 4. py e dar um enter você pode perceber que ele imprimiu 50 na tela porque ele foi até o preço buscou o índice um como número 50 corresponde a índice um ele imprimiu isso na tela e se eu quisesse por exemplo para acessar o número 20 qual seria o valor
que eu deveria acessar nesse caso nesse caso seria o zero correto deixa eu rodar aqui mais uma vez Python aula 4.ps e agora você pode ver que ele está imprimindo 20 na tela Isso porque eu estou acessando o índice Mas se por acaso você estiver com dúvida sobre qual é o índice de algo você também tem uma função no Python que te ajuda muito a descobrir isso eu vou imprimir aqui na tela o preços pindex abre e fecha parênteses e aqui eu passo o número 200 Por exemplo quando eu faço isso eu estou pedindo para
que o Python vá até essa lista de preços e descubra para mim qual é o índice do item que possui o valor 200 tanto que se eu rodar agora esse comando Python aula 4. py você pode perceber que ele me passou aqui primeiro print certo que é aqui o índice zero mas o segundo print é qual é o índice do valor 200 o índice do valor 200 é 2 e vamos confirmar se é verdade pois é é verdade sim aqui está o índice dois e ele representa o nosso e ele representa o valor 200 Então
essa aqui também é uma forma de encontrar o índice de algo o Python nos oferece várias maneiras para facilitar a criação de listas e assim você pode decidir qual fica melhor para você na sua situação Lembrando que no Python as listas são dinâmicas e não são limitadas por tipo então é perfeitamente Ok você armazene Strings números valores booleanos ou qualquer outro tipo de dado por exemplo eu posso criar aqui uma var eu posso criar aqui uma lista uma lista que eu vou chamar de diversas diversidades e aqui eu vou criar uma lista e vou colocar
várias coisas por exemplo um número um nome posso colocar também aqui um valor boleano true e agora eu posso imprimir esses valores na tela print diversidades e aqui eu vou acessar por exemplo o índice zero copiar e colar Esse comando aqui embaixo o índice um copiar e colar Esse comando e o índice dois e se eu rodar esse código Python aula 4. py e dar um enter você percebe que ele está imprimindo da mesma forma então ele funciona da mesma forma só que eu quero usar isso aqui como um gancho para te explicar também que
não é necessário você imprimir individualmente os itens aqui de uma lista existe uma maneira muito mais fácil de fazer isso que é através dos laços de repetição que é o que nós acabamos de ver na aula anterior nós podemos fazer o seguinte for preço em preços do dois pontos enter e aqui eu vou estar imprimindo preço se eu rodar esse código aqui agora Python aula 4 ppy e dar um enter você pode ver que ele está imprimindo aqui pra gente todos os valores que estão contidos dentro deste preço isso porque através da sintaxe do Python
nós podemos passar por cada item de uma coleção passar o valor individual para essa variável temporária que depois poderá ser utilizada aqui dentro do nosso laço de repetição neste caso estou apenas imprimindo este valor na tela mas você poderia fazer qualquer outra coisa aqui como por exemplo uma operação matemática vamos ver agora aqui um exemplo real Com base no que vimos durante o curso eu vou colar aqui um algoritmo Que Nós já tínhamos feito anteriormente e o problema é o seguinte exemplo cinco som os valores que é um exemplo de coleções dado uma coleção de
dados idades que são essas idades aqui Imprima na tela a soma destes valores certo e aqui Nós já tínhamos também criado um algoritmo que seria como base para criar essa solução então vou colar aqui esse algoritmo também esse foi o algoritmo Que Nós criamos usando o pso do código então tudo que nós temos que fazer aqui agora é traduzir isso para uma linguagem de programação como o Python e para fazer isso eu vou te mostrar aqui como seria possível resolver essa situação nós temos que inicialmente declarar uma lista que receberá as idades e essa lista
pode ser exatamente igual você pode literalmente copiar e colar aqui exatamente igual temos que definir um valor inicial para o total porque a ideia toda é que nós possamos somar cada uma dessas idades e depois exibir a soma de todos esses números então nós temos que inicializar um valor como zero e agora eu tenho que passar por cada um desses itens e somar um com o anterior e como que nós podemos fazer isso com o laço de repetição eu vou criar aqui um laço de repetição dizendo for idade inem idades dois pontos enter e aqui
eu vou estar calculando o total e qual que é o Total ele é o valor do total em si mais a idade atual que está sendo iterada e após ter feito isso aqui para todas as idades que estão dentro da minha lista de idades eu devo sair no loop Então vou dar um enter backspace para sair do loop e vou imprimir na tela o total vamos rodar esse código aqui agora Python aula 4 ppy aula 4. py e daram enter E Agora Nós temos aqui o 194 então neste caso o que está acontecendo é a
cada momento que eu passo aqui a cada momento que eu rodo esse laço eu vou entrar na minha lista de idades extrair um valor dessa idade passar pra minha variável temporária e executar essa linha aqui que vai basicamente pegar a idade atual vamos dizer aqui 15 e somar com o total inicialmente nosso total é zero Então nós vamos fazer o cálculo aqui 0 + 15 e guardar essa informação e agora eu volto aqui na minha lista de idades vejo Qual é a próximo vejo Qual é o próximo valor valor 46 Passa esse valor temporário pra
minha variável e aqui nós rodamos essa linha mais uma vez como agora o nosso total é 15 eu vou fazer 15 + 46 certo e guardar essa informação e aí eu estaria fazendo esse mesmo processo para todos os itens que estão dentro dessa lista e assim que nós chegamos ao resultado de 193 que é o que você está vendo aqui na direita Então você acabou de ver os fundamentos que são variáveis laços de repetição condicionais e também coleções como o intuito desse curso é te ensinar lógica de programação e não Python eu não vou entrar
em detalhes sobre Python neste momento mas a partir de agora nós iremos ver três projetos feito em Python onde nós vamos fazer todo o processo dos 5qs que onde você vai analisar e encontrar uma solução para um problema e montar essa solução usando uma linguagem de programação real que é o Python e assim você vai ver como que isso funciona na prática usar todos os 5qs ali para montar os algoritmos em uma linguagem de programação real certo então vejo você na próxima aula onde nós vamos começar com o projeto número um chamado fatorial de um
número então vamos agora começar a usar o método 5q para resolver problemas reais usando agora a programação em Python eu vou criar aqui um novo arquivo e você deve fazer o mesmo chamado projeto 1. py eu vou colar aqui a descrição do primeiro projeto que nós vamos estar resolvendo que é esse projeto aqui o fatorial de um número e eu já colei também aqui o 5q o método 5q que nós vamos estar utilizando para resolver esse problema aqui aqui junto com você e como que você vai entender o raciocínio e como que eu faço para
resolver problemas usando o Python e uma linguagem de programação real de forma geral Então vamos lá qual que é o nosso problema que nós teremos que resolver o problema é o seguinte crie um programa que recebe que recebe um número e imprime o seu fatorial para ficar mais claro aqui cria um programa que recebe um número e imprime o seu fatorial Qual é o método 5q que nós já vimos anteriormente esse aqui é o método 5q Qual é o método 5q o método 5q ele pede que você faça o seguinte o primeiro passo é analisar
criticamente o problema Ou seja quando você olha para esse problema aqui ou qualquer problema que for passado para você eu quero te perguntar você consegue entender você sabe exatamente o que que está sendo pedido você entende tudo que é pedido aqui tem alguma parte que não ficou Claro por exemplo se você não sabe como realizar como fazer um fatorial Este é o momento que você vai voltar ao seu chefe ao se analista supervisor colega alguém para poder entender melhor esse problema e se você não tem alguém para consultar a sua melhor forma de encontrar informação
é usando o Google eu não vou fazer aqui a pesquisa de como fazer um fatorial porque é algo que nós já fizemos durante o curso Ah então não vou refazer isso aqui mas esse é o momento de fazer a investigação para que eu tenha todas as informações necessárias para começar a resolver esse problema eu não passo para nenhum desses outros Passos aqui a não ser que eu tenha já esse primeiro essa primeira questão resolvida certo então com essa primeira questão da análise crítica resolvida eu vou Minimizar aqui para ficar um pouco mais mais legivel pra
gente vamos estar definindo aqui cada um dessas questões tá primeiro Quais são os dados de entrada necessário neste caso eu preciso de um número certo sem um número eu não consigo calcular o fatorial o que que eu devo fazer com esses dados se eu estou tentando calcular o fatorial o que que eu devo fazer com esses dados eu devo calcular o fatorial do número que for passado para o meu programa e o exibir na tela Isso é o que eu devo fazer com esses dados Quais são as restrições desse problema se nós voltarmos lá à
explicação de fatorial que eu tinha passado para vocês anteriormente vocês vão lembrar que um fatorial não pode ser negativo e tem que ser um valor inteiro Então nós vamos colocar essas restrições aqui deve ser um valor positivo e deve ser um valor um valor inteiro e o que que deve ser né faltou aqui o que que que que deve ser o número o número o número deve ser inteiro colocar aqui embaixo também o número deve ser um valor inteiro Ok Além disso Qual é o resultado esperado o resultado esperado neste caso o resultado esperado é
que o fatorial do número providenciado seja exibido seja seja exibido e agora quais Qual é a sequência de Passos a serem feitas para chegar ao resultado esperado então aqui nós estamos falando do algoritmo Qual é o algoritmo que eu devo montar para depois traduzir para código que vai resolver este problema o problema de conseguir calcular o fatorial de um número que for providenciado Então pessoal eu já tenho aqui a eu já tenho aqui o nosso algoritmo nosso PSE código que nós Montamos anteriormente mas eu fazer ele do zero aqui para você acompanhar comigo se eu
quero calcular o fatorial eu preciso estar fazendo algumas coisinhas aquio preciso de um número então tenho que pegar um número então vou pegar aqui o input de um número depois que tenho esse número eu tenho que veric tenho quear atent restrições é um valor positivo é um valor inteiro então neste caso eu tenho que verificar se o número if número for maior if número é maior que 10 e também if número é igual a inteiro se não for um valor inteiro nós não queremos trabalhar com esses valores feito isso Qual é o nosso próximo passo
nós temos que fazer agora o cálculo que vai chegar que vai nos ajudar a chegar a um fatorial e para que nós possamos calcular o fatorial eu preciso de ter um valor inicial certo então vamos dizer que o fatorial vai iniciar em um e depois disso eu ten que fazer um laço de repetição que vai ir de um até o número que for passado pelo usuário e vai estar calculando o fatorial e o cálculo do fatorial é feito ah da seguinte forma loop de um até o número e aqui dentro desse loop nós temos que
pegar o fatorial e calcular o fatorial Será sempre o fatorial vezes o número atual que estamos iterando naquele momento feito isso eu só tenho que imprimir na tela esse resultado print fatorial certo então agora que nós já temos esse pseudo código montado aqui nós podemos transformar isso em código Python Então vamos fazer isso agora a primeira questão é conseguir a informação sobre o número do usuário então eu vou dizer aqui input digite um número e vou guardar essa informação em uma variável que eu vou chamar de número e como esse como esse valor aqui vai
estar em string eu vou converter para número através do comando int ok nós temos agora o valor em do tipo inteiro e agora isso aqui já resolve por exemplo uma das restrições que é nós precisamos que o número seja inteiro então uma das nossas restrições já foram resolvidas aqui a segunda restrição é o número deve ser positivo Como que eu posso fazer isso eu posso fazer uma comparação if número é maior que zero se o número for maior que zero ele certamente será um número positivo Então somente nesse caso nós vamos Executar a nossa lógica
e a nossa lógica é o seginte seguinte nós temos que declarar um número de fatorial fatorial é igual a 1 e quando eu digo fatorial estou dizendo o resultado das multiplicações vai iniciar com um isso é que eu quero dizer quando eu estou dizendo fatorial e agora eu vou fazer uma repetição por item em Range de um até o número e nesse caso eu estou dizendo número porque eu vou passar do um até o número e esse número foi o número que foi digitado pelo usuário porém como nós já havíamos visto anteriormente no caso do
Range ele não vai incluir o último valor então eu tenho que vir aqui e adicionar um para que esse último valor seja incluso nesse laço de repetição dois pontos enter e aqui eu vou fazer o cálculo que é este cálculo Que nós tínhamos anteriormente esse cálculo é o seguinte fatorial é igual a fatorial vezes o item o que que significaria esse item esse item é o valor que vai estar sendo gerado Então nós vamos começar de um e ir até um certo valor vamos imaginar cinco Então o que vai ser passado para esse item aqui
é o número que nós estamos rodando atualmente e após ter feito isso aqui nós temos o fatorial calculado e armazenado aqui dentro da variável fatorial tudo que eu tenho que fazer agora é dar um enter backspace e agora eu vou imprimir aqui na tela este fatorial fatorial Vamos testar agora esse código vou abrir aqui o Shell clicar em Shell e rodar esse programa Python projeto 1 que é o nome deste arquivo pon py e dar um enter digite um número Vamos colocar o número CCO e dar um enter e que você pode ver que ele
retornou 1220 e vamos confirmar se esse valor está certo Vamos pesquisar aqui no Google fatorial de 5 e nós podemos confirmar que de fato o fatorial de 5 é exatamente 120 ele diz aqui que o fatorial de 6 é 720 vamos confirmar isso vou rodar mais uma vez aqui Python projeto 1. py enter Vou colocar aqui seis e dar um enter 720 então nós podemos confirmar que o nosso programa está conseguindo calcular o fatorial corretamente certo então eu acabei de demonstrar para vocês como que nós podemos pegar toda essa lógica Que Nós aprendemos até agora
e eu estou falando do método dos 5q e aplicar isso para resolver um problema real neste caso eu estou resolvendo esse problema que pode parecer complexo porque nós estamos usando várias coisinhas novas aqui mas como eu já te disse a ideia aqui não é de ensinar a programar em Python é te mostrar como que você estaria Como que você deve transferir esse conhecimento de entender a lógica de programação para uma linguagem de programação eu fiz em Python Mas você poderia aplicar isso aqui em qualquer linguagem de programação que você estiver aprendendo certo então se isso
aqui ficou complexo eu quero que você volte aqui a essa aula novamente e também compartilhe sua opinião aqui embaixo com as pessoas que estão assistindo esse vídeo e na próxima aula eu vou te dar um exemplo que eu acredito que vai ser um pouco mais fácil que esse que é o exemplo do chute o número vamos agora ver como que nós podemos resolver o projeto chute o número que foi um dos projetos que nós fizemos aqui durante esse curso Então vou criar aqui um novo arquivo chamado projeto 2 projeto 2py e vou colar aqui a
descrição desse projeto e Minimizar essa barra leral para que ela não ocupe espaço Vamos ler aqui a descrição desse projeto Escreva um programa que ao iniciar gera um valor aleatório de 1 a 10 e permite que o usuário chute um número até que o valor aleatório gerado no início do programa seja chutado corretamente o programa deve informar se o chute foi acima abaixo ou igual ao valor aleatório gerado no início do programa e que nós vamos novamente aplicar o método do 5q para montar um algoritmo você deve aplicar isso sempre então aqui Ahã primeira questão
é analisar criticamente o problema tem alguma questão dentro desse problema dentro dessa descrição aqui que não faz sentido para você tem algo que não ficou Claro tem alguma informação que você talvez tenha que procurar ou pedir mais informações para um superior um colega ou algo do tipo tem alguma parte que você não sabe como fazer ainda se a resposta for sim para qualquer uma D situações você deve fazer a investigação e a pesquisa necessária e você deve encontrar essas informações usando as estratégias que eu já passei anteriormente Ou seja você pode estar procurando pessoas ou
de forma mais rápida você pode estar indo atrás de informações com o Google Então vamos resolver aqui agora juntos primeira questão é o seguinte Quais são os dados de entrada necessário Quais são os dados de entrada que eu preciso neste caso eu vou criar um programa que ao iniciar gera um valor aleatório de 1 a 10 então aqui eu já sei que eu necessito de um valor aleatório de 1 a 10 eu posso até copiar essa palavra aqui ó dados necessário valor aleatório de 1 a 10 Além disso permite que o usuário chute um número
até o valor aleatório gerado no início do programa seja chutado corretamente então o usuário vai ter um número também então eu vou colocar aqui que nós temos que também que possuir um chute do usuário e agora a segunda pergunta que que eu devo fazer com esses dados bom vamos ver aqui se nós temos alguma resposta para isso escreve um programa que ao iniciar gera um valor aleatório de 1 a 10 e permite que o usuário chute um número até que o valor aleatório gerado no início do programa seja chutado corretamente o programa deve informar se
o Shut foi acima abaixo ou igual ao valor aleatório gerado no início do programa então o que que eu devo fazer com esses dados eu devo comparar o chute do usuário com do usuário com o valor aleatório que foi gerado no início do programa e dizer se o chute foi maior menor ou ou igual ao valor que foi gerado no início do programa Isso é o que eu devo fazer com os dados e agora Quais são as restrições deste problema nós temos alguma restrição aqui vamos imaginar Vamos ler aqui novamente Escreva um programa aqui ao
iniciar gera um valor aleatório de 1 a 10 nós podemos considerar que isso aqui é um uma restrição o valor deve ser apenas um valor de 1 a 10 não pode ser de 1 a 20 1 a 30 de -5 a -10 nada disso é um valor aleatório de 1 a 10 então Aqui nós temos uma possível restrição Vou colocar aqui essa restrição aparentemente não há mais restrições então nós podemos ir pro resultado esperado qual o resultado esperado neste caso já temos basicamente isso aqui escrito pra gente o programa deve informar se o shute foi
acima abaixo ou igual ao valor aleatório gerado no início do programa Então essa esse é o resultado esperado a gente poderia literalmente só copiar isso aqui o resultado esperado é que o programa deve informar se o shute foi acima abaixo ou igual ao valor aleatório gerado no início do programa então este é o resultado esperado nesse caso e agora Qual é a sequência de Passos a serem feitas para chegar ao resultado esperado ou seja qual que é o nosso algoritmo que nós devemos montar para depois transformar isso em linguagem de programação real escreve um programa
que ao iniciar gera um valor aleatório de 1 a 10 então aqui é o nosso primeiro passo Então vamos colar aqui colocar aqui gerar nós temos que receber na verdade né nós temos que receber um valor aleatório de 1 a 10 esse é o nosso primeiro passo depois que que eu tenho que fazer eu tenho que permitir que o usuário chute um número até que o valor aleatório seja gerado até que o valor aleatório gerado no início do programa seja chutado corretamente então o próximo passo é permitir que o usuário chute então se eu desir
aqui eu tenho que pedir um chute do usuário input shute Então vamos receber aqui o shute do usuário Qual o próximo passo ao iniciar gera um valor aleatório de 1 a 10 e permite que o usuário chute um número até que o valor aleatório gerado no início do programa seja chutado Então como que eu vou descobrir isso aqui como que eu vou descobrir se o dele foi igual a valor aleatório que foi gerado no início do programa eu preciso de comparar certo a única forma de descobrir se algo é verdadeiro é fazendo comparações então eu
vou descer aqui e nós vamos fazer algumas comparações if valor aleatório eh for maior que o chute e Aqui Nós já vamos inclusive resolver uma das outras questões que é nós temos que mostrar o resultado esperado que é se o shute foi acima abaixo ou igual ao valor aleatório gerado no início do programa ou melhor para ficar mais mais claro isso aqui se o shute for maior que o valor aleatório nós vamos dizer o seguinte nós vamos imprimir na tela chute foi maior que o valor gerado porém nós temos uma outra situação que é o
seguinte se o shute então if sho for menor que o valor aleatório nós vamos dizer o seguinte Na verdade nem precisa desses dois pontos no pseudocódigo neste caso eu vou imprimir outra mensagem print shute foi menor que o valor gerado Ok e nós temos uma última situação que é onde o shute if sho for igual a valor aleatório neste caso eu vou imprimir na tela prente você acertou Pronto tem mais alguma situação que nós não cobrimos aqui aparentemente nós estamos conseguindo aqui entregar todos os resultados então nós conseguimos aqui resolver este problema o problema está
resolvido e agora nós podemos então transformar isso em um código Python eu vou descer aqui agora nós já temos esse PS do código que você pode perceber que ele é muito parecido com o código Python então fica bem mais fácil já ter algo como base antes de começar a escrever o seu código Então nesse caso vamos começar aqui recebendo alguns valores aleatórios Porém para você gerar um valor aleatório no Python você tem que fazer a importação de uma biblioteca chamada Random eu vou chamar ela aqui usando o comando Import Random e agora nós vamos receber
esse primeiro valor valor aleatório é igual a Random P Rand int que aqui eu vou passar um valor entre 1 e 10 certo então o que eu estou fazendo aqui é gerar um valor um valor aleatório de 1 a 10 e eu estou fazendo isso através da ajuda de uma biblioteca que existe dentro do Python certo eu não espero que você saiba que é possível fazer isso mas aqui também vai entrar a parte de investigação se você por exemplo não sabe gerar um valor aleatório com python Qual que é a sua responsabilidade pesquisar no Google
como gerar um valor aleatório com python Viu como é simples você não precisa de saber você apenas precisa saber pesquisar Essa é a parte mais importante quando você está criando algoritmos do zero então nós já temos aqui nossa primeira parte que é um valor aleatório de 1 a 10 o segundo passo agora é pedir o usuário que ele chute um valor né então vamos lá input shute um valor de 1 a 10 e eu vou guardar essa informação em uma variável chamada sho só que como nós mencionamos anteriormente eu não posso comparar valores de texto
que é o caso do string com uma questão matemática que é por exemplo o valor aleatório que está aqui em cima Então eu preciso converter esse input esse texto para um tipo inteiro e agora vou seguir e quando eu faço isso eu já consigo fazer comparações matemáticas com ele e agora eu só tenho que fazer as comparações que nós descrevemos aqui em cima Isso deve ser relativamente fácil agora então eu vou fazer aqui if sho maior que valor aleatório dois pontos enter eu vou imprimir na tela eu posso até copiar essa mensagem aqui ó exatamente
a mesma mensagem sho foi maior que o valor gerado Vou colocar aqui embaixo Só que no caso do Python eu não vou continuar escrevendo if if if para sempre aqui como eu já disse no caso do Python se você tem mais de uma condicional você vai usar o l if e não o if Ok então neste caso l if shoot for menor que valor aleatório neste caso eu vou dizer o seguinte print eu vou pegar essa mensagem que já está pronta aqui em cima sho foi menor que o valor gerado e colocar ela aqui embaixo
e agora é outra situação onde o valor gerado é igual a valor do shute então L if sho for igual a valor aleatório dois pontos enter vamos imprimir você acertou beleza vamos testar Esse programa aqui para ver se ele está funcionando de fato eu vou rodar ele aqui na direita vou clicar em Shell e digitar aqui o comando Python e o nome desse arquivo é projeto 2 projeto 2. py e dar um enter chute um valor de 1 a 10 Vamos colocar dois o shute foi menor que o valor gerado Ok então nosso programa está
funcionando você vê que ele funciona corretamente só que você percebe que eu chutei uma vez e ele já parou de funcionar certo não foi exatamente um requisito do noso do nosso programa de você manter o programa rodando infinitamente Até que a pessoa acerte porém caso você queira fazer isso O que poderia ter sido feito nesse caso é o uso de do laço while então vamos fazer o seguinte aqui vamos criar uma variável chamada acertou que vai iniciar como false a pessoa não acertou ainda E então nós vamos rodar um laço while enquanto o acertou for
igual a false então quando a pessoa então enquanto a pessoa não tiver acertado nós vamos continuar rodando este programa e nesse caso eu preciso de pegar todo esse bloco que estava aqui dentro e indentar ele usando o tab seleciono tudo e aperto o tab e agora o nosso código vai rodar só que faltou aqui um igual são dois iguais no caso de Python o nosso código vai rodar Enquanto essa variável acertou for falsa então eu não vou modificar ela em momento algum aqui ou aqui porém se a pessoa acertou aqui então nós temos sim que
modificar essa variável então eu vou modificar aqui a variável de acertou para true E aí nesse caso quando ele voltar aqui em cima e fazer essa comparação mais uma vez ele vai perceber que agora o acertou a true e vai parar de rodar esse código certo então vamos rodar aqui esse programa mais uma vez Python projeto 2 pon py e dar um enter shute um valor de 1 a 10 Vou colocar aqui C então que que nós temos aqui o nosso loop rodando infinitamente isso porque eu peço apenas uma vez aqui paraa pessoa chutar um
valor e depois eu comparo aqui embaixo porém como eu não comparo porém como eu não faço essa pergunta em mais nenhum momento aqui dentro do meu laço de repetição ele vai simplesmente ficar fazendo essas comparações infinitas com exatamente a mesma resposta sempre mas vamos dizer que eu tenha estudado o número cinco e o número cinco é maior que o valor aleatório então o que que vai acontecer ele vai chegar aqui e vai comparar c é maior que o valor aleatório Sim então ele vai rodar Esse comando aqui como eu não faço a pergunta novamente ele
vai voltar aqui fazer a mesma comparação e encontrar a mesma resposta então você basicamente vai ter um Loop Infinito aqui então para evitar esse Lupo infinito você vai pegar esse essa pergunta que é feita somente uma vez e vai colocar ela dentro do seu laço de repetição aqui certo então deixa eu dar um espaço aqui e agora eu sempre que rodar esse laç novamente fazer a pergunta e assim não vou ter um laço de repetição infinita deixa eu apagar aqui apertando xizinho e nós vamos rodar esse projeto mais uma vez Python projeto 2 p py
vou dar um enter shute um valor de 1 a 10 na verdade deixa eu fazer uma pequena correção deixa eu colocar aqui um espacinho para que fique mais legível isso ok coloquei um espaço vamos rodar mais uma vez deixa eu vamos rodar aqui mais uma vez Python projeto 2 p py chute um valor de 1 a 10 vou colocar cute foi maior que o valor gerado Então olha ele respondeu mas agora eu posso chutar novamente sem cair naquele Loop Infinito vamos dizer que eu vou chutar dois foi menor que valor de vamos dizer que eu
vou chutar três chute foi menor que valor gerado Vamos chutar quatro você acertou perfeito então aqui você tem a lógica necessária para criar um programa que faz esse tipo de decisão e que controla o que está acontecendo dentro de um laço de repetição esse conceito aqui como qualquer coisa na vida se você tá vendo pela primeira vez vai parecer bem difícil e só vai se tornar fácil quando você pratica isso aqui várias vezes internaliza os conceitos que nós estamos vendo aqui então o que eu recomendo é que você pegue esse código aqui que você vai
criar enquanto você acompanha essa aula e faça ele do zero refaça ele do zero várias vezes para que você possa internalizar esse conhecimento e agora para que nós possamos finalizar nós vamos para nosso projeto número três Então vamos agora ao nosso projeto número trê que vai estar aplicando esses conceitos Que Nós aprendemos até agora então para isso eu vou criar aqui um novo arquivo chamado projeto 3 projeto 3. py e eu vou colar aqui a descrição desse projeto eu vou Minimizar essa barra lateral e vou colar aqui a os 5 PS então aqui está a
descrição desse projeto e abaixo eu coloquei aqui o método 5qs levando em consideração a velocidade máxima permitida de 80 km em uma determinada Rua crie um programa que recebe do usuário um valor que representa a velocidade e com base nessa velocidade diga se ele tomou uma multa leve grave ou gravíssima levando em consideração que se a pessoa estiver abaixo da velocidade máxima o seu programa deve exibir não houve multa Caso esteja até 10 km acima deve exibir levou multa leve Caso esteja entre 11 a 20 Km acima da velocidade máxima exibir levou multa grave e
Caso esteja acima de 20 Km acima da velocidade máxima iiba levou multa gravíssima Então vamos lá vamos aplicar aqui os o método 5q Quais são os dados de entrada necessário neste caso dê um pause aí eu quero que você encontre os dados de entrada nessa situação Então nesse caso nós temos apenas um dado de entrada que é o seguinte se você ler o problema aqui você vai notar o seguinte levando em consideração a velocidade máxima permitida Cri um programa quebe palave quebe do usuário um valoresa velocidade então aqui é a informação que nós precisamos o
que nós precisamos é a velocidade velocidade e agora eu tenho que saber o que que eu devo fazer com esses dados se você ler aqui esse problema ele te diz exatamente o que que nós temos que fazer Inclusive eu poderia literalmente copiar essa resposta aqui ó levando em consideração que se a pessoa estiver abaixo da velocidade e que vai passar todas as instruções necessárias que você deve estar utilizando neste caso então literalmente isso que eu devo fazer aqui ó é basicamente O que está sendo que está sendo pedido neste momento aqui então vou copiar aqui
as informações e e agora Quais são as restrições deste problema Há alguma restrição nesse problema vamos ver aqui então aparentemente Não consegui identificar uma restrição nesse caso aqui então nós vamos continuar Qual é o resultado esperado o resultado esperado é somente essa parte aqui ó somente essa parte eu quero eu vou exibir mensagens diferentes então então neste caso o resultado esperado é exibir a mensagem que corresponde ao nível da multa que a pessoa levou eu vou colocar entre parênteses aqui essa explicação na verdade faltou falta uma parte aqui toda essa questão aqui vou colar aqui
embaixo e agora Qual é a sequência de Passos necessárias que sejam feitas para chegar a um resultado esperado então se você ler aqui novamente o programa isso vai te ajudar muito a conseguir ter o raciocínio necessário para chegar à solução desse problema para chegar a aos pequenos Passos as pequenas instruções que você deve passar pro computador para chegar a essa solução então eu recomendo que você leia novamente aqui o o problema eu vou deixar ele aqui na tela quero que você dê um pause e tente encontrar aí quais são os passos necessários para chegar a
este resultado certo então vamos lá vamos montar agora essa sequência de Passos a primeira coisa que eu tenho que saber é qual a velocidade a pessoa está passando naquele momento porque esse é o parâmetro que vai ser utilizado em todo o programa aqui então eu vou pedir um input do usuário da velocidade atual com essa velocidade atual eu já consigo pensar em quais as comparações eu deva fazer nós temos uma outra situação que é explícita aqui que é o seguinte a velocidade máxima permitida é 80 km então nós podemos imaginar que nós temos que ter
uma variável que controla a velocidade má Má e definir que ela vai receber 80 como a velocidade máxima então eu posso descer aqui e também colocar a velocidade máxima então velocidade máxima vai receber 80 porque isso aqui não é algo dinâmico é algo fixo que Foi estabelecido pelo programa então não tem necessidade de você pedir essa informação do usuário porque ela já foi exigida de forma fixa Então agora eu já tenho os parâmetros necessários para fazer as comparações a primeira comparação que eu devo fazer com base nos cálculos que são explicados aqui é o seguinte
crie um programa que recebe do usuário o valor que representa velocidade ok com base nessa velocidade diga se ele tomou multa leve grave ou gravíssima levando em consideração o que se a pessoa esver abaixo da velocidade máxima o seu programa deve exibir não houve multa Então vamos colocar essa condicional aqui if velocidade for menor ou igual a velocidade máxima vamos dizer que você vamos imprimir na tela não não levou multa a outra situação é a seguinte Caso esteja até 10 km acima deve exibir levou multa leve Ok Então como que eu posso representar isso então
if velocidade for maior que a velocidade máxima e a velocidade for menor ou igual a velocidade máxima mais 10 nós vamos dizer o seguinte vamos imprimir na tela você levou multa levou multa leve é isso que está sendo pedido aqui vamos ver Caso esteja até 10 km acima deve exibir levou multa leve Ok então até 10 km acima nós vamos levar multa leve então aqui eu comparei a velocidade com velocidade máxima se for maior e a velocidade for menor ou igual que a velocidade máxima mais 10 que é o nosso critério aqui certo esse mais
10 vem do 10 km acima então não preciso de colocar fixo aqui né eu posso simplesmente pegar o valor da velocidade máxima mais 10 para ficar mais claro e ele vai ter levado a multa leve Então qual é a nossa próxima situação aqui caso esteja entre 11 a 20 Km acima da velocidade máxima exibi levou multa grave Então nesse caso if velocidade for maior que a velocidade máxima + 11 e velocidade for menor ou igual a velocidade máxima + 20 eu vou imprimir na tela o seguinte levou ops na verdade não tem parênteses aqui no
Pou do código não precisa desses parênteses levou multa grave e no último caso Aqui nós temos o seguinte Caso esteja acima de 20 Km da velocidade máxima exiba levou multa gravíssima Então vamos fazer essa comparação if velocidade maior que velocidade velocidade máxima mais 20 vamos imprimir na tela print levou multa gravíssima Ok então agora nós temos todos os casos considerados aqui certo então vamos aqui agora transformar esse código em um código Python Então vamos fazer aqui essa mesma questão primeiro preciso de pedir a velocidade do usuário então nós podemos fazer isso da maneira que você
viu anteriormente que é input Digite sua velocidade vou guardar uma variável chamada velocidade velocidade e eu vou também transformar esse valor para inteiro para que eu consiga comparar ele abaixo Vamos definir uma velocidade máxima velocidade máxima é igual a 80 e agora nós basicamente podemos copiar essas comparações porque vai ser basicamente igual Olha que legal então se eu fizer aqui a primeira comparação velocidade for menor ou igual máxima nesse caso eu vou dizer o seguinte print não levou multa porém agora nos próximos casos Eu não vou usar o if vou usar o l if para
economizar espaço na memória para caso essa primeira condição seja verdadeira ele não necessite ficar processando nada que venha abaixo disso ele simplesmente sai aqui da das avaliações certo então L if velocidade for maior que velocidade máxima e na verdade não ir né aqui no inglês é and então aqui nós estamos fazendo uma comparação composta onde nós temos mais de uma condição onde que que nós estamos comparando então and velocidade for menor ou igual a velocidade máxima mais 10 nós vamos imprimir na tela levou multa leve Ok o outro caso é velocidade maior que velocidade máxima
mais 11 and velocidade menor ou igual a velocidade máxima mais 20 nós vamos imprimir na tela levou multa grave e o último caso aqui é o l if velocidade maior que velocidade máxima mais 20 nesse caso caso seja maior nós vamos imprimir na tela levou multa gravíssima e agora claro que nós temos que testar isso aqui para saber se está funcionando porque se você lembra do ciclo de desenvolvimento de software nó nós precisamos sempre testar para ver se está funcionando então aqui meu projeto se chama projeto 3 eu vou rodar ele aqui Python projeto 3
ppy e dar um enter ele está pedindo aqui digita a velocidade deixa eu dar um espacinho nessa frase para ficar um pouco mais claro aqui né salvar aqui deixa eu rodar novamente Python projeto 3 P py dar um enter Digite a sua velocidade Vamos colocar Lembrando que a minha velociade máxima é 80 Tá então vamos colocar aqui eu eu sei lá eu passei uma velocidade 70 que que vai acontecer eu não levei multa beleza é exatamente isso que eu espero porque a velocidade máxima é 80 vamos rodar mais uma vez aqui projeto 3. py e
agora vamos dizer que eu passei em 85 km/h o que que vai acontecer levou multa leve então levei a multa leve por se eu passei em 85 eu vou cair aqui ó vou cair nessa situação certo deixa eu rodar Mais uma vez vou apertar a setinha para cima para ele executar o mesmo no comando novamente dar um enter Digite sua velocidade vamos dizer que eu passei aqui a 9 98 km eu agora levei uma multa grave por 98 km vai cair dentro dessa condicional aqui certo vamos rodar mais uma vez e agora eu passei a
200 por hora tô na minha Ferrari ali passei 200 por hora e agora levei uma multa gravíssima então se você estava a 200 km/h Você agora está levando uma multa gravíssima então é dessa maneira maneira que você pode resolver esse problema em específico Lembrando que eu vou deixar aqui na descrição desse vídeo um link de apoio onde você vai encontrar todos os materiais que foram usados neste curso e na próxima aula eu vou te mostrar como que você pode lidar com problemas mais complexos talvez você estejam com essa dúvida que é o seguinte Jonathan como
que eu vou fazer depois quando eu quero lidar com problemas mais complexos programas que são muito maiores do que simplesmente comparações aqui de fatorial ou comparações de medidores de velocidade sim certa ente você vai trabalhar com coisas mais complexas do que isso e eu espero que você também faça isso porque isso vai te ajudar bastante a a trabalhar a sua capacidade cognitiva Mas o importante é que você entenda o seguinte independente do tamanho do problema você nunca resolve um grande problema de uma vez você sempre pega esses grandes problemas quebra eles em micro problemas e
você resolve um micro problema por vez Então Nunca tente resolver um grande problema de uma vez você vai sempre quebrar um problema maior em um micro problema e você vai resolver esse micro o problema e gradativamente você vai estar englobando o problema como um todo certo essa a estratégia que você deve usar para lidar com problemas mais complexos Ah você chegou aqui ao final do curso parabéns cara eu tenho certeza que você deve ter penado bastante T tendo bastante dificuldade mas é normal e eu espero que você também tenha essa dificuldade tenha os seus os
seus braços ralados aí porque se você não tá ralando se você não tá tendo dificuldade Então você provavelmente também não tá aprendendo então fica tranquilo isso é normal faz parte do processo e eu queria dizer aqui também que se por acaso esse curso esse material te ajudou de alguma forma e você gostaria de apoiar esse trabalho que eu estou fazendo aqui para que eu possa continuar trazendo esse tipo de conteúdo para você eu vou deixar na descrição desse vídeo um local um link onde você vai poder apoiar esse canal financeiramente fazendo uma doação e se
você quiser fazer uma doação eu peço que você faça uma doação de acordo com o valor que você acredita que esse curso gerou para você na sua vida beleza e agora um última consideração antes de fechar esse curso bom bom antes de tudo antes de falar qualquer coisa aqui eu quero dizer cara parabéns se você chegou aqui no final sabe que você é um dos poucos que chega ao final das coisas a maioria das pessoas desistem rápido elas desistem e realmente elas nunca vão chegar ao potencial delas Esse é o fato da vida se você
é um desses que chegou até o final eu quero que você deixe aqui na descrição dizendo o seguinte eu cheguei até ao final e me deixa também aqui a opinião o que que você achou desse curso Isso vai ser muito importante para que eu entenda Quanto isso impactou E como que isso mudou a sua vida de alguma forma isso é muito importante para mim e agora uma direção para você que quer continuar na área de programação e quer então encontrar se encontrar nesse mercado Qual que é a minha instrução para você primeiro é o seguinte
cara eu preciso que você descubra qual é a área que você mais gosta de trabalhar nós temos diversas áreas dentro da programação e eu vou te dar alguns exemplos aqui de umas áreas que você pode estar explorando você tem a área de desenvolvimento para desktop desenvolvimento web você tem a desenvolvimento de aplicativos mobile você tem a parte de automação de processos você tem a parte de análise de dados e você tem outras questões aqui que eu não vou entrar Essas são as áreas principais e o que eu quero que você descubra é qual área mais
te interessa qual área mais é interessante para você e para descobrir qual dessas você mais interessa você vai simplesmente ter que começar a fazer projetos naquela área para ver se algo que te chama atenção algo que faz sentido para você então eu recomendo que você faça isso e eu adoraria ser o seu professor em todas essas áreas que você escolhesse mas eu não sou eu não consigo me replicar infinitamente eu só tenho uma só sou uma pessoa então eu decidi montar esse curso para ajudar o máximo possível de pessoas porque esse conceito vai ser a
base o fundamento para qualquer coisa que você escolher fazer então eu quero te desejar uma boa sorte nas suas escolhas e eu quero dizer também que se você está gostando desse vídeo Não esquece de se inscrever de curtir aqui comentar e acompanhar aqui porque logo logo nós temos mais aulas e mais vídeos saindo aqui nesse canal um grande abraço e eu vejo você na próxima tchau tchau