• Nenhum resultado encontrado

Alexandre de Andrade Barbosa alexandre146gmail.com

N/A
N/A
Protected

Academic year: 2019

Share "Alexandre de Andrade Barbosa alexandre146gmail.com"

Copied!
44
0
0

Texto

(1)

/img/logo

Universidade Federal de Alagoas - UFAL

Campus Arapiraca

Mini curso

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Algoritmos e Programa¸c˜ao

Alexandre de Andrade Barbosa

(2)

/img/logo

Motiva¸c˜ao Algoritmos Programa¸c˜ao Exerc´ıcios, Resumo e Referˆencias

Objetivos de aprendizagem

Objetivos

Motivar o estudo de programa¸c˜ao

Conhecer conceitos b´asicos

Definir o conceito de algoritmo

Definir o conceito de linguagem de programa¸c˜ao Listar diferentes linguagens de programa¸c˜ao Listar os passos para construir um programa

Compreender conceitos b´asicos

Diferenciar algoritmo de programa Apresentar exemplos de algoritmos

Converter algoritmo para uma representa¸c˜ao

Aplicar conceitos b´asicos

Elaborar algoritmos para resolver problemas

(3)

/img/logo

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

(4)

/img/logo

Motiva¸c˜ao

Algoritmos Programa¸c˜ao Exerc´ıcios, Resumo e Referˆencias

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Motiva¸c˜

ao

O que ´e poss´ıvel criar...

GunPy projeto dos alunos de Programa¸c˜ao 1 Encainador projeto dos alunos de Programa¸c˜ao 1

(5)

/img/logo

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Algoritmo

“Consideramos um algoritmo como uma sequˆencia de

instru¸c˜oes, cuja execu¸c˜ao resulta na realiza¸c˜ao de uma

determinada tarefa”

Jaime Evaristo, 2004

Exigˆencias para um algoritmo:

1

As instru¸c˜

oes devem ser claras e n˜ao amb´ıguas

2

A sequˆencia de a¸c˜

oes n˜ao deve ser d´

ubia

(6)

/img/logo

Motiva¸c˜ao

Algoritmos

Programa¸c˜ao Exerc´ıcios, Resumo e Referˆencias

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Algoritmo

Exemplo de algoritmo:

(7)

/img/logo

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Algoritmo

(8)

/img/logo

Motiva¸c˜ao

Algoritmos

Programa¸c˜ao Exerc´ıcios, Resumo e Referˆencias

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Algoritmo

Exemplo de algoritmo:

(9)

/img/logo

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Algoritmo

(10)

/img/logo

Motiva¸c˜ao

Algoritmos

Programa¸c˜ao Exerc´ıcios, Resumo e Referˆencias

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Como representar um algoritmo

Textualmente

Obter nota 1

Obter nota 2

Obter m´

edia (nota 1 e nota 2)

Se a m´

edia ´

e maior ou igual a 6

ent~

ao "Aprovado"

Sen~

ao,

ent~

ao "Reprovado"

Intru¸c˜oes do algoritmo

Graficamente

Diagrama de blocos

(11)

/img/logo

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Exerc´ıcios

Exerc´ıcio

1 Algoritmos e Programa¸c˜ao - Question´ario 1

(12)

/img/logo

Motiva¸c˜ao

Algoritmos

Programa¸c˜ao Exerc´ıcios, Resumo e Referˆencias

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Algoritmo - Exemplo 1

Regras:

Somente o homem pode pilotar o barco

O homem s´o pode levar uma carga

A raposa devora a galinha

A galinha devora o milho

(13)

/img/logo

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Algoritmo - Exemplo 1

Solu¸c˜ao 1:

(14)

/img/logo

Motiva¸c˜ao

Algoritmos

Programa¸c˜ao Exerc´ıcios, Resumo e Referˆencias

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Algoritmo - Exemplo 1

Solu¸c˜ao 2:

1

Atravesse a galinha

2

Retorne sozinho

3

Atravesse com o milho

4

Retorne com a galinha

5

Atravesse a raposa

6

Retorne sozinho

7

Atravesse a galinha

(15)

/img/logo

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Algoritmo - Exemplo 1

Solu¸c˜ao 2:

1

Atravesse a galinha

2

Retorne sozinho

(16)

/img/logo

Motiva¸c˜ao

Algoritmos

Programa¸c˜ao Exerc´ıcios, Resumo e Referˆencias

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Algoritmo - Exemplo 2

Como obter 4 litros de ´agua dispondo de dois recipientes com

capacidades de 3 litros e 5 litros?

(17)

/img/logo

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Algoritmo - Exemplo 2

(18)

/img/logo

Motiva¸c˜ao

Algoritmos

Programa¸c˜ao Exerc´ıcios, Resumo e Referˆencias

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Algoritmo - Exemplo 2

Como obter 4 litros de ´agua dispondo de dois recipientes com

capacidades de 3 litros e 5 litros?

Solu¸c˜ao 1

1 Encha o recipiente de 3 litros

2 Transfira o conte´udo do recipiente de 3 litros para o recipiente de 5 litros

3 Encha o recipiente de 3 litros

4 Com o conte´udo do recipiente de 3 litros, complete o recipiente de 5 litros 5 Esvazie o recipiente de 5 litros

6 Transfira o conte´udo do recipiente de 3 litros para o recipiente de 5 litros

7 Encha o recipiente de 3 litros

8 Transfira o conte´udo do recipiente de 3 litros para o de 5 litros

A (o recipiente de 3 litros) B (o recipiente de 5 litros) (A,0)(B,0) 1 (A,3)(B,0) 2 (A,0)(B,3) 3 (A,3)(B,3) 4 (A,1)(B,5) 5 (A,1)(B,0) 6 (A,0)(B,1) 7 (A,3)(B,1) 8 (A,0)(B,4)

(19)

/img/logo

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Algoritmo - Exemplo 2

(20)

/img/logo

Motiva¸c˜ao

Algoritmos

Programa¸c˜ao Exerc´ıcios, Resumo e Referˆencias

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Algoritmo - Exemplo 2

Como obter 4 litros de ´agua dispondo de dois recipientes com

capacidades de 3 litros e 5 litros?

Solu¸c˜ao 2

1 Encha o recipiente de 5 litros

2 Com o conte´udo do recipiente de 5 litros, encha o recipiente de 3 litros

3 Esvazie o recipiente de 3 litros

4 Transfira o conte´udo do recipiente de 5 litros para o recipiente de 3 litros

5 Encha o recipiente de 5 litros

6 Com o conte´udo do recipiente de 5 litros, complete o recipiente de 3 litros

A (o recipiente de 3 litros) B (o recipiente de 5 litros) (A,0)(B,0) 1 (A,0)(B,5) 2 (A,3)(B,2) 3 (A,0)(B,2) 4 (A,2)(B,0) 5 (A,2)(B,5) 6 (A,3)(B,4)

Obs.: Existem solu¸c˜

oes mais eficientes para os problemas

(21)

/img/logo

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Algoritmo - Exerc´ıcios

Sapos na lagoa

Existem trˆes sapos macho nas pedras do lado esquerdo da lagoa e trˆes sapos fˆemea nas pedras do lado direito da lagoa. Cada grupo de sapos precisa chegar ao outro lado. Cada sapo s´o pode pular uma pedra por vez, ou pular um sapo at´e a pr´oxima pedra.

Exerc´ıcio

1 Crie um algoritmo para o problema dos sapos. Ap´os criar uma solu¸c˜ao, visite a p´agina do exerc´ıcio no site do mini curso.

2 Algoritmos e Programa¸c˜ao - Exerc´ıcio 1 (Sapos)

(22)

/img/logo

Motiva¸c˜ao

Algoritmos

Programa¸c˜ao Exerc´ıcios, Resumo e Referˆencias

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Algoritmo - Exerc´ıcios

Lampadas

Existem cinco lˆampadas e cinco interruptores. Cada interruptor acende/apaga as trˆes lˆampadas que est˜ao identificadas abaixo da lˆampada.

Exerc´ıcio

1 Crie um algoritmo para acender todas as lˆampadas. Ap´os criar uma solu¸c˜ao, visite a p´agina do exerc´ıcio no site do mini curso.

2 Algoritmos e Programa¸c˜ao - Exerc´ıcio 2 (Lˆampadas)

3 https://sites.google.com/site/ufalalexandre/mcpython

(23)

/img/logo

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Algoritmo - Exemplo

(24)

/img/logo

Motiva¸c˜ao

Algoritmos

Programa¸c˜ao Exerc´ıcios, Resumo e Referˆencias

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Algoritmo - Exemplo

Crie um algoritmo para somar dois n´

umeros

1

Receba o n´

umero A

2

Receba o n´

umero B

3

Fa¸ca C = A + B

4

Imprima C

(25)

/img/logo

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Programa

Programa

“Um programa ´e um conjunto de instru¸c˜oes que indicam ao

computador, passo a passo, o que ele tem que fazer. Logo,

um programa nada mais ´e do que um algoritmo descrito em

uma linguagem de programa¸c˜ao.”

Linguagem de Programa¸c˜

ao

(26)

/img/logo

Motiva¸c˜ao Algoritmos

Programa¸c˜ao

Exerc´ıcios, Resumo e Referˆencias

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Como representar um algoritmo

Programa na linguagem Python

1

n = i n p u t ( ” D i g i t e um numero i n t e i r o : ” )

2

p r i n t ( ”O d o b r o de ” , n , ” e ” , 2

n” )

Programa na linguagem C

1

#i n c l u d e

<

s t d i o . h

>

2

i n t

main ( )

{

3

i n t

n ;

4

p r i n t f ( ” D i g i t e um numero i n t e i r o : ” ) ;

5

s c a n f ( ”%d” , &n ) ;

6

p r i n t f ( ”O d o b r o de %d e %d

\

n” , n , 2

n ) ;

7

r e t u r n

0 ;

8

}

(27)

/img/logo

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

(28)

/img/logo

Motiva¸c˜ao Algoritmos

Programa¸c˜ao

Exerc´ıcios, Resumo e Referˆencias

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Linguagem de m´

aquina e Linguagem de alto n´ıvel

Tradu¸c˜ao do c´odigo fonte atrav´es de compila¸c˜ao

Tradu¸c˜ao do c´odigo fonte atrav´es de interpreta¸c˜ao

(29)

/img/logo

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Exemplo de compila¸c˜

ao em C

1

#i n c l u d e

<

s t d i o . h

>

2

main ( )

{

(30)

/img/logo

Motiva¸c˜ao Algoritmos

Programa¸c˜ao

Exerc´ıcios, Resumo e Referˆencias

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Exemplo de compila¸c˜

ao em C

Para compilar utilizando o GCC

1

g c c [ nome

do

s e u programa ] . c

o [ nome

do

e x e c u t a v e l ]

Exemplo

1

g c c p r i m e i r o . c

o p r i m e i r o

(31)

/img/logo

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Exemplo de compila¸c˜

ao em C

Para rodar um programa utilizando o GCC

1

. / [ nome

do

e x e c u t a v e l ]

Exemplo

(32)

/img/logo

Motiva¸c˜ao Algoritmos

Programa¸c˜ao

Exerc´ıcios, Resumo e Referˆencias

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Exemplo de interpreta¸c˜

ao em Python

1

p r i n t ”Meu p r i m e i r o programa . . . em Python ”

(33)

/img/logo

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Exemplo de interpreta¸c˜

ao em Python

(34)

/img/logo

Motiva¸c˜ao Algoritmos

Programa¸c˜ao

Exerc´ıcios, Resumo e Referˆencias

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Exerc´ıcios

Exerc´ıcio

1 Algoritmos e Programa¸c˜ao - Question´ario 2

2 https://sites.google.com/site/ufalalexandre/mcpython

(35)

/img/logo

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Programa¸c˜

ao

Resolver problemas ´e uma a¸c˜ao recorrente para um Cientista da

Computa¸c˜ao

Para resolver problemas os cientistas devem:

1

Compreender o problema

2

Buscar uma solu¸c˜ao para o problema

3

Descrever a solu¸c˜ao de forma algor´ıtmica

(36)

/img/logo

Motiva¸c˜ao Algoritmos

Programa¸c˜ao

Exerc´ıcios, Resumo e Referˆencias

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Programa¸c˜

ao

Programa¸c˜ao estruturada

Sequˆencia

Condi¸c˜ao

Repeti¸c˜ao

(37)

/img/logo

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Programa¸c˜

ao

Algoritmo: Receita de Brigadeiro

1

Coloque em uma panela 1 lata de leite condensado, 1 colher de

sopa de margarina e 200g de chocolate em p´

o

2

Cozinhe em fogo m´edio e mexa sem parar com uma colher de pau

3

Repita o passo anterior at´e que o brigadeiro comece a desgrudar

da panela

4

Deixe esfriar, e fa¸ca bolinhas de brigadeiro com as m˜aos

5

Se preferir, envolva as bolinhas em chocolate granulado

Sequˆencia

Condi¸c˜ao

(38)

/img/logo

Motiva¸c˜ao Algoritmos

Programa¸c˜ao

Exerc´ıcios, Resumo e Referˆencias

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Programa¸c˜

ao

Algoritmo: Receita de Brigadeiro

1

Coloque em uma panela 1 lata de leite condensado, 1 colher de

sopa de margarina e 200g de chocolate em p´

o

2

Cozinhe em fogo m´edio e mexa sem parar com uma colher de pau

3

Repita o passo anterior at´e que o brigadeiro comece a desgrudar

da panela

4

Deixe esfriar, e fa¸ca bolinhas de brigadeiro com as m˜aos

5

Se preferir, envolva as bolinhas em chocolate granulado

Sequˆencia

Condi¸c˜ao

Repeti¸c˜ao

(39)

/img/logo

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Programa¸c˜

ao

Algoritmo: Receita de Brigadeiro

1

Coloque em uma panela 1 lata de leite condensado, 1 colher de

sopa de margarina e 200g de chocolate em p´

o

2

Cozinhe em fogo m´edio e mexa sem parar com uma colher de pau

3

Repita o passo anterior at´e que o brigadeiro comece a desgrudar

da panela

4

Deixe esfriar, e fa¸ca bolinhas de brigadeiro com as m˜aos

5

Se preferir, envolva as bolinhas em chocolate granulado

Sequˆencia

Condi¸c˜ao

(40)

/img/logo

Motiva¸c˜ao Algoritmos

Programa¸c˜ao

Exerc´ıcios, Resumo e Referˆencias

Introdu¸c˜

ao `

a programa¸c˜

ao com Python

Programa¸c˜

ao

Algoritmo: Receita de Brigadeiro

1

Coloque em uma panela 1 lata de leite condensado, 1 colher de

sopa de margarina e 200g de chocolate em p´

o

2

Cozinhe em fogo m´edio e mexa sem parar com uma colher de pau

3

Repita o passo anterior at´e que o brigadeiro comece a desgrudar

da panela

4

Deixe esfriar, e fa¸ca bolinhas de brigadeiro com as m˜aos

5

Se preferir, envolva as bolinhas em chocolate granulado

Sequˆencia

Condi¸c˜ao

Repeti¸c˜ao

(41)

/img/logo

Exerc´ıcio

Exerc´ıcio

Algoritmos e Programa¸c˜ao - Exerc´ıcio 3 (Blockly) Algoritmos e Programa¸c˜ao - Question´ario 3

(42)

/img/logo

Motiva¸c˜ao Algoritmos Programa¸c˜ao Exerc´ıcios, Resumo e Referˆencias

Resumo

Resumo

Um algoritmo ´e uma sequˆencia de instru¸c˜oes que produz um resultado em tempo finito

Um programa ´e um algoritmo criado utilizando uma linguagem de programa¸c˜ao Uma linguagem de programa¸c˜ao ´e um conjunto de s´ımbolos e regras de sintaxe que permitem a constru¸c˜ao de algoritmos de modo que o computador compreenda Os processos de compila¸c˜ao e interpreta¸c˜ao correspondem a tradu¸c˜ao do c´odigo fonte para uma linguagem compreendida pelo computador

Qualquer programa pode ser criado utilizando instru¸c˜oes: sequenciais, condicionais (ou de sele¸c˜ao) e repeti¸c˜oes (ou de itera¸c˜ao)

(43)

/img/logo

Referˆ

encias

Marlos T´acio da Silva (IFAL)

Mini curso: Introdu¸c˜ao a Programa¸c˜ao em Python

, 2015.

Mario Hozano Lucas de Souza (UFAL)

Notas de aula da disciplina “Programa¸c˜ao 1”

, 2013.

Jaime Evaristo

(44)

/img/logo

Motiva¸c˜ao Algoritmos Programa¸c˜ao Exerc´ıcios, Resumo e Referˆencias

Perguntas?

Alexandre de Andrade Barbosa

[email protected]

Referências

Documentos relacionados

Nessa situação temos claramente a relação de tecnovívio apresentado por Dubatti (2012) operando, visto que nessa experiência ambos os atores tra- çam um diálogo que não se dá

Quando mudei para o Brasil, uma das grandes diferenças que percebi é que a taxa equivalente ao overdraft, o cheque especial, era dez vezes mais no Brasil do que na

Promovido pelo Sindifisco Nacio- nal em parceria com o Mosap (Mo- vimento Nacional de Aposentados e Pensionistas), o Encontro ocorreu no dia 20 de março, data em que também

Este trabalho buscou, através de pesquisa de campo, estudar o efeito de diferentes alternativas de adubações de cobertura, quanto ao tipo de adubo e época de

E ele funciona como um elo entre o time e os torcedores, com calçada da fama, uma série de brincadeiras para crianças e até área para pegar autógrafos dos jogadores.. O local

Neste estudo foram estipulados os seguintes objec- tivos: (a) identifi car as dimensões do desenvolvimento vocacional (convicção vocacional, cooperação vocacio- nal,

Se você vai para o mundo da fantasia e não está consciente de que está lá, você está se alienando da realidade (fugindo da realidade), você não está no aqui e

Este estudo apresenta como tema central a análise sobre os processos de inclusão social de jovens e adultos com deficiência, alunos da APAE , assim, percorrendo