Saltar al contenido

Argentina programa Ejercicios Resueltos Gobstones

Advertisement

Aquí encontrarás los resultados y soluciones de los ejercicios de Argentina programa, lista de los Ejercicios Resueltos Gobstones, del Capítulo 1 Fundamentos. Ideal para aquellas personas que se encuentran trabadas y no pueden avanzar y desean comparar sus ejercicios

Argentina Programa – Resultados y Soluciones Gobstone – Capítulo 1: Fundamentos

4. Repetición Simple

Resultados Ejercicio 1. MoverOeste10

procedure MoverOeste10(){
Mover(Oeste)
Mover(Oeste)
Mover(Oeste)
Mover(Oeste)
Mover(Oeste)
Mover(Oeste)
Mover(Oeste)
Mover(Oeste)
Mover(Oeste)
Mover(Oeste)
}

Resultados Ejercicio 2. La computadora repite por nosotros

procedure MoverOeste10() {
repeat(10) {
Mover(Oeste)
}
}

Advertisement

Resultados Ejercicio 3. MoverOeste5 usando repeat

procedure MoverOeste5(){
repeat(5){
Mover(Oeste)
}
}

Resultados Ejercicio 4. No todo es repetir

procedure Poner3AlNoreste()
{
Mover(Este)
Mover(Norte)
repeat(3)
{
Poner(Negro)}
}

Resultados Ejercicio 5. También vale después

procedure PonerAzulLejos()
{
repeat(4){
Mover(Este)
}
Poner(Azul)
}

Advertisement

Resultados Ejercicio 6. Repitiendo varios comandos

procedure DibujarLineaNegra6()
{
repeat(6){
Poner(Negro)
Mover(Este)
}
}

Resultados Ejercicio 7. ¿Dónde está el error?

procedure LineaRoja4() {
repeat(4){
Poner(Rojo)
Mover(Norte)
}
}

Resultados Ejercicio 8. Diagonal con una bolita

procedure Diagonal4Azul()
{
repeat(4)
{
Poner(Azul)
Mover(Norte)
Mover(Este) }
}

Advertisement

Resultados Ejercicio 9. Diagonal «pesada»

procedure Azul21(){
repeat(21){
Poner(Azul)}
}
procedure DiagonalPesada4Azul (){
repeat (4){
Azul21()
Mover(Norte)
Mover(Este)}
}

Resultados Ejercicio 10. El caso borde

procedure LineaNegra4Este() {
repeat(3) {
Poner(Negro)
Mover(Este)
}
Poner(Negro)
}

Ejercicio 11: De lado a lado, dibujamos un cuadrado

procedure IrOeste(){

Advertisement

}
procedure CuadradoNegro4(){
repeat(3){
LineaNegra4Este()
Mover(Norte)
repeat(3){
Mover(Oeste)}
}
LineaNegra4Este()
}

5. Parámetros

Resultados Ejercicio 1: Pensando en subtareas

procedure DibujarLineaNegra3(){
repeat(2) {
Poner(Negro)
Mover(Este)
}
Poner(Negro)
VolverAtras()
}

program {
DibujarLineaNegra3()
}

Advertisement

Resultados Ejercicio 2: Dibujando un cuadrado con subtareas

procedure DibujarCuadradoNegroDeLado3(){
repeat(2)
{
DibujarLineaNegra3()
Mover(Norte)
}
DibujarLineaNegra3()
}

program {
DibujarCuadradoNegroDeLado3()
}

Resultados Ejercicio 3: Color esperanza

procedure DibujarLineaVerde3() {
repeat(2){
Poner(Verde)
Mover(Este)
}
Poner(Verde)
VolverAtras()
}

Advertisement

program{
DibujarLineaVerde3()

}

Resultados Ejercicio 4: Los que faltan

procedure DibujarLineaRoja3 (){
repeat(3){
Poner(Rojo)
Mover(Este)}
VolverAtras()
Mover(Oeste)
}
procedure DibujarLineaAzul3(){
repeat(3){
Poner(Azul)
Mover(Este)}
VolverAtras()
Mover(Oeste)

Advertisement

}

Resultados Ejercicio 5: Procedimientos con agujeritos

procedure Poner3(color) {
repeat(3) {
Poner(color)
}
}
program {
Poner3(Negro)
Poner3(Rojo)
}

Resultados Ejercicio 6: Llenando los espacios vacíos

program{
Poner3(Verde)
}

Advertisement

Resultados Ejercicio 7: DibujarLinea3

procedure DibujarLinea3(color)
{
repeat(2) {
Poner(color)
Mover(Este)
}
Poner(color)
VolverAtras()
}

Resultado Ejercicio 8: DibujarCuadradoDeLado3

procedure DibujarCuadradoDeLado3(color){
repeat(2){
DibujarLinea3(color)
Mover(Norte)
}
DibujarLinea3(color)
Mover(Sur)
Mover(Sur)
}

Resultados Ejercicio 9: Pasando varios parámetros

program {
DibujarLinea3(Verde, Este)
Mover(Este)
DibujarLinea3(Rojo, Norte)
Mover(Norte)
DibujarLinea3(Negro, Oeste)
Mover(Oeste)
DibujarLinea3(Azul, Sur)
}

Advertisement

Resultados Ejercicio 10: La ley, el orden y el BOOM

program{
DibujarLinea3(Este, Verde)
}

Resultados Ejercicio 11: Un argumento para dos parámetros

program{
DibujarLinea3 (verde)
}

Resultados Ejercicio 12: La tercera es la vencida

procedure Triada(azul, color2, color3){
Poner(azul)
Mover(Este)
Poner(color2)
Mover(Este)
Poner(color3)
}

Advertisement

 

Capitulo 6

Ejercicio 1: Entrando en calor… ¡Volviendo!

procedure Diagonal4AzulVolviendo(){
Diagonal4Azul()
repeat(4){
Mover(Oeste)
Mover(Sur)
}
}

Ejercicio 2: Una diagonal más ancha

procedure BandaDiagonal4(){
repeat(3){
Diagonal4AzulVolviendo()
Mover(Norte)
}
Mover(Sur)
Mover(Sur)
Mover(Sur)
}

Advertisement

Ejercicio 3: Pongamos… ¡Todo lo que queramos!

procedure PonerN(cantidad, color){
repeat(cantidad)
{
Poner(color)
}}

Ejercicio 4: Día de la Memoria

procedure DiaDeLaMemoria(){
PonerN(24, Azul)
Mover(Este)
PonerN(3, Verde)
Mover(Este)
PonerN(1976, Negro)
}

Ejercicio 5: Escribir cualquier fecha

procedure Fecha(dia, mes, anio){
PonerN(dia,Azul)
Mover(Este)
PonerN(mes,Verde)
Mover(Este)
PonerN(anio, Negro)
}

Advertisement

Ejercicio 6: Movamos… ¡Todo lo que queramos!

procedure MoverN(cantidad, direccion){
repeat(cantidad){
Mover(direccion)}
}

Ejercicio 7: Los números del reloj

procedure DibujarReloj(radio){
MoverN(2, Este)
PonerN(3, Rojo)
MoverN(2, Oeste)
MoverN(2, Sur)
PonerN(6, Rojo)
MoverN(2, Norte)
MoverN(2, Oeste)
PonerN(9, Rojo)
MoverN(2, Este)
MoverN(2, Norte)
PonerN(12, Rojo)
MoverN(2, Sur)
}

Ejercicio 8: Una línea heavy

procedure LineaEstePesada(peso, color, longitud){
repeat(longitud){
PonerN(peso,color)
Mover(Este)}
MoverN(longitud, Oeste)
}

Advertisement

Ejercicio 9: Guarda con la guarda
procedure Pone(){
PonerN(9,Rojo)
PonerN(1,Verde)
PonerN(5,Negro)
}

procedure GuardaDe5(){
repeat(4){
Pone()
Mover(Este)
}
Pone()
}

Ejercicio 10: Una guarda en L

procedure Subir(){
repeat (2){
MoverN(1,Norte)
PonerAzulejo()
}
MoverN(2,Sur)
}

procedure Derecho(){
repeat (2){
MoverN(1,Este)
PonerAzulejo()
}
MoverN(2,Oeste)
}
procedure GuardaEnL(){
Subir()
Derecho()
PonerAzulejo()
}

Advertisement

 

7. Expresiones

Ejercicio 1: Muchas formas de decir lo mismo

program {
PonerN(3+2, Negro)
}

 

Advertisement

Ejercicio 2: La suma de las partes

procedure PonerSuma(x, y){
PonerN(x+y, Rojo)
}

Ejercicio 3: ¿Qué se hace antes?

procedure ContarGente(micros, autos, bicicletas) {
PonerN(micros*40+autos*4+bicicletas*1,Verde)
}

 

Advertisement

Ejercicio 4: La carrera del salmón

procedure MoverComoSalmon(direccion) {
Mover(opuesto(direccion))
}

Ejercicio 5: Dos pasos adelante, un paso atrás

procedure CaminarDesconfiado(pasos){
MoverN(pasos div 2, Este)
}

Ejercicio 6: Poner al lado

procedure PonerAl(direccion, color){
Mover(direccion)
Poner(color)
Mover(opuesto(direccion))
}

Advertisement

 

Ejercicio 7: La línea que vuelve

procedure Linea(direccion, color, longitud) {
repeat(longitud) {
Poner(color)
Mover(direccion)
}
MoverN(longitud,(opuesto(direccion)))
}

 

Advertisement

Ejercicio 8: Dibujando una L

procedure Ele(direccion){
Linea(direccion, Azul, 3)
Linea(siguiente(direccion), Azul, 3)
}

Ejercicio 10: Siga la flecha

procedure Flecha(direccion){
Mover(siguiente(direccion))
Poner(Rojo)
Mover(opuesto(siguiente(direccion)))
Mover(direccion)
Poner(Rojo)
Mover(opuesto(direccion))
Mover(previo(direccion))
Poner(Rojo)
Mover(opuesto(previo(direccion)))

}

Advertisement

 

Ejercicio 11: Copiando bolitas

procedure CopiarVerdesEnRojas(){
PonerN(nroBolitas(Verde), Rojo)
}

Ejercicio 12: Sacando bolitas

procedure SacarTodas(color){
SacarN(nroBolitas(color), color)
}

Advertisement

 

8. Alternativa Condicional

Ejercicio 1: Sacar con miedo

procedure SacarAzulConMiedo() {
Sacar(Azul)
}

Ejercicio 2: Sacar con miedo, segundo intento

procedure SacarAzulConMiedo() {
if (hayBolitas(Azul)) {
Sacar(Azul)
}
}

Advertisement

Ejercicio 3: Eliminando la bolita roja

procedure SacarRojoConMiedo() {
if (hayBolitas(Rojo)) {
Sacar(Rojo)
}
}

Ejercicio 4: Un ejemplo medio rebuscado

procedure CompletarCelda(){
if(hayBolitas(Negro)){
Poner(Rojo)
Poner(Azul)
Poner(Verde)
}

}

Advertisement

Ejercicio 5: ¿Y sólo sirve para ver si hay bolitas?

program {
if (puedeMover(Este)){
Mover (Este)
}
}

Ejercicio 6: Un poquito de matemática

program{
if(nroBolitas(Negro) < 5){
Poner(Negro)
}
}

Ejercicio 7: Cómo decirle que no…

procedure AsegurarUnaBolitaVerde(){
if (not hayBolitas(Verde)){
Poner(Verde)
}
}

Advertisement

Ejercicio 8: Dos caminos distintos

procedure MoverComoSea() {
if (puedeMover(Oeste)) {
Mover(Oeste)
} else {
Mover(Norte)
}
}

Ejercicio 9: Un tablero de luces

procedure PrenderOApagarLuz(){
if(hayBolitas(Verde)){
Sacar(Verde)
Poner(Negro)
}
else{
Sacar(Negro)
Poner(Verde)
}
}

 

Advertisement

 

 

Ejercicio 1: Y esto, ¿con qué se come?

procedure MoverSegunBolitas() {
if (nroBolitas(Azul) + nroBolitas(Negro) + nroBolitas(Rojo) + nroBolitas(Verde) > 10) {
Mover(Este)
} else {
Mover(Norte)
}
}

Advertisement

Ejercicio 2: La importancia de nombrar las cosas

function nroBolitasTotal() {
return (nroBolitas(Azul) + nroBolitas(Negro) + nroBolitas(Rojo) + nroBolitas(Verde))
}

Ejercicio 3: MoverSegunBolitas, versión 2

procedure MoverSegunBolitas() {
if (nroBolitasTotal() > 10) {
Mover(Este)
} else {
Mover(Norte)
}
}

Ejercicio 4: todasExcepto

function todasExcepto(color){
return (nroBolitasTotal() – nroBolitas(color))
}

Advertisement

Ejercicio 5: Una función de otro tipo

function rojoEsDominante(){
return (nroBolitas(Rojo) > todasExcepto(Rojo))
}

Ejercicio 6: En libertad

function esLibreCostados (){
return( puedeMover(Este) && puedeMover(Oeste) )
}

Ejercicio 7: Cualquier bolita nos deja bien

function hayAlgunaBolita(){
return( hayBolitas(Azul) || hayBolitas(Verde)|| hayBolitas(Rojo) || hayBolitas(Negro))
}

Advertisement

Ejercicio 8: Siempre al borde…

function estoyEnUnBorde(){
return(not puedeMover(Norte) || not puedeMover(Sur) || not puedeMover(Este) || not puedeMover(Oeste))
}

Ejercicio 9: Las compañeras ideales

function hayBolitasAl(direccion, color){
Mover(direccion)
return( nroBolitas(color)>0)

}

Advertisement

 

Ejercicio 10: Lo ideal también se puede romper

function hayBolitasAl(direccion, color) {
Mover(direccion)
return (hayBolitas(color))
}

Ejercicio 11: ¿Hay bolitas lejos?

function hayBolitasLejosAl(direccion, color, distancia){
repeat(distancia){
Mover(direccion)
}
return( nroBolitas(color)>0)

Advertisement

}

Ejercicio 12: Estoy rodeado de viejas bolitas

function estoyRodeadoDe(color){
return (hayBolitasAl(Norte, color) && hayBolitasAl(Sur, color) && hayBolitasAl(Este, color) &&hayBolitasAl(Oeste, color))
}

Ejercicio 13: Sin límites

function hayLimite(){
return(estoyEnUnBorde() || estoyRodeadoDe(Rojo) )
}

Advertisement
Advertisement

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *