Issuu on Google+

LÓGICA COMPUTACIONAL Y JUST BASIC 1.01

Lógica computacional El propósito principal de la lógica computacional es ayudar a los niños a descubrir que pueden pensar de una manera ordenada. La lógica computacional contiene las formas mediante las cuales los niños pueden diferenciar un pensamiento válido de otro que no lo es, y para eso se utilizan las compuertas lógicas AND, OR y NOT o Inversor. En esta etapa de la formación de los niños se insiste en el descubrimiento y en la comprobación de las reglas de la lógica a partir de muchas prácticas con las compuertas lógicas. A las compuertas lógicas también se le llama operadores, ya que con ellas realizaremos operaciones que siempre tendrán que dar como resultado falso o verdadero donde el falso se representa con el número 0 y el verdadero con el número 1. Operador AND La forma de representar los operadores lógicos AND y OR es por medio de dibujos a los cuales se les llama compuertas lógicas. El operador AND esta representado por la siguiente figura:

Entradas

Salida

El operador AND es el equivalente a la multiplicación, puede tener dos o más entradas y una solo salida. El idioma de las computadoras se llama binario y consta de dos números el 0 y el 1, donde el número 0 = Falso y el número 1 = Verdadero, también se dice que usan dos estados apagado y encendido, donde apagado = 0 = Falso. Encendido = 1 = Verdadero, veámoslo con los siguientes dibujos que tienen una batería un interruptor y una lámpara.

Interruptor Abierto = 0 Batería Lámpara apagada = 0

En el dibujo anterior puedes observar que la lámpara no se enciende, ya que al estar abierto el interruptor no le llega corriente. Esto sería el equivalente a un 0 o Falso. En el siguiente dibujo podrás ver que el interruptor está cerrado, por lo que la corriente llega a la lámpara y esta se enciende. Esto sería el equivalente a un 1 o Verdadero. Interruptor Cerrado = 1 Batería Lámpara Encendida = 1

1


COLEGIO MARISTA DE ALAJUELA El operador AND que en español quiere decir Y también se representa con el siguiente dibujo, donde el interruptor 1 Y el interruptor 2 deben estar Cerrados para que la lámpara se encienda.

Interruptor 1 Abierto = 0

Interruptor 2 Abierto = 0

Batería Lámpara

Cuando el interruptor 1 Y el interruptor 2 están abiertos se dice que son = 0 que equivale a Falso. Cuando el interruptor 1 Y el interruptor 2 están cerrados se dice que son = 1 que equivale a Verdadero. Tabla de verdad para el operador AND Por medio de la siguiente tabla podrás verificar los resultados de cerrar y abrir interruptores, a dicha tabla se le llama tabla de verdad. Debes recordar que el operador AND equivale a la multiplicación.

INTERRUPTOR 1 0 0 1 1

INTERUPTOR 2 0 1 0 1

LÁMPARA 0 0 0 1

Otra forma de representar la tabla de verdad sería la siguiente:

INTERRUPTOR 1 F F V V

INTERUPTOR 2 F V F V

V = Verdadero F = Falso

2

LÁMPARA F F F V


LÓGICA COMPUTACIONAL Y JUST BASIC 1.01

Operador OR El operador OR esta representado por la siguiente figura:

Entradas

Salida

El operador OR es el equivalente a la suma, puede tener dos o más entradas y una solo salida. El operador OR que en español quiere decir O también se representa con el siguiente dibujo, donde al cerrarse el interruptor 1 O el interruptor 2 circula la corriente y la lámpara se enciende.

Interruptor 1 Abierto = 0 Batería Interruptor 2 Abierto = 0

Lámpara

Cuando el interruptor 1 O el interruptor 2 están abiertos se dice que son = 0 que equivale a Falso. Cuando el interruptor 1 O el interruptor 2 están cerrados se dice que son = 1 que equivale a Verdadero. La conclusión a la que podemos llegar sobre este asunto de los operadores es la siguiente: En el operador OR cualquiera de los dos interruptores o ambos pueden estar cerrados para que la lámpara se encienda. En el operador AND los dos interruptores deben estar cerrados para que la lámpara se encienda.

Tabla de verdad para el operador OR Esta es la tabla de verdad para el operador OR, se debe recordar que este operador equivale a la suma.

INTERRUPTOR 1 0 0 1 1

INTERUPTOR 2 0 1 0 1

LÁMPARA 0 1 1 1

La otra forma de representar la tabla de verdad sería la siguiente: INTERRUPTOR 1 F F V V

INTERUPTOR 2 F V F V

3

LÁMPARA F V V V


COLEGIO MARISTA DE ALAJUELA V = Verdadero F = Falso Operaciones con compuertas lógicas Las computadoras usan números binarios, que es lo mismo que el 0 y el 1, donde 0 = Falso y 1 = Verdadero. En la siguiente compuerta que es una AND colocaremos un 0 y un 1 en sus entradas, como esta compuerta es la multiplicación, en la salida aparecerá un 0. En la tabla de la derecha logras ver otras operaciones que se pueden realizar y sus respectivos resultados.

0 1 Operación

A

C 0

B

A B = C

A

B

C

0

0

0

0

1

0

1

0

0

1

1

1

En la operación anterior no se usa el símbolo X para multiplicar, ya que la norma establecida es que se use un punto (). En la siguiente compuerta que es una OR colocaremos un 0 y un 1 en sus entradas, como esta compuerta es la suma, en la salida aparecerá un 1.

A 0 1

C

1

B

Operación A + B = C

A

B

C

0

0

0

0

1

1

1

0

1

1

1

1

En la última operación de la tabla, donde se suma 1 + 1 el resultado es 2, pero como el sistema binario solo permite 0 y 1, todo resultado mayor a 1 en este caso 2 se coloca 1. Ahora realizaremos una operación con una compuerta AND de cuatro entradas.

1 0 0

1 0 Operación 1  0  1  0 = 0

4


LÓGICA COMPUTACIONAL Y JUST BASIC 1.01 Resolveremos ahora una operación con una compuerta OR de cuatro entradas.

A

1

B

0

1

C

1

D

0

Operación 1 + 0 + 1 + 0 = 1

En la operación anterior con la compuerta OR el resultado matemático es 2 pero como estamos usando el sistema de numeración binaria colocamos un 1. Las entradas en las compuertas se cuentan de arriba hacia abajo, aprenderás un orden establecido para realizar la operación. Le asignaremos letras como nombres a las entradas, en el dibujo anterior serían: A, B, C, D.

1. 2. 3.

Suma primero el número de la entrada A más el número de la entrada B, esto es 1 + 0 = 1 Ahora suma el número de la entrada C más el número de la entrada D, esto es 1 + 0 = 1 Finalmente suma los dos resultados, esto es 1 + 1 = 2, pero como en las operaciones con compuertas solo son validos 1 y 0 cuando un resultado nos da mayor a 1 en este caso 2, en la salida de la compuerta colocamos un 1.

El operador NOT El operador NOT o inversor invierte el valor que tiene en su entrada, y se representa con la siguiente figura.

A

B

A

B

0

1

1

0

En el siguiente ejemplo podemos observar que las entradas de las compuertas And y Not están apagadas, es decir tienen un 0, pero por efecto de las compuertas Not o inversores la luz o LED al final del circuito esta encendida (tiene un 1).

0 0 1 0 Ahora encendimos las entradas de las compuertas And y Not, poniendo un 1 en cada una de ellas. Como podemos observar se produce un efecto contrario al ejemplo anterior, la luz o LED al final del circuito se apaga (tiene un 0).

5


COLEGIO MARISTA DE ALAJUELA

1 1 0 1

Ejemplos de operaciones combinadas Ejemplo 1

1

1

1

1

0

0

1 0 0

0

0 0 1

0

0 Ejemplo 2

0 1 0

1

1 1 1

1

1 1 1

1

1

1

1 0 1 0

0

En clase veremos con detalle otros ejemplos con operaciones combinadas que incluirรกn el operador Not o Inversor.

6


LÓGICA COMPUTACIONAL Y JUST BASIC 1.01

JUST BASIC ¿Qué es la programación? Para entender que es la programación debes comprender que son los programas. Pues bien, los programas son una cantidad de instrucciones que a la hora de ejecutarlas producen una acción. La programación consiste en crear estos programas en una computadora, utilizando un determinado lenguaje de programación. Muy bien, ahora es probable que estés preguntándote que es un lenguaje de programación; pues este lenguaje es la manera en que logramos darle órdenes a las computadoras. ¿Qué es Just Basic? Just Basic es un lenguaje de programación que nos permitirá darle instrucciones a la computadora para que realice una acción determinada. Ingresar a Just Basic Para ingresar a Just Basic debes oprimir el botón Inicio, seleccionar programas, buscar la carpeta de Just Basic y dar clic sobre el icono del programa, como se muestra en La siguiente imagen.

7


COLEGIO MARISTA DE ALAJUELA Luego de haber realizado esta acción aparecerá la pantalla de trabajo de Just Basic la cual te mostramos a continuación:

Desde esta pantalla iniciaremos el proceso de aprender las instrucciones del lenguaje de programación Just Basic y luego construiremos nuestros propios códigos (así se le llama al conjunto de instrucciones que producen una o más acciones). Pero antes de esto, debemos aprender a expresar nuestro pensamiento lógico de manera que la computadora nos pueda entender, ya que aunque no lo creas, las computadoras no son inteligentes y para darles ordenes debemos ser muy específicos. Pensando en forma lógica Cuando una persona desea realizar una acción determinada debe primero efectuar otras actividades que le permitan llegar a su objetivo. Por ejemplo, supongamos que estas en la casa y deseas salir al parque pero antes debes pedir permiso a mamá, lo primero que haces es buscarla, cuando ya la encuentras le pides que te deje salir a jugar al parque, mamá te dice que sí puedes salir pero antes debes ponerte zapatos porque estas descalzo, inmediatamente vas a tu cuarto, miras debajo de la cama, tomas tus zapatos y te los pones, ahora corres hacia la puerta, la abres, sales de la casa, cierras la puerta y te diriges al parque. Ahora vamos a enumerar todas las acciones que realizaste para salir al parque: 1. 2. 3. 4. 5.

Buscar a Mamá Pedir permiso para salir Vas a tu cuarto Miras debajo de la cama Tomas los zapatos

8


LÓGICA COMPUTACIONAL Y JUST BASIC 1.01 6. 7. 8. 9. 10. 11.

Te pones los zapatos Corres hacia la puerta de tu casa Abres la puerta Sales de tu casa Cierras la puerta Te vas al parque

Como podrás observar detallamos muy cuidadosamente los pasos a seguir para conseguir un objetivo, de está forma es como debes hablar con la computadora, si no lo haces así la máquina cometerá errores y no tendrás un resultado correcto. Veamos un ejemplo incorrecto que provocará errores. Crearemos un conjunto de instrucciones para lavarnos los dientes. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.

Ir al baño Tomar el cepillo de dientes Abrir la boca Cepillar las muelas de arriba en forma circular Cepillar las muelas de abajo en forma circular Cepillar los dientes de arriba por detrás Cepillar los dientes de abajo por detrás Cepillar los dientes de arriba por el frente Cepillar los dientes de abajo por el frente Cepillar los dientes de arriba por encima Cepillar los dientes de abajo por encima Cepillar la lengua en forma circular Abrir la llave para el agua del lavatorio Tomar agua y enjuagarte Lavar tu cepillo Cerrar la llave para el agua del lavatorio Colocar tu cepillo en su lugar.

Como ya te diste cuenta el grave error es que nunca le pusiste pasta dental al cepillo de dientes, por lo que tus dientes no están bien lavados. Como puedes observar, si olvidas alguna acción puedes provocar errores enormes como por ejemplo que te aparezcan caries en tus dientes. El conjunto de instrucciones detalladas como las anteriores se conocen como algoritmos, los cuales permiten llegar a un objetivo determinado. Programación en Just Basic Ahora es el momento de poner en marcha nuestra lógica y empezar a crear programas en la computadora. Para esto debemos entrar a una parte muy importante, las instrucciones del lenguaje de programación, que en nuestro caso es el lenguaje de Just Basic. Recuerda que el lenguaje de programación es como el idioma de la computadora, por esta razón es importante aprenderlo para comunicar las cosas que deseamos que la máquina realice. Correr un Programa Cuando hablamos de correr un programa estamos hablando de decirle a la computadora que nos muestre que esta pasando con lo que escribimos en la pantalla de trabajo. Para hacer esto lo único que debes hacer es presionar las teclas Shift + F5 del teclado o dar clic en el botón Run de la barra de herramientas, e inmediatamente verás los resultados de las órdenes que escribiste en la ventana de ejecución. Guardar un Programa Para guardar un programa, lo conseguirás de la siguiente forma:

9


COLEGIO MARISTA DE ALAJUELA 1. 2. 3. 4.

Dar un clic en el menú FILE Luego elegir la Opción SAVE (Ctrl + S) En la opción Guardar en:, seleccionas el lugar donde quieres guardar tu trabajo y en Nombre: le asignas el nombre al archivo. Para terminar, debes dar un clic en el botón Guardar

Abrir una ventana nueva Cuando quieras abrir ventana nueva solo debes dar un clic en el menú File y luego otro clic en New Basic Source file (Ctrl + N). Instrucción PRINT Este comando nos permite mostrar palabras, símbolos y números en la pantalla, para hacer esto debes escribir esta orden como se muestra en el siguiente ejemplo: PRINT “Colegio Marista de Alajuela” Como puedes ver se escribe la instrucción, y lo que quieres que se muestre dentro de comillas. Al correr el programa notarás que aparece en la ventana de ejecución, solo la frase Colegio Marista de Alajuela. Instrucción LOCATE Si colocamos esta instrucción antes de un PRINT nos permitirá ubicar lo que se va a mostrar en pantalla en una posición determinada, en otras palabras le estamos indicando al programa que coloque el texto en las coordenadas (10,5), como se muestra en la imagen la coordenada 10 pertenece al eje X y la coordenada 5 al eje Y. LOCATE 10,5 PRINT “Colegio Marista de Alajuela”

10


LÓGICA COMPUTACIONAL Y JUST BASIC 1.01

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 …………X 1 2 3 4 5 Colegio Marista de Alajuela 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 . . Y

Ejemplos de PRINT y LOCATE Ahora abre un programa nuevo e intenta hacer los siguientes ejemplos. No olvides correr cada ejemplo para ver los resultados. Ejemplo 1 PRINT “NOMBRE PRINT “David PRINT “Andrés PRINT “Dayana PRINT “Melissa

EDAD” 24” 05” 22” 02”

Ejemplo 2 PRINT “NOMBRE”, “EDAD” PRINT PRINT “David”, ”24” PRINT “Andrés”, ”05” PRINT “Dayana”, ”22” PRINT “Melissa”, ”02” Ejemplo 3 PRINT “Colegio Marista” PRINT “ Alajuela” PRINT” 2008”

11


COLEGIO MARISTA DE ALAJUELA Ejemplo 4 PRINT “Colegio Marista” PRINT PRINT “ Alajuela” PRINT PRINT” 2008” Ejemplo 5 LOCATE 5, 4 PRINT "Colegio Marista" LOCATE 8, 5 PRINT "Alajuela" LOCATE 10, 6 PRINT "2008" Ejemplo 6 LOCATE 10,2 PRINT "XXXXXXXXXX" LOCATE 10,3 PRINT"X DIBUJO X" LOCATE 10,4 PRINT "XXXXXXXXXX" Instrucción LET Esta orden nos permite decirle a la computadora que una letra o palabra tiene un valor numérico, por ejemplo, podemos decirle que la letra D tiene un valor de 5 o que la palabra num tiene un valor de 10. Si decimos que D=5, significa que D es una variable. LET D=5 LET num=10 Las variables son letras o palabras con valores que nosotros le indicamos o que obtenemos por operaciones. Cuando usamos variables podemos usar abreviaciones por ejemplo usamos Lrojos=10 para indicar que tenemos 10 Lapices rojos. LET Lrojos=10 Cuando ya le hemos dado un valor a una variable podemos hacer operaciones como sumar (+), restar, (-), multiplicar (*) o dividir (/). Nsignifica número LET N1=10 LET N2= 2 LET SUMA = N1+N2 LET RESTA = N1-N2 LET MULTI = N1*N2 LET DIVISION = N1/N2 PRINT “SUMA”, “RESTA”, “MULTI”, “DIVISION” PRINT SUMA,RESTA,MULTI,DIVISION Podemos imprimir los resultados de otra manera, por ejemplo que diga la operación y a la par el resultado, para esto debemos eliminar las dos últimas líneas del programa anterior y agregar las siguientes.

12


LÓGICA COMPUTACIONAL Y JUST BASIC 1.01 PRINT “LA SUMA ES:”;SUMA PRINT “LA RESTA ES:”;RESTA PRINT “LA MULTIPLICACIÓN ES “;MULTI PRINT “LA DIVISION ES “; DIVISION Observa que colocamos el texto, luego un punto y coma (;) y por último la variable, esto produce que aparezca el texto y el resultado juntos. Si queremos darle un texto como valor a una variable, lo podemos hacer colocando al final del nombre de la variable el signo $ y la palabra o palabras deben ir entre comillas. A la hora de utilizar PRINT también debemos utilizar el signo $ después de las variables, de lo contrario no aparecerá el texto que le colocamos a la variable. LET TEXTO1$ =”HOLA” LET TEXTO2$=”AMIGOS” PRINT TEXTO1$ PRINT TEXTO2$ PRINT TEXTO1$;TEXTO2$ En la última línea utilizamos nuevamente el punto y coma para colocar un texto junto al otro, sin embargo hay una manera más sencilla, que es utilizando el símbolo de suma, sustituye la última línea por la siguiente línea: PRINT TEXTO1$ + TEXTO2$ Aunque ya resolvimos el problema de unir las dos variables, cuando aparece en pantalla se ve algo como lo que sigue:

Para evitar que aparezcan unidas las dos palabras, le agregamos un espacio en blanco despues de la letra HOLA en la primera línea, la cual quedaría de la siguiente manera: LET TEXTO1$ ="HOLAA " A significa que debes dejar un espacio en blanco Luego al correr el programa obtenemos el siguiente resultado:

Ejemplos de LET Ejemplo 1 ¿Si tengo 2 canastas con 13 naranjas cada una, cuantas naranjas tengo?

13


COLEGIO MARISTA DE ALAJUELA A significa que debes dejar un espacio en blanco LET CANASTAS = 2 LET NARANJAS= 13 LET TOTAL =CANASTAS * NARANJAS PRINT “TENGOA”;TOTAL;”ANARANJAS” Ejemplo 2 Tengo 64 lápices y los tengo que repartir entre 4 compañeros, ¿Cuántos le tengo que dar a cada uno? A significa que debes dejar un espacio en blanco LET LAP =64 LET COMP=4 LET TOTAL= LAP/COMP PRINT “LE TENGO QUE DARA”;TOTAL;”ALAPICES A CADA COMPAÑERO” Ejemplo 3 Tengo 2 cajas de 15 borradores cada una, 3 cajas de 10 crayolas y 8 cajas de 5 lápices. ¿Cuántos objetos tengo en total? A significa que debes dejar un espacio en blanco LET BOR=15 LET CRA=10 LET LAP=5 LET TOTAL= BOR*2+CRA*3+LAP*8 PRINT “TENGO:A”;TOTAL;”AOBJETOS” Ejemplo 4 A significa que debes dejar un espacio en blanco LET A$=”Arroz conA” LET P$=”Pollo” LET F$=”Frijoles” LET AT$=”Atún” LET PA$= “Palmito” PRINT A$+P$ PRINT A$+F$ PRINT A$+AT$ PRINT A$+PA$ Ejemplo 5 A significa que debes dejar un espacio en blanco LET A$=”Arroz conA” LET P$=”Pollo” LET F$=”Frijoles” LET AT$=”Atún” LET PA$= “Palmito” PRINT A$+P$ PRINT PRINT A$+F$

14


LÓGICA COMPUTACIONAL Y JUST BASIC 1.01 PRINT PRINT A$+AT$ PRINT PRINT A$+PA$ Instrucción INPUT Esta orden nos permite decirle a la computadora que nos pregunte por algún dato para que luego ella efectúe alguna acción con el dato que nos pidió. Este dato debemos almacenarlo en una variable para poder utilizar el valor. Como ejemplo veamos el siguiente programa que nos pide que digitemos nuestro año de nacimiento y el año actual, nos da como resultado nuestra edad PRINT “DIGITE SU AÑO DE NACIMIENTO” INPUT NACIMIENTO PRINT “DIGITE EL AÑO ACTUAL” INPUT ACTUAL LET EDAD = ACTUAL-NACIMIENTO PRINT “SU EDAD ES:”;EDAD;”AÑOS” Como puedes observar el comando PRINT en la primera y tercera línea son las encargadas de solicitar los datos, en el caso de este ejemplo, le estamos diciendo a la computadora que los datos que nos pide los almacene en las variables NACIMIENTO y ACTUAL. Por otro lado hacemos uso del comando LET, en la quinta línea, para asignarle a la variable EDAD el resultado de restarle al año actual el año de nacimiento. Finalmente, en la última línea comunicamos el resultado obtenido, es decir, la edad. Si deseamos almacenar datos de tipo texto, debemos colocarle a la variable en la que vamos almacenar el dato texto el símbolo $ al final. Como ejemplo veamos el programa anterior, pero con la modificación de que te pide tú nombre. A significa que debes dejar un espacio en blanco PRINT “ESCRIBE TU NOMBRE” INPUT NOMBRE$ PRINT “DIGITE SU AÑO DE NACIMIENTO” INPUT NACIMIENTO PRINT “DIGITE EL AÑO ACTUAL” INPUT ACTUAL LET EDAD = ACTUAL-NACIMIENTO PRINT NOMBRE$;”ATIENE”;EDAD;”AÑOS” Ejemplos de INPUT Ejemplo 1 Se desea saber cuantos minutos son una determinada cantidad de horas A significa que debes dejar un espacio en blanco PRINT “DIGITE LAS HORAS” INPUT HORAS LET MINUTOS = HORAS*60 PRINT HORAS; “AHORAS SON”;MINUTOS;”AMINUTOS”

15


COLEGIO MARISTA DE ALAJUELA Ejemplo 2 Dado un número cualquiera, indicar cual es su tabla de multiplicar PRINT “DIGITE UN NUMERO CUALQUIERA” INPUT N PRINT N; ”X 1=”;N*1 PRINT N; ”X 2=”;N*2 PRINT N; ”X 3=”;N*3 PRINT N; ”X 4=”;N*4 PRINT N; ”X 5=”;N*5 PRINT N; ”X 6=”;N*6 PRINT N; ”X 7=”;N*7 PRINT N; ”X 8=”;N*8 PRINT N; ”X 9=”;N*9 Ejemplo 3 Se necesita saber cuanto hay que pagar por comprar una cantidad determinada de lapiceros, borradores y hojas blancas. Un lapicero vale ¢100, un borrador vale ¢65 y una hoja blanca ¢5 LET LAP=100 LET BOR=65 LET HOJ=5 PRINT “DIGITE LA CANTIDAD DE LAPICEROS” INPUT CANTLAP PRINT “DIGITE LA CANTIDAD DE BORRADORES” INPUT CANTBOR PRINT “DIGITE LA CANTIDAD DE HOJAS” INPUT CANTHOJ LET TOTAL =LAP*CANTLAP+BOR*CANTBOR+HOJ*CANTHOJ PRINT “LA CANTIDAD A PAGAR ES: ¢”;TOTAL Ejemplo 4 Calcular cuantas horas por semana estudia una persona pidiéndole el nombre, la cantidad de días que estudia y las horas por día que estudia. Además debes calcular el total de horas por mes que estudia la persona. A significa que debes dejar un espacio en blanco PRINT “ESCRIBE TU NOMBRE” INPUT NOMBRE$ PRINT “CUANTOS DIAS A LA SEMANA ESTUDIAS” INPUT DIAS PRINT “CUANTAS HORAS POR DIA ESTUDIAS” INPUT HORAS PRINT NOMBRE$;”,ESTUDIAS”;HORAS*DIAS;”A HORAS POR SEMANA” PRINT PRINT NOMBRE$;”,ESTUDIAS”;HORAS*DIAS*4;”A HORAS POR MES” Ejemplo 5 Una caja de lápices tiene 100 unidades. Si a Juan, Luis, Valeria y Jimena se le da una determinada cantidad de lápices, averiguar cuantos lápices tiene cada uno, el total de lápices dentro de la caja y el total fuera de la caja.

16


LÓGICA COMPUTACIONAL Y JUST BASIC 1.01 LET LAPICES=100 PRINT “¿CUANTOS LAPICES TIENE JUAN?” INPUT JUAN PRINT “¿CUANTOS LAPICES TIENE LUIS?” INPUT LUIS PRINT “¿CUANTOS LAPICES TIENE VALERIA?” INPUT VALERIA PRINT “¿CUANTOS LAPICES TIENE JIMENA?” INPUT JIMENA LET TOTAL1=JUAN+LUIS+VALERIA+JIMENA LET TOTAL2= LAPICES-TOTAL1 PRINT “JUAN”;JUAN PRINT PRINT “LUIS”;LUIS PRINT PRINT “VALERIA”;VALERIA PRINT PRINT “JIMENA”; JIMENA PRINT PRINT “TOTAL DE LAPICES FUERA DE LA CAJA:”;TOTAL1 PRINT PRINT “TOTAL DE LAPICES DENTRO DE LA CAJA:”;TOTAL2 Instrucción IF Esta instrucción permite que la computadora examine los datos que le proporcionamos. Por ejemplo, el siguiente programa te preguntará cuanto es 15+5, sino das la respuesta correcta te indica que respondiste mal y si das con el resultado correcto te felicita 1 PRINT “15+5 DA COMO RESULTADO” 2 INPUT RESPUESTA 3 IF RESPUESTA=(15+5) THEN 4 PRINT “FELICIDADES. HAS CONTESTADO CORRECTAMENTE” 5 ELSE 6 PRINT “TE HAS EQUIVOCADO” 7 END IF El comando IF esta compuesto de las palabras THEN, ELSE y END IF. Su estructura básica es la siguiente: IF ELSE ND IF

THEN

La línea 3 (Las líneas solo se usan como guía, no es necesario escribirlas) se puede leer como: “SI RESPUESTA ES IGUAL A 15+5 ENTONCES”, el IF significa SI y el THEN significa ENTONCES. La línea 5 se puede leer como: “SINO”, en donde el ELSE significa SINO; por último el END IF significa FIN DEL SI. En resumen, el significado de la línea 3 hasta la 7 es el siguiente: 3 SI RESPUESTA ES IGUAL A 15+5 ENTONCES 4 MOSTRAR “FELICIDADES: HAS CONTESTADO CORRECTAMENTE” 5 SINO 6 MOSTRAR “TE HAS EQUIVOCADO” 7 FIN DEL SI

17


COLEGIO MARISTA DE ALAJUELA Para que puedas comprender con más facilidad la lógica del comando IF te mostramos las siguientes expresiones. SI LA EDAD DE DAVID ES MENOR A 12 ENTONCES DAVID ESTA EN LA ESCUELA SINO DAVID NO ESTA EN LA ESCUELA FIN SI SI LA NOTA DE DAVID ES MAYOR O IGUAL A 65 ENTONCES DAVID PASO EL CURSO SINO DAVID NO PASO EL CURSO FIN SI SI NUMERO1 + NUMERO2 = 5 ENTONCES LAS SUMA DE NUMERO1 + NUMERO2 ES CINCO SINO LA SUMA DE NUMERO1 + NUMERO2 NO ES CINCO FIN SI Las condiciones de un IF son comparaciones, normalmente de números, por esa razón utilizamos los operadores de relación, que te los mostramos a continuación: OPERADOR = > < <= >= <>

SIGNIFICADO Igual que Mayor que Menor que Mayor o Igual que Menor o Igual que Diferente que

Ejemplos de los operadores relacionales Ahora veamos algunos ejemplos del uso de los operadores de relación: Ejemplo 1 PRINT “DIGITA UN NUMERO” INPUT N IF N=10 THEN PRINT “N ES 10” ELSE PRINT “N NO ES 10” END IF Ejemplo 2 PRINT “DIGITA UN NUMERO” INPUT N IF N>10 THEN PRINT “N ES MAYOR QUE 10” ELSE PRINT “N ES MENOR QUE 10” END IF

18


LÓGICA COMPUTACIONAL Y JUST BASIC 1.01 Ejemplo 3 PRINT “DIGITA UN NUMERO” INPUT N IF N<10 THEN PRINT “N ES MENOR QUE 10” ELSE PRINT “N ES MAYOR QUE 10” END IF Ejemplo 4 PRINT “DIGITA UN NUMERO” INPUT N IF N>=10 THEN PRINT “N ES MAYOR O IGUAL QUE 10” ELSE PRINT “N NO ES MAYOR O IGUAL QUE 10” END IF Ejemplo 5 PRINT “DIGITA UN NUMERO” INPUT N IF N<=10 THEN PRINT “N ES MENOR O IGUAL QUE 10” ELSE PRINT “N NO ES MENOR O IGUAL QUE 10” END IF Ejemplo 6 PRINT “DIGITA UN NUMERO” INPUT N IF N <> 10 THEN PRINT “N ES DIFERENTE QUE 10” ELSE PRINT “N ES 10” END IF En algunas ocasiones puede ser necesario realizar más de una comparación por lo que debemos recurrir a los operadores lógicos AND y OR.

OPERADOR AND OR

SIGNIFICADO Y O

19


COLEGIO MARISTA DE ALAJUELA Supongamos que deseamos que la computadora nos indique si un número se encuentra entre 1 y 10, para eso tendríamos que escribir las siguientes instrucciones: PRINT “DIGITE UN NÚMERO” INPUT N IF N>1 AND N<10 THEN PRINT “EL NÚMERO ESTA ENTRE 1 Y 10” ELSE PRINT “EL NÚMERO NO ESTA ENTRE 1 Y 10” END IF En la línea 3 notarás que hay dos condiciones unidas por un operador AND, esta línea se lee así: Sí N es menor que 1 Y N es mayor que 10 entonces. Para que esta condición se cumpla se deben cumplir ambas condiciones. Revisemos los efectos que produce el programa anterior con algunos valores que le introducimos: VALOR DE N 5 2 11 21 0 1 10

N>1 SI SE CUMPLE SI SE CUMPLE SI SE CUMPLE SI SE CUMPLE NO SE CUMPLE NO SE CUMPLE SI SE CUMPLE

AND

N<10 SI SE CUMPLE SI SE CUMPLE NO SE CUMPLE NO SE CUMPLE SI SE CUMPLE SI SE CUMPLE NO SE CUMPLE

RESULTADO VERDADERO VERDADERO FALSO FALSO VERDADERO FALSO FALSO

Podría darse el caso de que deseamos que un número sea igual que 10 o igual que 15, es decir que se cumpla alguna de las condiciones. PRINT “DIGITE UN NUMERO” INPUT N IF N=10 OR N=15 THEN PRINT “EL NUMERO ES 10 O 15” ELSE PRINT “EL NÚMERO NO ES 10 O 15” END IF Este programa nos indica si el número que digitamos es 10 o 15, es decir, el número es 10 o el número es 15. Veamos ahora el comportamiento del programa: VALOR DE N 10 2 1 15

N=10 SI SE CUMPLE NO SE CUMPLE NO SE CUMPLE NO SE CUMPLE

OR

20

N=15 NO SE CUMPLE NO SE CUMPLE NO SE CUMPLE SI SE CUMPLE

RESULTADO VERDADERO FALSO FALSO VERDADERO


LÓGICA COMPUTACIONAL Y JUST BASIC 1.01 El comportamiento de los operadores lógicos se resume en las siguientes tablas:

CONDICIÓN 1 VERDADERO VERDADERO FALSO FALSO

OPERADOR AND CONDICIÓN 2 VERDADERO FALSO VERDADERO FALSO

RESULTADO VERDADERO FALSO FALSO FALSO

CONDICIÓN 1 VERDADERO VERDADERO FALSO FALSO

OPERADOR OR CONDICIÓN 2 VERDADERO FALSO VERDADERO FALSO

RESULTADO VERDADERO VERDADERO VERDADERO FALSO

Otros ejemplos de IF, Operadores Relaciónales y Lógicos Ejemplo 1 Si una persona tiene 18 años o más es mayor de edad, sino es menor de edad. PRINT “¿CUAL ES TU NOMBRE?” INPUT NOMBRE$ PRINT “¿CUAL ES TU EDAD” INPUT EDAD IF EDAD>=18 THEN PRINT NOMBRE$;”, ERES MAYOR DE EDAD” ELSE PRINT NOMBRE$;”, NO ERES MAYOR DE EDAD” END IF Ejemplo 2 Diseñar un programa que detecte si escribe hola en español la escriba en inglés. PRINT “ESCRIBA UNA PALABRA” INPUT PALABRA$ IF PALABRA=”HOLA” THEN PRINT “HELLO” END IF Ejemplo 3 Diseñar un programa que pida dos números y luego pregunte si deseamos sumar o restar los números. PRINT “DIGITA EL PRIMER NUMERO” INPUT NUMERO1 PRINT “DIGITA EL SEGUNDO NUMERO” INPUT NUMERO2 PRINT “SI DESEAS SUMAR PRESIONA S, SI DESEAS RESTAR PRESIONA R” INPUT OPERACIÓN$ IF OPERACION$=”S” THEN PRINT “LA SUMA ES:”;NUMERO1+NUMERO2 END IF IF OPERACIÓN$=”R” THEN

21


COLEGIO MARISTA DE ALAJUELA PRINT “LA RESTA ES:”;NUMERO1-NUMERO2 END IF Ejemplo 4 Se tienen dos grupos de números, el grupo A contiene los números 1, 8, 9, 12,76. El grupo B 13, 14, 25, 5, 84. Crear un programa que al digitar un número cualquiera determine si se encuentra en alguno de los dos grupos, sino esta en ningún grupo debe indicarlo. PRINT "ESCRIBE UN NUMERO" INPUT N IF N = 1 OR N = 8 OR N = 9 OR N = 12 OR N = 76 THEN PRINT "EL NUMERO ESTA EN EL GRUPO A" NE1$ = "F" ELSE NE1$ = "V" END IF IF N = 13 OR N = 14 OR N = 25 OR N = 5 OR N = 84 THEN PRINT "EL NUMERO ESTA EN EL GRUPO B" NE2$ = "F" ELSE NE2$ = "V" END IF IF NE1$ = "V" AND NE2$ = "V" THEN PRINT "EL NUMERO NO ESTA EN NINGUN GRUPO" END IF Ejemplo 5 Diseña un programa que permita recibir un número cualquiera y lo divida entre 2, solo sí el número es mayor o igual 100 PRINT “DIGITE UN NUMERO” INPUT N IF N>=100 THEN LET N=N/2 PRINT N ELSE PRINT “EL NUMERO ES MENOR A 100” END IF Instrucción GOTO El comando GOTO es muy útil dentro de la instrucción IF, ya que si por ejemplo, cuando se pide un dato y no es correcto con GOTO podemos pedir que vuelva a pedir el dato hasta que digite el correcto. El siguiente ejemplo no termina hasta que le digitemos el resultado correcto de 2+2 10 PRINT “¿CUANTO ES 2+2=?” INPUT RESPUESTA IF RESPUESTA <> 4 THEN GOTO 10 ELSE PRINT “LA RESPUESTA ES CORRECTA” END IF

22


LÓGICA COMPUTACIONAL Y JUST BASIC 1.01

Instrucción FOR/NEXT La orden FOR/NEXT nos permite que la computadora realice acciones cuantas veces queramos, debemos indicar el inicio y el final de las veces que queremos que realice las acciones. El siguiente programa muestra los números del 1 al 10 en la pantalla. 1 FOR N=1 TO 10 2 PRINT “HOLA” 3 NEXT N En la línea 3 podemos ver que el comando NEXT le indica al comando FOR que debe incrementar en 1 el valor actual de N. Sin este código el comando FOR no se ejecuta. Ejemplos de FOR/NEXT Ejemplo 1 Crear un programa que pida una cantidad de veces y que muestre esa cantidad de veces las palabras “Colegio Marista” PRINT “DIGITE LA CANTIDAD DE VECES” INPUT V FOR N=1 TO V PRINT “COLEGIO MARISTA NEXT N Ejemplo 2 Diseñar un programa que permita indicar los números pares desde el 2 hasta un valor que es digitado PRINT “DIGITE UN VALOR” INPUT V FOR N=2 TO V PRINT N LET N=N+1 NEXT N Ejemplo 3 Escribir un programa que muestre una lista con dos columnas, la primera columna debe iniciar en 1 y terminar en un número que es digitado por el usuario. La otra columna debe mostrar el resultado de multiplicar los números de la primera columna por 2. PRINT "DIGITE UN NUMERO" INPUT N PRINT "NUM"; " DOBLE" FOR A = 1 TO N LET X = A * 2 PRINT A; X NEXT A

23


COLEGIO MARISTA DE ALAJUELA

Diagramas de Flujo En el mundo de la programación normalmente se diseñan los algoritmos (conjunto de instrucciones que producen una acción) por medio de los diagramas de flujo, que son figuras que permiten expresar las acciones. Veamos algunas de las figuras básicas de los diagramas de flujo.

FIGURA

USO DE LA FIGURA EN EL DIAGRAMA DE FLUJO Esta figura siempre se debe colocar al iniciar y al terminar un diagrama. Cuando aparece al principio lleva la palabra inicio dentro de ella, si aparece al final debe llevar la palabra fin. Esta figura la utilizamos cuando ocupamos que se digite algún dato desde el teclado.

Esta figura la colocamos cuando debamos indicar operaciones matemáticas.

Cuando deseamos indicar algo en la pantalla, para que otros lo vean, colocamos la figura junto con la información que debe aparecer.

Cuando ocupemos que la computadora analice algún valor y determine si es cierto o falso hacemos uso de esta figura.

La utilizamos para indicarle al ordenador que debe realizar una o más acciones una determinada cantidad de veces.

24


LÓGICA COMPUTACIONAL Y JUST BASIC 1.01 Ahora te mostraremos algunos de los programas que hemos realizado representándolos con Diagramas de Flujo. Ejemplos de Diagramas de Flujo Ejemplo 1 Inicio

PRINT “Escribe tu nombre”

INPUT nombre$ PRINT “Escribe tu edad”

INPUT edad

V

F

IF edad>18

PRINT nombre$ ; “es mayor de edad”

PRINT nombre$ ; “no es mayor de edad”

fin

Ejemplo 2 Inicio

PRINT “¿Cuánto es 2+2?”

INPUT resp F IF resp <> 4 V PRINT “Respuesta Correcta”

fin

25


COLEGIO MARISTA DE ALAJUELA Ejemplo 3 Inicio

PRINT “Escribe el año actual”

INPUT actual PRINT “Escribe tu año de nacimiento”

INPUT nacimiento LET edad=actual-nacimiento

PRINT “Edad:” ; edad

fin

Ejemplo 4 Inicio PRINT “Digite N” INPUT N PRINT “Num” ; “Doble” For A=1 to N LET X=A*2 PRINT A;X NEXT A fin

26


LÓGICA COMPUTACIONAL Y JUST BASIC 1.01 Ejemplo 5 INICIO PRINT “ESCRIBE NOMBRE”

INPUT NOMBRE$ PRINT “CUANTOS DIAS A LA SEMANA ESTUDIAS”

INPUT DIAS PRINT “CUANTAS HORAS POR DIA ESTUDIAS” INPUT HORAS PRINT NOMBRE$ ; “ESTUDIAS” ; HORAS*DIAS ; “ HORAS POR SEMANA”

PRINT NOMBRE$ ; “ESTUDIAS” ; HORAS*DIAS*4 ; “ HORAS POR MES”

FIN

Ejemplo 6

27


COLEGIO MARISTA DE ALAJUELA Ejemplo 7 INICIO LET BORRADORES=15 LET LAPICES=5 LET CRAYOLAS=10 LET TOTAL= BORRADORES+LAPICES+CRAYOLAS PRINT “TENGO”; TOTAL; “OBJETOS” FIN

Ejemplo 8

INICIO PRINT “CUAL TABLA DESEAS PRACTICAR”

INPUT N FOR A=1 TO 9 PRINT N; “X” ; A; “=” INPUT R

IF R <> (N*A) PRINT “!INCORRECTO!” PRINT “!CORRECTO!” NEXT A FIN

28


Logica Computacional