Você está na página 1de 34

Algoritmos e

Lógica de
Programação
Prof. Flavius Gorgônio
Semana 1
Uma breve introdução ao pensamento computacional

2
Uma breve revisão
Você conhece esses termos?

➢ Computador
➢ Hardware
➢ Software
➢ Algoritmo
➢ Programação
➢ Linguagem de programação
➢ Programa de computador
➢ Código fonte
➢ Código executável

Se não conhece, vamos conhecê-los,

Se já conhece, vamos revisá-los!

3
Esse tal computador
Como podemos descrever o
computador?

➢ É uma máquina
➢ Inteligente?
➢ Criativo?!
➢ Rápido?
➢ O que o torna especial e
diferente da maioria das
outras máquinas criadas
anteriormente?
➢ Pode substituir os humanos?

4
Diferenças entre hardware e software

5
Mas, e o peopleware?
De que adianta hardware e software,
se não temos o peopleware?

Máquinas são criadas para serem


usadas por PESSOAS e não por
outras máquinas

As pessoas são a parte mais


IMPORTANTE da relação

6
Semelhanças entre computadores e liquidificadores
. Ing Passos para a utilização do liquidificador:
red
ient
es 1. Destampar o copo
2. Introduzir os ingredientes no copo
através da abertura superior
3. Tampar o copo
Alimentos
4. Ligar o processador
Processados 5. Aguardar alguns minutos
6. Desligar o processador
7. Destampar o copo
8. Servir o conteúdo

Processador

7
Semelhanças entre computadores e liquidificadores
. Ing .
red Ent
ient rad
es a

Alimentos
Saída
Processados

Processador Processamento

8
Semelhanças entre computadores e liquidificadores
. Passos para a utilização do computador:
En
tra
da 1. Ligar o computador
2. Selecionar o programa desejado
3. Introduzir os dados no programa
a 4. Solicitar o processamento
Saíd
5. Aguardar alguns minutos
6. Obter os resultados desejados
7. Finalizar o programa
8. Desligar o computador

Processamento

9
Semelhanças entre computadores e liquidificadores
Uma das principais funções dos sistemas .
Da
computacionais é o processamento de dados do
s
Sistemas computacionais que têm como
objetivo transformar dados em informações
são conhecidos como Sistemas de Informação es
rm açõ
Info
Tais sistemas recebem os dados brutos (sem
processamento), processam esses dados e os
transformam em informações (dados
processados) para dar suporte à tomada de
decisão

Processamento

10
Bolo de Caneca no Micro-ondas
Algoritmo
Ingredientes
substantivo masculino
➢ 1 ovo pequeno
ETIM (origem da palavra): latim medv. algorismus, ➢ 4 colheres de sopa de leite
com influência do grego arithmós 'número' ➢ 3 colheres de sopa de óleo
1. matemática ➢ 2 colheres de sopa rasas de chocolate em pó
➢ 4 colheres de sopa rasas de açúcar
sequência finita de regras, raciocínios ou
operações que, aplicada a um número finito de
➢ 4 colheres de sopa rasas de farinha de trigo
dados, permite solucionar classes semelhantes de ➢ 1 colher de café rasa de fermento em pó
problemas.

2. informática

conjunto das regras e procedimentos Modo de Preparo


lógicos perfeitamente definidos que levam à solução
de um problema em um número finito de etapas.
1. Coloque o ovo na caneca e bata bem com um garfo.
2. Acrescente o óleo, o açúcar, o leite, o chocolate e bata mais.
Definição obtida em: 3. Acrescente a farinha e o fermento e mexa delicadamente até encorpar.
https://languages.oup.com/google-dictionary-pt/
4. Leve por 3 minutos no microondas na potência máxima.

Fonte: https://receitas.globo.com/bolo-de-caneca-microondas-4d54384052e0b20f760006e9.ghtml
11
Algoritmos computacionais e não computacionais

12
Passos do algoritmo:

Atividade 1 1.
2.
Passar o cartão no caixa eletrônico
Aguardar a vez de ser atendido
3. Sair do banco
Organize os passos do algoritmo ao
lado, de forma a representar uma 4. Entrar na fila do caixa eletrônico
sequência correta de ações que 5. Digitar a senha
permita a uma pessoa sacar 6. Entrar no banco
dinheiro em um caixa eletrônico
7. Conferir o valor em dinheiro
Anote os passos na ordem correta 8. Informar o valor a ser retirado
Você gostaria de acrescentar mais 9. Procurar a fila do caixa eletrônico
algum(ns) passo(s) a este algoritmo? 10. Pegar o comprovante do saque, o cartão e o dinheiro
Se sim, qual(is)?

13
3
Considerando que a raposa
Atividade 2 2 não pode ser deixada sozinha
com a galinha em uma das
No caminho de volta para casa, margens, nem a galinha pode
1 surgiu um problema, pois há ser deixada sozinha com o saco
A raposa, a galinha e o milho um rio cuja travessia precisa de milho, encontre uma
ser realizada de canoa e na solução para que o fazendeiro
O Sr. Josafá Zendeiro mora em
canoa só há espaço para ele e consiga transportar todos os
um pequeno sítio na zona rural
mais um dos itens adquiridos, itens até o outro lado do rio.
de Caicoland. No último
embora ele possa realizar
sábado, ele foi à feira na cidade
várias viagens.
e adquiriu os seguintes itens:
uma raposa, uma galinha e um
saco de milho.

14
Atividade 2
Como traçar uma estratégia para
M R
resolver esse problema?

➢ Crie uma maneira de


representar os itens do
problema (fazendeiro, raposa,
galinha e saco de milho)
➢ Encontre uma forma de
representar as margens do rio
➢ Faça simulações e anote os G
resultados
F

Passo 1: F leva G
Passo 2: F retorna sozinho
Passo 3: ...
15
As freiras e os canibais
Atividade 3
No mesmo rio citado no problema anterior, pouco depois que o
Sr. Josafá Zendeiro conseguiu resolver seu problema, surgiu um
outro desafio.

Três freiras e três índios canibais precisam ir de uma fazenda


localizada nas vizinhanças do sítio do Sr. Josafá até a cidade. A
canoa é a mesma e só transporta duas pessoas em cada viagem.

Desta vez, o desafio é impedir que os índios canibais fiquem em


maior número do que as freiras em qualquer das margens do rio,
o que representaria um risco para as religiosas.

Encontre uma solução para transportar freiras e canibais de uma


margem do rio para a outra, garantindo a segurança do grupo.

16
Algumas questões para reflexão:

1. Desenvolver aplicativos para


smartphones, tablets e TVs digitais,
também é programação?

Programação
2. E desenvolver jogos para videogames é
programação?
3. Alguém que não tenha desenvolvido o
aplicativo, mas seja responsável pela
Programação é o processo de escrita, sua instalação, configuração, suporte e

teste e manutenção de um programa de manutenção, também é um


programador?
computador 4. Ei, minha mãe sabe programar a
lavadora de roupas lá de casa... Então
ela é uma programadora?

17
"Se você quer uma profissão do futuro, entenda de “Ser desenvolvedor é uma viagem onde a
software, de programação. Isso vale para todas as áreas" próxima parada é a solução de um problema”

Prof. Sílvio Meira, CIn/UFPE Thales Valentim

"A mola motriz da sociedade da informação


“É claro que darei computadores aos meus e do conhecimento é software. Quem souber fazer software
filhos, mas antes eles terão livros” tem um diferencial competitivo enorme, porque todo o resto
do planeta vai depender de quem faz"
Bill Gates, Microsoft
Prof. Sílvio Meira, CIn/UFPE

“Se você não estiver escrevendo software, é Os computadores são inúteis.


porque vai estar virando software” Eles só podem dar respostas.

Prof. Sílvio Meira, CIn/UFPE Pablo Picasso, pintor espanhol, além de ser escultor,
ceramista, cenógrafo, poeta e dramaturgo

Algumas frases de famosos sobre o tema


18
Algoritmos, programas e linguagens
Algoritmo: Sequência coordenada de passos para se atingir um objetivo

Programa de computador: algoritmo escrito utilizando-se uma linguagem de programação

Linguagem de programação: conjunto de instruções pré-definidas, utilizada para


escrever os programas de computador
Exemplos de linguagens: Python, Java, C, C++, JavaScript, Ruby, PHP, etc.

Programadores utilizam linguagens de programação para transformar algoritmos em


programas de computador que solucionam problemas

“Um programador é uma máquina que transforma café em código”


Autor anônimo, mas incorporado pelo Prof. Taciano Silva
19
Como é feita a programação?
? ??
Computador, eu sou
seu DONO. Siga as
minhas ORDENS!!!

Escreva o meu
nome na tela!!!

20
Há um problema de comunicação 10010100
10101101
Eu falo
Português

Ou alguma outra
linguagem
natural

21
Para ilustrar esse problema, imagine que você chegasse à
Universidade no primeiro dia de aula e encontrasse a
seguinte mensagem:

Üdvözöljük az elsőéves egyetem kezdetén.


Használja ki mindazt, amit az egyetem
kínál egyetemi éveiben, és menjen el
innen a siker felé!

22
Precisamos de um intérprete

23
Conversa entre humanos e computadores

1. li ina
ngu máqu
age de
mh
uma
ag em
na g u
in
2. l

4. li i na
ngu qu
age má
mh de
uma
na a g em
gu
.3 lin

24
Como funciona isso na Programação?
Código fonte em uma Compilador ou
linguagem de programação interpretador

Hardware

Código executável em
25
linguagem de máquina Sistema operacional
Programador
Produz seu código fonte usando uma Linguagem de Programação

Interpretador ou Compilador

Converte o código fonte em código de máquina (executável)

Sistema Operacional
Executa o código de máquina em um determinado hardware

Etapas do processo de programação 26


Compiladores versus interpretadores
Compiladores traduzem todo o código fonte Interpretadores traduzem o código fonte em
em código objeto, de uma só vez, gerando um código executável, comando a comando,
programa executável executando um comando de cada vez

Este programa executável pode ser Para executar o seu programa em outro
distribuído com outros usuários da mesma computador, é necessário levar o código
plataforma (hardware e sistema operacional) fonte e possuir o interpretador instalado

Caso o usuário mude de plataforma, será Caso o usuário mude de plataforma, será
necessário criar uma nova versão para a nova necessário obter uma versão do
plataforma interpretador para a nova plataforma

É semelhante a um processo de tradução de É semelhante a um processo de tradução


um texto simultânea em uma palestra

27
Transformando algoritmos em programas
Problema:

Algoritmo para calcular uma média aritmética


Como calcular a minha média? a partir de três notas:
1. Obtenha a 1ª nota
Nota 1 7.0
2. Obtenha a 2ª nota
Nota 2 8.0 3. Obtenha a 3ª nota
4. Some as três notas
Nota 3 9.0
5. Divida o valor obtido por três
Soma 24.0 6. Apresente o resultado obtido

Média 8.0

28
Codificando o algoritmo em uma linguagem
program MediaAritmetica; Linguagem Python
var
nota1,nota2,nota3,soma,media:real;
begin print("Cálculo da média")
writeln("Cálculo da média"); nota1 = input("Digite a 1a. nota: ")
write("Digite a 1a. nota: "); nota1 = float(nota1)
readln(nota1); nota2 = input("Digite a 2a. nota: ")
write("Digite a 2a. nota: "); nota2 = float(nota2)
readln(nota2); nota3 = input("Digite a 3a. nota: ")
write("Digite a 3a. nota: "); nota3 = float(nota3)
readln(nota3); soma = nota1 + nota2 + nota3
soma := nota1 + nota2 + nota3; media = soma / 3
media := soma / 3; print("Sua média foi: %.1f"%media)
writeln("Sua média foi: ", media);
end.

Linguagem Pascal

29
Por que utilizamos Python?
Alguns motivos para usar Python:

1. Fácil de aprender
2. Simples de codificar
3. Tipagem dinâmica
4. Linguagem interpretada
5. Moderna e atualizada
6. Recursos de acesso à internet
7. Imperativa e/ou orientada a objetos
8. Ampla quantidade de bibliotecas
9. Grande número de desenvolvedores
10. Ferramentas gratuitas
11. Entre outros...

30
IDE em nuvem: Ambiente Replit (https://replit.com/)
31
Experimente agora!
Siga os seguintes passos:
#####################################
1. Abra o site: https://replit.com ### Primeiro Programa em Python ###
2. Crie sua conta, se não tiver uma
#####################################
3. Crie um novo programa, clicando no
botão +
4. Escolha a linguagem Python print("Olá, pessoal")
5. Dê um nome para o seu programa
print("Bem-vindos ao curso de ALP")
6. Clique em Create repl
7. Copie o código ao lado e cole na print("Até breve!")
coluna central
8. Clique no botão Run ᗎ
9. Veja o resultado na coluna da direita
10. Você conseguiu!

32
Para saber mais...
FEIJÓ, B.; CLUA, E.; SILVA, F. S. C. Introdução à Ciência da Computação com Jogos: Aprendendo a Programar com
Entretenimento. Rio de Janeiro: Elsevier, 2010.

JOYANES AGUILAR, L. Fundamentos de Programação: Algoritmos, Estruturas de Dados e Objetos. São Paulo: McGraw-Hill,
2008.

MENEZES, N. N. C. Introdução à Programação com Python: Algoritmos e lógica de programação para iniciantes. São Paulo:
Novatec Editora, 2008.

DIA A DIA, BIT A BIT, por Silvio Meira, disponível em: http://smeira.blog.terra.com.br/

➢ futuro do trabalho? software. (30/Jul/2010)


➢ tudo é programável. incluindo refrigerante. (23/Dez/2011)
➢ software = bom “salário”? (03/Ago/2010)

Wikipédia

➢ http://pt.wikipedia.org/wiki/Programação_de_computadores
➢ http://pt.wikipedia.org/wiki/Linguagem_de_programação

33
Copyright
Este material é para uso exclusivo durante as aulas da disciplina DCT1101 - ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO, do curso de Bacharelado em Sistemas de Informação da Universidade Federal do Rio
Grande do Norte, não estando autorizada a sua publicação, compartilhamento, divulgação ou
utilização em outros contextos diferentes dos aqui apresentados.

Todos os textos, imagens, exemplo de código e demais materiais utilizados nesses slides são apenas
para fins didáticos, o autor e a instituição não permitem a sua utilização sem autorização expressa,
assim como não se responsabilizam pelo seu uso indevido ou por danos causados pelos mesmos. 34

Você também pode gostar