Lógica de Programação - Clenisson Calaça · Linguagem de programação Ruby Ruby é a linguagem...
Transcript of Lógica de Programação - Clenisson Calaça · Linguagem de programação Ruby Ruby é a linguagem...
![Page 2: Lógica de Programação - Clenisson Calaça · Linguagem de programação Ruby Ruby é a linguagem com a qual iremos iniciar nossos estudos de linguagem de programação. É uma](https://reader031.fdocuments.net/reader031/viewer/2022021610/5c1eaa7c09d3f20e6e8c0549/html5/thumbnails/2.jpg)
Sobre mim
Tecnólogo em Análise e Desenvolvimento de Sistemas
– Maurício de Nassau, 2015
Desenvolvedor– Plus Agência – www.plusagencia.digital
(2011 – dias atuais)
“Reinão” em programação desde 2004 e eterno estudante da área.
Instrutor do curso desde out/2016.
Tudo sobre mim: www.clenissoncalaca.com
/clenisson /clenisson [email protected]
![Page 3: Lógica de Programação - Clenisson Calaça · Linguagem de programação Ruby Ruby é a linguagem com a qual iremos iniciar nossos estudos de linguagem de programação. É uma](https://reader031.fdocuments.net/reader031/viewer/2022021610/5c1eaa7c09d3f20e6e8c0549/html5/thumbnails/3.jpg)
Sobre vocês?Apresentem-se :)
![Page 4: Lógica de Programação - Clenisson Calaça · Linguagem de programação Ruby Ruby é a linguagem com a qual iremos iniciar nossos estudos de linguagem de programação. É uma](https://reader031.fdocuments.net/reader031/viewer/2022021610/5c1eaa7c09d3f20e6e8c0549/html5/thumbnails/4.jpg)
Sobre o curso
● http://www.conhecimentodigital.com.br/curso/tecnologico/logica
![Page 5: Lógica de Programação - Clenisson Calaça · Linguagem de programação Ruby Ruby é a linguagem com a qual iremos iniciar nossos estudos de linguagem de programação. É uma](https://reader031.fdocuments.net/reader031/viewer/2022021610/5c1eaa7c09d3f20e6e8c0549/html5/thumbnails/5.jpg)
Sobre o curso
● Aulas expositivas (slides, vídeos, exemplos, códigos, etc.)
– Portal web para divulgação dos conteúdos● Prática (exercícios)● Dúvidas poderão ser tiradas sempre que surgirem,
aqui ou não =)
– Grupo (WhatsApp) e e-mail serão nossos canais de comunicação fora da Conhecimento Digital
![Page 6: Lógica de Programação - Clenisson Calaça · Linguagem de programação Ruby Ruby é a linguagem com a qual iremos iniciar nossos estudos de linguagem de programação. É uma](https://reader031.fdocuments.net/reader031/viewer/2022021610/5c1eaa7c09d3f20e6e8c0549/html5/thumbnails/6.jpg)
Vamos começar?
![Page 7: Lógica de Programação - Clenisson Calaça · Linguagem de programação Ruby Ruby é a linguagem com a qual iremos iniciar nossos estudos de linguagem de programação. É uma](https://reader031.fdocuments.net/reader031/viewer/2022021610/5c1eaa7c09d3f20e6e8c0549/html5/thumbnails/7.jpg)
Pensando em programação
Quantas vezes, ao longo da sua vida como usuário, você já se perguntou como são feitos os programas que você executa nos seus dispositivos?
Alguma vez você já se perguntou...:
● Como o Facebook acessa meu perfil quando eu entro com o login e a senha? Por que não acessa outro perfil?
● Como o WhatsApp faz para abrir a câmera do meu celular quando eu clico no botão para tirar foto em uma conversa?
● Como o Tinder pega a minha localização atual e mostra as pessoas que estão próximas a mim geograficamente para que eu demonstre interesse nelas?
...
![Page 8: Lógica de Programação - Clenisson Calaça · Linguagem de programação Ruby Ruby é a linguagem com a qual iremos iniciar nossos estudos de linguagem de programação. É uma](https://reader031.fdocuments.net/reader031/viewer/2022021610/5c1eaa7c09d3f20e6e8c0549/html5/thumbnails/8.jpg)
Em resumo...
● Como eu faço pra dizer ao computador que executa o meu programa o que ele deve fazer em determinadas situações?– “Leia o login e a senha e procure o usuário na base
de dados...”
– “Quando o usuário clicar no botão, abra a câmera fotográfica de seu dispositivo”
– “Pegue a localização geográfica do usuário utilizando o GPS do dispositivo e liste as pessoas próximas a ele”
![Page 9: Lógica de Programação - Clenisson Calaça · Linguagem de programação Ruby Ruby é a linguagem com a qual iremos iniciar nossos estudos de linguagem de programação. É uma](https://reader031.fdocuments.net/reader031/viewer/2022021610/5c1eaa7c09d3f20e6e8c0549/html5/thumbnails/9.jpg)
Pensando logicamente
● Um programa de computador executa instruções.
● Um programador define essas instruções.– Nós definimos o que o programa deve fazer, e ele
fará aquilo sempre que for executado.
● Mas somente uma instrução não basta...– Deve haver um conjunto de instruções que,
executadas de forma ordenada, atinjam o objetivo que a gente quer.
– Deve haver uma lógica de programação!!!
![Page 10: Lógica de Programação - Clenisson Calaça · Linguagem de programação Ruby Ruby é a linguagem com a qual iremos iniciar nossos estudos de linguagem de programação. É uma](https://reader031.fdocuments.net/reader031/viewer/2022021610/5c1eaa7c09d3f20e6e8c0549/html5/thumbnails/10.jpg)
Lógica de programação
● Técnica empregada para desenvolver uma sequência de passos que visa atingir um determinado objetivo.
● Os passos presentes na sequência devem fazer sentido para que a tarefa seja atingida.
● Algoritmo: sequência finita de passos logicamente encadeados que executam uma determinada tarefa.– “Receita de bolo”
![Page 11: Lógica de Programação - Clenisson Calaça · Linguagem de programação Ruby Ruby é a linguagem com a qual iremos iniciar nossos estudos de linguagem de programação. É uma](https://reader031.fdocuments.net/reader031/viewer/2022021610/5c1eaa7c09d3f20e6e8c0549/html5/thumbnails/11.jpg)
Algoritmos
● Não é nada que nós nunca fizemos antes...– Sacar dinheiro.
1. Dirija-se ao caixa eletrônico
2. Insira seu cartão
3. Selecione a opção “saque”
4. Digite o valor e confirme
5. Digite sua senha
– Dirigir um carro1. Ligue o carro
2. Pise na embreagem
3. Engate a primeira marcha
…
![Page 12: Lógica de Programação - Clenisson Calaça · Linguagem de programação Ruby Ruby é a linguagem com a qual iremos iniciar nossos estudos de linguagem de programação. É uma](https://reader031.fdocuments.net/reader031/viewer/2022021610/5c1eaa7c09d3f20e6e8c0549/html5/thumbnails/12.jpg)
Algoritmos
● Nós praticamente vivemos executando algoritmos para nossas atividades constantes.– Ou seja, pra tudo o que fazemos, nós seguimos
uma linha de raciocínio. Algo que começa e termina, de acordo com os recursos que temos disponíveis.
● Você não vai dirijir-se a um caixa eletrônico se não tiver como ir a um ao executar a tarefa.
● Você não vai conseguir ligar um carro se o mesmo estiver quebrado ou sem gasolina.
![Page 13: Lógica de Programação - Clenisson Calaça · Linguagem de programação Ruby Ruby é a linguagem com a qual iremos iniciar nossos estudos de linguagem de programação. É uma](https://reader031.fdocuments.net/reader031/viewer/2022021610/5c1eaa7c09d3f20e6e8c0549/html5/thumbnails/13.jpg)
Algoritmos
● Um programa de computador é um algoritmo. – O programador diz o que ele vai fazer de acordo
com sua capacidade
– O computador é responsável por ler o que o programador ordenou e executar a instrução!
![Page 14: Lógica de Programação - Clenisson Calaça · Linguagem de programação Ruby Ruby é a linguagem com a qual iremos iniciar nossos estudos de linguagem de programação. É uma](https://reader031.fdocuments.net/reader031/viewer/2022021610/5c1eaa7c09d3f20e6e8c0549/html5/thumbnails/14.jpg)
Escrevendo Algoritmos
● Um algoritmo sempre deve ser escrito como uma sequência de passos, o que é diferente de um texto comum.
● Não é algoritmo:
– Vá sacar R$50,00 pra mim no caixa eletrônico. Se não houver saldo suficiente neste cartão, utilize o outro.
● É um algoritmo:
– Dirija-se ao caixa eletrônico
– Utilize o primeiro cartão
– Verifique se há saldo suficiente
– Se não houver saldo suficiente no cartão:
● Utilize o outro cartão
– Saque 50,00
– Volte para casa com o dinheiro.
![Page 15: Lógica de Programação - Clenisson Calaça · Linguagem de programação Ruby Ruby é a linguagem com a qual iremos iniciar nossos estudos de linguagem de programação. É uma](https://reader031.fdocuments.net/reader031/viewer/2022021610/5c1eaa7c09d3f20e6e8c0549/html5/thumbnails/15.jpg)
Escrevendo Algoritmos
● Um algoritmo bem escrito é composto por ações imperativas...– Verbos. Ex.: Vá, Saque, Faça, Leia, Volte...
● … condicionais...– Se, senão...
● … e repetições– Enquanto, faça X vezes...
![Page 16: Lógica de Programação - Clenisson Calaça · Linguagem de programação Ruby Ruby é a linguagem com a qual iremos iniciar nossos estudos de linguagem de programação. É uma](https://reader031.fdocuments.net/reader031/viewer/2022021610/5c1eaa7c09d3f20e6e8c0549/html5/thumbnails/16.jpg)
Escrevendo Algoritmos
● Mãos à obra!!● Escreva os algoritmos que executarão os
objetivos abaixo:– Criar um grupo da turma no WhatsApp
● Dica: você vai ter que abrir o aplicativo, clicar no botão, definir um nome....
– Ir daqui para a Ponta Verde de ônibus● Dica: você vai ter que ir até o ponto, estender sua mão,
puxar a corda onde for descer...
LEMBRE-SE: Você deve descrever passo-a-passo e logicamente.Utilize o modo imperativo. Não se preocupe com palavras:
pode usar qualquer uma.
![Page 17: Lógica de Programação - Clenisson Calaça · Linguagem de programação Ruby Ruby é a linguagem com a qual iremos iniciar nossos estudos de linguagem de programação. É uma](https://reader031.fdocuments.net/reader031/viewer/2022021610/5c1eaa7c09d3f20e6e8c0549/html5/thumbnails/17.jpg)
Só tem um problema...
● Nós falamos uma linguagem – Se moramos no Brasil, falamos Português.
● LEIA O LOGIN● LEIA A SENHA● AUTENTIQUE O USUÁRIO● REDIRECIONE PARA A PÁGINA DO SEU PERFIL
● E o computador???
![Page 18: Lógica de Programação - Clenisson Calaça · Linguagem de programação Ruby Ruby é a linguagem com a qual iremos iniciar nossos estudos de linguagem de programação. É uma](https://reader031.fdocuments.net/reader031/viewer/2022021610/5c1eaa7c09d3f20e6e8c0549/html5/thumbnails/18.jpg)
Liguagem de máquina
● Computadores não entendem “português”, “inglês”, ou “espanhol”...
● Basicamente, entendem bits. Sequências de 0s e 1s
![Page 19: Lógica de Programação - Clenisson Calaça · Linguagem de programação Ruby Ruby é a linguagem com a qual iremos iniciar nossos estudos de linguagem de programação. É uma](https://reader031.fdocuments.net/reader031/viewer/2022021610/5c1eaa7c09d3f20e6e8c0549/html5/thumbnails/19.jpg)
Quer dizer que...
1. LEIA login
2. LEIA senha
3. AUTENTIQUE o usuário
4. REDIRECIONE para o perfil
...
0101010110101001010101101010101010101100110101010101010101010101010101010101010101010101101111100100010001001001010110101001010101010101010101010110101010
...
![Page 20: Lógica de Programação - Clenisson Calaça · Linguagem de programação Ruby Ruby é a linguagem com a qual iremos iniciar nossos estudos de linguagem de programação. É uma](https://reader031.fdocuments.net/reader031/viewer/2022021610/5c1eaa7c09d3f20e6e8c0549/html5/thumbnails/20.jpg)
E agora?
● Nós não entendemos binário● O computador não entende nossa linguagem● Mas...
– Se viajarmos para a China sem saber falar chinês, junto com um intérprete, conseguimos nos comunicar com todo mundo!
– É isso! Precisamos de um “intérprete” que conversa nosso algoritmo para a linguagem de máquina!
![Page 21: Lógica de Programação - Clenisson Calaça · Linguagem de programação Ruby Ruby é a linguagem com a qual iremos iniciar nossos estudos de linguagem de programação. É uma](https://reader031.fdocuments.net/reader031/viewer/2022021610/5c1eaa7c09d3f20e6e8c0549/html5/thumbnails/21.jpg)
Linguagem de alto nível(linguagem de programação)
● São linguagens (conjunto de expressões e regras sobre elas) que utilizamos para criar nossos programas
● Nós escrevemos linhas de códigos utilizando os recursos disponíveis em uma linguagem
● Ao executar o programa, nossas linhas são “convertidas” para a linguagem que o computador entenda, e nossas instruções executadas da forma como escrevemos!
![Page 22: Lógica de Programação - Clenisson Calaça · Linguagem de programação Ruby Ruby é a linguagem com a qual iremos iniciar nossos estudos de linguagem de programação. É uma](https://reader031.fdocuments.net/reader031/viewer/2022021610/5c1eaa7c09d3f20e6e8c0549/html5/thumbnails/22.jpg)
Sintaxe e Semântica● Sintaxe: define a forma correta de se escrever
uma instrução– É o “Como”
● Semântica: é o sentido da instrução.– É o “o quê”
● Exemplos:– “O gato latiu.” (Sintaxe: ok. Semântica: erro.)
– “O cachorro latio.” (Semântica: ok. Sintaxe: erro.)
– “O cachorro latiu.” (Sintaxe: ok. Semântica: ok.)
● Um código de programação, para ser executado, deve ter sua sintaxe correta!
![Page 23: Lógica de Programação - Clenisson Calaça · Linguagem de programação Ruby Ruby é a linguagem com a qual iremos iniciar nossos estudos de linguagem de programação. É uma](https://reader031.fdocuments.net/reader031/viewer/2022021610/5c1eaa7c09d3f20e6e8c0549/html5/thumbnails/23.jpg)
Linguagens de programação
Há uma infinidade delas...
![Page 24: Lógica de Programação - Clenisson Calaça · Linguagem de programação Ruby Ruby é a linguagem com a qual iremos iniciar nossos estudos de linguagem de programação. É uma](https://reader031.fdocuments.net/reader031/viewer/2022021610/5c1eaa7c09d3f20e6e8c0549/html5/thumbnails/24.jpg)
Linguagem de programaçãoRuby
● Ruby é a linguagem com a qual iremos iniciar nossos estudos de linguagem de programação.
● É uma linguagem que possui uma sintaxe com uma rápida curva de aprendizado– Ideal para prática em um curso de iniciantes!
● É popular no mercado de desenvolvimento– Ruby on Rails: framework amplamente utilizado em aplicações web
● https://skillcrush.com/2015/02/02/37-rails-sites/
![Page 25: Lógica de Programação - Clenisson Calaça · Linguagem de programação Ruby Ruby é a linguagem com a qual iremos iniciar nossos estudos de linguagem de programação. É uma](https://reader031.fdocuments.net/reader031/viewer/2022021610/5c1eaa7c09d3f20e6e8c0549/html5/thumbnails/25.jpg)
Escrevendo código● Mãos à obra!! Vamos fazer nosso “Hello World”
– Crie um arquivo chamado hello.rb– Escreva nele a seguinte linha:
● puts “Hello World”– Abra o terminal do seu sistema– Navegue até o local (pasta) do arquivo – Digite:
● ruby hello.rb● O que apareceu na linha abaixo?
![Page 26: Lógica de Programação - Clenisson Calaça · Linguagem de programação Ruby Ruby é a linguagem com a qual iremos iniciar nossos estudos de linguagem de programação. É uma](https://reader031.fdocuments.net/reader031/viewer/2022021610/5c1eaa7c09d3f20e6e8c0549/html5/thumbnails/26.jpg)
● O que fizemos?– Nosso primeiro programa imprimiu na tela do
computador a frase Hello World● Como fizemos?
– Escrevemos puts “Hello World” e pedimos que o interpretador Ruby executasse o arquivo
● O que aconteceu?– O interpretador leu a instrução que demos e
converteu para linguagem de máquina, fazendo com que o computador imprimisse a frase
Escrevendo código
![Page 27: Lógica de Programação - Clenisson Calaça · Linguagem de programação Ruby Ruby é a linguagem com a qual iremos iniciar nossos estudos de linguagem de programação. É uma](https://reader031.fdocuments.net/reader031/viewer/2022021610/5c1eaa7c09d3f20e6e8c0549/html5/thumbnails/27.jpg)
● Perceba que nós executamos o seguinte algoritmo:– ESCREVA NA TELA Hello World
● Para isso, utilizamos a sintaxe da linguagem Ruby– puts “Hello World”
● Que tal brincarmos um pouco mais?● Como executar o algoritmo abaixo?
– FAÇA X = 3– FAÇA Y = 5– ESCREVA NA TELA o resultado de x + y
Recapitulando: algoritmos
![Page 28: Lógica de Programação - Clenisson Calaça · Linguagem de programação Ruby Ruby é a linguagem com a qual iremos iniciar nossos estudos de linguagem de programação. É uma](https://reader031.fdocuments.net/reader031/viewer/2022021610/5c1eaa7c09d3f20e6e8c0549/html5/thumbnails/28.jpg)
Variáveis● Uma variável é um espaço, na memória do computador,
destinado a receber um determinado valor. ● Em linhas gerais, uma variável possui nome, tipo e conteúdo,
onde:– Identificador: “nome” que vai ser utilizado para acessar a variável– Tipo: o dado que a variável suporte como valor (número, caracteres, etc.). Inicialmente,
não nos preocuparemos com isso no Ruby.– Valor: aquilo que será “escrito” (utilizado) sempre que a variável for chamada pelo
programa. ● Exemplos de variáveis no ruby
– nome = “Clenisson” (FAÇA nome = “Clenisson”)– idade = 25 (FAÇA idade = 25)
![Page 29: Lógica de Programação - Clenisson Calaça · Linguagem de programação Ruby Ruby é a linguagem com a qual iremos iniciar nossos estudos de linguagem de programação. É uma](https://reader031.fdocuments.net/reader031/viewer/2022021610/5c1eaa7c09d3f20e6e8c0549/html5/thumbnails/29.jpg)
Variáveis● Já sabemos como imprimir algo na tela (ESCREVA NA TELA...)
– Comando puts● Também sabemos como criar uma variável com seu respectivo
valor (FAÇA...)– X = 1
● Implemente o algoritmo solicitado anteriormente:– FAÇA x = 3– FAÇA y = 5– FAÇA z = x + y– ESCREVA NA TELA z
● DICA: Para utilizar o puts somente para exibir um número, não precisa das aspas.
![Page 30: Lógica de Programação - Clenisson Calaça · Linguagem de programação Ruby Ruby é a linguagem com a qual iremos iniciar nossos estudos de linguagem de programação. É uma](https://reader031.fdocuments.net/reader031/viewer/2022021610/5c1eaa7c09d3f20e6e8c0549/html5/thumbnails/30.jpg)
Variáveis● E se nem sempre eu quiser definir o valor da variável dentro do
próprio programa?● E se eu quiser, por exemplo, digitar o valor dela durante a
execução?● O comando gets
– Atribua à variável o valor gets● digite = gets
– Escreva na tela (puts) o seu valor● puts digite
– Salve o arquivo e execute. O que acontece quando você executa o programa?
![Page 31: Lógica de Programação - Clenisson Calaça · Linguagem de programação Ruby Ruby é a linguagem com a qual iremos iniciar nossos estudos de linguagem de programação. É uma](https://reader031.fdocuments.net/reader031/viewer/2022021610/5c1eaa7c09d3f20e6e8c0549/html5/thumbnails/31.jpg)
Exercícios1 – Crie um programa que some dois valores digitados (um de cada vez) pelo usuário.
● Dica: Utilize o comando .to_i para pegar o valor digitado pelo usuário na variável. Não se preocupe, falaremos dele depois!!
– Ex.: em vez de puts x + y, escreva puts x.to_i + y.to_i
2 – Crie um programa que exiba na tela seu nome e sua idade, no seguinte formato:– “Olá, me chamo _____, tenho ____ anos e estou no curso de
Lógica de Programação da Conhecimento Digital”● Lembrete: para gravar seu nome em uma variável, utilize
aspas.● Lembrete²: para escrever na tela um texto, utilize aspas.● Dica: ao utilizar o método puts com as aspas (para escrever
textos), dentro das aspas você pode acessar as variáveis com #{IDENTIFICADOR}, trocando IDENTIFICADOR pelo identificador da variável desejada. Ex.: puts “Olá #{nome}, como está?”