Mudanças entre as edições de "Sistemas Operacionais e Introdução a Programação - atividades extraclasse 2010-1"
Ir para navegação
Ir para pesquisar
Linha 128: | Linha 128: | ||
==Semana 3== | ==Semana 3== | ||
+ | * Construa o mesmo programa anterior, o gerador automática de código Logo. Porém, dessa vez, algumas restrições: | ||
+ | ** Se o usuário informar o número 0 (zero), o prograam deve alertá-lo de que não será possível prosseguir com o cálculo, uma vez que não é possível divisão por zero. | ||
+ | ** Se o usuário informar os números 1 ou 2, o programa deve alertá-lo de que não será possível desenhar um polígono regular com tal quantidades de lados. | ||
+ | ** O tamanho da passada (<tt>forward</tt>) dependerá da quantidade de lados: | ||
+ | *** Entre 3 e 6 lados: passada com tamanho <tt>100</tt> (<tt>forward 100</tt>). | ||
+ | *** Entre 7 e 10 lados: passada com tamanho <tt>50</tt>. | ||
+ | *** Mias que 10 lados: passada com tamanho <tt>25</tt>. | ||
+ | ** | ||
+ | |||
==Semana 4== | ==Semana 4== | ||
=Linguagem de Programação C= | =Linguagem de Programação C= |
Edição das 01h44min de 16 de abril de 2010
Lógica de Programação
Semana 1
São vistos os conceitos básicos de lógica de programação: instrução, algoritmo, sintaxe.
Para fins didáticos, pode-se usar a linguagem Logo através do programa Kturtle.
Linguagem Logo
Para desenhos simples, bastam apenas as seguintes instruções:
- reset
- forward NÚMERO
- turnright NÚMERO
- turnleft NÚMERO
Baseado nesse conjunto de instruções, desenhe:
- Um triângulo equilátero.
- Um triângulo isósceles.
- Um triângulo escaleno.
- Um hexágono.
- Um octógono.
- 7 hexágonos interligados (um central e seis periféricos).
- Uma espiral
Agora, o processo reverso: que desenho será gerado a partir do algoritmo abaixo?
reset repeat 6 { forward 70 turnleft 60 } repeat 6 { forward 70 turnright 60 } turnleft 120 repeat 6 { forward 70 turnleft 60 } forward 70 turnright 60 repeat 6 { forward 70 turnleft 60 } forward 70 turnright 60 repeat 6 { forward 70 turnleft 60 } forward 70 turnright 60 repeat 6 { forward 70 turnleft 60 } forward 70 turnright 60 repeat 6 { forward 70 turnleft 60 }
Jogo: Light Bot
Neste jogo, Light Bot, deve-se programar os movimentos do personagem para avançar à próxima fase.
Semana 2
- A partir dessa semana, seré usado o Portugol IDE como ferramenta didática.
Portugol
- Construa um programa que mostre, em sequência: 9, 9^2 (ao quadrado), 9^3 (ao cubo) e a soma desses 3 números.
inicio inteiro VAR1 VAR1 <- 9 escrever VAR1 escrever "\n" inteiro VAR2 VAR2 <- 9 * 9 escrever VAR2 escrever "\n" inteiro VAR3 VAR3 <- 9 * 9 * 9 escrever VAR3 escrever "\n" inteiro SOMA SOMA <- VAR1 + VAR2 + VAR3 escrever SOMA fim
- Construa um programa que escreverá, na tela, os 10 primeiros números da sequência de Fibonacci. Utilize, para tal, 10 variáveis.
- Variante: utilize apenas 3 variáveis para resolver o problema.
- Variante: utilize apenas 2 variáveis para resolver o problema.
- Crie um conversor de decimal para binário (limite: 4 bits). Ex.: tendo o número 10 (decimal) de entrada, deve-se obter o número 1010 (binário) de saída.
- Um equipamento conta o tempo desde que foi ligado. No entanto, essa contagem é feita em segundos. Faça um algoritmo que converta o valor desse contador para horas, minutos e segundos. Ex: se o contador tiver o valor 43397, o seu programa deve mostrar: 12:03:17.
- Crie um gerador automático de código Logo para desenhar polígonos:
- Ler um número do usuário.
- Calcular o ângulo interno.
- Apresentar como resultado o código Logo a ser inserido no programa Kturtle. Ex.: se o usuário digitar o número 3, o código será de um triângulo equilátero, cuja soma dos ângulos internos é 180 - logo, cada ângulo será de 60 graus (no Logo, lembre-se que o ângulo a ser usado é o complemento de 180, conforme visto em aula). Se o usuário digitar 5 ao invés de 3, teremos um pentágono. Abaixo temos soluções para triângulo e pentágono:
reset repeat 3 [ forward 100 turnright 120 ]
reset repeat 5 [ forward 100 turnright 72 ]
Semana 3
- Construa o mesmo programa anterior, o gerador automática de código Logo. Porém, dessa vez, algumas restrições:
- Se o usuário informar o número 0 (zero), o prograam deve alertá-lo de que não será possível prosseguir com o cálculo, uma vez que não é possível divisão por zero.
- Se o usuário informar os números 1 ou 2, o programa deve alertá-lo de que não será possível desenhar um polígono regular com tal quantidades de lados.
- O tamanho da passada (forward) dependerá da quantidade de lados:
- Entre 3 e 6 lados: passada com tamanho 100 (forward 100).
- Entre 7 e 10 lados: passada com tamanho 50.
- Mias que 10 lados: passada com tamanho 25.