Sei sulla pagina 1di 49

Introduccin a la Programacin

con Introduccin

Software Libre a la Programacin

con
Stephenson Prieto

Software Libre

Introduccin a la Programacin
con

Software Libre

Cual es el mejor lenguaje para


aprender los fundamentos de la Programacin?

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 lenguajes de Programacin estn inspirados en el idioma ingles.

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.

pero si lo que quiero es un nmero

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.

Todo algoritmo en pseudocgido tiene la siguiente estructura general:


Proceso SinTitulo accion 1; accion 1; . . accion n; FinProceso

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

Paso 1 Realizar el pseudocdigo

Paso 2 Realizar el Diagrama de Flujo

Paso 3 Probar la solucin con diferentes datos


Stephenson Prieto

Introduccin a la Programacin
con

Software Libre

Ahora lo haremos usando el Software pseudo-Interprete 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.

Clic en el icono o pulsar F7

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.

Clic en el icono o pulsar F5

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.

PSeInt te permite exportar tu pseudocdigo al Lenguaje de Programacin C++

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.

El sitio web del proyecto est en la direccin electrnica http://pseint.sourceforge.net/

Stephenson Prieto

Introduccin a la Programacin
con

Software Libre
Un mundo nuevo te est esperando

Descubre el mundo de la Programacin


Stephenson Prieto

Introduccin a la Programacin
con

Software Libre

http://teletriunfador.wordpress.com

Stephenson Prieto

Introduccin a la Programacin
con

Software Libre

Stephenson Prieto

Potrebbero piacerti anche