[Música] [Música] olá caros alunos do curso técnico em automação industrial nós vamos dar continuação a nossa disciplina de programação dispositivos na aula três tratando dos seguintes assuntos vai tratar sobre vetores strings matrizes funções e vamos falar um pouco sobre a plataforma do hino a gente pode executar todos esses códigos que a gente trabalhou aqui na disciplina dentro de um ambiente é que é um microcontrolador vetores ou harris na linguagem c o que é um vetor vetor é um conjunto de valores que a gente pode armazenar representando por apenas uma variável até agora nós tínhamos as
nossas variáveis como a possibilidade de armazenar um único valor dos vetores não a gente vai ter a possibilidade de não ampliar e ável representar vários valores diferentes são vetores são chamados de a reis também são chamados de estruturas de dados homogêneas ou seja elas só podem armazenar dados do mesmo tipo toda todo o setor precisa de um índice que é como a gente vai acessar esses vários valores presentes a eles como é que a gente cria um vetor a gente define o tipo o identificador dele o nome do vetor e diz quantos elementos ele vai
ter ele vai poder armazenar representado ali no tamanho exemplo então nós temos por exemplo o vetor notas o rei notas vetor todos pode ser dito dessa maneira então flot notas abre colchetes estabelece o tamanho de nosso caso é sem festa colchetes estão aí nós temos cem números de ponto flutuante que podem armazenados nesse a rei a primeira posição desse vetor de se a reidentificação pelo índice 0 ea última pelo índice 99 são 1 algo que precisa bastante atenção o vetor tem 100 posições a primeira posição é zero dele a última posição a 99 sempre vai
ser dessa maneira o tamanho do vetor - um da otan o último índice porque o nosso vetor e começa sempre na posição 10 em que quantidade de 50 nós temos um vetor de inteiros de tamanho 50 primeira posição a 0 ea última posição 49 nem sempre nós vamos ter essa correspondência pra gente declarar a inicialização feito um vetor gente pode fazer de algumas maneiras diferentes então por exemplo tenham int número 4 um vetor de inteiros de quatro posições a gente recebe abre chávez ea gente coloca quatro valores e fechava e toda a instrução em 70
internando um ponto e vírgula um exemplo aí é íntimo 14 então nós temos um vetor de inteiro chamado bem com quatro elementos recebe um vilão nós temos um vetor de 4 recebendo os valores são esses dois valores vão ser colocados nas duas primeiras posições do vetor nós temos vários exemplos de como a gente pode atribuir em baixo a gente tem uma observação que é um vetor que a gente não estabelecer um tamanho só que a gente coloca dez números dentro dele então quando a gente coloca dez números dentro dele um processo de criação do vetor
ele vai ter dez posições então um exemplo aqui ler dez números inteiros armazenar um array exibir todos os números armazenados nós temos o código aqui todo comentado em um comentário ele é representado por essas duas barras que representam a explicação que a gente vai dar para o nosso código é importante em algumas situações quando a gente tem algo mais complexo trabalhar dessa maneira nós temos a importação da biblioteca na linha 1 esta ideia ou para poder usar o print f e ska efe a nossa função em que é obrigatória a declaração não vetou em de
tamanho 10 ou seja a primeira posição a 0 ea última posição é 9 a gente tem um print efe o edital para exibir uma mensagem que vai ser o nosso usuário digitar os números do vetor um foco é a estrutura mais simples ele começa na posição 10 porque posição 10 que o vetou ele começa na posição 10 que menor que 10 porque é menor que 10 10 é o tamanho do vetor então se ele vai e menor que 10 ele vai dizer até 9 que representa todos os índios do vetor então como é que a
gente vai fazer essa leitura ali nós temos um print é só para exibir exatamente qual o número que vai ser lido não vetou usando sua representação eu coloquei n abre colchete por cento de fecha colchete recebe e vou colocar dentro de si por cento de o índice que eu vou lê é só pra um para fins didáticos e ele faz a leitura por cento depois que é por cento tempo é um vetor de inteiros e operador de endereço n é o identificador nosso vetor com chantilly que representasse os índices do vetor ele vai começar na
posição 10 e vai até a posição 9 então vai ocupar todos eles então vou ler com essa instrução todos os números do vetor todos os números presentes não vetou no 2º fórum eu vou exibir os números que eu acabei de lei nesta o som na instrução só assim poderia ser outra estrutura de repetição o seu foco porque quando a entrada com vetores o fole dá uma visão mais clara do que está sendo feito e mais fácil a gente trabalhar ó começa do zero até e menor que 10 e ele vai de um 1 sempre lembrando
que o vetou a primeira posição a 0 ele vai imprimir o vetor então ele é um inteiro os elementos do vento ou então eu uso um por cento de para representar isso e na hora que eu vou acessar os alagamentos eu sempre coloco henin com chat e porque eu e representa os meus índices fecha colchete e nós temos a lei a instrução do print f ea nossa saída vai ser exatamente todos os números que foram lidos strong sense' é um tipo especial de vetor stream é um conjunto de caracteres ele vai ser representado na na
linguagem c quando a gente quer uma frase um texto que vai ser armazenado o nome de uma pessoa que apresenta utilizando strings e um estranho pra gente vai ser um vetor de caracteres porque a gente precisa de uma atenção especial para a gente tem porque têm métodos diferentes para a gente trabalhar com ela por exemplo alemães trindade a gente usou gates para exibir uma string ea gente uso putz a gente não vai precisar fazer sempre referência aos índices apenas se a gente tem uma um vetor de caracteres como exemplo andar chamado nomes de tamanho 20
ou seja ele apresenta o nome de uma pessoa com até 20 caracteres então pra ler esses 20 caracteres gatti nomes e para exibir putz nome aí nós temos um exemplo que a gente lê o nome de uma pessoa e exibe o nome da pessoa seguido da mensagem ao 'la olla' e o nome da pessoa não chá nome 20 nós temos um stream chamada nome que pode ter 20 caracteres e pra gente lê gates nomes empresa bp in puts nome um tratamento diferenciado matrizes ou a reis multidimensional dados são estruturas de dados homogêneas multidimensionais que preciso
de um ou mais índice elas são representadas declarando tipo o nome da matriz um identificador que apresenta ela seguir da quantidade de linhas e quantidade de colunas que ele vai ter é um tipo especial de vetor ea desculpa ea rei que a gente pode ter um duas ou mais dimensões geralmente a gente trabalha com duas dimensões mas a gente pode trabalhar com mais dimensões com 3 com quatro com 516 aí pra cada uma dessas dimensões a gente vai estabelecer em um tamanho diferente então pra esse exemplo a gente vai calcular a média de uma turma
com quatro alunos sendo que cata cada aluno tem quatro notas então a gente pode representar essa informação como um 11 a 3 para o 4 são quatro alunos quatro notas cada aluno tem se fossem oito alunos de oito por quatro se fosse 16 aluno e 16 14 se fossem mais notas por exemplo oito notas quatro alunos 497 então 48 então pra representar isso quem vai a precisar acessar as linhas e as colunas do inspetor lembrando que é análogo ao a rei a primeira linha é o primeiro elemento é represado pelo valor zero tanto para a
linha quanto para o aluno e último elemento é sempre o tamanho da linha o tamanho da coluna - 1 então pra trabalhar com a matriz a gente sempre vai precisar de duas estruturas de repetição uma pra percorrer as linhas e outro para percorrer as colunas que é o que a gente tem a partir da linha 9 o primeiro percorre as linhas o segundo percorre as colunas é idêntico ao que seria com a rei une dimensionado só que agora a gente vai precisar de duas referências manter a linha outro pra coluna que quando a gente possa
usá la a gente precisa também fazer essa referência sempre há uma linha sempre uma coluna então pra fazer a leitura de um valor de uma língua coluna a gente usa skeff o valor mais nada um flautista por cento efe o endereço das notas no endereço dessa posição notas linha coluna sempre vai ser dessa maneira na segunda parte que é pra fazer a média da turma a gente vai precisar somar todas as notas de todo mundo e depois dividir pela quantidade de notas que a gente tem como a média da turma são quatro alunos quatro notas
então 16 notas então a gente faz um foco para percorrer a linha um fórum para percorrer a coluna pra somar todos os elementos a gente vai notas passando a linha ea coluna juntos né um cochat para a linha 1 11 abre e fecha com jeito nenhum abre e fecha o coxa pra coluna só essa preocupação que a gente tem que ter acessar a linha coluna juntos no final desse corte a gente vai ter um somatório de todas as notas pegamos dividimos por 16 que a quantidade de notas que a gente tem na turma exibir esse
valor funções vencer funções subprograma sou subir rotinas são os trechos de código que executa uma função que a gente estabeleceu como importante dentro do nosso programa e vão ser identificados por apenas um nome por que usar funções evita a escrita de corto nessa gente é um programa muito grande que executa uma parte que é repetida várias vezes a gente pode transformar numa função escreve uma apenas uma vez e chama eles eles economizam tempo na escrita de código que programas evita sempre repetições de trechos muito utilizados e dividir tarefas em tarefas grandes em tarefas menores a
esse processo a gente chama de modularização às vezes chama essas funções também de módulos processo de criação de funções de modo localização toda a função em c todo o programa e sem uma função a gente viu o meia é uma função é o sca é uma função o print f da mesma função só que agora a gente vai também escrever nossas próprias funções para fazer a escrita das nossas funções a gente precisa de um tipo de retorno o nome da função abre parênteses os parâmetros que a gente vai usar seguir do tipo que o nome
do parâmetro abre e fecha as chaves para indicar que ali nós temos o começo do fim da nossa função e qualquer corte que a gente escreva dentro vai ser essa os corpos que vão ser utilizados quando a gente chamar o nome da função a gente vai escrever alguns aspectos importantes sobre funções e funções permite que cada parte do programa possui suas próprias variáveis essas variáveis elas são chamadas locais e elas não podem ser confundidos com as variáveis fora da função que podem ser locais ou globais usualmente existe um arquivo contado ponto h onde são definidos
os protótipos das funções do que são os protótipos das funções apenas um cabeçalho da função a primeira parte onde a gente tem o tipo o nome e os parâmetros que a função recebe é isso a gente coloca um arquivo voltou a jogar e é exatamente o que a gente chama lá no clube então a gente tem aqui um problema que a gente vai escrever uma função para representar ele que é um fator real o que é o fatorial de um número é o número x todos os seus antecessores positivos para a gente tem um exemplo
cinco fatores ao por exemplo é cinco vezes quatro vezes três vezes 2 vezes um que dá 120 alguns exemplos de fatores mais algumas observações é o fatorial é um um fator é um isso não tem nada a ver com programações é matemática a gente só vai simplesmente transcrevesse comportamento para uma função então a nossa função fatorial a nossa representação do fatorial sem usar uma função anti utilizaria um corte semelhante está sendo exibido precisaria de uma variável fat para receber o fatorial variável e nick vai apresentar pô qual o fator real de qual número a gente
vai representar e um computador ele vai precisar de um instrutor de repetição que vai pegar o número e multiplicá pelos seus antecessores a gente começa e recebe em ou seja e recebe cinco no nosso exemplo enquanto e maior ou igual a 1 então o que ele vai fazer vai pegar o valor de fato começa com um e multiplicar pelo i que no nosso caso começa com 5 a 15 vezes 15 fato vai ter cinco e menos - oe vai pra de cinco para quatro e ele vai fazer esse processo até o icnb qual a 1
então ele vai fazer com que o fato seja multiplicado por 5 4 3 2 1 armazenando todos os valores dessa multiplicação no final ele vai ter o cálculo do fator e ao então como é que a gente representa isso com uma função então eu tenho uma função que ela vai retornar o número inteiro que é o resultado desse fator real ela vai se chamar fatorial e ela vai receber um número tem uma variável fat faço todo o processo de multiplicação dentro instrutora de repetição nesse caso eu usei o foco no final ele vai ter um
cálculo né na variada faixa o valor desse fatorial que eu vou retornar essa é a função da palavra retorno ela devolve o processamento de uma função toda a função que tem um tipo de retorno ela tem que ter um retorno e o valor vai ser enviado para fora então como é que eu chamo essa função eu posso chamar ela simplesmente usando o nome dela o nosso caso o nome da nossa função fatorial passando que ela precisa para funcionar no caso o número observe que o número que eu tô passando é diferente do titular dodô identificado
que usei na função num e eu chamo com ele porque são valores diferentes um lá na função ele representa apenas que ela precisa de um valor inteiro então se eu passar qualquer valor inteiro para essa função fatorial ela vai apresentar o seu carro então é assim que utilizou ela o nome e o que ela precisa para funcionar agora vamos tratar um pouco sobrar do im o que o arduíno nado e no rádio é livre composto também por um software livre que tem diferentes modelos simples e fácil fácil e confiável de se trabalhar a gente vai
realizar processo de protótipo ação criar é por exemplo um controlador para uma lâmpada para um ar condicionado a gente pode utilizar o arduino que essa placa que vai ser exibido em a placa e um ambiente que a gente utiliza para programar isso tudo é composto pelo arduini e aí a gente pode fazer criação de robôs sé leitura de sensores de temperatura e de pressão e qualquer outro que a gente possa incluir é essa é o básico do arduino é o arduino um é que é um micro microcontrolador atm mega 328 ele funciona com 5 volts
a tensão de entrada de 7 a 12 volts intenção de saída 6 a 20 volts né esse é o funcionamento ele apresenta é 14 entradas digitais é 14 pinos digitais seis analógicos e as tensões de funcionamento para esses respectivos ele tem dois cadin e ram e um clock de 16 megawatts esse é o básico do arduino é só para a gente entender melhor o microcontrolador aqui tem uma estrutura onde a gente vê os componentes as portas analógicas as portas digitais e as principais conexões quadro não tem aqui um ambiente de programação é chamado de esquete
é onde a gente escreve nosso código e ele tem uma composição de funções muito semelhantes às funções que a gente escreve vencer só que ele tem duas funções especiais da cetap ea lup setup são as configurações de inicialização é executado apenas uma vez e tudo que a gente coloca na função lupi vai ser executada cada ciclo de execução do componente ou seja enquanto o dispositivo ainda ficar ligado ele vai executar o seu código presente dentro dessa função lupi bom como o a obtenção dessas placas é mais complicada é mais difícil a gente obter tem esse
ambiente team que card do pessoal da autodesk que a gente pode construir um circuito utilizando arduino básico dentro de um programa de um software no caso tinha que carregar um site a gente pode fazer diversas placas a gente pode simular o funcionamento a doença é só você procurar no google tim que é card e lá em circuitos e a gente pode tentar a construção de um circuito o bacana é o arduino ele usa uma linguagem de programação que é parecida conselho então pode chamar de ser mas os as instruções as mesmas instruções que os e
fucile lisa que a gente aprendeu nas aulas anteriores então você pode comprar um arduino comprar os circuitos e você pode construir seus próprios robôs seus próprios sensores seus próprios circuitos que podem ter uma funcionalidade ea linguagem que você vai usar é semelhante aos e então obrigado nesse momento a gente vai ter uma actividade como tim k diz que vai ser discreta melhor no fórum pra gente trabalhar com a programação já doente e por hoje é só e aqui a nossa bibliografia pra você se aprofundar mais e qualquer dúvida qualquer coisa eu vou estar presente no
fórum e nossos encontros presenciais até mais