Programação de Computadores - Docendo...

44
Programação de Computadores Renato Dourado Maia Instituto de Ciências Agrárias Universidade Federal de Minas Gerais INTRODUÇÃO AOS ALGORITMOS E À PROGRAMAÇÃO DE COMPUTADORES – PARTE 1

Transcript of Programação de Computadores - Docendo...

Page 1: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

Programação de Computadores

Renato Dourado MaiaInstituto de Ciências Agrárias

Universidade Federal de Minas Gerais

INTRODUÇÃO AOS ALGORITMOS E À PROGRAMAÇÃO DE COMPUTADORES – PARTE 1

Page 2: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 2/44

Programas e Programação

• Quando vocês utilizam um computador, sempre executam um programa.

• Para que um computador “faça algo”, ele precisa de ins-truções precisas.– Os humanos (apenas os humanos?) escrevem e utilizam progra-

mas para dizer ao computador exatamente o que fazer.• Algumas pessoas dizem que a programação, no futuro, se-

rá tão importante quanto ler e escrever!

Page 3: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 3/44

Programas e Programação

The great thing about computers is that they do exactly what you tell them. The terrible thing about computers is that they do exactly what you tell them.

Page 4: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 4/44

Programas e Programação

Page 5: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 5/44

Programas e Programação

Page 6: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 6/44

Programas e Programação

• Programar é basicamente construir programas, que são formulações concretas de algoritmos abstratos, baseados em representações e estruturas específicas de dados.

• A programação estruturada é a arte ou técnica de cons-truir e formular algoritmos de forma sistemática.

Algoritmos, programas, estruturas de dados?

Page 7: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 7/44

O que é um Programa?

Page 8: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 8/44

Programa

Um programa é uma sequência de instruções para o computador, escrita em uma linguagem de progra-

mação, que é normalmente similar à língua inglesa, porém muito mais simples e muito mais rigorosa.

”Programming demands significantly higher standard of accuracy.Things don’t simply have to make sense to another human being, they must make sense to a computer.” – Donald Knuth

Page 9: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 9/44

Programas e Estruturas de Dados

• As estruturas de dados podem ser entendidas como mé-todo ou meio para organizar os dados de uma forma que o seu acesso e a sua modificação sejam facilitados.

• Programa = algoritmo(s) + estruturas de dados, utili-zando-se uma forma de expressão que possa ser entendi-da por um computador.

Page 10: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 10/44

Algoritmo

• O conceito central da programação e da computação é o de algoritmo.

• A palavra algoritmo vem de algoritmi, forma latina do nome do matemático iraniano Abu Abdullah Mohammad Ibn Musa al-Khawarizmi, que viveu no século XVII.

• O termo algoritmo é utilizado em diversas áreas além da computação, tais como administração, engenharia, dentre outras.

• Um algoritmo é, essencialmente, um método para a reso-lução de um problema.

Page 11: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 11/44

Algoritmo

• Há diferentes definições para o que é um algoritmo:– Algoritmo é uma sequência de passos que visa atingir um objeti-

vo bem definido.– Algoritmo é a descrição de uma sequência de passos que deve

ser seguida para a realização de uma tarefa.– Algoritmo é uma sequência finita de instruções ou operações cu-

ja execução, em tempo finito, resolve um problema computaci-onal, qualquer que seja a sua instância.

Page 12: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 12/44

Algoritmo

• Há diferentes definições para o que é um algoritmo:– Algoritmo são regras formais para a obtenção de um resultado

ou da solução de um problema, englobando formas de expres-sões aritméticas.

– Ação é um acontecimento que, a partir de um estado inicial, a-pós um período de tempo finito, produz um estado final previsí-vel e bem definido. Portanto, um algoritmo é a descrição de um conjunto de comandos que, obedecidos, resultam numa suces-são finita de ações.

Page 13: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 13/44

Exemplos de Algoritmos?

Page 14: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 14/44

Programas

• Programas tipicamente processam dados de entrada e produzem dados de saída.

ProgramaEntrada Saída

Page 15: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 15/44

Linguagens de Programação

• Uma linguagem de programação é uma linguagem artifici-al com sintaxe e semântica bem definidas que é utilizada para escrever programas.– É mais “técnica” do que as linguagens naturais e menos “técni-

ca” do que a linguagem nativa dos computadores (linguagem de máquina).

Page 16: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 16/44

Linguagens de Programação

• As linguagens de programação semelhantes à linguagem de máquina são conhecidas como linguagens de baixo ní-vel.

• Escrever programas na linguagem de máquina é uma tare-fa pouco intuitiva e complicada para ser realizada por se-res humanos.

• Para facilitar a programação de computadores, existem linguagens de alto nível que relacionam a linguagem de máquina a uma linguagem de compreensão mais simples.

Page 17: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 17/44

Linguagens de Programação

• A linguagem de montagem (assembly) é um código com instruções alfanuméricas (ou mnemônicas) equivalentes a cada instrução da linguagem de máquina.

• A tradução de um programa escrito em linguagem assem-bly é realizada por meio da utilização de um programa cha-mado assembler (ou montador).

Código em linguagem de

montagemAssembler

Código em linguagem de

máquina

Page 18: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 18/44

Linguagens de Programação

• A linguagem de montagem é uma linguagem de baixo ní-vel, específica para cada processador (cada um tem o seu repertório de instruções), o que faz com que o código não seja portável.

• A implementação de programas em linguagem de monta-gem é uma tarefa complexa e exige conhecimentos sobre o processador.

• As linguagens de alto nível são independentes do proces-sador, são mais elaboradas e contemplam operações mais complexas e mais próximas da “lógica humana”.

Page 19: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 19/44

Linguagens de Programação

• Para serem executados por um processador, os comandos de linguagem de alto nível precisam ser traduzidos para a linguagem de máquina.

• Essa tradução pode ser feita por um programa compilador ou por um programa interpretador.– A partir de um arquivo com o código em linguagem de alto nível –

o código-fonte, o compilador gera um arquivo contendo o código em linguagem de máquina – o código-objeto, que será utilizado para a geração de um arquivo executável por um link-editor.

Page 20: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 20/44

Linguagens de Programação

• Essa tradução pode ser feita por um programa compilador ou por um programa interpretador.– O interpretador realiza a mesma tarefa, mas a execução não en-

volve a geração de um arquivo executável: ele traduz as instru-ções em linguagem de montagem em tempo de execução.

Page 21: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 21/44

Compiladores

• Compiladores são programas que traduzem programas es-critos em linguagem de programação para programas e-quivalentes escritos em linguagem de máquina.

CompiladorPrograma-Fonte

Programa-Objeto

Page 22: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 22/44

Link-Editores

• O programa-objeto nem sempre está pronto para ser exe-cutado.– Pode ser necessário incluir outros trechos de código:

✔ Bibliotecas.✔ Subprogramas.

● O programa executável é montado por um programa cha-mado link-editor ou linking-loader.– O compilador normalmente chama o link-editor automaticamen-

te.

Page 23: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 23/44

Link-Editor

Programa-Objeto 1

Programa-Objeto N

.

.

.

Biblioteca Biblioteca

ProgramaExecutável

Link-Editores

Page 24: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 24/44

Interpretadores

• Os interpretadores simulam uma “máquina virtual”.– O programa-fonte é lido, entendido e as instruções são executa-

das imediatamente.

InterpretadorEntrada Saída

Programa-Fonte

Page 25: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 25/44

Compiladores e Interpretadores

Código em linguagem de

alto nívelCompilador

Código em linguagem de

máquina

Código em linguagem de

alto nívelInterpretador

Código em linguagem de

máquina

Tradução de cada instrução em tem-

po de execução

Page 26: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 26/44

Esquemas Híbridos

• O compilador gera código para uma máquina virtual (códi-go pseudo-executável).

• A máquina virtual é executada separadamente, lendo o pseudo-código e interpretando-o.

Interpretador

Entrada

Saída

Programa-Fonte

Compilador Programa-Objeto

Page 27: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 27/44

Programas de Computador

• A programação utilizando linguagens de alto nível é mais simples, facilitando a implementação de programas mais elaborados e capazes de atenderem a demandas mais complexas.

• Os códigos escritos em linguagens de alto nível são portá-veis, ou seja, independentes da plataforma, desde que seja realizada uma nova compilação do código-fonte (no caso das linguagens compiladas).

• Existem diversas linguagens de alto nível:– Pascal, C, Java, Python...

Page 28: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 28/44

Programas de Computador

• A realização de algumas operações em linguagem de máquina é bastante complexa.

• Para facilitar essas operações, foram criados os sistemas operacionais.

• Um sistema operacional representa uma camada entre o hardware e o software (máquina virtual).– A máquina virtual é mais simples de ser utilizada do que a má-

quina real. – Os sistemas operacionais gerenciam os recursos da máquina, e-

vitando que o programador os utilize de forma indevida.

Page 29: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 29/44

Programas de Computador

• Os sistemas operacionais fornecem uma interface (chama-das ao sistema) que pode ser utilizada pelos programas.

• Os compiladores utilizam essa interface em lugar de im-plementarem operações complexas.

• Chamadas ao sistema encontradas pelo compilador no código-fonte em linguagem de alto nível são transforma-das em referências no código-objeto em linguagem de máquina.

Page 30: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 30/44

Programas de Computador

• Numa segunda etapa da compilação, o compilador liga o código do programa ao código do sistema operacional (li-gação de código ou linking).

• A integração de compiladores e sistemas operacionais tor-na o código-objeto portável para qualquer máquina que utilize o mesmo sistema operacional: – O código fica dependente do sistema operacional, e não do pro-

cessador!

• Para executar um mesmo programa em outro sistema o-peracional, o código-fonte deve ser compilado novamen-te.

Page 31: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 31/44

Programas de Computador

Código em linguagem de

alto nível

CompiladorEtapa I

Código em linguagem de

máquina

CompiladorEtapa II

Código-objetoexecutávelMemória

Biblioteca dosistema

operacional

Page 32: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 32/44

Estruturação de Algoritmos

• As linguagens de programação de alto nível são mais sim-ples do que a linguagem de máquina, mas ainda assim po-dem parecer complexas, especialmente para iniciantes.

• O principal problema reside no fato de que as pessoas não estão acostumadas a construir algoritmos, ou seja, a ex-pressar o raciocínio de forma organizada, padronizada e estruturada.

• É importante destacar que, diferentemente da linguagem natural, as linguagens de programação são dirigidas a u-ma máquina, e não a pessoas.

Page 33: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 33/44

Estruturação de Algoritmos

• Máquinas não podem tomar decisões com base em pre-missas, não podem escolher alternativas, não podem cor-rigir comandos mal redigidos, etc.

• As pessoas são capazes de fazer isso instintiva e intuitiva-mente.

• Assim, a linguagem de programação deve possuir algumas características que não são inerentes à linguagem natural, que não é apropriada para a escrita de algoritmos:– Rigidez sintática: as construções devem ser bem definidas.– Rigidez semântica: não podem existir ambiguidades.

Page 34: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 34/44

Linguagens de Programação

Page 35: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 35/44

Estruturação de Algoritmos – Fluxogramas

• Fluxogramas representam algoritmos de forma gráfica, sendo formados por “caixas” que contêm as instruções a serem executadas.

• As “caixas” são ligadas por setas que indicam o fluxo das ações.

• Algumas “caixas” especializadas indicam a possibilidade de o fluxo seguir caminhos distintos, dependendo de certas situações/condições que podem ocorrer durante a execu-ção do algoritmo.

• Há representações para o início e o fim do algoritmo.

Page 36: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 36/44

Estruturação de Algoritmos – Fluxogramas

• Fluxograma para escolher o maior entre dois números in-teiros distintos:

Início

Fim

leia Num1, Num2

Num1 > Num2

escreva Maior

Maior ← Num1 Maior ← Num2

S N

Page 37: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 37/44

Estruturação de Algoritmos – Fluxogramas

• Vantagens da representação por fluxogramas:– É útil para a apresentação de algoritmos considerando um alto

nível de abstração.– Facilita a compreensão do funcionamento do algoritmo, mesmo

para leigos.– As pessoas se adaptam bem ao desenvolvimento de algoritmos

utilizando essa representação.

• Desvantagens da representação por fluxogramas:– É pouco prática, especialmente para a correção de erros.– Torna a construção de algoritmos complexos trabalhosa.

Page 38: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 38/44

Estruturação de Algoritmos – Pseudocódigo

• O pseudocódigo é uma forma de representação de algo-ritmos que tenta eliminar as desvantagens da implemen-tação direta em linguagem de programação.

• Utilizando essa representação é possível elaborar um códi-go menos dependente das peculiaridades das linguagens de programação e dos compiladores.

Page 39: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 39/44

Estruturação de Algoritmos – Pseudocódigo

• O grau de rigidez sintática é intermediário entre as lin-guagens natural e de programação.

• O pseudocódigo deve manter a rigidez semântica, funcio-nando como uma linguagem intermediária entre a lingua-gem natural e a linguagem de programação.

Page 40: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 40/44

• Após a elaboração do algoritmo em pseudocódigo, é ne-cessária a sua conversão para uma linguagem de progra-mação para que ele possa ser compilado e executado, ou interpretado.

• O pseudocódigo é independente do compilador e pode ser traduzido de uma forma quase direta para diversas lingua-gens de programação.

• No Brasil, o pseudocódigo mais conhecido é o Portugol.• O Portugol é bastante simples e atende às necessidades de

rigidez sintática e semântica.

Estruturação de Algoritmos – Pseudocódigo

Page 41: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 41/44

Lembrando: Por que Python?

Quem quer tentar resumir?

Page 42: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 42/44

Page 43: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 43/44

Finalizando

• Programa em Python 2 para escolher o maior entre dois números inteiros distintos:

Num1 = int(raw_input('Primeiro:'))

Num2 = int(raw_input('Segundo:'))

if Num1 > Num2:

Maior = Num1

else:

Maior = Num2

print(Maior)

Vamos testar esse programa no Idle...

Page 44: Programação de Computadores - Docendo Discimusrenatomaia.net/arquivos/Ufmg/PC/2_IntroducaoAlgoritmos... · 2014. 2. 18. · Programas e Programação • Programar é basicamente

18/02/14 Programação de Computadores – Renato Dourado Maia 44/44

That's All Folks!