Академический Документы
Профессиональный Документы
Культура Документы
01
Lgica computacional El propsito principal de la lgica computacional es ayudar a los nios a descubrir que pueden pensar de una manera ordenada. La lgica computacional contiene las formas mediante las cuales los nios pueden diferenciar un pensamiento vlido de otro que no lo es, y para eso se utilizan las compuertas lgicas AND, OR y NOT o Inversor. En esta etapa de la formacin de los nios se insiste en el descubrimiento y en la comprobacin de las reglas de la lgica a partir de muchas prcticas con las compuertas lgicas. A las compuertas lgicas tambin se le llama operadores, ya que con ellas realizaremos operaciones que siempre tendrn que dar como resultado falso o verdadero donde el falso se representa con el nmero 0 y el verdadero con el nmero 1. Operador AND La forma de representar los operadores lgicos AND y OR es por medio de dibujos a los cuales se les llama compuertas lgicas. El operador AND esta representado por la siguiente figura:
Entradas
Salida
El operador AND es el equivalente a la multiplicacin, puede tener dos o ms entradas y una solo salida. El idioma de las computadoras se llama binario y consta de dos nmeros el 0 y el 1, donde el nmero 0 = Falso y el nmero 1 = Verdadero, tambin se dice que usan dos estados apagado y encendido, donde apagado = 0 = Falso. Encendido = 1 = Verdadero, vemoslo con los siguientes dibujos que tienen una batera un interruptor y una lmpara.
En el dibujo anterior puedes observar que la lmpara no se enciende, ya que al estar abierto el interruptor no le llega corriente. Esto sera el equivalente a un 0 o Falso. En el siguiente dibujo podrs ver que el interruptor est cerrado, por lo que la corriente llega a la lmpara y esta se enciende. Esto sera el equivalente a un 1 o Verdadero. Interruptor Cerrado = 1 Batera Lmpara Encendida = 1
Interruptor 2 Abierto = 0
Lmpara
Cuando el interruptor 1 Y el interruptor 2 estn abiertos se dice que son = 0 que equivale a Falso. Cuando el interruptor 1 Y el interruptor 2 estn cerrados se dice que son = 1 que equivale a Verdadero. Tabla de verdad para el operador AND Por medio de la siguiente tabla podrs 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 multiplicacin.
INTERRUPTOR 1 0 0 1 1
INTERUPTOR 2 0 1 0 1
LMPARA 0 0 0 1
INTERUPTOR 2 F V F V
LMPARA F F F V
Entradas
Salida
El operador OR es el equivalente a la suma, puede tener dos o ms entradas y una solo salida. El operador OR que en espaol quiere decir O tambin se representa con el siguiente dibujo, donde al cerrarse el interruptor 1 O el interruptor 2 circula la corriente y la lmpara se enciende.
Cuando el interruptor 1 O el interruptor 2 estn abiertos se dice que son = 0 que equivale a Falso. Cuando el interruptor 1 O el interruptor 2 estn cerrados se dice que son = 1 que equivale a Verdadero. La conclusin 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 lmpara se encienda. En el operador AND los dos interruptores deben estar cerrados para que la lmpara 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
LMPARA 0 1 1 1
La otra forma de representar la tabla de verdad sera la siguiente: INTERRUPTOR 1 F F V V INTERUPTOR 2 F V F V LMPARA F V V V
0 1
Operacin
A B
C 0
0 0 1 1
A B=C
En la operacin anterior no se usa el smbolo 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 B
A 0 0 1
B 0 1 0 1
C 0 1 1 1
Operacin A + B = C
En la ltima operacin 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 operacin con una compuerta AND de cuatro entradas.
1 0 1 0
Operacin 1 0 1 0 = 0
1 0 1 0
A B C D 1
Operacin 1 + 0 + 1 + 0 = 1
En la operacin anterior con la compuerta OR el resultado matemtico es 2 pero como estamos usando el sistema de numeracin binaria colocamos un 1. Las entradas en las compuertas se cuentan de arriba hacia abajo, aprenders un orden establecido para realizar la operacin. Le asignaremos letras como nombres a las entradas, en el dibujo anterior seran: A, B, C, D.
1. 2. 3.
Suma primero el nmero de la entrada A ms el nmero de la entrada B, esto es 1 + 0 = 1 Ahora suma el nmero de la entrada C ms el nmero 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 0 1
B 1 0
En el siguiente ejemplo podemos observar que las entradas de las compuertas And y Not estn 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).
1 1 0 1
1 1 0 1
1 1 0 0
0 0
0 0
1 0
Ejemplo 2
0 1 0 1 1 1 1 1 1
1 1 1 1 1 1
0 1 0
En clase veremos con detalle otros ejemplos con operaciones combinadas que incluirn el operador Not o Inversor.
JUST BASIC Qu es la programacin? Para entender que es la programacin debes comprender que son los programas. Pues bien, los programas son una cantidad de instrucciones que a la hora de ejecutarlas producen una accin. La programacin consiste en crear estos programas en una computadora, utilizando un determinado lenguaje de programacin. Muy bien, ahora es probable que ests preguntndote que es un lenguaje de programacin; pues este lenguaje es la manera en que logramos darle rdenes a las computadoras. Qu es Just Basic? Just Basic es un lenguaje de programacin que nos permitir darle instrucciones a la computadora para que realice una accin determinada. Ingresar a Just Basic Para ingresar a Just Basic debes oprimir el botn Inicio, seleccionar programas, buscar la carpeta de Just Basic y dar clic sobre el icono del programa, como se muestra en La siguiente imagen.
Desde esta pantalla iniciaremos el proceso de aprender las instrucciones del lenguaje de programacin Just Basic y luego construiremos nuestros propios cdigos (as se le llama al conjunto de instrucciones que producen una o ms acciones). Pero antes de esto, debemos aprender a expresar nuestro pensamiento lgico 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 especficos. Pensando en forma lgica Cuando una persona desea realizar una accin 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
Como podrs 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 mquina cometer errores y no tendrs 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 bao 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 detrs Cepillar los dientes de abajo por detrs 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 estn bien lavados. Como puedes observar, si olvidas alguna accin 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. Programacin en Just Basic Ahora es el momento de poner en marcha nuestra lgica y empezar a crear programas en la computadora. Para esto debemos entrar a una parte muy importante, las instrucciones del lenguaje de programacin, que en nuestro caso es el lenguaje de Just Basic. Recuerda que el lenguaje de programacin es como el idioma de la computadora, por esta razn es importante aprenderlo para comunicar las cosas que deseamos que la mquina 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 botn Run de la barra de herramientas, e inmediatamente vers los resultados de las rdenes que escribiste en la ventana de ejecucin. Guardar un Programa Para guardar un programa, lo conseguirs de la siguiente forma:
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). Instruccin PRINT Este comando nos permite mostrar palabras, smbolos y nmeros 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 instruccin, y lo que quieres que se muestre dentro de comillas. Al correr el programa notars que aparece en la ventana de ejecucin, solo la frase Colegio Marista de Alajuela. Instruccin LOCATE Si colocamos esta instruccin antes de un PRINT nos permitir ubicar lo que se va a mostrar en pantalla en una posicin 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
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 Andrs PRINT Dayana PRINT Melissa Ejemplo 2 PRINT NOMBRE, EDAD PRINT PRINT David, 24 PRINT Andrs, 05 PRINT Dayana, 22 PRINT Melissa, 02 Ejemplo 3 PRINT Colegio Marista PRINT Alajuela PRINT 2008 EDAD 24 05 22 02
11
12
Para evitar que aparezcan unidas las dos palabras, le agregamos un espacio en blanco despues de la letra HOLA en la primera lnea, la cual quedara de la siguiente manera: LET TEXTO1$ ="HOLAA " A significa que debes dejar un espacio en blanco
Ejemplos de LET Ejemplo 1 Si tengo 2 canastas con 13 naranjas cada una, cuantas naranjas tengo?
13
LET CANASTAS = 2 LET NARANJAS= 13 LET TOTAL =CANASTAS * NARANJAS PRINT TENGOA;TOTAL;ANARANJAS Ejemplo 2 Tengo 64 lpices y los tengo que repartir entre 4 compaeros, Cuntos 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 COMPAERO Ejemplo 3 Tengo 2 cajas de 15 borradores cada una, 3 cajas de 10 crayolas y 8 cajas de 5 lpices. Cuntos 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$=Atn 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$=Atn LET PA$= Palmito PRINT A$+P$ PRINT PRINT A$+F$
14
PRINT ESCRIBE TU NOMBRE INPUT NOMBRE$ PRINT DIGITE SU AO DE NACIMIENTO INPUT NACIMIENTO PRINT DIGITE EL AO ACTUAL INPUT ACTUAL LET EDAD = ACTUAL-NACIMIENTO PRINT NOMBRE$;ATIENE;EDAD;AOS 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
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 lpices tiene 100 unidades. Si a Juan, Luis, Valeria y Jimena se le da una determinada cantidad de lpices, averiguar cuantos lpices tiene cada uno, el total de lpices dentro de la caja y el total fuera de la caja.
16
La lnea 3 (Las lneas solo se usan como gua, 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 lnea 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 lnea 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
Ejemplos de los operadores relacionales Ahora veamos algunos ejemplos del uso de los operadores de relacin: 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
OPERADOR AND OR
SIGNIFICADO Y O
19
AND
Podra darse el caso de que deseamos que un nmero 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 NMERO NO ES 10 O 15 END IF Este programa nos indica si el nmero que digitamos es 10 o 15, es decir, el nmero es 10 o el nmero 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 N=15 NO SE CUMPLE NO SE CUMPLE NO SE CUMPLE SI SE CUMPLE RESULTADO VERDADERO FALSO FALSO VERDADERO
OR
20
Otros ejemplos de IF, Operadores Relacinales y Lgicos Ejemplo 1 Si una persona tiene 18 aos o ms 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 Disear un programa que detecte si escribe hola en espaol la escriba en ingls. PRINT ESCRIBA UNA PALABRA INPUT PALABRA$ IF PALABRA=HOLA THEN PRINT HELLO END IF Ejemplo 3 Disear un programa que pida dos nmeros y luego pregunte si deseamos sumar o restar los nmeros. 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 OPERACIN$ IF OPERACION$=S THEN PRINT LA SUMA ES:;NUMERO1+NUMERO2 END IF IF OPERACIN$=R THEN
21
22
Instruccin 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 nmeros del 1 al 10 en la pantalla. 1 FOR N=1 TO 10 2 PRINT HOLA 3 NEXT N En la lnea 3 podemos ver que el comando NEXT le indica al comando FOR que debe incrementar en 1 el valor actual de N. Sin este cdigo 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 Disear un programa que permita indicar los nmeros 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 nmero que es digitado por el usuario. La otra columna debe mostrar el resultado de multiplicar los nmeros 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
Diagramas de Flujo En el mundo de la programacin normalmente se disean los algoritmos (conjunto de instrucciones que producen una accin) por medio de los diagramas de flujo, que son figuras que permiten expresar las acciones. Veamos algunas de las figuras bsicas 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 algn dato desde el teclado.
Cuando deseamos indicar algo en la pantalla, para que otros lo vean, colocamos la figura junto con la informacin que debe aparecer.
Cuando ocupemos que la computadora analice algn valor y determine si es cierto o falso hacemos uso de esta figura.
La utilizamos para indicarle al ordenador que debe realizar una o ms acciones una determinada cantidad de veces.
24
INPUT edad
IF edad>18
fin
Ejemplo 2
Inicio
fin
25
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
INPUT DIAS PRINT CUANTAS HORAS POR DIA ESTUDIAS INPUT HORAS PRINT NOMBRE$ ; ESTUDIAS ; HORAS*DIAS ; HORAS POR SEMANA
FIN
Ejemplo 6
27
Ejemplo 8
28