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]
Sobre vocês?
Apresentem-se :)
Sobre o curso
● http://www.conhecimentodigital.com.br/curso/tecnologico/logica
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
Vamos começar?
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?
...
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”
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!!!
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”
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 carro
1. Ligue o carro
2. Pise na embreagem
3. Engate a primeira marcha
…
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.
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!
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.
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...
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.
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???
Liguagem de máquina
●
Computadores não entendem “português”,
“inglês”, ou “espanhol”...
●
Basicamente, entendem bits. Sequências de
0s e 1s
Quer dizer que...
1. LEIA login 2. LEIA senha
3. AUTENTIQUE o usuário
4. REDIRECIONE para o perfil
...
01010101101010010
10101101010101010
10110011010101010
10101010101010101
01010101010101010
101101111100100010
00100100101011010
10010101010101010
10101010110101010
...
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!
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!
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!
Linguagens de programação
Há uma infinidade delas...
Linguagem de programação
Ruby
● 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/
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?
●
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
●
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
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)
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.
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?
Exercícios
1 – 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.
●