Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Aula 2 - Introdução à programação de computadores - parte 2
1. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Introdução à Programação de
Computadores – Parte II
Prof. Dr. Edson Pimentel
Centro de Matemática, Computação e
Cognição
2. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Objetivos
Aprender a redigir rotinas comuns do dia-a-dia
forma de algoritmos
Conhecer uma técnica para a construção de
algoritmos computacionais
3. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Relembrando ...
O funcionamento de qualquer computador
está baseado nessa arquitetura básica:
4. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
APRENDENDO A
PROGRAMAR
COMPUTADORES:
POR ONDE COMEÇAR ?
5. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
O principal componente de um programa de
computador é a sua lógica, ou seja, o que o
computador deve fazer para resolver um problema.
Devemos então DESCREVER essa lógica numa linguagem
que o computador “entenda”
É mais fácil começar a programar (organizar a lógica) em
uma linguagem de alto nível.
Qual é a linguagem de mais alto nível para um ser
humano que fala naturalmente o português?
Aprendendo a Programar Computadores
6. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Vamos dar os primeiros passos na arte de programar
computadores, em uma linguagem mais próxima da
linguagem natural.
O caminho mais tranquilo é por meio de
ALGORITMOS
Escrever ALGORITMOS é mais simples porque
focam na solução do problemas e não consideram
“detalhes” de linguagem, etc.
Aprendendo a Programar Computadores
7. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
ALGORITMOS
8. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
É uma sequência finita de instruções, ordenada de
forma lógica para a resolução de uma determinada
tarefa ou problema.
Um algoritmo fixa um padrão de
comportamento a ser seguido, uma
norma de execução, com o objetivo de
resolver um determinado problema.
Definição de ALGORITMO
9. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
No dia-a-dia dizemos que é algo que
é coerente, óbvio, correto.
Lógica Logos + Ica
Razão Ciência
Estuda o raciocínio/pensamento humano.
Estudo de argumentos
Argumento é uma sequência de enunciados, na qual um dos
enunciados é a conclusão, derivado a partir dos outros enunciados
(premissas).
É o oposto de
“Isso não tem Lógica”
O que é LÓGICA?
10. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Todos os peixes vivem na água. (premissa1)
Golfinhos são peixes. (premissa 2)
.·. Golfinhos vivem na água. (conclusão)
Tanto a forma de argumento quando a conclusão são verdadeiras,
apesar de esta última ter sido deduzida a partir de uma premissa
falsa (golfinhos são peixes).
Um silogismo representa um argumento composto de
duas premissas e uma conclusão. E estabelece uma
conclusão, que pode ser válida ou não.
Silogismo - Aristóteles
11. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
LÓGICA DE
PROGRAMAÇÃO
12. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Falar em lógica de programação significa contextualizar
a lógica na construção de programas.
Lógica de programação está relacionada ao raciocínio
que precisamos desenvolver para resolver um
problema cuja solução deverá ser implementada em
um computador.
Encadear pensamentos para atingir determinado
objetivo.
Como pensar como um
programador ?
Lógica de Programação
13. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
A habilidade mais importante para um cientista
da computação é a solução de problemas;
A solução de problemas é a habilidade de
formular questões, pensar criativamente sobre
soluções possíveis e expressar uma solução de
forma clara e precisa;
E aprender a programar é uma excelente
oportunidade de praticar as habilidades da
solução de problemas.
Solução de Problemas
14. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Diagnosticar a doença de um paciente a partir da
descrição dos sintomas, e medicá-lo.
Criar um sistema de informação que permita gerir as
entradas/saídas (cargas/descargas) de navios em um
porto marítimo.
Desenvolver um programa para controle da
movimentação de um robô.
Exemplo de Problemas
15. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Um algoritmo é uma forma de representar a
solução de um problema por meio de uma
sequência de passos.
São exemplos de algoritmos:
Receitas de bolos
Manuais técnicos
Guias de montagem
Programas de computadores
Algoritmo
16. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
EXEMPLO DE
CONSTRUÇÃO DE
ALGORITMO
17. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Fazer um bolo de chocolate.
Problema
18. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Qual o resultado esperado?
Saída
19. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Saída
20. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
O que é preciso para se obter o
resultado desejado?
Passos
21. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
O que é preciso para se obter o
resultado desejado?
Ingredientes
Passos
22. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Ingredientes:
5 ovos.
250 gramas de margarina cremosa.
2 xícaras (chá) de açúcar.
1 xícara (chá) de farinha de trigo.
1 xícara (chá) de chocolate.
200 gramas de côco ralado.
1 copo de leite.
1 colher (sopa) de fermento.
Dados de Entrada
23. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Qual a sequência necessária (de uso
dos ingredientes) para se obter o
resultado desejado?
Passos
24. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Modo de Preparo
Bata a margarina, as gemas e o açúcar até ficar cremoso.
Junte o leite, o côco e a farinha e continue batendo.
Acrescente o fermento e, por último, as claras em neve.
Unte uma forma com manteiga e leve ao forno para assar.
Processamento
25. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
OUTRO EXEMPLO DE
ALGORITMO
26. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
???
???
???
???
???
???
???
Algoritmo
Quais os passos para realizar a troca de uma lâmpada ?
• Para quem troca lâmpadas com
frequência (ou já viu trocar) os passos
podem ser feitos automaticamente
• Mas e se essa mesma pessoa tiver que
deixar uma RECEITA para uma pessoa
que nunca trocou uma lâmpada efetuar
essa tarefa ?
27. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Pegar uma escada.
Posicionar a escada embaixo da lâmpada.
Buscar uma lâmpada nova.
Subir na escada.
Retirar a lâmpada velha.
Colocar a lâmpada nova.
Algoritmo
Quais os passos para realizar a troca de uma lâmpada ?
28. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
1. ???
2. ???
3. ???
Algoritmo
E se a lâmpada não estiver queimada?
29. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
1. Acionar o interruptor.
2. Se a lâmpada não acender, então:
Pegar uma escada.
Posicionar a escada embaixo da lâmpada.
Buscar uma lâmpada nova.
Subir na escada.
Retirar a lâmpada queimada.
Colocar a lâmpada nova.
Algoritmo
E se a lâmpada não estiver queimada?
30. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Pode haver vários algoritmos para resolver
um mesmo problema.
Afinal, cada pessoa pensa e age de forma
diferente.
O desenvolvimento
de algoritmos é um
exercício de
Criatividade
Experiência
Diversas soluções para um problema
31. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Diferentes algoritmos podem estar corretos,
se levarem ao alcance do objetivo final.
Entretanto, deve-se
procurar desenvolver
algoritmos que resolvam o
problema com menos
esforço e maior
objetividade.
Diversas soluções para um problema
32. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
ESCREVENDO
ALGORITMOS
33. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Instrução/Comando: São frases que indicam as ações a
serem executadas. São compostas de um verbo no
imperativo, ou no infinitivo, mais um complemento.
Exemplo:
Bata (Bater) duas claras em neve.
Ligue (Ligar) os faróis.
Some (Somar) dois números.
Imprima (Imprimir) resultado da soma.
Para escrever ALGORITMOS (programas) é necessário o
uso de INSTRUÇÕES / COMANDOS.
ALGORITMO: instruções ou comandos
34. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Formalizar a
escrita de
algoritmos.
Escrita na
forma de
pseudocódigo.
Problema Pseudo
linguagem
se...
então...
senão...
Linguagem
de
programação
Java, C,
Pascal, etc
Linguagem
de máquina
Zeros e
uns...
Pseudolinguagem
35. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Uma linguagem (ou pseudolinguagem) possui duas
características:
Sintaxe - como escrever os comandos e seus componentes;
Semântica - o significado de cada comando e conceito.
A sintaxe e a semântica de uma linguagem de
programação englobam várias ações, como, por exemplo:
Declarações de Variáveis;
Operadores;
Comandos de entrada e de saída;
Comandos de seleção, repetição etc.
Pseudolinguagem
36. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Bloco de execução é um conjunto de ações que possui
uma função bem definida.
O início de um bloco é marcado pela palavra início.
O fim de um bloco é marcado pela palavra fim.
início
<declaração de variáveis>
<comandos>
fim
Bloco de Execução
37. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
O próprio algoritmo é um bloco de execução. A
sintaxe da definição do bloco de um algoritmo é:
Algoritmo <NomeDoAlgoritmo>
início
<declaração de variáveis>
<comandos>
fimalgoritmo.
Bloco de Execução
38. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
TÉCNICA PARA A
CONSTRUÇÃO DE
ALGORITMOS
39. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
O que
preciso?
(Entrada)
Como chegar ao
que quero?
(Processamento)
O que
quero?
(Saída)
ALGORITMO – Sequência do Programa
40. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
O que
preciso?
(Entrada)
Como chegar ao
que quero?
(Processamento)
O que
quero?
(Saída)
ALGORITMO – Passos para construção
Na construção do algoritmos devemos identificar primeiro a
SAÍDA de dados, para então pensar nos passos necessários
para chegar nessa saída
41. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Identificar o problema (objetivo) mediante
leitura atenta de seu enunciado
(entendimento).
Identificar os resultados que devem ser gerados na solução
(saída de dados).
Identificar no enunciado os dados a
serem fornecidos para o algoritmo (entrada de dados).
Determinar o que deve ser feito para transformar as
entradas nas saídas desejadas (processamento).
ALGORITMO – Passos para a construção
42. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Escreva um algoritmo para somar dois números quaisquer.
ALGORITMO – EXEMPLO
43. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Escreva um algoritmo para somar dois números quaisquer.
ALGORITMO – EXEMPLO
Identificar os resultados que devem ser gerados na solução
(saída de dados)
44. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Escreva um algoritmo para somar dois números quaisquer
ALGORITMO – EXEMPLO
Identificar os resultados que devem ser gerados na solução
(saída de dados)
O resultado da soma
45. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Escreva um algoritmo para somar dois números quaisquer
ALGORITMO – EXEMPLO
Identificar no enunciado os dados a
serem fornecidos para o algoritmo (entrada de dados)
46. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Escreva um algoritmo para somar dois números quaisquer.
ALGORITMO – EXEMPLO
Identificar no enunciado os dados a
serem fornecidos para o algoritmo (entrada de dados).
Os dois números.
47. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Escreva um algoritmo para somar dois números quaisquer.
ALGORITMO – EXEMPLO
Determinar o que deve ser feito para transformar as
entradas nas saídas desejadas (processamento).
Somar os dois números.
48. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Escreva um algoritmo para somar dois números quaisquer.
ALGORITMO – EXEMPLO
Organizando o ALGORITMO numa ordem
coerente.
49. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Escreva um algoritmo para somar dois números quaisquer.
1. Leia o número X
2. Leia o número Y
3. Some X e Y
4. Mostre o resultado da soma
Entrada SaídaProcessamento
Número X
Número Y
Somar X e Y Resultado
da soma
ALGORITMO – EXEMPLO
50. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
FORBELLONE, A. L. V.; EBERSPACHER, H. F., Lógica de
Programação – A Construção de Algoritmos e Estruturas
de Dados, Prentice Hall, 2005
• CAPÍTULO 1 – Introdução a Lógica de Programação
Leituras Sugeridas
51. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
RESUMINDO...
52. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
• As rotinas do dia-a-dia podem ser descritas na forma de
Algoritmos
• Escrever algorimos é mais ou menos como escrever um
MANUAL para que algúem execute uma tarefa
• Um algoritmo computacional (para ser executado por um
computador) precisa seguir alguns padrões de linguagem
• A construção de algoritmos a partir de um enunciado de um
problema requer técnicas de compreensão e refinamento da
solução
• Qual a SAÍDA de dados requerida ?
• Qual a ENTRADA de dados necessária?
• Qual o PROCESSAMENTO necessário para
transformar ENTRADA em SAÍDA ?
Coisas para não esquecer:
53. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
EXERCÍCIOS DE
LÓGICA
54. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Um lobo, uma cabra e uma couve têm de atravessar um rio
em um barco que transporta um de cada vez, incluindo o
barqueiro. Como o barqueiro os levará para o outro lado de
forma que a cabra não coma a couve e o lobo não coma a
cabra?
Exercício 1
55. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Dois homens seguiam por um caminho. Um levava 8 litros de
vinho em um garrafão e o outro levava 8 litros de vinho em
dois garrafões, um com cinco litros e um com três.
Eles beberam o vinho do garrafão maior, de 8 litros, e agora
querem dividir os 8 litros de vinho restante igualmente, para
nenhum dos dois carregar mais peso que o outro. Entretanto,
eles só podem usar como medida, os próprios garrafões: um
de 8 litros, um de 5 e um de 3. Como fazer?
Exercício 2
56. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
EXERCÍCIOS DE
ALGORITMOS
57. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Descreva a sequência de passos necessária para:
Colocar um carro em movimento.
Exercício 1
58. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Introdução à Programação de Computadores – Parte 2
Descreva a sequência de passos necessária para:
Jogar o jogo da velha.
Exercício 2