lunes, 28 de mayo de 2012

JUEGOS DE LOGICA

JUEGOS




Equilibrio perfecto
Coloca las piezas en perfecto equilibrio


http://www.pequejuegos.com/juego-equilibrio-perfecto.html

Traza el Puente
Construye los puentes necesarios con distintos materiales para que el tren pueda pasar.



http://www.pequejuegos.com/juego-traza-el-puente.html


Cuadro Simpson
¿Serías capaz de montar un puzzle con el clásico cuadro con todos los personajes de Los Simpson?


http://www.pequejuegos.com/juego-cuadro-simpsons.html

PSEINT


<!--[if !supportLists]-->ž  <!--[endif]-->PSEINT es una herramienta para aprender la lógica de programación, orientada a estudiantes sin experiencia en dicha área. Mediante la utilización de un simple y limitado pseudo-lenguaje intuitivo y en español, permite comenzar a comprender conceptos básicos y fundamentales de un algoritmo computacional


<!--[if !vml]-->Descripción: PSeint interfaz.jpg<!--[endif]-->

<!--[if !supportLists]-->ž  <!--[endif]-->Es un software que interpreta pseudocódigo.
<!--[if !supportLists]-->ž  <!--[endif]-->Permite la generación de diagramas de flujo, dado un algoritmo en pseudocódigo.
<!--[if !supportLists]-->ž  <!--[endif]-->También es posible exportar el pseudocódigo a un lenguaje orientado a objetos como C++.
<!--[if !supportLists]-->ž  <!--[endif]-->Para compilar y ejecutar nuestro pseudocódigo debemos presionar el botón:
<!--[if !vml]-->Descripción: C:\Users\Snake\Desktop\zvz.png<!--[endif]-->



<!--[if !supportLists]-->ž  <!--[endif]-->Es una forma de representar un algoritmo, que se acerca a los lenguajes de programación y con elementos del lenguaje natural.
<!--[if !supportLists]-->ž  <!--[endif]-->El pseudocódigo se compone de:
       - Cabecera
       - Declaraciones
       - Cuerpo
<!--[if !supportLists]-->ž  <!--[endif]-->La cabecera es la parte del algoritmo que posee el nombre de éste.
<!--[if !supportLists]-->ž  <!--[endif]-->Las declaraciones son las variables y constantes que utilizará el algoritmo para resolver el problema.
<!--[if !supportLists]-->ž  <!--[endif]-->El cuerpo son el conjunto de instrucciones o acciones que están entre el Inicio y el Fin.

Ejemplo:
<!--[if !vml]-->Descripción: C:\Users\Snake\Desktop\asdasd.png<!--[endif]-->




Descarga PSEINT.

http://www.mediafire.com/?bl8hw1fogzr9e88

Video tutorial para el uso de el PSEINT

http://www.youtube.com/watch?v=ThnUy4i1icM

ESTRUCTURA SECUENCIAL:


Estructura Secuencial
ž
Es aquélla en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso.

žCaracterísticas
ž       La estructura secuencial tiene una entrada y una salida.
ž       Un programa puede contener simplemente una secuencia de instrucciones.
ž       Es aquella que ejecuta las acciones sucesivamente unas a continuación de otras sin posibilidad de omitir ninguna y naturalmente, sin bifurcaciones.

ž Su representación gráfica es la siguiente:
Descripción: http://www.monografias.com/trabajos12/alflu/Image5974.gif

lunes, 21 de mayo de 2012

EXPRESIONES LOGICAS Y OPERACIONES CON CADENAS


EXPRESION LOGICA

Una expresión lógica puede tener solamente el valor de .TRUE. o de .FALSE.. Una valor lógico puede ser obtenido al comparar expresiones aritméticas usando los siguientes operadores relacionales:
.LT.  meaning <
.LE.          <=
.GT.          >         
.GE.          >=
.EQ.          =
.NE.          /=
Por lo que no se pueden usar símbolos como < or = para comparación en Fortran 77, por lo que se tienen que usar abreviaturas de dos letras encerradas con puntos. Sin embargo en Fortran 90 ya pueden ser usados.
Las expresiones lógicas pueden ser combinadas con los operadores lógicos .AND. .OR. .NOT. que corresponden a los operadores lógicos conocidos Y, O y negación respectivamente.
Asignación de Variables Lógicas
Los valores booleanos pueden ser guardados en variables lógicas. La asignación es de forma análoga a la asignación aritmética. Ejemplo:
logical a, b
a = .TRUE.
b = a .AND. 3 .LT. 5/2
El order de precedencia es importante, como se muestra en el último ejemplo. La regla es que las expresiones aritméticas son evaluadas primero, después las que contienen operadores relacionales, y finalmente las de operadores lógicos. Por lo que a b se le asigna .FALSE. en el ejemplo anterior.
Las expresiones lógicas son usadas frecuentemente en sentencias condicionales como if.

Ejercicio
Exercicio A
Calcular el valor de las siguientes expresiones lógicas:
.TRUE. .AND. .FALSE. .OR. .TRUE.
2.LT.2 .OR. 5 .EQ. 11/2



Operaciones con cadenas
Ahora describiremos algunas de las características de las cadenas y operaciones básicas que se pueden realizar con ellas.
Si 
son cadenas, la concatenación de éstas dos cadenas resulta en la cadena que se obtiene al agregar la segunda al final de la primera, es decir, si tenemos Descripción: $ w_1=mesa$y Descripción: $ w_2=banco$, la concatenación de estas dos cadenas es Descripción: $ mesabanco$y se denota Descripción: $ w_1\cdot w_2$o Descripción: $ w_1w_2$, por lo que podemos observar que Descripción: $ \vert w_1+w_2\vert=\vert w_1\vert+\vert w_2\vert$. La concatenación de cualquier cadena Descripción: $ w_1$con la cadena vacía Descripción: $ \varepsilon$deja intacta a la cadena Descripción: $ w_1$. La igualdad entre cadenas se denota con el signo `Descripción: $ =$' y se dá cuando dos o más cadenas tienen exactamente los mismos símbolos en la misma posición y tienen la misma longitud.
Ejemplo: Si
Descripción: $ w_1=luz$y Descripción: $ w_2=luz$, entonces Descripción: $ w_1=w_2$.
La potencia de una cadena sobre un alfabeto quiere decir que tomamos toda la cadena como una unidad atómica, es decir, si
Descripción: $ w=abc$, entonces Descripción: $ w^2=ww, w^3=www$y así sucecivamente. Lo anterior lo podemos simplificar con la siguiente definición.
Descripción: \begin{displaymath}
\begin{array}{ll}
w^n= & \left\{
\begin{array}{ll}
\varepsil...
...=0\\
ww^{n-1} & \textrm{si}\ n>0
\end{array}\right.\end{array}\end{displaymath}
Por lo tanto si Descripción: $ w=ab$sobre el alfabeto Descripción: $ \Sigma=\{a,b\}$, tenemos que
Descripción: $\displaystyle \begin{array}{l}
w^0=\varepsilon\\
w^1=ab\\
w^2=abab\\
w^3=ababab,
\end{array}$
y podemos continuar hasta la i-ésima potencia de Descripción: $ w$, que denotaremos como Descripción: $ w^i$.
Ahora trataremos con el sufijo y el prefijo de una cadena, si tenemos una cadena
Descripción: $ w=xy$, donde Descripción: $ x$y Descripción: $ y$también son cadenas, entonces Descripción: $ x$es el prefijo de Descripción: $ w$y Descripción: $ y$es el sufijo, hay que recordar que la cadena vacía puede ser el prefijo de cualquier cadena, además, si tenemos que Descripción: $ c=xy$, donde Descripción: $ x$es el prefijo de Descripción: $ c$y Descripción: $ y=\varepsilon$, entonces resulta que Descripción: $ x=c$, lo cual indica que toda cadena es prefijo de si misma.
Una cadena
Descripción: $ c$es una subcadena o subpalabra de otra cadena Descripción: $ w$, si exiten cadenas Descripción: $ x$y Descripción: $ y$para las cuales Descripción: $ w=xcy$.
La inversa o transpuesta de una cadena
Descripción: $ w$se denota como Descripción: $ w^I$y quiere decir que, si se tiene Descripción: $ w=taza$, entonces Descripción: $ w^I=azat$. Más generalmente podemos decir que
Descripción: \begin{displaymath}
\begin{array}{ll}
w^I= & \left\{
\begin{array}{ll}
w, & \tex...
...igma
\textrm{ y } y \in \Sigma^*
\end{array}\right.
\end{array}\end{displaymath}
Para ver como funciona la definición anterior utilizaremos un ejemplo, si se tiene Descripción: $ w=tabla$, al aplicar la definición, se logra lo siguiente:
Descripción: $\displaystyle \begin{array}{ll}
w^I=(tabla)^I&=(abla)^It\\
&=(bla)^Iat\\
&=(l...
...)^Ilbat\\
&=(\varepsilon)^Ialbat\\
&=\varepsilon albat\\
&=albat
\end{array}$
La inversa de una cadena tiene ciertas características, con la concatenación de cadenas, por ejemplo, si se tienen cadenas ab y cd que al concatenarse forman abcd, sabemos que Descripción: $ (abcd)^I=dcba$, de lo cual podemos observar que Descripción: $ dcba=(cd)^I(ab)^I$. Por lo tanto, si Descripción: $ g$y Descripción: $ h$son cadenas y si Descripción: $ x=gh$, entoces Descripción: $ x^I=h^Ig^I$.
La inversa se anula a si misma, es decir, si a una cadena
Descripción: $ w$se le aplica la inversa dos veces seguidas, el resultado será Descripción: $ w$, como si no se hubiera aplicado ni una vez. Más generalmente, Descripción: $ (w^I)^I=w$.
Ejemplo:
Descripción: $\displaystyle \begin{array}{ll}
((abcd)^I)^I &=(dcba)^I\\
&=abcd
\end{array}$