46
Top. Esp. Comunicação, Informação e Computação - CIC/FAC/UnB

e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

  • Upload
    hadat

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

Page 1: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

Top. Esp. Comunicação, Informaçãoe Computação - CIC/FAC/UnB

Page 2: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

PARTE A: INTRODUÇÃO

1) Antes elaborar um programa

2) Porque programar ? Eu posso programar !

3) Dificuldades e desafios da programação de computadores

4) Porque a Linguagem Python?

PARTE B: AMBIENTES E LINGUAGEM PYTHON1) O que é um comando?

2) Instalando o Python no computador;

3) Usar o Ambiente de Programação: Interativo/Python 3.6

4) Exemplo de comandos e variáveis

Page 3: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

PARTE C: EXEMPLO DE UM PROGRAMA EM PYTHON

1) Programa - maior e o menor

2) Editor de programa e Rodando o programa

3) Ambiente de Aprendizagem de linguagens relp.it

PARTE D: ELABORANDO UM PROGRAMA ESTRUTURADO EM PYTHON

1) Dicas da Linguagem Python

2) Tarefas para casa

3) Trabalho em equipe

Page 4: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

Parte A

Page 5: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

INTRODUÇÃO

1) Antes elaborar um programa

2) Porque programar ? Eu posso programar !

3) Dificuldades e desafios da programação de computadores

4) Porque a Linguagem Python?

Page 6: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

INTRODUÇÃO

O ensino de Algoritmos e Programacao, em cursos de Computacao ou afins, tem por objetivo estruturar o pensamento do aluno de maneira que ele seja capaz de conseguir utilizar a logica de programacao como ferramenta para a resolucao de diversos problemas computacionais, fator importante e necessario para disciplinas mais avancadas (SCOLARI et al. 2007)

Page 7: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

A escolha de uma Linguagem de programação

Page 8: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

Decidindo como você pode ter benefícios pessoais com PYTHON

Page 9: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

Decidindo como você pode ter benefícios pessoais com PYTHON

� Criaramostrasbrutasde aplicação�

Aplicações baseadas em codificação para navegador

�Projetoraplicaçõesmatemáticas, científicas e de engenharia

Trabalhar com XML��Interagir com banco de dados��Desenvolveri nterfaces para usuários

Page 10: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

Parte B

Page 11: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

Configurando o ambiente para aprender python

Python : Escolha a versão mais recente e estável do python 3.Video tutorial: How to Download and Install Python 3.6 on Windows 10

: Um ambiente instantâneo de programação.

Page 12: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

Ambiente IDLE1.Ao baixar e instalar o python, irá vir junto a instalação o IDLE. o IDLE é uma interface gráfica para programação em python.

2.Ao abrir o IDLE será exibido o python shell. O python shell possibilita escrever TODOS comandos em python, DE UMA VEZ

3. Escreva print(“Hello python!”) e aperte [enter] para escrever seu primeiro comando. Se tudo der certo o texto “Hello python!” será exibido.

Page 13: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

Escrevendo um programa

5.Para testar e rodar seu programa, selecione Run > Run module

6. A saída do seu programa será exibida no python shell.

4.Selecione File > New window para começar a escrever um novo programa.

Page 14: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

Similar a uma variável na matemática, um programa pode armazenar algum tipo de conteúdo dentro de uma Variáveis

X=?

Page 15: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

Já conhecemos que uma variável pode ser algum número

X=42

Page 16: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

Na programação também podemos aceitar diversos outros valores, até uma frase.

X=”Oi, td bom?”

Page 17: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

TESTAR A VARIÁVEL X NO MODO INTERATIVO\

prompt do python:

Page 18: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

? O QUE É UMA VARIÁVEL?Podemos imaginar uma Variável como sendo um baú.

Todo baú pode ter informações dentro dele. Mas essas informações seguem regras, um baú carrega apenas certos tipos de informação.

Page 19: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

INT

Por exemplo, digamos que nosso baú armazena um número inteiro. Dessa maneira ele pode ter dentro dele qualquer número inteiro. Chamaremos este baú de INT

2

Porém o baú inteiro só consegue guardar números inteiros dentro dele. E só consegue guarda um único número.

Page 20: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

TESTAR A VARIÁVEL INT NO MODO INTERATIVO\

Python :

Page 21: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

Também temos outros baús para armazenar outros tipos de dados: O baú CHAR consegue armazenar um caracter, exemplo: ‘a’, ‘b’, ‘c’, ‘&’, ‘(‘, … E o baú String armazena um textoex: “Hello world”, “Eu sou uma variavel do tipo String!”O baú FLOAT consegue armazenar números reais, com casas depois da vírgula, ex: 3,1415O baú Boolean só consegue armazenar “verdadeiro” ou “falso”(true e false)

INTSTRING FLOATCHAR BOOLEAN

Page 22: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

TESTAR AS DIFERENTES VARIÁVEIS NO MODO INTERATIVO\

Python :

Page 23: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

Por último, todo baú além de um tipo também tem um nome. A escolha dos nomes vai de acordo com o que o programador bem entender:

INTSTRING FLOATCHAR BOOLEAN

nome: frase letra numero pi maior

Page 24: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

Na linguagem C++ os baús ficariam declarados da seguinte forma:

Page 25: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

Na linguagem Python os baús ficariam assim(bem mais simples):

Diferente do C++, linguagens como python e ruby não precisam especificar o tipo da variável. Elas fazem isso automaticamente pra você!

Page 26: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

Parte C

Page 27: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

EXEMPLO de programa python: Mostrar idade

Page 28: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

EXERCÍCIO EM SALA DE AULA: UM programa python QUE Mostrar DDD

Page 29: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

Exemplo de programa python: Mostrar Intervalo de um número de entrada

Page 30: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

Como as expressões e precedências são lidas

Resolvendo expressões aritmética: https://automatetheboringstuff.com/eval/2-2.html

Page 31: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

Exercício:

ExercícioLeia 2 valores inteiros e armazene-os nas variáveis A e B.

Efetue a soma de A e B atribuindo o seu resultado na variável X.

Imprima X conforme exemplo apresentado abaixo.

Entrada

A entrada contém 2 valores inteiros.

Saída

Imprima a mensagem "X = " (letra X maiúscula) seguido pelo valor da variável X e pelo final de linha. Cuide para que tenha um espaço antes e depois do sinal de igualdade, conforme o exemplo abaixo

Exemplos de Entrada Exemplos de Saída

10 X = 19

9

Page 32: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

EXEMPLO DO PROGRAMA QUE ENCONTRA O MENOR E O MAIOR

algoritmo "maior_e_menor"//Calcula o menor e a maior entradavarA,B,C,D,E,F,G,H,maior,menorinicio <- 0menor <- 9999leia(A,B,C,D,E,F,G,H)se(A >= maior)

maior <- Afimsese(B >= maior)

maior <- Bfimsese(C >= maior)

maior <- Cfimsese(D >= maior)

maior <- Dfimse

se(E >= maior)maior <- E

fimsese(F >= maior)

maior <- Ffimsese(G >= maior)

maior <- Gfimsese(H >= maior)

maior <- Hfimse

escreva(“Maior: ”,maior)

Page 33: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

EXEMPLO DO PROGRAMA QUE ENCONTRA O MENOR E O MAIOR pt2

algoritmo "maior_e_menor"//Calcula o menor e a maior entradavarA,B,C,D,E,F,G,H,maior,menorinicio <- 0menor <- 9999

se(C<=menor)C<-menor

fimsese(D<=menor)

D<-menorfimsese(D<=menor)

D<-menorfimsese(E<=menor)

E<-menorfimse

se(F<=menor)F<-menor

fimsese(G<=menor)

G<-menorfimsese(G<=menor)

G<-menorfimseescreva(“Menor: ”, menor)

Page 34: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

Exercício:

EXEMPLOPassar o algoritmo pseudocódigo da aula passa em pseudocódigo para o python.

Relembrando: O programa deve avaliar entre 6 números entradas qual é o maior e qual o menor.

Entrada

A entrada contém 6 valores inteiros.

Saída

Imprima a mensagem "Maior: " seguido pelo valor da maior variável e “Menor: “ seguido pelo valor da menor variável.

Exemplos de Entrada Exemplos de Saída

10 2 3 45 6 0 Maior = 45 Menor = 0

93 888 -23 1 2 76 Maior = 888 Menor = -23

Page 35: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

Um guia rápido de referências

Page 36: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

Exercício: Tarefa para casa

EXEMPLOLeia 3 valores reais (A, B e C) e verifique se eles formam ou não um triângulo. Em caso positivo, calcule o perímetro do triângulo e apresente a mensagem:

Perimetro = XX.X

Caso contrário apresente: Nao forma triangulo.

Entrada

A entrada contém três valores reais.

Saída

O resultado deve ser apresentado com uma casa decimal.

Exemplo de Entrada Exemplo de Saída

6.0 4.0 2.1 Perimetro = 12.16.0 4.0 2.0 Nao forma triangulo.

Page 37: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

Parte D

Page 38: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

DOJO

Mão na massa!

Page 39: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

DOJO

Mão na massa!

Regras0.Selecionem um problema para resolver.1.A programação é feita em turnos.2.Programação em pares: 1 Piloto e 1 Co-piloto.3.Cada turno dura 7 minutos.4.Quando um turno expirar:

O Piloto deixa a cadeira;O Co-piloto vira piloto;E uma nova pessoa da platéia vira co-piloto.

Page 40: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

Problema

Mão na massa!

Escreva um programa que leia o número de um funcionário, seu número de horas trabalhadas, o valor que recebe por hora e calcula o salário desse funcionário. A seguir, mostre o número e o salário do funcionário, com duas casas decimais.

Entrada

O arquivo de entrada contém 2 números inteiros e 1 número com duas casas decimais, representando o número, quantidade de horas trabalhadas e o valor que o funcionário recebe por hora trabalhada, respectivamente.

Saída

Imprima o número e o salário do funcionário, conforme exemplo fornecido, com um espaço em branco antes e depois da igualdade. No caso do salário, também deve haver um espaço em branco após o $.

Page 41: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

Problema

Mão na massa!

Fulano quer calcular e mostrar a quantidade de litros de combustível gastos em uma viagem, ao utilizar um automóvel que faz 12 KM/L. Para isso, ele gostaria que você o auxiliasse através de um simples programa. Para efetuar o cálculo, deve-se fornecer o tempo gasto na viagem (em horas) e a velocidade média durante a mesma (em km/h). Assim, pode-se obter distância percorrida e, em seguida, calcular quantos litros seriam necessários. Mostre o valor com 3 casas decimais após o ponto.

Entrada

O arquivo de entrada contém dois inteiros. O primeiro é o tempo gasto na viagem (em horas) e o segundo é a velocidade média durante a mesma (em km/h).

Saída

Imprima a quantidade de litros necessária para realizar a viagem, com três dígitos após o ponto decimal

Page 42: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

Problema

Mão na massa!Leia um valor de ponto flutuante com duas casas decimais. Este valor representa um valor monetário. A seguir, calcule o menor número de notas e moedas possíveis no qual o valor pode ser decomposto. As notas consideradas são de 100, 50, 20, 10, 5, 2. As moedas possíveis são de 1, 0.50, 0.25, 0.10, 0.05 e 0.01. A seguir mostre a relação de notas necessárias.

Entrada

O arquivo de entrada contém um valor de ponto flutuante N (0 ≤ N ≤ 1000000.00).

Saída

Imprima a quantidade mínima de notas e moedas necessárias para trocar o valor inicial, conforme exemplo fornecido.

Page 43: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

Problema

Mão na massa!

NOTAS:5 nota(s) de R$ 100.001 nota(s) de R$ 50.001 nota(s) de R$ 20.000 nota(s) de R$ 10.001 nota(s) de R$ 5.000 nota(s) de R$ 2.00MOEDAS:1 moeda(s) de R$ 1.001 moeda(s) de R$ 0.500 moeda(s) de R$ 0.252 moeda(s) de R$ 0.100 moeda(s) de R$ 0.053 moeda(s) de R$ 0.01

576.73

Exemplo de Entrada Exemplo de Saída

NOTAS:0 nota(s) de R$ 100.000 nota(s) de R$ 50.000 nota(s) de R$ 20.000 nota(s) de R$ 10.000 nota(s) de R$ 5.002 nota(s) de R$ 2.00MOEDAS:0 moeda(s) de R$ 1.000 moeda(s) de R$ 0.500 moeda(s) de R$ 0.250 moeda(s) de R$ 0.100 moeda(s) de R$ 0.050 moeda(s) de R$ 0.01

4.00

Exemplo de Entrada Exemplo de Saída

Page 44: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

Locais para aprender a linguagem python

● https://www.tutorialspoint.com/python/index.htm

● Materiais Listados no Site.

● VideoAula: Python Programming (Automate the Boring Stuff with Python)

Referências

Page 45: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

a)FARRER, H; et al. Algoritmos Estruturados. Rio de Janeiro: Guanabara Dois, 1985. b)GUIMARÃS/LAJE. Algoritmos e Estrutura de Dados. Rio de Janeiro: LTC, 1985.

c)Paulo Barry & Davis Griffiths. Use a Cabeça! Programação. Rio de janeiro: Atlas Books, 2010.

d)John Paul Mueller. Começando a Programar Python – para Leigos. Rio de Janeiro: ALTA BOOKS, 2016

Referências

Page 46: e Computação - CIC/FAC/UnB Top. Esp. Comunicação, Informação de... · conseguir utilizar a lógica de programação como ferramenta para a resolução de diversos problemas

Locais para praticar a linguagem python

● https://br.codecombat.com/

● https://www.urionlinejudge.com.br/

● https://code.org/minecraft

Referências