segunda-feira, 13 de março de 2017

Problemas Olímpicos

Pequenos desafios para você se divertir!

Professor Osmar Mantovani -  Valinhos - Turma 01 - 2017 


No site da OBI - Olimpíada Brasileira de Informática, promovida pelo Instituto de Computação (IC) da Unicamp, você encontra as provas passadas (inclusive com a possibilidade de submeter a solução que você desenvolveu). A seguir uma seleção de problemas para você se divertir!

OBI 2009 - Notas da prova

OBI 2010 - Cometa

OBI 2014 - A língua do P

sexta-feira, 3 de março de 2017

Aula 04 - Repetição usando For

Introdução à programação usando Python

Professor Osmar Mantovani -  Valinhos - Turma 01 - 2017 

Objetivo da aula: Estruturas de repetição (for)

Roteiro da aula: 

Não vamos perder tempo!

1. Entre no sítio www.repl.it .

Criando seu enésimo programa! 

2. O programa abaixo acumula (soma) números inteiros a partir do zero até o valor informado pelo usuário. Observe quatro coisas importantes:

a) Na estrutura do for: 
A indentação (espaços no começo das linhas (Use a tecla TAB para indentar, neste exemplo usei dois espaços simples)

b) Na estrutura do for: 
Utilizei uma variável chamada i (é clássico em computação usar i e j como variáveis auxiliares em estruturas de repetição tipo for)

c) Na estrutura do for: 
A cada iteração o valor de i aumenta automaticamente, até atingir o valor da variável número

d) Os comentários usando #
Lembre-se: Não deixe de comentar!









Exemplo com "for aninhado"


print ('Imprime triângulo de números')
linha = int(input('Até qual número deseja? '))

for i in range(linha+1):
  for j in range(i):
    print (i, end=" ") #para não pular de linha
  print()              #para pular de linha


Criando seu enésimo+1 programa! 

3. Observe o programa abaixo e descubra o que ele faz!

Atenção absoluta para o significado dos três parâmetros do range!






Exercícios: 

1. Como na aula de while, mas agora usando for: imprimir apenas os números pares, em ordem decrescente a partir da entrada do usuário.

2. Como na aula de while, mas agora usando for: imprimir apenas os números pares, em ordem crescente a partir do zero (inclusive o tal) até o valor informado pelo usuário.

3. Faça um programa para montar a tabuada (de 1 a 10) de um número informado pelo usuário.


4. Usando dois comandos for aninhados (ou seja, "um dentro do outro"), faça um programa que gere a seguinte resposta:




5. A little challenge... Faça um programa para calcular o fatorial de um número informado pelo usuário.



quinta-feira, 2 de março de 2017

Aula 03 - Repetição usando While

Introdução à programação usando Python

Professor Osmar Mantovani -  Valinhos - Turma 01 - 2017 

Objetivo da aula: Estruturas de repetição (while)

Roteiro da aula: 

Não vamos perder tempo!

1. Entre no sítio www.repl.it .

Criando seu quarto programa! 

2. O programa abaixo imprime números inteiros a partir de uma entrada do usuário até o zero. Observe quatro coisas importantes:

a) Na estrutura do while: 
A indentação (espaços no começo das linhas (Use a tecla TAB para indentar, neste exemplo usei espaço simples)

b) Na estrutura do while: 
O "igual" (usar apenas um = significa atribuir valor, não comparar valores)

c) Na estrutura do while: 
Os dois pontos no final da linha de repetição

d) Os comentários usando #
Lembre-se: Não deixe de comentar!


print ("***** Imprime números *****")
numero = int(input('Digite um numero: '))

while numero > 0:
   numero = numero - 1
   print(numero)


print('Cheguei!') 


Exercícios:

1. Adapte o programa acima para imprimir apenas os números pares, em ordem crescente a partir do zero (inclusive o tal) até o valor informado pelo usuário.

2. Adapte o programa acima para imprimir apenas os números pares, em ordem decrescente a partir da entrada do usuário.

3. Faça um programa para listar todos os divisores de um número.

4. Faça um programa que imprime a soma de todos os números pares entre dois números quaisquer (incluindo os tais, se for o caso!)

5. Retomando a fofura... Edite seu programa de equações de segundo grau e só calcule as raízes depois que o usuário informar o coeficiente "a" diferente de zero.

6. A little challenge... calcule o valor de Pi usando a fórmula de Leibniz. O artigo comenta sobre a lentidão da conversão da série!




quarta-feira, 1 de março de 2017

Aula 02 - Decisão usando IF

Introdução à programação usando Python

Professor Osmar Mantovani -  Valinhos - Turma 01 - 2017 

Objetivo da aula: Estruturas de decisão e comentários em programas

Roteiro da aula: 

Não vamos perder tempo!

1. Entre no sítio www.repl.it .

Criando seu terceiro programa! 

2. O programa abaixo verifica se um número é par. Observe quatro coisas importantes:

a) Na estrutura do if: 
A indentação (espaços no começo das linhas (User a tecla TAB para indentar)

b) Na estrutura do if: 
O "duplo igual" (usar apenas um = significa atribuir valor, não comparar valores)

c) Na estrutura do if: 
Os dois pontos no final das linhas de decisão

d) Os comentários usando #
Comentar um programa contribui fortemente para o entendimento do mesmo, pelo próprio programador, no futuro. Não deixe de comentar!





Exercícios:

1. Faça um programa para elevar um número ao quadrado ou calcular sua raiz quadrada (coloque import math no início do programa para poder usar a função math.sqrt). O usuário deverá escolher a opção desejada no início (exemplo "opcao = int(input("Digite 1 para ...")

2. Esse é fofo. Faça um programa que solicite os coeficientes a, b e c de uma equação de segundo grau e a resolva. Se o resultado não for real imprimir a mensagem "A equação não possui soluções reais.".

3. Faça um programa que calcule o IMC de uma pessoa 
(IMC = massa em kg / altura em metros elevado ao quadrado) 
e informe a sua classificação segundo a tabela, disponível na Wikipédia.


Problemas Olímpicos
OBI 2009 - Notas da prova

OBI 2010 - Cometa

OBI 2014 - A língua do P