Mudanças entre as edições de "Sistemas Operacionais e Introdução a Programação - atividades extraclasse 2010-1"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 74: Linha 74:
 
* A partir dessa semana, seré usado o [http://www.dei.estt.ipt.pt/portugol/node/33 Portugol IDE] como ferramenta didática.
 
* A partir dessa semana, seré usado o [http://www.dei.estt.ipt.pt/portugol/node/33 Portugol IDE] como ferramenta didática.
  
===Atividades-problema===
+
===Portugol===
* Apresente um programa que mostre, em sequência: 9, 9^2 (ao quadrado), 9^3 (ao cubo) e a soma desses 3 números.
+
* 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
 
  inicio
 
   
 
   
Linha 101: Linha 101:
 
  fim
 
  fim
  
* A sequência de Fibonacci: apenas os primeiros 10 números da sequência.
+
* Construa um programa que escreverá, na tela, os 10 primeiros números da sequência de Fibonacci. Utilize, para tal, 10 variáveis.
INICIO
+
** Variante: utilize apenas 3 variáveis para resolver o problema.
 
+
** Variante: utilize apenas 2 variáveis para resolver o problema.
    INTEIRO VARIAVEL_1
 
    INTEIRO VARIAVEL_2
 
    INTEIRO SOMA
 
   
 
    VARIAVEL_1 <- 1
 
    VARIAVEL_2 <- 1
 
   
 
    ESCREVER VARIAVEL_1, "\n"
 
    ESCREVER VARIAVEL_1, "\n"
 
   
 
    SOMA <- VARIAVEL_1 + VARIAVEL_2
 
    ESCREVER SOMA, "\n"
 
 
    VARIAVEL_1 <- VARIAVEL_2
 
    VARIAVEL_2 <- SOMA
 
    SOMA <- VARIAVEL_1 + VARIAVEL_2
 
    ESCREVER SOMA, "\n"
 
 
    VARIAVEL_1 <- VARIAVEL_2
 
    VARIAVEL_2 <- SOMA
 
    SOMA <- VARIAVEL_1 + VARIAVEL_2
 
    ESCREVER SOMA, "\n"
 
 
    VARIAVEL_1 <- VARIAVEL_2
 
    VARIAVEL_2 <- SOMA
 
    SOMA <- VARIAVEL_1 + VARIAVEL_2
 
    ESCREVER SOMA, "\n"
 
 
    VARIAVEL_1 <- VARIAVEL_2
 
    VARIAVEL_2 <- SOMA
 
    SOMA <- VARIAVEL_1 + VARIAVEL_2
 
    ESCREVER SOMA, "\n"
 
 
    VARIAVEL_1 <- VARIAVEL_2
 
    VARIAVEL_2 <- SOMA
 
    SOMA <- VARIAVEL_1 + VARIAVEL_2
 
    ESCREVER SOMA, "\n"
 
 
    VARIAVEL_1 <- VARIAVEL_2
 
    VARIAVEL_2 <- SOMA
 
    SOMA <- VARIAVEL_1 + VARIAVEL_2
 
    ESCREVER SOMA, "\n"
 
 
    VARIAVEL_1 <- VARIAVEL_2
 
    VARIAVEL_2 <- SOMA
 
    SOMA <- VARIAVEL_1 + VARIAVEL_2
 
    ESCREVER SOMA, "\n"
 
 
    VARIAVEL_1 <- VARIAVEL_2
 
    VARIAVEL_2 <- SOMA
 
    SOMA <- VARIAVEL_1 + VARIAVEL_2
 
    ESCREVER SOMA, "\n"
 
 
    FIM
 
 
 
* O mesmo problema acima, desta vez resolvido com apenas duas variáveis (solução do Luiz Henrique)
 
inicio
 
   
 
    inteiro var1, var2
 
    var1 <- 1
 
    escrever var1
 
    escrever "\n"
 
    escrever var1
 
    escrever "\n"
 
 
    var2 <- var1 + var1
 
    escrever var2
 
    escrever "\n"
 
    escrever var1 + var2
 
 
    var1 <- var1 + var2
 
    escrever "\n"
 
    escrever var1 + var2
 
 
    var2 <- var1 + var2
 
    escrever "\n"
 
    escrever var2 + var1
 
    var1 <- var2 + var1
 
 
fim
 
  
 
===Atividade-problema===
 
===Atividade-problema===

Edição das 05h20min de 8 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.

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.

Atividade-problema

Crie um conversor de decimal para binário (limite: 4 bits).

inicio

    inteiro dividendo <- 9
    constante inteiro divisor <- 2
    inteiro quociente
    inteiro resto
    inteiro segundoResto
    inteiro terceiroResto

    quociente    <- dividendo / divisor
    resto        <- dividendo % divisor

    dividendo    <- quociente
    quociente    <- dividendo / divisor
    segundoResto <- dividendo % divisor

    dividendo    <- quociente
    quociente    <- dividendo / divisor
    terceiroResto <- dividendo % divisor
    
    escrever quociente, terceiroResto, segundoResto, resto

fim

Semana 3

Semana 4

Linguagem de Programação C

Semana 1

Semana 2

Semana 3

Semana 4

Semana 5

Semana 6

Semana 7

Semana 8