EXAMEN de BACHILLERATO de programación BASIC - IES DRAGO (03/03/05) NOMBRE __________________________________________________CURSO __________ Realizar UN SOLO programa en BASIC que realice lo siguiente: a) Borra la pantalla. b) Mostrar en pantalla el siguiente menú hasta que e pulse un de las 3 teclas posibles: MENU ---------1.- Estrellas 2.- Cuadrado 3.- Rebajas Pulsa una opción c) Dependiendo de tecla pulsada, hacer: 1) Mostrar un cielo estrellado formado por 3000 puntos blancos en posiciones aleatorias a todo lo ancho y alto de pantalla. 2) Mostrar un cuadrado blanco de 50 puntos de lado y moverlo por pantalla con las letras a -abajo- , q -arriba- , o -izquierda- , p -derecha-. 3) Borrar pantalla. Pedir una cifra inicial de euros. Pedir un porcentaje. Mostrar el mensaje “Te ahorras …. euros y tendrás que pagar ….”, donde los primeros puntos suspensivos es el descuento y los segundos es la cifra final a abonar. SOLUCIÓN: RANDOMIZE TIMER CLS PRINT " MENU" PRINT " ----" PRINT "" PRINT "1.- Estrellas" PRINT "2.- Cuadrado" PRINT "3.- Rebajas" PRINT "" PRINT "Pulsa una opcion" DO a$ = INKEY$ LOOP WHILE a$ <> "1" AND a$ <> "2" AND a$ <> "3" IF a$ = "1" THEN SCREEN 12 FOR N = 0 TO 3000 CIRCLE (RND * 640, RND * 480), 0, 16 NEXT N END IF IF a$ = "2" THEN SCREEN 12 X = 320 Y = 240 DO a$ = INKEY$ IF a$ <> "" THEN FOR N = 0 TO 50 CIRCLE (X + N, Y), 0, 0 CIRCLE (X + N, Y + 50), 0, 0 CIRCLE (X, Y + N), 0, 0 CIRCLE (X + 50, Y + N), 0, 0 NEXT N END IF IF a$ = "o" THEN X = X - 1 IF a$ = "p" THEN X = X + 1 IF a$ = "q" THEN Y = Y - 1 IF a$ = "a" THEN Y = Y + 1 IF a$ <> "" THEN FOR N = 0 TO 50 CIRCLE (X + N, Y), 0, 16 CIRCLE (X + N, Y + 50), 0, 16 CIRCLE (X, Y + N), 0, 16 CIRCLE (X + 50, Y + N), 0, 16 NEXT N END IF LOOP WHILE a$ <> CHR$(27) END IF IF a$ = "3" THEN CLS INPUT "Cantidad"; cantidad INPUT "Porcentaje"; porcentaje descuento = cantidad / 100 * porcentaje total = cantidad - descuento PRINT "Te ahorras "; descuento; " euros y tendras que pagar "; total END IF