[Música] [Música] olá caros alunos do curso técnico em automação com a automação industrial hoje nós vamos tratar na aula 2 a continuação da disciplina programação dispositivos meu nome é antônio santos de souza e isso o professor que vai acompanhar vocês durante esta disciplina bom o roteiro da nossa aula de hoje a gente vai trabalhar estruturas fundamentais dentro de qualquer linguagem de programação que a gente vai apresentar ali está presente também em outras linguagens a gente vai tratar especificamente da nossa linguagem que é a linguagem de programação c então a aula de hoje vai ter estruturas
de seleção nós temos basicamente três tipos de estruturas de seleção simples composta e encadeada estrutura de repetição que nós podemos ter lá acontece no fim teste no início ou compradas primeiro estrutura de condição que a gente vai trabalhar é a estrutura de conexão simples primeiro que é uma estrutura de condição é alguma decisão a um ponto de decisão do nosso código que vai precisar de algum tipo de avaliação fazer aqui uma analogia você tá no seu carro na sua mota só bicicleta ou mesmo andando a pé chega no cruzamento onde tem a opção de você
ir para a direita ou para a esquerda então uma estrutura de condição é exatamente isso a idéia de você tem um caminho diferente para seguir dependendo da escolha que você quer vamos supor que você queira estava em dúvida se ia para o shopping eu ia para a academia o shopping fica pra esquerda e academia fica pra direita então essa decisão que você toma aí na sua cabeça você passou por uma condição dependendo do seu humor que você estava você vai para a direita academia ou você vai para a esquerda para o shopping é exatamente isso
que a gente vai tratar aqui a estrutura de condição simples que a gente utiliza é o ifif quer dizer se a instrução as instruções em sessão inglês mas não se preocupem com isso né são muito poucos e facilmente a gente vai lembrar e fiquei dizer se a gente pode escrever ela como if seguida de uma condição seguida de um comando se esse comando que o iphan vai executar com apenas um comando ele não precisa abrir nem fechar chávez se pelo contrário a gente tiver mais de um comando de acordo com essa condição a gente vai
precisar abrir e fechar chaves para representar que isso é um conjunto de comandos que acontecem se a condição for verdadeira nós temos aqui um exemplo pra verificar se o número armazenado em área maior que o número em b se a condição da verificação se há se verdadeira condição a linha nova e será executada no nosso algoritmo aí do lado direito caso contrário não vai ser exibido na tela então vamos entender o código nós declaramos duas variáveis a e b nós botamos uma mensagem para nosso usuário usando print efe esse princípio ele não tem nem 1%
alguma coisa porque nós não queremos exibir nenhum valor de uma variável só queremos exibir um texto esse texto a gente chama de stream que é o que vai ser exibido aí quando você executar esse código digite o número seguir da leitura e escreve agora nós vamos trabalhar com avaliar nós precisamos dizer a qual tipo dessa variável então no caso por cento de representa o número inteiro vírgula e comercial o identificador da variável que é o aaa na linha 6 e 7 nós temos a mesma instrução pra variável bem a ele faz a verificação a fé
é maior que b se esse resultado que a pessoa digitou na linha 5 e na linha 7 não há por exemplo o 2 e no b por exemplo 32 é maior que 3 na falso então nada vai ser exibido se pelo contrário ele digitar na linha pra na linha 5 valor pra 10 e para ba2 10 é maior que 2 então a linha nova vai ser executada ele vai dizer 10 é maior e vai finalizar o nosso código no final de um code em ser é de comum que aparece essa instrução orgânica 0 não se
preocupe por agora a gente vai tratar dela mais à frente mas é o retorno da nossa função principal outra observação que a gente tem que ver é que na linha 1 tem um cloud stde ou ponto a garra que apresenta isso pra usar a função print fpf a gente precisa dessa biblioteca que é fornecida nessas instituições para exibir dados e fazer leitura de dados continuando nós temos também estrutura de condição composta o que é uma estrutura de comissão composta é dono caso a gente tem mais de uma opção de escolha a gente vai ter a
instrução e se ea instrução elsie senão elas só o el se só existisse antes tiver o iff ela é representada como if uma condição um comando que vai ser executado caso seja verdadeiro joel se apresenta à execução caso o comando do iff a instrução lado iffhs seja falso se a gente tiver mais de um comando dentro do ifw de kiel se a gente precisa representar esse bloco de comandos usando as chaves do sac continuando nossa exemplo melhorando aquele que agora vai dizer se o número verificar se o número é maior que b ou c é
igual ou ou o descobrisse a é igual a b ou maior a instrução então a gente começa fazendo a leitura das variáveis do mesmo jeito que no exemplo anterior imprima instrução para saber o que está sendo feito faz a leitura com ska efe sempre indicando o tipo da variável que a gente vai ler e o endereço da variável representado pelo operador e faz isso pro a e para o bebê desculpe o operador e comercial então como é que funciona essa instrução se a maior que bb a linha 9 vai ser executada ou seja se um
teste feito na linha 8 foi um verdadeiro a linha nova vai ser executado se for falso o a linha 11 é que vai ser executada estão pegando o exemplo fazendo um exemplo aqui rapidamente se por exemplo a ele digitar 2 e no b ele digitar para o baile digitar 32 maior que 3 isso é falso então a linha 11 vai ser executado se ele digitar a variável a 5 e para a variável b1 vai ficar 5 é maior que um verdadeiro a linha nova e se executada a ele vai exibir 5 é o maior em
outro caso é que a gente pode verificar se a foi guabi num caso ser digital pro a 2 e pub dois também se a maior qb é maior que b2 é maior que 2 falso se deu falso o papel se vai ser executado na linha 11 vai ser executada então o elche representa a negação da linha 8 ea negação de a maior qb é o az e menor que b ou c é igual a ab outro tipo de estrutura de condição que a gente encontra isto de condição encadeada onde a gente tem vários testes que
precisam ser feitos dentro da nossa instrução ela é representado por iffhs e elsys é um dentro do outro então nós temos riff uma condição elsie aí a gente precisa fazer uma nova condição a if aí nós vamos ter a execução do comando elsie e outro comando se a gente tiver mais de um comando ele precisa colocar as chaves a representar esses vários comandos vamos olhar para o nosso exemplo continua na comparação dos dois números que agora a gente quer olhar se o ar é maior que o bebê se ele é menor que b ou se
ele é igual a gente tem aí três testes que precisam ser feitos o ace maior o a ser menor ou a ser igual nessa situação a gente vai começar o código que nem a gente viu nas nos slides anteriores na linha 1 a gente faz um club spa eo ponto em pagar para poder usar o pente fpf faz a verificação se o for maior que bb a linha 9 vai ser executada se não o que é que se não apresenta se o affo menor bebê ou se o a foi igual a b só que a
gente não quer essas duas juntas a gente quer olhar também se o ar é menor ou se o igual então a gente faz mais um teste if a menor que b então se o ar for menor que b a linha 12 vai ser executada se não se ele não é o anão é maior não é menor só sobra a situação dele sei qual então se a gente pegar o nosso exemplo colocando valores para essas variáveis vamos supor que leio a variável a o valor 10 e para variável bem o valor 5 a é maior que
o bbb 10 é maior que 5 a linha nova e se executada então vai aparecer 10 é maior que sim noutro exemplo em outra situação se a gente digital valor 1 para a variável a e dois para a variável b a maior que b1 é maior que 2 da falsa então well see vai ser executado da linha 10 aí dentro do oeste tem um f1 é menor que 2 é menor que b são 1 e 2 são valores que tem armazenado entre as variáveis estão a linha 12 vai ser executada 1 no nosso caso 2
é maior que um é o bb vai aparecer na frente noutra situação das duas variáveis serem iguais por exemplo igual igual a 5 aí é 5 e b é 5 então aí é maior que b5 é maior que 5 falso a linha 10 vai ser executado na linha 10 nós temos o iff logo abaixo da linha 11 5 é menor que 5 também é falso então é você vai ser executado onde ele vai exibir que os dois números são iguais então e fiel se em cadeados a gente vai ter várias variáveis o disco vários testes
que precisam ser feitos onde esses testes um dependem do outro outra estrutura que a gente pode utilizar o comando suíte case suíte é uma estrutura de seleção composta onde a gente tem um a gente quer verificar uma variável em comparar ela com diversos valores para saber se ela é igual a esses valores ele é representado pelo pela palavra suíte uma variável abre chaves e nós vamos ter vários cases para cada valor que a gente precisa dentro de cada case a gente precisa ter a cláusula break ea gente pode ter uma opção de fogo que é
caso não seja nenhuma das condições acima vai ver nosso teste aqui então nesse problema a gente vai ler um número indicar qual o dia da semana esse número representa então um vai ser o domingo 2 a segunda 13 a terça assim sucessivamente então ele começa declarando uma variável inteira sem indica usando preencher efe a leitura dessa variável né usando isso que o f é uma variável inteira a ele entre no suite suítes em intervalo o valor da variável sem caso seja um ele vai imprimir domingo e na última instrução do case a cláusula break se
não for nenhuma dessas opções não foi um dois três quatro cinco sete ou de foi executado aí vai aparecer a mensagem a opção inválida então esse é o nosso caso só pra gente colocar como exemplo um pouco o nosso usuário digite para variável sem um valor 21 suítes em vai cair não case 2 então ele vai aparecer a mensagem segunda ser digital um valor maior que 7 ou menor que 1 por exemplo digital valor 10 vai aparecer a mensagem a opção inválida em cada quem se tem um break mas ele não é obrigatório um detalhe
importante e se não colocar o break o que aconteceria quando um case for verdadeiro por exemplo se você digitar um eo case um for verdadeiro o que é igual a 1 ele vai exibir domingo segunda terça quarta quinta sexta sábado e opção válida ou seja ele em cadeia todos os case por isso que a gente precisa o break pra que ele pare break quer dizer pará então acabamos as nossas estruturas de seleção e agora nós vamos para as estruturas de repetição nós temos também várias estruturas de repetição da pena como teste vai ser executado a
primeira instrução é o l contest no início quem apresenta a instrução contato no início o alho e quer dizer enquanto enquanto a condição for verdadeira ele vai executar os comandos que estão dentro dele quantas vezes até a condição ser verdadeira a gente vai pode executar uma duas três nem definida às vezes até que o com a condição seja falsa do mesmo caso do iff se ajeitam colocar e chávez é que a gente só tem um comando que é o comando logo abaixo do olho que vai ser executado se a gente colocar as chaves a gente
vai ter vários comandos que possam ser executados então aqui nós temos um exemplo pra calcular soma 200 primeiros números inteiros positivos ou seja caso ele seja 10 o programa irá calcular soma de 1 até 10 é um problema relativamente simples calcular a soma de vários números definidos pelo usuário então nosso código ele começa na linha um agente importante da biblioteca std.n o ponto a águ a contag é obrigatória para a gente poder usar o pente fcf cria uma variável contador observe que logo a gente atribuiu um valor 1 a gente cria uma variável soma atribuiu
um valor zero e em como a gente não vai ler a gente não coloca nada que faz a leitura da variável n aí ele tenha entra na condição enquanto contador menor quem vamos supor que o valor digitado pra n seja 3 então um é menor ou igual a 3 verdadeiro então ele vai entrar dentro da instrução do alho na linha 11 só uma recebe soma mais contador qual o valor inicial de soma zero qual o valor do contrato inicial 10 mais 111 vagas será armazenada em somma e o contador vai ser incrementado em um computador
recebe contador mais um outra opção para essa linha 12 é a gente colocar contador mais mais também é algo muito com muito comum entre a linguagem c que representa exatamente o que tem na linha 12 contador recebe contador mais um round 1 e vai para a 2 ele volta para a linha 10 2 é menor ou igual a 3 é verdadeiro ele entra na só entra na linha 11 para executar mais uma vez um mais dois que é o valor que tinha anteriormente soma mais o valor do contador sobre o valor do contrato agora é
2 2 mais 2 ou desculpe mais 23 é o valor que dá armazenada em somma contador vai pra 3 ele volta para a linha 10 3 é menor ou igual a 3 verdadeiro soma recebe soma mais contador o valor do contador 3 eo valor que tem som é 33 mais 36 a linha 3 vai ser executada novamente três mais um é quarto volta para a linha 10 4 é menor ou igual a 3 falso a condição finaliza aí e ele executa linha 14 não executa mais as linhas 11 12 porque a minha condição foi falsa
um outro teste outra estrutura de repetição que a gente tenha acontece no fim o do alho ele funciona do mesmo jeito é repete o que está dentro do seu comando como observação o teste só será feito no final enquanto o alho o teste é feito no início no do alho teste é feito no fim do código então nós temos o mesmo problema agora com do ali na linha 1 importa biblioteca stde ou para poder usar o print fpf faz a leitura da nossa variável em só que na linha 10 em vez de ter um teste
ele já entra na repetição e só no final da repetição é que ele faz esse teste aí quando esse teste for verdadeira ele volta pra minha 10 executa as linhas 11 e 12 e faz o teste essa é a principal diferença pro o ali que a gente viu mas ele funciona é com um teste no final e fez um teste no início o mesmo problema representado agora com do alho a leitura do problema é semelhante andre o que vai mudar apenas o teste que vai acontecer no fim e nós temos a estrutura de repetição forma
a estrutura de repetição forró ela é diferente das estruturas anteriores porque agora a gente vai ter ela dividido em três partes é uma estrutura de repetição que nós vamos ter uma parte de inicialização uma condição incremento ela tem três partes na sua declaração e um conjunto de comandos caso a condição seja verdadeira se a gente tiver mais de um comando a gente vai precisar do abre e fecha se chávez então a inicialização que ocorre essa iniciação a gente pode atribuir a variável que vai ser usado para controlar a nossa repetição na condição a gente testa
essa variável e no incremento a gente aumenta essa variável de acordo com o que a gente foi estabelecer então mesmo exemplo anterior conforme a gente de cara a gente já percebe que ele é um comando que como tudo é feito dentro do do bloco do comando logo no início do comando ele se torna um comando mais simples e mais fácil de ser entendido é uma estrutura de repetição mas é simples de se trabalhar mas a gente tem aí a representação do mesmo problema que a gente fez com o ali o do wine e agora com
o foco somá los em primeiros números então a gente começa com a importação da biblioteca clube esta ideia ou pra gente poder usar o pente fpf é claro a variável soma declara variável e n imprima mensagem pra que a gente saiba o que a gente vai lê faz a leitura de um número inteiro entra no foco int contador recebe então o primeiro falou do contador vai ser um enquanto contador menor ou igual em a leitura igual no alien enquanto o contador menor ou igual a eni contador mais mais como eu já havia dito anteriormente a
instrução contador recebe contador mais um ela pode ser substituída por contador mais mais e na linha 10 ele executa aquela instrução que é só uma recebe soma mais contador toda vez que vocês vêem uma instrução como essa significa que a variável soma ela vai receber o valor anterior dela somado com o novo valor em sinal de mais mas poderia ser subtração multiplicação divisão qualquer operador e um médico que não tem problema ao mesmo problema de escrito ali ea condição a gente faz a leitura com o se fosse enquanto enquanto contador menor ou igual a ele
só que a instrução vai ser o forro pronto a gente tem aqui um problema que a gente vai trabalhar utilizando as as três estruturas de repetição verificar quanto os números de visíveis por cinco existe um em mil para este problema será apresentada uma solução usando as três estruturas de repetição primeiro como é que a gente verifica se um número é divisível por outro a gente usa o operador de módulo que é 1% a gente verifica se o resto dessa divisão é igual a 5 o disco se o resto da divisão diz do número por 5
é igual a zero ou seja o 5l de 20 todo o número e isso é representado pelo operador de porcentagem operador de módulo o resto da divisão que tem um exemplo x por cento y eu quero o resto da divisão de x por y 10% 31 resultado 1 1 ou seja quer o resto da divisão de 10 por 3 a 1 e 10 por cento e cinco ou dez módulo por cinco nós temos é o 10 / 5 a 2 eo resto a 0 e é exatamente 10 que a gente quer então usando o alho
a gente comece importante essa idéia eu pra poder usar o pente efe aqui nós não precisamos de nenhuma variável pra ler os valores já que o nosso limite é de 1a mil enquanto o menor ou igual a mil o que ele vai fazer ele vai pegar o i calcular o resto da divisão por 5 e comparar com 10 se isso for verdadeiro nós temos que o aumento em 1 o valor presente em 1951 quando começa com 10 toda vez que encontra um valor divisível por 5 ele aumenta em um esse valor é de 25 mas
mais representa exatamente isso tive cinco recebe 25 mais um pode resumir assim o que a gente vai encontrar mas comum nos livros e nos exercícios então quando ele terminar essa execução dessa repetição o observa e vai aumentando de um então ele vai de um dois três quatro cinco até mil ele vai pegar todos os números de 1 até mil e ver quais são visíveis por cinco na linha 6 toda vez que encontra um número de visível assim que ele aumenta em 1 essa variável que vai representar isso quando termina essa repetição ele imprime a mensagem
existe o centro de ou seja no lugar desse por cento é o valor que está na variável de 25 divisores de 51 mil nós vamos ter essa quantidade se você executar esse código você vai ver quantos números de quantos divisores de cinco existentes 1 mil aqui usando do ali observa que o teste é igual é em menor ou igual a 5 enquanto e menor ou igual a 1.000 desculpe só que ele ocorre no final e usando o foco e menor ou igual a mil o mesmo teste só que agora todo no bloco ea parte incremento
todo também no início do fogo então um comando mais simples porque a gente tem toda a instrução dentro logo no começo do código dentro o começo do fórum então por hoje é só nós concluímos mais uma parte se vocês quiserem é aprofundar os conhecimentos vocês podem ver nestes livros presentes nas referências obrigado