Olá! Na lógica da programação é muito importante você saber que a gente trabalha com tipos de dados. Os tipos de dados, eles são diferentes.
No entanto, eles são similares entre linguagens de programação. Você também vai trabalhar com operadores, sejam operadores matemáticos ou operadores lógicos. .
. Operador matemático é como se fosse mais, menos, vezes, dividir, por exemplo. E operadores lógicos a gente utiliza para estruturas condicionais, estruturas de repetição também.
Que trabalha junto com a estrutura condicional dependendo aí da lógica do teu código. Então é muito importante você entender a parte de operadores, que tem total a ver com os operadores condicionais. Esses são os assuntos dessa aula.
Me acompanhe! Hello! Vamos falar um pouquinho agora sobre tipos de dados.
O que é que eles são? Para o que eles servem? Então, os tipos de dados eles servem para que você consiga capturar os dados de forma adequada do usuário e que depois consiga manipulá-los na linguagem de programação que você utilizou.
Eu vou trabalhar aqui com você três tipos, né? Não tipo de dados, de três formas que você pode utilizar os tipos de dados. Uma delas é na plataforma Visualg, que é o Portugol, que é uma mistura de algoritmo com português na linguagem de programação Java e na linguagem C.
Vem comigo! E a primeira ferramenta que a gente vai aprender a criar tipos de dados é o Visualg, vem comigo. .
. Vamos lá! Eu vou criar aqui com vocês.
. . Eu vou pedir o nome e idade de uma pessoa.
Então, se eu quero saber o nome da pessoa, aqui na seção VAR, eu vou informar que o tipo de dado que eu quero obter é caracter. Para saber a idade de uma pessoa eu vou colocar que idade e eu vou colocar do tipo inteiro, por exemplo. E se eu quiser saber a altura dela, que é um outro tipo de dado, eu coloco o nome da variável e eu coloco aqui que é real.
Então você aprendeu que caracter é utilizado para letras; inteiro é utilizado para números que não tenham casas decimais e números com casas decimais, no Visualg, a gente utiliza o real. Então esses são os tipos de dados mais utilizados dentro da plataforma Visualg e para você aprender lógica da programação. Agora a gente vai criar essas mesmas variáveis, mas na linguagem de programação C.
Vem comigo! Como que vai acontecer aqui? Eu vou criar aqui a variável, nome da pessoa, então vou dar aqui uns espacinhos.
. . você pode aqui dar um tab, o nome de uma pessoa é do tipo caracter.
Então eu vou colocar char e o nome da minha variável. Ela será um array porque o nome de uma pessoa tem várias letras e aí eu já vou atribuir aqui um nome a essa variável. Eu vou colocar Rosanete, certo?
Ponto e vírgula no final da linha porque na linguagem de programação C, toda linha ou comando finaliza com o ponto e vírgula. Se eu quero saber a idade da pessoa, ele é do tipo int ou integer, é um inteiro porque ele não tem casas decimais, então eu coloco o tipo de dado e vou colocar aqui idade, e aí eu já posso colocar uma idade. Digamos que eu tenha 25 anos, vou colocar aqui 25, ponto e virgula, porque finalizou esse comando.
Aí eu quero saber a altura da pessoa, a altura da pessoa ela tem casas decimais, ou seja, ela tem ponto flutuante e aí eu vou utilizar o tipo float. Então o float, vou colocar aqui. .
. A altura, já vou atribuir um valor a ela. Digamos que é 1,55, ponto e vírgula.
Detalhe! Percebeu que aqui eu coloquei ponto, um ponto cinquenta e cinco? É porque a linguagem de programação C é em inglês e números em outra língua, em inglês por exemplo, é utilizando ponto e não virgula, como no português.
Tá bom? Se eu rodar meu programa, aqui não vai aparecer nada, lógico, porque eu não mandei imprimir nada, mas se eu quiser imprimir os dados, eu posso colocar aqui um printf no meu, no meu código, né? Então eu vou colocar aqui, printf, e eu quero que apareça o nome da pessoa.
Vou colocar entre aspas duplas, nome, virgula, nome. E aí eu vou rodar e não apareceu nada. Por quê?
Tá vendo que aqui, tipo caracter nome, eu tenho que dizer que o tipo caracter é porcento s, que é tipo string e olha só que legal! Apareceu aqui Rosanete e os demais você também consegue fazer. Que é por exemplo, colocando aqui a idade da pessoa, aqui é colocando a altura da pessoa.
Agora a gente vai criar as variáveis nome, idade e altura na linguagem de programação Java. Vem comigo! Então aqui no Java nós temos como o início, todo programa Java tem que ter essas duas linhas aqui e perceba que eles têm as chavezinhas.
. . Então o que eu tenho aqui nessa linha?
O public class, o nome da minha classe. Tenho que ter uma classe aqui no Java, mas eu não vou me deter a isso nesse momento. Para que o programa rode eu tenho que ter essa linha public static void main, string, que é um array de argumentos e aqui dentro eu vou colocar o que eu preciso, tá?
Eu só dei aqui um enter para ficar melhor pra visualizar. Vou começar colocando aqui o nome da pessoa, que é uma string. Então no Java a gente chama os caracteres de string.
Vou colocar o nome da variável, que é nome, e já vou atribuir um valor, uma string, eu coloco entre aspas duplas, tá? Ponto e virgula no final porque finalizou o comando. Aí se eu quero saber a idade da pessoa, eu vou colocar aqui do tipo int ou integer, que é o número inteiro, vou colocar o nome da variável, que é idade, e já vou atribuir um valor, que no caso é 25.
Ponto e virgula no final também. Aí a altura, eu já vou colocar que ela é do tipo de dados double, vou colocar o nome da variável, que é a altura, e ela vai receber 1. 55, por exemplo.
Tá? Se eu rodar, não vai acontecer nada porque eu não mandei imprimir nada na tela, tá? Tá vendo que não apareceu nada no output, que é a saída?
Se eu quiser imprimir os dados aqui na tela, eu tenho que colocar esse comandinho system ponto alt ponto println abre e fecha parêntese e aqui dentro eu vou colocar, por exemplo, nome, sinal de dois pontos, depois de fechar as aspas, que isso aqui é o que vai aparecer aqui para o usuário. Se eu deixar só assim e rodar, só vai aparecer aqui que eu coloquei nome, mas ele não puxou o dado da variável. Para ele puxar o dado da variável vou concatenar com a variável, nome, ou então aqui é o mesmo nome que a variável.
E se você quiser apresentar os demais dados, você pode fazer da mesma forma. No caso aqui eu vou colar e eu só vou alterar aqui, eu vou colocar que aqui eu quero que qpresente a idade e a altura, então aqui eu vou substituir para a variável idade e aqui para a variável altura. Eu vou executar e aí ele vai mostrar aqui para mim nome Rosanete, idade 25, altura 1.
55. Agora vamos falar um pouquinho dos operadores E ou I de comparação. Vem comigo!
Ó aqui tá bem legal. Então vamos aproveitar e utilizar o programa que a gente utilizou aqui da linguagem de programação C, que era para criar as variáveis de nome, idade e altura. Os operadores que a gente vai utilizar aqui, que é por exemplo, vai iniciar pelo E.
O operador E, esses são operadores lógicos, tá bom? O operador E significa que tudo tem que ser verdadeiro para que ele aceite o que for informado. O operador OU significa que ou uma situação ou a outra situação tem que ser verdadeira para que ele deixe passar o que você colocar ali no crivo dele, tá?
Então o operador E, tudo tem que ser verdade, e operador OU, ou uma ou outra tem que ser verdade. E aí nós temos também um operador de comparação, tá? Então se eu quiser comparar, por exemplo, que a roupa daquela pessoa é amarela ou o dia é igual a 15, eu vou utilizar o operador de comparação.
Mas vamos a prática? Vem comigo aqui pra tela, tá? Então o operador E, ele é representado, vou colocar aqui.
. . Operador E, ele é representado por dois e comercial (&&), tá?
O operador OU, ele é representado por dois pipe (||). . .
Você segura o shift do seu teclado pressionado e aquela teclinha do lado da letra Z, tá? O operador de igualdade, que é o operador de comparação. .
. Tanto faz a forma que você chama, a gente coloca dois iguais assim, tá? Então, só que pra eu utilizar esses operadores aqui, o que eu tenho que fazer?
Eu vou ter que utilizar um condicional, né? Como que a gente vai criar isso na prática? Eu vou verificar aqui se a idade da pessoa for maior ou igual a 18.
Então eu vou colocar aqui um if. Vou colocar minha primeira expressão dentro de um parêntese. Então if, idade maior igual a 18, &, eu vou utilizar aqui a expressão &.
A altura dela tem que ser maior ou igual a 1. 50. E aí eu tenho que envolver essas duas expressão aqui, dentro de um parêntese.
Aqui é um if, tá? If quer dizer "se". Abre e fecha chaves.
Então vamos dizer que esse exemplo aqui eu vou utilizar para a entrada de brinquedos no Beto Carrero. A pessoa tem que ser maior de 18 anos e ter mais de 1,5, por exemplo. Somente nessa situação ela vai ser liberada para entrar no brinquedo.
Como que fica? Então if, a idade, maior igual a 18 e a altura maior igual a 1,5, eu vou mandar uma mensagem na tela, então eu vou escrever aqui um printf. .
. Eu vou colocar aqui, autorizada, tá? Pessoa autorizada, pessoa autorizada a entrar lá no brinquedo e ponto e vírgula.
Se não, eu quero que apareça uma mensagem. . .
de pessoa. . .
Vou escrever bem grande aqui, não autorizada, certo? E vou rodar. Lembra que, aqui a altura.
. . a idade está 25 e a altura é 1.
55. Vou rodar e o que aparece? Rosanete e grudou aqui na minha frase.
Por quê? Lembra que a gente estava imprimindo aqui o nome da pessoa? Existe uma forma de você resolver isso.
Você pode colocar um barra n aqui, antes de escrever qualquer coisa porque ele vai pular uma linha, tá? Mas dentro do sinal de aspas. Vou rodar de novo, Rosanete, pessoa autorizada.
Mas por que ele autorizou a Rosanete a entrar? Porque ele cumpriu as duas expressões, ou seja, é verdade que ela é maior de 18 anos e é verdade que ela tem mais de 1,5, certo? E se não fosse isso que ocorresse, o que aconteceria?
Olha só, vou mudar aqui a idade da pessoa, eu vou colocar aqui para 10 e vou rodar, ó. . .
Pessoa não autorizada! E o mesmo você poderia fazer se você quisesse usar o OU. Digamos que eu quero que ela tenha maior igual a 18 ou altura 1.
5. Eu vou rodar, ele autorizou. Ela aqui tem dez anos, só que ela tem a altura para passar porque ela tem 1,5 e assim funciona.
Se você quisesse verificar o nome da pessoa, em vez de você utilizar esses operadores aí do E ou do OU, utilizaria o de igualdade. Vamos falar um pouquinho aqui sobre estruturas condicionais. Você já ouviu falar sobre isso?
Então, estruturas condicionais é quando você vai verificar uma condição. Então, se essa condição for verdadeira, se ela for falsa, enfim, aí determinada ação vai acontecer no programa, né? Mas aqui dentro da lógica da programação, como isso vai ocorrer de fato?
Imagine a seguinte situação, se um aluno ele não atinge a média sete, por exemplo, o que pode acontecer? Há várias situações. Ele pode ou ficar em exame, e aí poder, ele pode ter a oportunidade de fazer uma nova avaliação e aí, dependendo da nota que ele tirar nessa nova avaliação, ele pode passar ou reprovar.
Vamos colocar isso aqui em prática? Vem comigo! Vou criar aqui um programinha com você em C e aqui eu estou compartilhando a tela.
Já vou criar aqui uma variável, vou colocar aqui int, nota um, por exemplo, né? Então essa nota um vai ser a primeira nota. Eu só vou colocar aqui a nota que vai ser o que eu vou obter aí do teclado e a gente vai criar mais uma variável chamada recuperação.
Tá bom? Então aqui int nota eu vou inicializar ela com zero, então int nota vai receber zero. Lembrando que eu estou aqui programa em C e aqui eu vou colocar int recuperação, eu vou inicializar com zero também.
Já vamos atribuir um valor. Digamos que aqui o aluno tirou sete, mas você poderia obter o do teclado, né? Então aqui eu vou colocar "verificando a nota do aluno".
Eu vou fazer aqui contigo agora uma estrutura condicional simples, tá? Então na estrutura condicional simples, o que eu vou verificar? Eu vou escrever uma única condição.
Então if, o que eu falei, se a nota for maior ou igual a sete, o que eu quero que mostre? Eu quero que ele mande uma mensagem para a tela que você passou, né? Cloloque aqui "Você passou!
Muito bem! " e deixar aqui a pessoinha feliz, tá? Vou rodar e o que acontece?
A pessoa passou. Se eu colocar aqui que ela tirou cinco. .
. Eu vou rodar. .
. Tá vendo que não aparece nada? Isso significa que eu tenho que colocar alguma coisa no else porque eu só coloquei a condição verdadeiro else é o falso, certo?
Então eu vou criar que o else. Então vou colocar else, que else, que é a minha condição falsa. Se a pessoa não passou, eu vou colocar aqui "você infelizmente não passou!
". E aí vou apagar esse resto desse textinho, né? Então o aluno que está com cinco, eu vou rodar.
. . Você infelizmente não passou.
Por quê? Ele está com nota cinco. Só que eu levantei contigo uma hipótese de que o aluno pode ter direito a recuperação, né?
Então eu posso verificar mais uma condição. E isso que a gente chama de ifs encadeados ou de estruturas compostas. Como que eu faço para alterar isso aqui no meu código?
Vem comigo. Então se a nota for, ai eu vou mudar um pouquinho a lógica, tá? Se a nota for maior ou igual a cinco & a nota também for menor do que sete, ele vai ter direito a recuperação.
Então o que eu vou colocar aqui? Eu vou colocar printf "Você está em recuperação", tá? Porque a nota dele é maior do que cinco, mas é menor do que sete.
Se a nota dele não for maior do que cinco e nem menor do que sete, digamos que eu posso verificar então, no meu else, eu vou abrir mais um if. Então se a nota dele não for maior do que cinco e nem maior do que sete, eu posso verificar a atual. Então se ela é maior, eu vou colocar if nota maior ou igual a sete, eu vou colocar aqui, "Você passou!
" E lembra de colocar aqui as chaves, tá? Então eu vou colocar aqui "Você passou! " Por quê?
ele tirou aqui a nota maior do que sete. Ela não é, ela é maior ou igual a cinco, mas ela não é menor do que sete. Ela é igual a sete.
Então ele passou. Se ele não passar, o que eu vou colocar? "Você não passou!
" porque aí a nota dele, se ela não atingir nenhum desses critérios aqui, que ela não é maior ou igual a cinco, ele já vai cair aqui. Então vou rodar. .
. Você está em recuperação porque se ela é maior ou igual a cinco, vou mudar aqui para quatro, vou rodar. .
. Ó, você não passou! Por quê?
Porque a nota dele não atingiu nenhum desses critérios. E eu vou colocar aqui que a nota dele está sete. Opa, aqui meu código, né?
Sete, vou rodar. . .
Você passou! Agora a gente vai do fluxograma ao algoritmo. E como é que isso vai acontecer?
Eu vou mostrar aqui para você um fluxograma, que na verdade é esse carinha aqui, e depois a gente vai implementar esse carinha aqui, esse fluxograma na linguagem de programação C, que eu já estou com o compilador aqui aberto. Vamos lá! Então, o que esse algoritmo vai fazer?
Ele vai iniciar, vai pedir aqui, vou obter aqui a nota um, a nota dois, ele vai calcular a média do aluno, que na verdade é a média comum, somar os fatores e divide pela quantidade deles, vai imprimir na tela média e vai finalizar o algoritmo, certo? Então vamos programar. Aqui em linguagem de programação C, eu vou começar criando, criando as variáveis, tá?
As minhas variáveis nota elas podem ser do tipo float, do tipo inteiro, eu vou criar aqui do tipo inteiro. Então vou colocar aqui int nota um e aí eu já vou atribuindo os valores a elas pra que a gente não tenha que pedir do teclado. Tá?
Então int nota um, eu vou colocar aqui que é sete, ponto e virgula. Int nota dois, eu vou colocar aqui também é sete, tá? Já vou criar aqui a minha variável média e aí eu criei e eu vou atribuir valor zero porque eu quero inicializar essa minha variável com nada.
Por quê? Porque é ela que vai armazenar os resultados. Por que eu coloquei int nas notas e float na média?
Pra já ir trabalhando com você que, sempre que eu tenho a divisão de um número pelo outro, independente deles serem inteiros, pode ser que o resultado seja um decimal, ele tenha ponto flutuante. Então, pra evitar possíveis erros, eu já faço essa análise dos dados e eu já crio o dado tipo correto. Isso é bem interessante porque é uma boa prática da programação, tá?
Então aqui eu criei as variáveis, eu vou calcular a média aqui é o próximo passo. Então vou colocar aqui "calcular a média". A média é calculada como?
Eu vou colocar aqui o nome da variável e ela vai receber, entre parênteses, o que? A nota um mais a nota dois. E aí eu vou dividir isso por dois.
Isso é que vai calcular a média. Por que eu estou dividindo? Porque é assim que se faz o cálculo da média na matemática, né?
O último passo que ele pede para fazer aqui no algoritmo é o que? Calcular a média, certo? É mostrar a média.
Esse aqui é o display, então aqui no meu algoritmo eu vou colocar "mostrar a média calculada na tela". E aí eu vou usar um printf, vou colocar uma mensagenzinha aqui "Sua média é" e aí eu vou colocar aqui um %f, vou colocar uma virgula depois aqui do sinalzinho de aspas, e eu vou colocar a variável média. Vou rodar o meu programa e ver o que acontece.
Sua média é sete. Só que está vendo que tem um monte de zero aqui, bem sem sentido? Então, eu posso arredondar essas casas decimais.
Eu vou colocar antes da letrinha F 0,2 F. Quer dizer que, ele vai mostrar duas casas decimais após o número inteiro. Ele mostra o número inteiro e depois do número inteiro ele mostra duas casas decimais.
Se eu mudar aqui para um, olha o que ele vai fazer. Ele vai mostrar só uma casa decimal, tá? Então isso é algo bem interessante que a gente pode utilizar aqui na linguagem de programação Java.
Se você fosse imprimir as notas, você poderia colocar assim printf ó, "Suas notas são". Lembre de colocar aqui entre aspas, tá? Aí eu vou colocar aqui %d e %d, tá?
Porque eu vou mostrar as duas notas. A primeira nota, é a nota um. Então a nota um, que é a primeira variável que a gente tem criado aqui, vírgula, porque eu vou mostrar a outra nota, dois e aí ponto e vírgula aqui no final da linha ele vai mostrar as duas.
Suas notas são sete, só que está tudo do lado, né? Eu vou colocar aqui um barra n pra ele quebrar a linha. Suas notas são sete e sete e a média é tal.
Se eu mudar aqui pra oito e rodar, suas notas são oito e sete e a sua média é sete. Vou colocar aqui duas casas decimais, vou colocar aqui cinco. Ó, suas notas são cinco e sete e a média ficou seis.
Se eu colocar aqui o quatro e rodar, ele vai calcular, sempre calculando a média aqui da pessoa, tá? Então é dessa forma que a gente utiliza esse tipo de cálculo aqui dentro da linguagem de programação C. Você tirou do fluxograma, jogou pro algoritmo, rodou e tá tudo certo!
E eu te vejo na próxima aula. Agora a gente vai criar uma estrutura encadeada que faça a validação de usuário e senha pra acessar um sistema em C. Vem comigo!
Pra isso eu vou criar aqui, primeiramente, as variáveis, né? Então vou criar aqui uma variável char senha, né? Então eu vou colocar aqui, vou colocar assim, um, dois, três.
Então recebe ABC123, tá? Já vou ensinar você a utilizar uma comparação de string. Então aqui a senha correta, eu vou colocar que a senha correta é amarelo, tá?
Então eu criei uma senha com esse valor, só que a senha correta é amarelo. E aí eu vou fazer a verificação de senhas. Verificar senha.
Aí aqui no verificar senha, eu vou fazer uma if e pra comparar essas duas variáveis, eu vou utilizar o comando strcmp que significa str comp. Então eu vou comparar essa variável senha, com essa variável senha correta. Se o resultado for verdadeiro, aqui vai ser igual igual a zero.
Então entre, é uma função, strcomp que eu vou comparar essa variável senha que eu criei com a versão 123 e a senha correta. Então se ela for igual, eu vou colocar uma mensagenzinha aqui, printf e aí eu vou mostrar a mensagem na tela de que sim, se ela está correta "acesso permitido", certo? Se não, vou colocar aqui um else, e aí eu vou colocar um acesso, em maiúsculo, não permitido.
E eu vou rodar para ver o que acontece. O acesso não permitido. Por quê?
Eu criei aqui a senha ABC123, mas a senha correta é amarelo. Vamos alterar aqui para amarelo. Run, acesso permitido.
Emtão ele comparou. strcomp comparou com a senha que a gente criou, com a senha correta, tá? Eu vou voltar, eu vou deixar aqui a senha igual.
Só que, a ideia é que a gente trabalhe também com a estrutura encadeada. Então eu vou verificar aqui também se ele permitir o acesso se a senha está correta, se a pessoa tem ou não 18 anos. Digamos que é pra ela entrar em algum lugar que ela tenha que informar uma senha, mas ela também tem que ser maior que 18 anos.
Então vem comigo! Como que eu vou fazer isso? Eu vou criar aqui uma variável int.
. . Opa, desligar o teclado, né?
int, é idade, e aí eu vou colocar aqui 18, por exemplo. Então se o acesso aqui está permitido, daí só se ele permitir. Eu vou perguntar aqui a idade, "vou perguntar a idade para validar o acesso".
. . para validar a entrada porque o acesso já foi permitido, mas eu vou validar a entrada, tipo a carteirinha de estudante quando você vai no cinema para pagar meia, né?
Então eu vou fazer aqui um if e eu vou verificar. Se a idade for maior ou igual a 18, eu vou mostrar uma mensagenzinha aqui, ok? printf, "pode entrar, seja bem-vindo" ou bem-vinda, né?
E aí, se a pessoa não for, else, abre e fecha aqui. . .
Eu vou colocar que infelizmente você não tem idade, né? Então, "Infelizmente, você não tem idade! " Mesmo que ele saiba a senha.
Então vou rodar, acesso permitido. Eu vou pular uma linha aqui pra não ficar tudo grudado. Ó, acesso permitido pode entrar.
Seja bem-vindo! Porque aqui a pessoa tem 18 anos. Eu vou colocar aqui que ela tem 15, mas a senha está correta.
Ó, acesso permitido. Infelizmente você não tem idade. Então não adianta a pessoa saber a senha, se ela não tem idade.
E se eu tivesse errado a senha? Ele já vem pro acesso não permitido direto. Então isso aqui é a estrutura encadeada, estrutura de repetição encadeada é quando nós temos várias condicionais, um dentro do outro.
Espero que você tenha gostado e eu te vejo na próxima!