mÓdulo iii: lÓgica da programaÇÃo e algoritmos versão 5

73
MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5.2 Programação para Comunicadores - ProCom Faculdade de Comunicação – UnB Benedito Medeiros Neto Universidade Brasília – 27 e 29/03; 5 e 12/04 e 12/10de 2017 03 e 05/09 de 2018 – ONTOWEB 18\08\21

Upload: others

Post on 11-Jul-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS

Versão 5.2

Programação para Comunicadores - ProCom

Faculdade de Comunicação – UnB

Benedito Medeiros Neto Universidade Brasília – 27 e 29/03; 5 e 12/04 e 12/10de 2017

03 e 05/09 de 2018 – ONTOWEB 18\08\21

Page 2: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

LÓGICA DA PROGRAMAÇÃO E ALGORITMOS & ...

MÓDULO

VII\URI

MÓDULO II URI\A & B

MODULOIV, V URI

Page 3: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

MÓDULOS & Listas de exercícios\OBRIGATÓRIOS\1

Ok\M_I - Introdução ao Pensamento Computacional e Conceitos. Ver lista de Exercício;

Ok\M_II - Ambientes de Ensino: Linguagem Python. Ver Lista de Exercício/UR);

Ok\M_III – Lógica da Programação e Algoritmos. Ver Lista de Exercício\3.1; 3.2; 3.3,& 3.4)

M_IV - Tomadas de decisões IF THEN ELSE. Ver LISTA de Exercícios (1038 to1113\URI)

è M_V - Estruturas: laços, listas e fila. (Lista de Exercícios URI: 1035; 1047; 1037; 1046; 1159; 1158; 1155; & 1156);

è M_VI - Prática de Algoritmos Estruturados (Lista de EXEMPLOS TO Exercício/BMN 6.9; 6.10; 6;11 & 6.12 )

Page 4: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

LÓGICA DA PROGRAMAÇÃO E ALGORITMOS & ...

MÓDULO

VIII, IX

MÓDULO III

Exemplo = Exercício

MODULOVI

Page 5: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

MÓDULOS & Listas Optativas \2M_VII - Strings: dados textuais e matrizes ~ Ver Módulo VII do Curso ProCom::http://www.filosofiacienciaarte.org/index.php/quadro-virtual/1035-modulo-vi-strings (Lista de Exercícios/URI1168; 1192; 2766\URI);M_VIII - Funções e Bibliotecas ~ Ver Módulo VIII do Curso ProCom:: http://www.filosofiacienciaarte.org/index.php/quadro-virtual/1028-modulo-vi (Lista de Exercícios/BMN, 8.1; 8.2; 8.3 & 8.4):: http://www.filosofiacienciaarte.org/attachments/article/1028/MO%CC%81DULO%20VIII_V3_3-Programac%CC%A7a%CC%83o%20para%20Comunicadores-04Outubro2017.pdf M_IX - Armazenamento de dados e arquivos. Ver Módulo IX do Curso ProCom:: http://www.filosofiacienciaarte.org/index.php/quadro-virtual/1029-modulo-viii Ver Módulo VII do Curso ProCom:: http://www.filosofiacienciaarte.org/attachments/article/1029/Mod%20IX_v2_4-Programa%C3%A7%C3%A3o%20%20para%20Comunicadores%20%2005Outubro2017.pdf(Lista de Exercício/BMN, 9.1; 9.2; 9.3; & 9.14).

M_X – Temas para Trabalho Final da Disciplina(Ver Módulo X Curso ProCom:: (http://www.filosofiacienciaarte.org/index.php/curso-programacao-python/1050-modulo-x-aplicacao-artefatos)

Page 6: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

MÓDULO III: LÓGICA DA PROGRAMAÇÃOE ALGORITMOS

Objetivo:Neste Módulo da Disciplina, queremos aprender a:

• Dado um problema, • determinar uma sequência de instruções tal que, • fornecidos os dados de entrada,• a execução da sequência da instruções resulte como

saída a solução do problema. fim.

Page 7: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

? O QUE É UM ALGORITMO ?

e.

Page 8: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

? O QUE É UM ALGORITMO ?

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.

Page 9: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

MÓDULO III: LÓGICA DA PROGRAMAÇÃOE ALGORITMOS

Objetivo:Neste Módulo da Disciplina, queremos aprender a:

• Dado um problema, • determinar uma sequência de instruções tal que, • fornecidos os dados de entrada,• a execução da sequência da instruções resulte como

saída a solução do problema. fim.

Page 10: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

LÓGICA DA PROGRAMAÇÃO E ALGORITMOS

Dados de Entrada e de Saída (URI)

A solução de qualquer problema envolve um processamento,que manipula dados de entrada e gera dados de saída

(que você deve saber, agora):

PROCESSA-MENTOS

DADOS DE ENTRADA SAÍDAS

Page 11: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

MÓDULO III: LÓGICA DA PROGRAMAÇÃOE ALGORITMOS

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 A DE SALA DE AULA: Tutorial/Leitura da Representação de ALGORITMOS (Baixar no site: =èhttp://www.filosofiacienciaarte.org/attachments/article/1025/RepresentacaoAlgoritmos-CIC%20UnB.pdf) .

Page 12: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

? REPRESENTAÇÃO DE UM ALGORITMO ?

TAREFA B DE SALA DE AULA:? Quais as são as principais diferenças entre as representações de ALGORITIMOS ? Descrição Narrativa; Fluxograma Convencional; Pseudocódigo, tambémconhecido como portugol.

Com base no Tutorial: ===>http://www.filosofiacienciaarte.org/attachments/article/1025/RepresentacaoAlgoritmos-CIC%20UnB.pdf

Page 13: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

? REPRESENTAÇÃO DE UM ALGORITMO ?

Page 14: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

EXEMPLO DE PRÁTICA LÓGICA DA PROGRAMAÇÃO E ALGORITMOS

Algoritmo – Primeiro Exemplo: --------- Não é exclusivo da computação!

Fazem parte do dia-a-dia de todas as pessoas: ----------- Instruções para uso de medicamentos; ----------- Indicações de como montar um móvel; ----------- Receitas culinárias.

--------- A ordem é muito importante! --------- Se você trocar os passos, o algoritmo pode não dar certo

fim do Algoritmo

Page 15: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

MÓDULO IV: LÓGICA DA PROGRAMAÇÃOE ALGORITMOS

Tarefa C em Sala de Aula: Elaborar o Portugol do Algoritmo (Pseudocódigo):

do Algoritmo Sabe Programar?

Page 16: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

LISTA DE EXERCÍCIOS MÓDULO III\A

èEXERCÍCIO 3.1: ( “Algoritmo que PERGUNTA se sabe PROGRAMAR?”)

EXERCÍCIO 3.2: (”Algoritmo que apresente os PASSOS para Entender uma especificação de um Algoritmo")

EXERCÍCIO 3.3: (“ADVINHAÇÃO + String”)

=è https://cicfacunb.slack.com/messages/CCKACNSTA/details/

Page 17: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

DÚVIDAS DA LISTA DE EXERCÍCIOS DO MÓDULO IV

EXERCÍCIO 3.1: ( “PASSOS para Elaborar um Algoritmo”)

èEXERCÍCIO 3.2: (”PASSOS para Entender uma especificação de um Algoritmo")

EXERCÍCIO 3.3: ADIVINHAÇÃO==è Enviar para o Slack = https://cicfacunb.slack.com/messages/CCKACNSTA/details/

Page 18: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

Próximo Exercício (3.1)

EXEMPLO 3.1

EXERCÍCIO 3.1

MóduloIII

# Do FLUXOGRAMA para o PYTHON

Page 19: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

MÓDULO III: LÓGICA DA PROGRAMAÇÃOE ALGORITMOS

TAREFA D em SALA DE AULA

? Porque os ALGORITMOS ficaram tão relevantes para o profissional dacomunicação? Nos últimos 10 anos ?Resposta

Fim do Algoritmo

Page 20: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

REGRAS PRÁTICAS PARA A CONSTRUÇÃO DE UM ALGORITMO NA LISTA EXERCÍCIOSa) Dar um Nome do Algoritmob) Entender Especificação: ”Proposta pelo Professor e depois fechada como Compromisso"c) Definir Especificações: das Saída e das Entradasd) Elaborar: O ALGORITMO (em uma REPRESENTAÇÃO) para a Especificação aceita.e) Fazer teses (Chinezinho)f) Passar para o Pythong) Testar do programah) Enviar tudo (editor de texto) para o Slack: =èhttps://cicfacunb.slack.com/messages/CCKACNSTA/details/

Page 21: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

PASSOS PARA ELABORAR UM ALGORITMO - 1

Algoritmo – Passos para Elaborar um Algoritmo

Passo 1: Leia cuidadosamente a especificação do problema até o final (Texto em portugues apresentado pelo cliente) e faças as anotações e tire as dúvidas na primeira oportunidade

Passo 2: Pensar o ALGORITIMO da Tarefa C ( fazer um teste, se tem dúvida)

Page 22: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

FULXOGRAMA EXEMPLO 3.1

Senão eu devo estudar

mais

Início

Fim

Então Escrevarum programa

SabeProgramar?

Page 23: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

MÓDULO III: LÓGICA DA PROGRAMAÇÃOE ALGORITMOS

EXERCÍCIO 3.1 em Sala de Aula:

Fazer a programa em PYTHOn do Algoritmo\Exemplo 3-1 um programa sobre que indagaSobre o Saber de programar

Page 24: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

Próximo Exercício (3.2)

EXEMPLO 3.2

EXERCÍCIO 3.2

MóduloIII

# O MELHOR PROGRAMA \ PASSOS PARA ELABORAR

Page 25: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

LISTA DE EXERCÍCIOS MÓDULO III\A

EXERCÍCIO 3.1: ( “Algoritmo que PERGUNTA se sabe programar. Elaborar o programa”). Deixar claro as entras e as saídas, antes postar no SLACK.

==> EXERCÍCIO 3.2: (”Algoritmo que apresente os PASSOS para Entender uma especificação de um Algoritmo”. (Escolha do melhor programa dos estudantes)

EXERCÍCIO 3.3: (“Um Algoritmo que ENCONTRA Maior e menor número de uma série que fornecidos pelo teclado (ENTRADA DE DADOS”). Passar uma entrada 10 números.

Page 26: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

? COMO USAR UM ALGORITMO NAS DISCIPLINAS DA FAC PARA RESOLVER PROBLEMAS?

Passo 1 – Escreva um texto em português sobre o problema (entendimentos do problema)

Passo 2 – Do português vá para Fluxograma (desenhar) ou Portugol (escrever o pseudocódigo)

Passo 3 – No final você vai para a Linguagem de Programação PYTHON, e teste o seu algoritmo (todos os exercício da lista do Módulo IV)

Page 27: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

PASSOS PARA ESCREVER UM ALGORITMO - 2

Algoritmo – Passos para Elaborar um AlgoritmoPasso 1: Leia cuidadosamente a especificação do

problema até o final (Texto em portugues apresentado pelo cliente) e faças as anotações e tire as dúvidas na primeira oportunidade

Passo 2: Pensar o ALGORITIMO da Tarefa C ( fazer um teste, se tem dúvida)

Page 28: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

PASSOS PARA ESCREVER UM ALGORITMO - 2

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);

Page 29: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

PASSOS PARA ESCREVER UM ALGORITMO - 3

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 (Um laço);

Passo 8: Fazer uma reavaliação geral, elaborando o algoritmo através da interação das parte.

Page 30: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

REGRAS PRÁTICAS PARA A CONSTRUÇÃO DE DA LISTA DE EXERCÍCIOS

a) Nome: ALGORITMO OU PROGRAMA b) Especificação: ”Proposta pelo Professor e Depois fechada como Compromisso"c) Especificações: das Saída e das Entradasd) Elaborar: O ALGORITMO (em uma forma definida)

para a Especificaçãoe) Rever o seu Algoritimof) Fazer: A Rotina de teses (incluir)g) Entrega: Colocar no Slack: https://cicfacunb.slack.com/messages/CCKACNSTA/details/

Page 31: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

EXEMPLO UM ALGORITMO: PASSOS PARA ESCREVER UM ALGORITMO - 2

EXERCÍCIO 3.2: Completar a especificação do ALGORITMO,

elaborar a sua Representação, usando Fluxograma.

.

Page 32: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

EXERCÍCIO 3.2

A partir dos passos do EXEMPLO 3.2, elaborar Algoritmo, usando fluxo grama, que mostre os PASSOS para Elaborar um Algoritmo. Você pode mudar os 8 passos, aumentando ou diminuindo o número de passos, ou mudando a narrativa.

Seguir as REGRAS PRÁTICAS apresentadas para a CONSTRUÇÃO deum ALGORITMO NA LISTA EXERCÍCIO

Page 33: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

PASSOS PARA ESCREVER UM ALGORITMO - 3

EXERCÍCIO 3.2: Completar a especificação, passos para elaborarALGORITMO A. Deve elaborar a sua Representação, usando Fluxograma.

Fazer teste no seu Algoritmo.

Page 34: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

PARTE A DA LISTA 3

EXEMPLO 3.3

EXERCÍCIO 3.3

MóduloIII

Page 35: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

MÓDULO III: CAMINHO DA SOLUÇÃO

Page 36: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

Lidando com Errosa) Sabendo Porque Python Não Entende Vocêb) Examinando as Fontes dos Erros

b.1) Classificando quando os erros ocorremb.2) Distinguindo tipos de erros

c) Capturando exceçõesc.1) Manipulando exceções básicasc.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

Page 37: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

USO DO IDLE – PRIMEIRO EDITOR DE PROGRAMAS

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 .....)

Page 38: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

# EXEMPLO 3.3 - FAC/UnB - Programa Elaborado por BMN

# DATA: 16/10/16 - Trabalhando com STRINGSprint("Seja Benvindo ao Jogo da Adivinhações")print("Jogador A, sua vez") # Jogador Ai = 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!

Page 39: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

# EXEMPLO 3.3 OK-Programa Elaborado por BMN - DATA: 16/10/16

# Atualizado em 11\08\21 TEC2 OntoWeb

# Trabalhando com STRINGS

# Parte de Entrada de Dados

print("Seja Benvindo ao Jogo da Adivinhação")

print("Jogador A, sua vez") # Jogador A

i = input("Entre com um Numero maior do que 0: ")

into = int(i)

print(into)

h = input("Que horas são agora: ")

hora = int(h)

# Parte do Jogador B

# Uso do comando if then and else - tomada de decisão III

print("Jogador B, sua vez")

g = input("Adivinhe o Numero, menor que do 10: ")

guess = int(g)

if guess == into:

print("Você ganhou!")

else:

print("Você perdeu!")

# parte da nova tentativa

# AUMENTAR O NÚMERO DE TENTATIVAS PARA JOGADOR B

# duas chamnces para B

Page 40: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

# Parte de Saída

print("O Jogo terminou")print("Obrigado pela participação")

# Trabalhando com STRINGSString1 = "Good"String2 = "Morning"String3 = "Afternoon"String4 = "Night"String5 = String1[:4] + String2[:8]String6 = String1[:4] + String3[:10]String7 = String1[:4] + String4[:6]

Page 41: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

EXEMPLO UM ALGORITMO\PROGRAMA: PASSOS PARA ESCREVER UM ALGORITMO - 2

EXERCÍCIO 3.3: REVER o programa exemplo para permitir que o Jogador B tenha mais uma tentativa, ou seja jogar duas vezes. Fazer todos os testes de entradas possíveis no seu Algoritmo.

.

Page 42: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

Parte B DA LISTA 3

EXERCÍCIO 3.4;3.5; E 3.6

MóduloIII

Page 43: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

A ESCOLHA de uma LINGUAGEM de PROGRAMAÇÃO

� LISTA DE EXERCÍCIO: Definir bem entra e saída. Usar o Python para implementar cada ALGORITIMO.

� Incluir nome do programador, data e local.

� Fazer um teste simples

do Algoritmo.

Page 44: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5
Page 45: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

Python Top 10 Open Source Projects (v.Mar 2018)

� For the past month, we ranked nearly 250 Python Open Source Projects to pick the Top 10.

� We compared projects with new or major release during this period. Mybridge AI ranks projects based on a variety of factors to measure its quality for professionals.

� Average number of Github stars in this edition: 570⭐� “Watch” Python Top 10 Open Source on Github and get email once a

month.� Topics: Datetime, Debugger, Maps, Data validation, Print, Trading Bot,

Multidiff, Matrix, Downloder� Open source projects can be useful for programmers. Hope you find an

interesting project that inspires you.

Page 46: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

Próximo Exercício (3.4)

EXEMPLO 3.4

EXERCÍCIO 3.4

MóduloIII

# AUMENTAR O NÚMERO DE NÚMEROS PARA 5NÚMEROS

Page 47: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

LISTA DE EXERCÍCIOS MÓDULO III\B

èEXERCÍCIO 3.4: MENOR & Maior ( “Algoritmo que mostre os PASSOS para Elaborar um Algoritmo”)

EXERCÍCIO 3.5: EXEMPLO 3.5 DISPOSTO PARA ELABORAR UM ALGORITMO

EXERCÍCIO 3.6: =èEXEMPLO 3.6 ENTENTER UM ALGORITMO (Fazer uma massa de teste, todas as entradas possíveis)

https://cicfacunb.slack.com/messages/CCKACNSTA/details/

Page 48: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

A ESCOLHA DE UMA LINGUAGEM DE PROGRAMAÇÃO PARA TESTAR O ALGORITMO

EXERCÍCIO 3.4: Usar o Python para testar o EXERCÍCIO, 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).�(Referência GUIMARÃES & LAGES, Algoritmos e Estruturas de dados. Rio de Janeiro: LTC, 1985. g. 29.

Page 49: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

ELABORAR UM ALGORITMO PARA ENCONTRAR O MAIOR E MENOR - ALGORITMO 15

EXEMPLO 3.4: Completar a especificação do ALGORITMO A do Passo 2, elaborar a sua Representação, usando Fluxograma.

Elaborar O PROGRAMA em Python para testar o seu Algoritmo.

Cont.

Page 50: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

# EXEMPLO 3.4 - Programa que encontra MENOR e o MAIOR entre 3 números

# Definição do tipo das variáveis, todas inteiras # declare A, B, C, MENOR numéricas

print("Entrada de dados A, B & C")A = int(input("Digite A: "))B = int(input("Digite B: "))C = int(input("Digite C: "))print("Os número são, A = %i B = %i C = %i " % (A, B, C))# ENCONTRANDO O MENORMENOR = Aif (B < MENOR):

MENOR = Bif (C < MENOR):

MENOR = C

Page 51: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

EXEMPLO 3.4 - Programa que encontra MENOR e o MAIOR entre 3 números

print("Menor = %i" % MENOR )# Lista de Exercíco - ENCONTRANDO O MAIORMAIOR = Aif (B > MAIOR):

MAIOR = B # entãoif (C > MAIOR):

MAIOR = C print("Maior = %i" % MAIOR)print("fim do Programa")

#AUMANTAR A QUANTIDADE DA ENTRADA, PASSAR 10 NÚMEROS

Page 52: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

ROTINA DE TESTES DE UM COMANDO FOR

Passo 1: Abri o Python (2.5. até 3.9.) que você já instalou na TAREFA anterior

Passo 2: Digite o primeiro comando, L = (89, 7, 15)

Digite o segundo comando for e in L: print(e)

Passo 3: Veja se o resultado, está correto?

Passo 4: Digite o próximo comando. cada comando cada resultado

Passo 5: Saia do Python

Page 53: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

EXERCÍCIO 3.4 - Programa que encontra MENOR e o MAIOR entre 3 números

AUMANTAR A QUANTIDADE DA ENTRADA, PASSAR 5 NÚMEROS NO EXEMPLO 3.4

Page 54: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

Próximo Exercício (3.5)

EXEMPLO 3.5

EXERCÍCIO 3.5

MóduloIII

# Elaboraruma rotinade testes

#

Page 55: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

EXEMPLO ALGORITMO QUE AVALIA A DISPOSIÇÃO3.5

Algoritmo Disposição #1 EXEMPLO 3.,,, repita

#Vou avaliar a minha disposiçãoEscreve “Estou avaliando"se não estou disposto

então interrompa meu estudosenão Invente um problema

� Escreva um algoritmo� fim se

fim repitaMostre “os algoritmos feitos a um colega”Escreva ”Gostei !"

fim do algoritmo

Page 56: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

EXEMPLO DE ALGORITMO QUE AVALIA A SUA DISPOSIÇÃO - 2

Algoritmo DISPOSIÇÃO 3.5repita até elaborar um ALGORITMO

#Vou avaliar a minha disposiçãoEscreve “Estou avaliando"se não estou disposto # Variável Booleana

então interrompa meu estudosenão Invente um problema # Ou pegue um bom Ex. do URI

Escreva um algoritmofim se

fim repita#Mostre os algoritmos feitos a um colega

Escreva ”Gostei !”Escreva “Reveja o seu Algoritmo"

fim do algoritmo

Page 57: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

ROTINA DE TESTES DE UM COMANDO FOR

Passo 1: Abri o Python (2.5. até 3.9.) que você já instalou na TAREFA anterior

Passo 2: Digite o primeiro comando, L = (89, 7, 15)

Digite o segundo comando for e in L: print(e)

Passo 3: Veja se o resultado, está correto?

Passo 4: Digite o próximo comando. cada comando cada resultado

Passo 5: Saia do Python

Page 58: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

ROTINA DE TESTES DE UM COMANDO FOR (3.4)

Passo 1: Abri o Python (3.5. ATÉ 2.9.) que você já instalou na TAREFA anterior

Passo 2: Digite os comando em um arquivo, exatamente como foi escrito,

Passo 3: Veja o resultado, está correto?

Passo 4: ENTENDEU O COMANDO?

Passo 5: Saia do Python

Page 59: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

COMO EXTRAIR O ALGORITMO DE UM PROGRAMA FONTE

# PROGRAMA 3.3 - FAC/UnB - Programa Elaborado por BMN

# DATA: 16/10/16 - Trabalhando com STRINGSprint("Seja Benvindo ao Jogo da Adivinhações")print("Jogador A, sua vez") # Jogador Ai = 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!

Page 60: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

COMO EXTRAIR O ALGORITMO DE UM PROGRAMA FONTE

# PROGRAMA 3.5 – Comando FOR# FAC/UnB - Programa Elaborado por BMN# EXEMPLO 3.5 DISPOSTO PARA ELABORAR UM ALGORITMO# Comando FOR - Jor Dados 2 2020 BMN – COM.

print(" Mostrar o seu Algoritmo para um colega")gostei = int(input("Gostou entre com 1, não entre com 0"))if gostei > 0:

print("O Colega disse: Gostei")else:

print("Reveja você mesmo o Algoritmo") print("Você tem um Algoritmo")

Page 61: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

COMO EXTRAIR O ALGORITMO DE UM PROGRAMA FONTE

# PROGRAMA EXEMPLO 3.5 – DISPOSTO PARA ELABORAR UM ALGORITMO. USO do Comando FOR# FAC/UnB - Programa Elaborado por BMN# Comando FOR - Jor Dados 2 2020 BMN VEZES = (0,1)SIM = 0for e in VEZES:

print("ler")

SIM = int(input("DISPOSTO 1 OU 0")) if SIM != 1:

print("INTERROMPA MEU ESTUDO")SIM = int(input("DISPOSTO 1 OU 0"))

else:print("Invente um problema")

Page 62: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

ELABORAR UMA ROTINA DE TESTES COM TODAS ENTRAS E SAÍDAS DOPROGRAMA EXEMPLO 3.5

Passo. EXERCÍCIO 3.5:

testar ALGORITMO a partir do Programa Fonte Exemplo 3.5,

fazer modificações que você deseja no Algoritmo 3.5,

# Elaborar uma rotina de testes, todas entradas

Page 63: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

EXEMPLO DE ALGORITMO PARA LEITURA DE UM ARQUIVOComando FOR

Ref. Abre um arquivo de edição

Algoritmo LEITURA DE UM ARQUIVO Abra o arquivo

repita até o segundo registroLeia o primeiro registroEscrever o conteúdoLeia o segundo registroEscrever o conteúdoFeche o arquivo

fim repitaFecha o arquivo

fim do algoritmo

Page 64: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

Próximo Exercício (3.6)

EXEMPLO 3.6

EXERCÍCIO 3.6

MóduloIII

# O Estudantes de Elaborar o Fluxograma# deste Programa\Algoritmo

Page 65: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

ROTINA DE TESTES PREPARAÇÃO P/ EXEMPLO 3.6 –Comando While

# Qual a saída? # Aprendendo usar o commando while conta = 0 while(conta <= 10):

conta += 1 print(conta)

print("Valor da variável conta é: ", conta)

PRÁTICA EM SALA DE AULA ● E se eu quiser que dê 10 no final? ● E se eu não quiser número por número?

Page 66: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

SAÍDA - ROTINA DE TESTES PROGRAMA 3.6

Python 3.8.7 (v3.8.7:6503f05dd5, Dec 21 2020, 12:45:15) [Clang 6.0 (clang-600.0.57)] on darwinType "help", "copyright", "credits" or "license()" for more information.>>> = RESTART: /Users/beneditomedeirosneto/Documents/BMN Profissional/FAC_JORNALISMO DE DADOS 2 2020 Fev - May 2021/PYTHON EXEMPOS 3_1--3_10/PYTHON EXEMPLO 3_6 COMANDO WHILE.py1234567891011Valor da variável conta é: 11

Page 67: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

EXEMPLO 3.6: ENTENDEU ALGORITMO # EXEMPLO 3.6 ENTENDER UM ALGORITMO

VEZES = 0

SIM = 0

while VEZES < 5:

print("ler” VEZES)

SIM = int(input("ENTENDEU 1 OU 0"))

if SIM != 1:

print("Ler mais uma vez")

VEZES = VEZES + 1

else: VEZES = 5

if SIM < 1: print("Pergunte ao professor vez entender")

Page 68: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

EXEMPLO DE UM ALGORITMO: PASSOS PARA ENTENDER UM ALGORITMO – 1 – comand. while

ALGORITIMO 3.6 Apenas o Loop de Entendimentoenquanto não ENTENDEU faça

se VEZES < 5 então

“leia a especificação até o finalVEZES <= VEZES + 1;

senão “pergunte ao professor até

entender”;ENTENDEU <= verdadeiro

fim do sefim enquanto

Page 69: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

COMO EXTRAIR O ALGORITMO DE UM PROGRAMA FONTE (listagem)

# EXEMPLO 3.6 ENTENTER UM ALGORITMO# Comando WHILE Declarar as variáveis# BMN JOR DADOS - Março 2021VEZES = 0SIM = 0while VEZES < 5:

print("ler")SIM = int(input("ENTENDEU Digite <1> OU Não Digite <0>")) if SIM != 1:

print("Ler mais uma vez")VEZES = VEZES + 1

else:VEZES = 5

print(VEZES)

Page 70: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

COMO EXTRAIR O ALGORITMO DE UM PROGRAMA FONTE

# PROGRAMA EXEMPLO 3.6 – Uso do Comando WHILE# Peça auxilio ao Professor se Não entedeu")if SIM < 1:

print("Pergunte ao professor")SIM = int(input("O pressor disse que você ENTENDEU? Digite <1> OU Não

Digite <0>")) if SIM > 0:

print("Agora você entendeu")else:

print("Professor lhe recomendou um livro")print("Entendeu o Algoritmo ou vai estudar mais")

Page 71: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

EXERCÍCIO 3.6 -

� # O Estudantes deVE Elaborar o Fluxograma deste Programa

� # O Estudantes deve testar o Algoritmo, representação pode Fluxograma� # ou pseudo código.

Page 72: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

?COURSE OF THE MONTH – March/2018

� A) Beginners: The Modern Python 3 Bootcamp. [906 recommends, 4.8/5 stars]

� B) Deep Learning: Complete Guide to TensorFlow for Deep Learning with Python. [3,005 recommends, 4.5 stars]

Page 73: MÓDULO III: LÓGICA DA PROGRAMAÇÃO E ALGORITMOS Versão 5

REFERÊNCIAS P/ Exercícios deAlgoritmo e de Programação

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) MENEZES, N. N. C. Introdução à Programação com Python. São Paulo: novotec, 2017.d) Paulo Barry & Davis Griffiths. Use a Cabeça! Programação. Rio de janeiro: Atlas Books, 2010.e) John Paul Mueller. Começando a Programar Python – para Leigos. Rio de Janeiro: ALTA BOOKS, 2016