Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
con Introduccin
con
Stephenson Prieto
Software Libre
Introduccin a la Programacin
con
Software Libre
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
C
C++ Ada Pascal
Stephenson Prieto
Basic
Python Java
Introduccin a la Programacin
con
Software Libre
Principales Problemas
Los estudiantes pasan mas tiempo corrigiendo problemas de sintaxis propia del lenguaje que desarrollando la lgica.
La Solucin:
El pseudocdigo
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
El pseudocdigo
El pseudocdigo es un lenguaje que permite expresar algoritmos sin llegar a la rigidez de la sintaxis de los lenguajes de programacin tradicionales ni a la fluidez del lenguaje coloquial. Esto permite codificar un programa con mayor agilidad que en cualquier lenguaje de programacin, con la misma validez semntica, normalmente se utiliza en las fases de anlisis o diseo de Software, o en el estudio de un algoritmo. El pseudocdigo describe un algoritmo utilizando una mezcla de frases en lenguaje comn, instrucciones de programacin y palabras clave que definen las estructuras bsicas. Su
objetivo es permitir que el programador se centre en los aspectos lgicos de la solucin a un problema.
pero...
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Desventajas del pseudocdigo
Las principales herramientas para plasmar un pseudocdigo son las tradicionales: lpiz y papel. No hay forma cierta de saber si un pseudocdigo funciona: El papel aguanta todo.
Los pseudocdigos son fciles de entender slo despus de haber visto un lenguaje de programacin en funcionamiento, no antes.
Leer A?
correrlo?
que querran decir con correrlo?
Imprimir Variables?
Para? Mientras?
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Que fcil sera todo si existiera una forma de escribir los pseudocdigos en la computadora y estos funcionaran como los lenguajes de programacin
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Pues, esta herramienta existe:
Un pseudo-Interprete
y lo mejor de todo, el Libre
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
El Seudo-Interprete
PseInt
PSeInt es una herramienta para aprender la lgica de programacin, orientada a estudiantes sin experiencia en dicha rea. Mediante la utilizacin de un simple y limitado pseudo-lenguaje intuitivo y en espaol, permite comenzar a comprender conceptos bsicos y fundamentales de un algoritmo computacional.
Origen del Proyecto PSeInt es un software creado por Pablo Novara iniciado como proyecto final de la ctedra de Programacin de la carrera Ingeniera en Informtica en la Universidad del Litoral en Argentina. Est codificado en C++ y liberado como software libre bajo la licencia GPL. El sitio del Proyecto es http://pseint.sourceforge.net/
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Para que sirve PSeInt?
PSeInt est pensado para asistir a los estudiantes que se inician en la construccin de programas o algoritmos computacionales. El pseudocdigo se suele utilizar como primer contacto para introducir conceptos bsicos como el uso de estructuras de control, expresiones, variables, entre otros, sin tener que lidiar con las particularidades de la sintaxis de un lenguaje real. Este software pretende facilitarle al principiante la tarea de escribir algoritmos en este pseudo-lenguaje presentando un conjunto de ayudas y asistencias, y brindarle adems algunas herramientas adicionales que le ayuden a encontrar errores y comprender la lgica de los algoritmos.
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
El pseudocdigo de PSeInt
Las caractersticas del este pseudolenguaje sigue las premisas:
Sintaxis sencilla. Manejo de las estructuras bsicas de control. Solo 3 tipos de datos bsicos: numrico, caracter /cadenas de caracteres y lgico (verdadero-falso). Estructuras de datos: arreglos.
Comienza con la palabra clave Proceso seguida del nombre del programa, luego le sigue una secuencia de instrucciones y finaliza con la palabra FinProceso.
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Barra de Men Barra de Herramientas
Barra de Comandos
Editor
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
La Barra de Comandos
Entre las Acciones tenemos:
Acciones Secuenciales: Escritura. Lectura. Asignacin Estructuras de Control Condicionales Si-entones Segn Estructuras de Control Repetitivas Mientras Repetir Para
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Acciones Secuenciales
Entradas La instruccin Leer permite ingresar informacin desde el ambiente. Leer <variable1> , <variable2> , ... , <variableN>; Esta instruccin lee N valores desde el ambiente (en este caso el teclado) y los asigna a las N variables mencionadas. Pueden incluirse una o ms variables, por lo tanto el comando leer uno o ms valores.
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Acciones Secuenciales
Salidas La instruccin Escribir permite mostrar valores al ambiente. Escribir <expr1> , <expr2> , ... , <exprN>; Esta instruccin imprime al ambiente (en este caso en la pantalla) los valores obtenidos de evaluar N expresiones. Dado que puede incluir una o ms expresiones, mostrar uno o ms valores.
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Acciones Secuenciales
Asignacin La instruccin de asignacin permite almacenar una valor en una variable. <variable> <- <expresion>; Al ejecutarse la asignacin, primero se evala la expresin de la derecha y luego se asigna el resultado a la variable de la izquierda. El tipo de la variable y el de la expresin deben coincidir.
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Ejemplo
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Estructura de Control Condicionales
Si-entonces La secuencia de instrucciones ejecutadas por la instruccin Si-Entonces-Sino depende del valor de una condicin lgica. Si <condicion> Entonces <instrucciones> Sino <instrucciones> FinSi
Al ejecutarse esta instruccin, se evala la condicin y se ejecutan las instrucciones que correspondan: las instrucciones que le siguen al Entonces si la condicin es verdadera, o las instrucciones que le siguen al Sino si la condicin es falsa. La condicin debe ser una expresin lgica, que al ser evaluada retorna Verdadero o Falso. La clusula Entonces debe aparecer siempre, pero la clusula Sino puede no estar. En ese caso, si la condicin es falsa no se ejecuta ninguna instruccin y la ejecucin del programa contina con la instruccin siguiente.
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Ejemplo
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Estructura de Control Condicionales
Segun La secuencia de instrucciones ejecutada por una instruccin Segun depende del valor de una variable numrica. Segun <variable> Hacer <numero1>: <instrucciones> <numero2>,<numero3>: <instrucciones> <...> De Otro Modo: <instrucciones> FinSegun
Esta instruccin permite ejecutar opcionalmente varias acciones posibles, dependiendo del valor almacenado en una variable de tipo numrico. Al ejecutarse, se evala el contenido de la variable y se ejecuta la secuencia de instrucciones asociada con dicho valor. Cada opcin est formada por uno o ms nmeros separados por comas, dos puntos y una secuencia de instrucciones. Si una opcin incluye varios nmeros, la secuencia de instrucciones asociada se debe ejecutar cuando el valor de la variable es uno de esos nmeros. Opcionalmente, se puede agregar una opcin final, denominada De Otro Modo, cuya secuencia de instrucciones asociada se ejecutar slo si el valor almacenado en la variable no coincide con ninguna de las opciones anteriores. Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Ejemplo
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Estructura de Control Repetitivas
Mientras La instruccin Mientras ejecuta una secuencia de instrucciones mientras una condicin sea verdadera. Mientras <condicion> Hacer <instrucciones> FinMientras
Al ejecutarse esta instruccin, la condicin es evaluada. Si la condicin resulta verdadera, se ejecuta una vez la secuencia de instrucciones que forman el cuerpo del ciclo. Al finalizar la ejecucin del cuerpo del ciclo se vuelve a evaluar la condicin y, si es verdadera, la ejecucin se repite. Estos pasos se repiten mientras la condicin sea verdadera. Note que las instrucciones del cuerpo del ciclo pueden no ejecutarse nunca, si al evaluar por primera vez la condicin resulta ser falsa. Si la condicin siempre es verdadera, al ejecutar esta instruccin se produce un ciclo infinito. A fin de evitarlo, las instrucciones del cuerpo del ciclo deben contener alguna instruccin que modifique la o las variables involucradas en la condicin, de modo que sta sea falsificada en algn momento y as finalice la ejecucin del ciclo. Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Ejemplo
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Estructura de Control Repetitivas
Repetir La instruccin Repetir-Hasta Que ejecuta una secuencia de instrucciones hasta que la condicin sea verdadera. Repetir <instrucciones> Hasta Que <condicion>
Al ejecutarse esta instruccin, la secuencia de instrucciones que forma el cuerpo del ciclo se ejecuta una vez y luego se evala la condicin. Si la condicin es falsa, el cuerpo del ciclo se ejecuta nuevamente y se vuelve a evaluar la condicin. Esto se repite hasta que la condicin sea verdadera. Note que, dado que la condicin se evala al final, las instrucciones del cuerpo del ciclo sern ejecutadas al menos una vez. dems, a fin de evitar ciclos infinitos, el cuerpo del ciclo debe contener alguna instruccin que modifique la o las variables involucradas en la condicin de modo que en algn momento la condicin sea verdadera y se finalice la ejecucin del ciclo.
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Ejemplo
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Estructura de Control Repetitivas
Para La instruccin Para ejecuta una secuencia de instrucciones un nmero determinado de veces. Para <variable> <- <inicial> Hasta <final> ( Con Paso <paso> ) Hacer <instrucciones> FinPara
Al ingresar al bloque, la variable <variable> recibe el valor <inicial> y se ejecuta la secuencia de instrucciones que forma el cuerpo del ciclo. Luego se incrementa la variable <variable> en <paso> unidades y se evala si el valor almacenado en <variable> super al valor <final>. Si esto es falso se repite hasta que <variable> supere a <final>. Si se omite la clusula Con Paso <paso>, la variable <variable> se incrementar en 1.
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Ejemplo
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Estudio de Casos
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Estudio de Casos
A continuacin estudiaremos un caso con fines educativos donde pondremos en prctica la herramienta de Interprete de Pseudocdigos (PSeInt) en la propuesta de un solucin automatizada.
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Promocin MERCAL
La Misin Mercal est de aniversario, por lo tanto tiene una promocin. Colocar unos toldos en las calles y vender un producto con un 20% de descuento. Este beneficio de descuento slo debe alcanzar a las personas que tengan ingresos inferiores a los 850Bs. El resto de las personas adquirirn los productos al precio normal. Realice un pseudocdigo con su respectivo diagrama de flujo para la implementacin de esta promocin. Pruebe la solucin propuesta con opciones que reflejen los casos con descuento y sin descuento.
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Qu nos piden?
Promocin MERCAL
La Misin Mercal est de aniversario, por lo tanto tiene una promocin. Colocar unos toldos en las calles y vender un producto con un 20% de descuento. Este beneficio de descuento slo debe alcanzar a las personas que tengan ingresos inferiores a los 850Bs. El resto de las personas adquirirn los productos al precio normal. Realice un pseudocdigo con su respectivo diagrama de flujo para la implementacin de esta promocin. Pruebe la solucin propuesta con opciones que reflejen los casos con descuento y sin descuento.
1- Realizar el pseudocdigo. 2- Realizar el diagrama de Flujo. 3- Probar la solucin con diferentes datos.
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
De la manera tradicional haramos lo siguiente
Introduccin a la Programacin
con
Software Libre
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Paso 1 Realizar el pseudocdigo.
Promocin MERCAL
La Misin Mercal est de aniversario, por lo tanto tiene una promocin. Colocar unos toldos en las calles y vender un producto con un 20% de descuento. Este beneficio de descuento slo debe alcanzar a las personas que tengan ingresos inferiores a los 850Bs. El resto de las personas adquirirn los productos al precio normal. Realice un pseudocdigo con su respectivo diagrama de flujo para la implementacin de esta promocin. Pruebe la solucin propuesta con opciones que reflejen los casos con descuento y sin descuento.
Presenta ayudas para la escritura como Autocompletado, Ayudas Emergentes, Plantillas de Comandos, Coloreado de Sintaxis e Indentado Inteligente.
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Paso 2 Realizar el Diagrama de Flujo
Promocin MERCAL
La Misin Mercal est de aniversario, por lo tanto tiene una promocin. Colocar unos toldos en las calles y vender un producto con un 20% de descuento. Este beneficio de descuento slo debe alcanzar a las personas que tengan ingresos inferiores a los 850Bs. El resto de las personas adquirirn los productos al precio normal. Realice un pseudocdigo con su respectivo diagrama de flujo para la implementacin de esta promocin. Pruebe la solucin propuesta con opciones que reflejen los casos con descuento y sin descuento.
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Paso 2 Realizar el Diagrama de Flujo
Promocin MERCAL
La Misin Mercal est de aniversario, por lo tanto tiene una promocin. Colocar unos toldos en las calles y vender un producto con un 20% de descuento. Este beneficio de descuento slo debe alcanzar a las personas que tengan ingresos inferiores a los 850Bs. El resto de las personas adquirirn los productos al precio normal. Realice un pseudocdigo con su respectivo diagrama de flujo para la implementacin de esta promocin. Pruebe la solucin propuesta con opciones que reflejen los casos con descuento y sin descuento.
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Paso 3 Probar la solucin con diferentes datos
Promocin MERCAL
La Misin Mercal est de aniversario, por lo tanto tiene una promocin. Colocar unos toldos en las calles y vender un producto con un 20% de descuento. Este beneficio de descuento slo debe alcanzar a las personas que tengan ingresos inferiores a los 850Bs. El resto de las personas adquirirn los productos al precio normal. Realice un pseudocdigo con su respectivo diagrama de flujo para la implementacin de esta promocin. Pruebe la solucin propuesta con opciones que reflejen los casos con descuento y sin descuento.
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Paso 3 Probar la solucin con diferentes datos
Promocin MERCAL
La Misin Mercal est de aniversario, por lo tanto tiene una promocin. Colocar unos toldos en las calles y vender un producto con un 20% de descuento. Este beneficio de descuento slo debe alcanzar a las personas que tengan ingresos inferiores a los 850Bs. El resto de las personas adquirirn los productos al precio normal. Realice un pseudocdigo con su respectivo diagrama de flujo para la implementacin de esta promocin. Pruebe la solucin propuesta con opciones que reflejen los casos con descuento y sin descuento.
Prueba #01
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Paso 3 Probar la solucin con diferentes datos
Promocin MERCAL
La Misin Mercal est de aniversario, por lo tanto tiene una promocin. Colocar unos toldos en las calles y vender un producto con un 20% de descuento. Este beneficio de descuento slo debe alcanzar a las personas que tengan ingresos inferiores a los 850Bs. El resto de las personas adquirirn los productos al precio normal. Realice un pseudocdigo con su respectivo diagrama de flujo para la implementacin de esta promocin. Pruebe la solucin propuesta con opciones que reflejen los casos con descuento y sin descuento.
Prueba #02
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Ya se lo que estn pensando:
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
An no estas satisfecho
quieres mas?
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Paso 4 Llevarlo a un Lenguaje de Programacin
Promocin MERCAL
La Misin Mercal est de aniversario, por lo tanto tiene una promocin. Colocar unos toldos en las calles y vender un producto con un 20% de descuento. Este beneficio de descuento slo debe alcanzar a las personas que tengan ingresos inferiores a los 850Bs. El resto de las personas adquirirn los productos al precio normal. Realice un pseudocdigo con su respectivo diagrama de flujo para la implementacin de esta promocin. Pruebe la solucin propuesta con opciones que reflejen los casos con descuento y sin descuento.
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Paso 4 Llevarlo a un Lenguaje de Programacin
Promocin MERCAL
La Misin Mercal est de aniversario, por lo tanto tiene una promocin. Colocar unos toldos en las calles y vender un producto con un 20% de descuento. Este beneficio de descuento slo debe alcanzar a las personas que tengan ingresos inferiores a los 850Bs. El resto de las personas adquirirn los productos al precio normal. Realice un pseudocdigo con su respectivo diagrama de flujo para la implementacin de esta promocin. Pruebe la solucin propuesta con opciones que reflejen los casos con descuento y sin descuento.
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Resumen de caractersticas y funcionalidades
Presenta herramientas de edicin bsicas para escribir algoritmos en pseudocdigo en espaol. Permite la edicin simultnea de mltiple algoritmos. Presenta ayudas para la escritura:
Autocompletado. Ayudas Emergentes. Plantillas de Comandos. Coloreado de Sintaxis. Indentado Inteligente.
Puede ejecutar los algoritmos escritos. Permite ejecutar el algoritmo paso a paso controlando la velocidad e inspeccionando expresiones. Puede confeccionar automticamente la tabla de prueba de escritorio. Determina y marca los errores de sintaxis y en tiempo de ejecucin. Genera diagramas de flujo a partir del algoritmo escrito. Convierte el algoritmo de pseudocdigo a cdigo C++. Sistema de ayuda integrado acerca del pseudocdigo y el uso del programa. Incluye un conjunto de ejemplos de diferentes niveles de dificultad. Es multiplataforma (probado en GNU/Linux y Microsoft Windows). Es totalmente libre y gratuito (licencia GPL).
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Donde conseguir PSeInt:
PSeInt se distribuye como Software Libre. Lo puedes descargar, usar, copiar, compartir, estudiar, todo libremente.
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Un mundo nuevo te est esperando
Introduccin a la Programacin
con
Software Libre
http://teletriunfador.wordpress.com
Stephenson Prieto
Introduccin a la Programacin
con
Software Libre
Stephenson Prieto