lista de exercício - Filosofia, Ciência e Arte

Propaganda
Como escrever um Algoritmo Estruturado
Módulo IV: Lógica da Programação e Algoritimos
Versão 1.0
Faculdade de Comunicação –UnB
Parte A, B e C - PCLLA/FAC/UnB
Benedito Medeiros Neto
Universidade Brasília – 27 e 29 de Março, 5 e 12 de Abril de 2017
PROGRAMAÇÃO DE COMPUTADORES, LÓGICAL,
LINGUAGEM E APLICAÇÕES/EAD
M_I - Introdução ao Pensamento Computacional e Conceitos;
M_II - Ambientes de Ensino: Linguagem Python (Lista de
Exercício/NM);
M_III - Tomadas de decisões (Lista de
Exercício/MN);
da Programação e Algoritmos (Lista de
Exercício/BMN);
M_V - Estruturas: laços, listas e fila (Lista de
Exercícios/MN);
_VI - Strings: dados textuais e matrizes (Lista de
M_IV - Lógica
M
Como escrever um Algoritmo Estruturado
Módulo IV: Lógica da Programação e Algoritimos
PARTES
A,
B e C
Lógica: Relaciona-se com a razão, investiga a correção do
pensamento/raciocínio, ou seja, quais operações são válidas ou não.
Estuda e ensina a colocar ordem no pensamento.
TAREFA: Leitura da Representação de ALGORITMOS (Baixar no site) .
? Porque os ALGORITMOS ficaram tão relevantes para o profissional da
comunicação? Nos últimos 10 anos ?
PARTE A
PARTE A: Como escrever um
Algoritmo Estruturado
Algoritmo:
É uma sequência finita de passos para realizar uma tarefa ou solucionar
um problema.
Na prática, criamos algoritmos com o objetivo de automatizar: queremos
que o resultado de uma tarefa possa ser conhecido ou obtido
repetidamente, no mesmo intervalo de tempo, com a mesma qualidade.
TAREFA: Quais as principais diferenças entre as representações de
ALGORITIMOS? Vide texto. Lista de Presença do dia 27/03/2017
Como escrever um Algoritmo Estruturado
Passo 1: leia cuidadosamente a especificação do problema até o final (fazer
anotações e dúvidas)
Passo 2: Exemplo de ALGORITIMO A
enquanto não ENTENDEU faça
se VEZES < 5
então
“leia a especificação até o final
VEZES <= VEZES + 1;
senão
“pergunte ao professor até
entender”;
ENTENDEU <= verdadeiro
fim do se
fim enquanto
Como escrever um Algoritmo Estruturado
Passo 3: Levantar e analisar todas as saídas exigidas na especificação
do PROBLEMA (Tela do computador ou outro dispositivo);
Passo 4: Levantar e analisar todas as entradas citadas na especificação do
PROBLEMA (leituras, no teclado, etc);
Passo 5 : Verificar se é necessário gerar valores internamente ao algoritmo e
levantar as variáveis necessárias e os valores iniciais de uma (comentar);
Como escrever um Algoritmo Estruturado
Passo 6: Levantar e analisar todas as transformações necessárias para,
dadas entradas e valores gerados internamente, produzindo as
especificadas;
Passo 7: Testar cada passo do algoritmo, verificando se as transformações
intermediárias executadas estão conduzindo aos objetivos desejados.
Utilizar, sempre que possível, valores de teste que permitam prever os
resultados a priori;
Passo 8: Fazer uma reavaliação geral, elaborando o algoritmo através da
interação das parte.
TAREFA: Completar a especificação do ALGORITMO A do Passo 2, elaborar
a sua Representação, usando Fluxograma. Enviar via SLACK para MN. Lista
de Presença do dia 29/03/2017
Como escrever um Algoritmo Estruturado
Algoritmo ALGORITIMO B
repita até elaborar um ALGORITMO
#Vou avaliar a minha disposição
Escreve “Estou avaliando"
se não estou disposto
# Variável Boleana
então interrompa meu estudo
senão Invente um problema
Escreva um algoritmo
fim se
fim repita
Mostre os algoritmos feitos a um colega
Escreva ”Gostei !”
Escreva “Reveja o seu Algoritmo"
fim do algoritmo
A ESCOLHA de uma LINGUAGEM de PROGRAMAÇÃO
 LISTA DE EXERCÍCIO: Definir bem entra e saída. Usar
o Python para implementar o ALGORITIMO B. Incluir
nome do programador, data e local.
 Um teste do Programa.
 Este é O EXERCÍCIO 9.
A escolha de uma Linguagem de
programação
LISTA DE EXERCÍCIO: Usar o Python
para implementar o EXERCÍCIO 15, completo.
 Dado um conjunto de valores inteiros e positivos,
fornecido pelo teclado, determinar qual é o menor valor
do conjunto
 Achar o maior e menor número de uma série de
números positivos fornecidos (existe pelo menos um
número para iniciar).
 pg. 29.
Lidando com Erros
a)
b)
Sabendo Porque Python Não Entende Você
Examinando as Fontes dos Erros
b.1) Classificando quando os erros ocorrem
b.2) Distinguindo tipos de erros
c)
Capturando exceções
c.1) Manipulando exceções básicas
c.2) Manipulando exceções mais mais especificas
c.3) Manipulação de exceções aninhadas
d)
Levantando Exceções
=> Capítulo 9 do Livro TEXTO: Python para Leigos de John Paulo Mueller, 2016
LISTA DE EXERCÍCIO
a)
b)
c)
d)
e)
f)
g)
EXERCÍCIO 14 OU PROGRAMA 14
Especificação "Por sua conta!"
Especificação das Saída e Entradas
Elaborar o ALGORITMO C
Programação em Python
Rotina de teses
Entrega, VIA SLACK.
EDITOR DE PROGRAMAS - IDLE
Passo 1: Abrir IDLE - Ambiente de Desenvolvimento
integrado. Digite help >>>help()
Passo 2: Digite o primeiro comando de P15 (14).
Rode (run) P15 (14)
Passo 3: Salve P15 (14). Veja onde o Computador vai
salvar
o arquivo ”BMN-EXERCÍCIO 15
(14).py"
Passo 4: Digite P15 (14) inteiro, e salve P15. Depois rode o
programa P15 (14)
Passo 5: Sair do IDLE (exit ou .....)
Fazer Mais Exercícios de Algoritmo
e de Programação
a)
b)
c)
d)
FARRER, H; et al. Algoritmos Estruturados. Rio de Janeiro: Guanabara
Dois, 1985.
GUIMARÃS/LAJE. Algoritmos e Estrutura de Dados. Rio de Janeiro: LTC,
1985.
Paulo Barry & Davis Griffiths. Use a Cabeça! Programação. Rio de janeiro:
Atlas Books, 2010.
John Paul Mueller. Começando a Programar Python – para Leigos. Rio de
Janeiro: ALTA BOOKS, 2016
LISTA DE EXERCÍCIOS
EXERCÍCIO 9 ( Elaborar um Algoritmo)
EXERCÍCIO 15 ("maior e menor número de uma série”)
EXERCÍCIO 14 ("por sua conta")
PARTE
B
PARTE B: AVALIANDO como você pode ter
benefícios pessoais com PYTHON
 Criar amostras brutas de aplicação (Aprendizagem)
 Aplicações basedas em codificação para navegador
(mobilidade)
 Projetor aplicações matemáticas, científicas e de engenharia
 Trabalhar com XML (Textos)
 Interagir com banco de dados (Big Date)
 Desenvolver interfaces para usuários (Realidade aumentada)
PARTE B: AVALIANDO como você pode ter
benefícios pessoais com PYTHON
Executando Mineração de Dados (pag. 344)
 "Todo mundo está coletando dados sobre tudo e todos.
Tentar peneirar através das montanhas de dados
coletados é uma tarefa impossível sem muita
automação customizada. A naturexa flexível do Python,
combina com sua linguagem concisa e que faz
alterações estremamente rápida, faz com que ele seja
fqavorito entre pessoas que executam mineração de
dados diaramente.”
PARTE B: Como você pode elaborar
um BOM ALGORITMO (D) E PROGRAMA (6)
Dados tês valores X, Y e Z, verificar se eles podem ser os comprimentos dos lados de um
triângulo e, se forem verificar se é um triângulo equilatátero, isosoceles oe escalena. Se eles
não forem um triângulo, escrever uma mensage.
Antes de começar a elaboração do Algoritimo, torna-se necessário a revisão de algumas
propiedade e definições.

Propriedade – o comprimento de cada lado de um triângulo é menor do que a soma dos
comprimentos dos outros dois lados.

Definição 1 – Chama-se triângulo equilátero ao triângulo que tem os comprimentos dos três
lados iguais.

Definição 2 - Chama-se triângulo isósceles ao triângulo que tem os comprimentos de dois
lados iguais. Portanto, todo triângulo equilátero é também isosceles.

Definição 3 – Chama-se triângulo escaleno ao triângulo que tem os comprimentos de seus
lados diferentes.
Decidindo como você pode elaborara um
Algoritimo
Algoritimo
Defina os tipos das variáveis
Leia os números
se existe triângulo
então verifique o tipo do triângulo
senão escreva uma mensagem
fim do se
fim do algoritimo
Decidindo como você pode elaborara um
Algoritimo
Ref. Leia os números
leia X, Y, Z
Fim ref.
Ref. Se existe triângulo
se X < Y + Z e Y < X + Z e Z < X + Y
Fim ref.
Decidindo como você pode elaborara um
Algoritimo
Ref. Verifique o tipo do triângulo
se X = Y e X = Z
então escreva “TRIÂNGULO EQUILÁTERO”
senão verifique se ele é escaleno ou
isóscels
fim
fim ref.
Decidindo como você pode elaborara um
Algoritimo
Ref. Verifique se ele é escaleno ou isósceles
se X = Y ou X = Z ou Y= Z
então escreva “TRIÂNGULO ISÓSCELES”
senão escreva “TRIÂNGULO ESCALENO"
fim
fim ref.
Decidindo como você pode elaborara um
Algoritimo
Ref. Verifique se ele é escaleno ou isósceles
se X = Y ou X = Z ou Y= Z
então escreva “TRIÂNGULO ISÓSCELES”
senão escreva “TRIÂNGULO ESCALENO
fim
fim ref.
Decidindo como você pode elaborara um
Algoritimo
Ref. Verifique se ele é escaleno ou isósceles
se X = Y ou X = Z ou Y= Z
então escreva “TRIÂNGULO ISÓSCELES”
senão escreva “TRIÂNGULO ESCALENO
fim
fim ref.
Decidindo como você pode elaborara um
Algoritimo
Ref. escreva mensagem
escreva “NÃO EXISTE TIRIÂNGULO”
fim ref.
Ref. Defina o tipo das variáveis
declare X, Y, Z numérico
fim ref.
TAREFA. Montar o AGORITIMO e Implementar em Python
(EXERCÍCIO 6)
Decidindo como você pode elaborara um
Algoritimo
LISTA DE EXERCÍCIOS: Montar o AGORITIMO completo,
a partir de suas partes, e Implementar o PROGRAMA 6,
em Python
(EXERCÍCIO 6)
Como extrair um Algoritmo de
UM PROGRAMA FONTE
# PROGRAMA 1 - FAC/UnB - Programa Elaborado por BMN
# DATA: 16/10/16 - Trabalhando com STRINGS
print("Seja Benvindo ao Jogo da Adivinhações")
print("Jogador A, sua vez")
# Jogador A
i = input("Entre com um Numero menor que 10 e maior do que 0: ")
into = int(i)
print(into)
h = input("Que horas são agora: ")
hora = int(h)
Faça DownLoad do Fonte NA LOUSA DIGITAL!
ROTINA DE TESTES
PROGRAMA P1
Passo 1: Abri o Python (3.5. ou 2.7.) que você já
instalou na TAREFA anterior
Passo 2: Digite o primeiro comando, exatamente
como
foi escrito, veja o afastamento
Passo 3: Veja o resultado, está correto?
Passo 4: Digite o próximo comando. cada comando do P1,
e ver cada resultado
Passo 5: Saia do Python
Como EXTRAIR um ALGORITMO Estruturado
LISTA DE EXERCÍCIOS:
Elaborar o ALGORITMO a partir do Programa Fonte 1, fazer modificações que
você deseja, por exemplo, permitir 3 tentativa ao Jogador B.
EXERCÍCIO 1: Voce deve elaborar o Algoritmo, implementar o novo
PROGRAMA 1, testar e incluir para entregar na sua LISTA EXERCÍCIOS DO
MÓDULO IV, COMPLETO.
Veja o fonte do PROGRAMA na Lousa Digital.
.
EDITOR DE PROGRAMAS - IDLE
Passo 1: Abrir IDLE - Ambiente de Desenvolvimento
integrado. Digite help >>>help()
Passo 2: Digite o primeiro comando de P1. Rode (run)
P1
Passo 3: Salve P1. Veja onde o Computador vai
salvar
o arquivo "PrimeiroProg.py"
Passo 4: Digite P1 inteiro, e salve P1. Depois rode o
programa P1
Passo 5: Sair do IDLE (exit ou .....)
Como MANTER um ALGORITMO Estruturado
EXEMPLO: Desenvolvendo um Menu a partir de um programa exitente:
Coffe Break = . > CAFÉ DA MANHÃ BRASILEIRO
• PROGRAMA 3 da sua Lista
• Seguir os Passos recomendável p/DESENVOLVIMENTO
• Seguir os Passos recomendável para a p/IMPLEMETAÇÃO
• Seguir os Passos recomendável p/Rotina dos TESTES e ACEITAÇÃO
• ENTREGA formal/Autor/Data/Local (Slack)
PROGRAMA 03: Você pode criar um Menu para o Café da
Manhã (P3)
Onde está o fonte ? Entre como o nome do livro: Começando a
programar em Python para leigos www.altabooks.com.br (pg. 4)
Tapioca
Verduras
Ovos
Salsicha
Parte do PROGRAMA 3 (fonte .py, pg. 131)




















order()
print("1. Eggs")
print("2. Pancakes")
print("3. Waffles")
print("4. Oatmeal")
MainChoice = int(input("Choose a breakfast item: "))
if (MainChoice == 2):
Meal = "Pancakes"
elif (MainChoice == 3):
Meal = "Waffles"
if (MainChoice == 1):
print("1. Wheat Toast")
print("2. Sour Dough")
print("3. Rye Toast")
print("4. Pancakes")
Bread = int(input("Choose a type of bread: "))
Como escrever um Algoritmo Estruturado
LISTA DE EXERCÍCIOS:
(i)Fazer o DownLoad do Programa Fonte do Livro ou
da Lousa Digital
(ii) Descrever o ALGORITMO 3, em uma linguagem
de presentação
(iii) Implementar o PROGRAMA 3
(iv) Elaborar e fazer a rotinaa de testes de verificação
(v) Fazer a entrega do produto
Distinguindo tipos de ERROS (p. 153)
“Você pode distinguir erros por tipo, isto é, por como els
são feitos. Conhecer os tipos de erro ajuda a entender onde
procurar por problemasem potencial na aplicação.
SINTÁTICO
SEMÂNTICO
LÓGICO
LISTA DE EXERCÍCIOS
EXERCÍCIO 6 (TRIÂNGULO/Especificação
Em conjunto)
EXERCÍCIO 1 (ADIVINHAR UM NÚMERO/Modificar o
Fonte)
EXERCÍCIO 3 (CAFÉ NA POUSADA/Coffe Break)
LISTA DE PRESENÇA DO DIA 05/04/2017?Uma Pergunta para Marília?
PARTE C
Lógica da Programação
e Algoritimos
Organizando Informações para um Algoritmo
ROTEIRO DE ESTUDO (Vide uma apresentação de um Tutorial
na LOUSA Digital)
ENTRANDO COM DADOS REPETITIVOS E
EXECUTANDO TAREFAS REPETITIVAS
=> O que são listas? •
 Construindo, acessando e manipulando listas •
 EXEMPLO DE USO DE LISTA
=> Como e onde utilizá-las •
Matrizes (MN)
Strings (MN) e Listas Especiais (MN)
OBJETIVO DA PARTE C
Entender, Especificar, Elaborar o Algoritmo, Passar para Python,
Testar o Programa e Entregar o Exercício:
PROGRAMA 2 – VOCÊ QUER ESCOLHER DE UM
ARTEFATO PARA O SEU GRUPO?
PROGRAMA 12 – QUAL A SUA MENÇÃO NA DISCIPLINA?
VIDE AS REGRAS NO PLANO DE ENSINO
PROGRAMA 11 – QUAL O PERCENTUAL DE AUSÊNCIA NAS AULAS DA
DISCIPLINA?
VIDE AS REGRAS NO PLANO DE ENSINO
Como escrever um Algoritmo Estruturado
EXERCÍCIO 2 - VOCÊ QUER ESCOLHER DE UM
ARTEFATO PARA O SEU GRUPO?
Ver Programa Exemplo.
As informações do estudante serão colocadas VIA no Teclado:
O Programa deve usar um Loop para entrar com DADOS
na Lista
• Programa deve mostrar a Lista NO FINAL.
LISTA DE EXERCÍCIOS
EXERCÍCIO 2 – ESCOLHA DE UM ARTEFATO
SUAS DÚVIDAS DA ESPECIFICAÇÃO:
• SAÍDAS (Coletivo de Estudantes)
• ENTRADAS (Coletivo de Estudantes)
• ARTEFATOS JÁ DEFINIDOS
• ARTEFATOS NÃO ESCOLHIDOS
• ALGORITMO (Usar Laço, While or For, FARRER, pg. nn)
LISTA DE EXERCÍCIOS
EXERCÍCIO 2 – ESCOLHER O SEU ARTEFATO
DADOS
Algoritmo: VIDE O PROGRAMA EXEMPLO DE ESCOLHA
DE CORES
Como APRENDER A ESCREVER um Algoritmo
Estruturado
Como escrever um Algoritmo Estruturado
EXERCÍCIO 12 (VAMOS CALCULAR A SUA MENÇÃO?)
Ao final do semestre cada estudante da Disciplina terá:
a) Entregue 7 Lista de Exercício
b) Feito um proposta para o Artefato do Grupo (Vide peso P. Ensino)
c) Defendido o seu Artefato (Vide peso P. Ensino)
d) Entregue o descritivo ou documentação do Produto (Manual de Uso)
ESPECIFICAÇÃO:
As informações do estudante serão introduzidas via Teclado:
nome; matrícula; quais listas foram entregues completas (1) e imcompletas (0.5);
nota da Proposta; e nota do Artefato.
O Programa deve mostrar a Mensão Final do Estudante.
LISTA: EXERCÍCIOS 12
EXERCÍCIO 12 – MENÇÃO
SUAS DÚVIDAS SOBRE A ESPECIFICAÇÃO:
SAÍDAS (Coletivo de Estudantes. Plano de Ensino)
ENTRADAS (Coletivo de Estudantes. Plano de Ensino)
LISTA DE EXERCÍCIOS
EXERCÍCIO 12 – MENÇÃO
SUAS DÚVIDAS DA ESPECIFICAÇÃO
DADOS
ALGORITMO (FARRER, pg. nn)
LISTA: EXERCÍCIO 12
EXERCÍCIO 12 – MENÇÃO (uso de listas para entrada de dados
e laços para fazer os cálculos)
Algoritmo:
Entrar com os conceitos das 7 Listas de Exercício;
# (Exercício 2)
Entrar com a nota da proposta :
Entrar com a nota do Artefato;
Calcular a média final do Estudante (Fórmula);
Encontrar a menção (Intervalos)
fim do algoritmo.
LISTA: EXERCÍCIO 11
PROGRAMA 11 – Elabora um Algoritmo e um Programa
em Python que responda às seguintes perguntas
Qual foi o percentual de ausência do Estudante
às aulas da DISCIPLINA?
Ele faltou no dia dd/mm/17?
LISTA: EXERCÍCIO 11
EXERCÍCIO 11 – AUSÊNCIA
SUAS DÚVIDAS SOBRE A ESPECIFICAÇÃO
SAÍDAS (Percentagem de Ausência, aprovado ou não.
Se o Estudante estava ausente no dd/mm/17,
Plano de Ensino)
ENTRADAS (Matrícula do Estudante: da/mm/17: ausente (0);
Presente(1) )
Ver o Plano de Ensino.
LISTA DE EXERCÍCIO – PROGRAMA 11
PROGRAMA 11 – AUSÊNCIA NAS AULAS DA DISCIPLINA
ENTENDER A SOLICITAÇÃO
Uso de LISTAS e Laços!
Dados
Algoritmo
LISTA DE EXERCÍCIOS
EXERCÍCIO 1 – AUSÊNCIA NAS AULAS DA DISCIPLINA
MATRIZ (Portugol, pg. 84; 85; 86; 87)
Algoritmo:
Entrar com os dados do Estudante;
Entrar com as ausências do Estudante;
Calcular a percentagem de Ausência do Estudante;
Encontrar apercentagem de Ausência (Reprovação se maior que 25% e
Aprovação se menor que 25%);
Entrar com o dia da aula em que o Estudante quer verificar;
fim do algoritmo.
LISTA DE EXERCÍCIOS – DA DISCIPLINA
PROGRAMA 2 – QUER ESCOLHER UM ARTEFATO
PARA O SEU GRUPO? (LISTA)
PROGRAMA 12 – QUAL A SUA MENÇÃO FINAL NA DISCIPLINA?
(LOOP, WHILE OR FOR)
PROGRAMA 11 – QUAL O PERCENTUAL DE AUSÊNCIA NAS AULAS DA
DISCIPLINA?
ENTRANDO COM DADOS REPETITIVOS E EXECUTANDO TAREFAS
REPETITIVAS
(LISTA & LOOP)
LISTA DE PRESENÇA DO DIA 12/04/2017- Uma Pergunta para Marília
Download