intro p se int

49
Introducción a la Programación con Software Libre Stephenson Prieto con Software Libre Introducción a la Programación Stephenson Prieto

Upload: stephenson

Post on 05-Dec-2014

6.551 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

con Software Libre

Introducción a la

Programación

Stephenson Prieto

Page 2: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

¿Cual es el mejor lenguaje para aprender los fundamentos de la

Programación?

Page 3: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

CC++

Java

Bas i c

Python

PascalAda

Page 4: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Principales Problemas

●Los lenguajes de Programación están inspirados en el idioma ingles.

●Los estudiantes pasan mas tiempo corrigiendo problemas de sintaxis propia del lenguaje que desarrollando la lógica.

La Solución:

El pseudocódigo

Page 5: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

El pseudocódigoEl pseudocódigo es un lenguaje que permite expresar algoritmos sin llegar a la rigidez de la sintaxis de los lenguajes de programación tradicionales ni a la fluidez del lenguaje coloquial.

Esto permite codificar un programa con mayor agilidad que en cualquier lenguaje de programación, con la misma validez semántica, normalmente se utiliza en las fases de análisis o diseño de Software, o en el estudio de un algoritmo.

El pseudocódigo describe un algoritmo utilizando una mezcla de frases en lenguaje común, instrucciones de

programación y palabras clave que definen las estructuras básicas. Su objetivo es permitir que el programador se centre en los aspectos lógicos de la solución a un problema.

pero...

Page 6: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Desventajas del pseudocódigo

●Las principales herramientas para plasmar un pseudocódigo son las tradicionales: lápiz y papel.

●No hay forma cierta de saber si un pseudocódigo funciona: El papel aguanta todo.

●Los pseudocódigos son fáciles de entender sólo después de haber visto un lenguaje de programación en funcionamiento, no antes.

¿Leer A? pero si lo que quiero

es un número¿correrlo?

¿que querran decir con correrlo?

¿Imprimir Variables? ¿Para?

¿Mientras?

Page 7: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Que fácil sería todo si existiera una forma de escribir los pseudocódigos

en la computadora y estos funcionaran como los lenguajes de

programación

Page 8: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Pues, esta herramienta existe:

Un pseudo-Interprete

y lo mejor de todo, el Libre

Page 9: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Page 10: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

El Seudo-Interprete PseIntPSeInt 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.

Origen del Proyecto

PSeInt es un software creado por Pablo Novara iniciado como proyecto final de la cátedra de Programación de la carrera Ingeniería en Informática 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/

Page 11: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

¿Para que sirve PSeInt?

PSeInt está pensado para asistir a los estudiantes que se inician en la construcción de programas o algoritmos computacionales.

El pseudocódigo se suele utilizar como primer contacto para introducir conceptos básicos 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 además algunas herramientas adicionales que le ayuden a encontrar errores y comprender la lógica de los algoritmos.

Page 12: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

El pseudocódigo de PSeIntLas características del este pseudolenguaje sigue las premisas:

•Sintaxis sencilla.

•Manejo de las estructuras básicas de control.

•Solo 3 tipos de datos básicos: numérico, caracter /cadenas de caracteres y lógico (verdadero-falso).

•Estructuras de datos: arreglos.

Todo algoritmo en pseudocógido tiene la siguiente estructura general:

     Proceso S inT i tu lo          acc ion 1 ; acc ion 1 ;             .             .          acc ion n ;    F inP roceso

Comienza con la palabra clave Proceso seguida del nombre del programa, luego le sigue una secuencia de instrucciones y finaliza con la palabra FinProceso.

Page 13: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Barra de Menú

Barra de Herramientas

Barra de Comandos

Editor

Page 14: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

La Barra de Comandos

Entre las Acciones tenemos:

Acciones Secuenciales:

•Escritura.

•Lectura.

•Asignación

Estructuras de Control Condicionales

•Si-entones

•Según

Estructuras de Control Repetitivas

•Mientras

•Repetir

•Para

Page 15: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Acciones Secuenciales

Entradas

La instrucción Leer permite ingresar información desde el ambiente.

Leer <variable1> , <variable2> , ... , <variableN> ; 

Esta instrucción lee N valores desde el ambiente (en este caso el teclado) y los asigna a las N variables mencionadas. Pueden incluirse una o más variables, por lo tanto el comando leerá uno o más valores.

Page 16: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Acciones Secuenciales

Salidas

La instrucción Escribir permite mostrar valores al ambiente.

      Escribir <expr1> , <expr2> , ... , <exprN> ; 

Esta instrucción imprime al ambiente (en este caso en la pantalla) los valores obtenidos de evaluar N expresiones. Dado que puede incluir una o más expresiones, mostrará uno o más valores.

Page 17: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Acciones Secuenciales

Asignación La instrucción de asignación permite almacenar una valor en una variable.

<variable> <- <expresion> ; 

Al ejecutarse la asignación, primero se evalúa la expresión de la derecha y luego se asigna el resultado a la variable de la izquierda. El tipo de la variable y el de la expresión deben coincidir.

Page 18: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Ejemplo

Page 19: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Estructura de Control Condicionales

Si-entonces La secuencia de instrucciones ejecutadas por la instrucción Si-Entonces-Sino depende del valor de una condición lógica. Si <condicion> Entonces

                 <instrucciones>             Sino                  <instrucciones>

     FinSiAl ejecutarse esta instrucción, se evalúa la condición y se ejecutan las instrucciones que correspondan: las instrucciones que le siguen al Entonces si la condición es verdadera, o las instrucciones que le siguen al Sino si la condición es falsa. La condición debe ser una expresión lógica, que al ser evaluada retorna Verdadero o Falso.

La cláusula Entonces debe aparecer siempre, pero la cláusula Sino puede no estar. En ese caso, si la condición es falsa no se ejecuta ninguna instrucción y la ejecución del programa continúa con la instrucción siguiente.

Page 20: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Ejemplo

Page 21: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Estructura de Control Condicionales

Segun La secuencia de instrucciones ejecutada por una instrucción Segun depende del valor de una variable numérica. Segun <variable> Hacer

          <numero1>: <instrucciones>            <numero2>,<numero3>: <instrucciones>

           <...>             De Otro Modo: <instrucciones>       FinSegun

Esta instrucción permite ejecutar opcionalmente varias acciones posibles, dependiendo del valor almacenado en una variable de tipo numérico. Al ejecutarse, se evalúa el contenido de la variable y se ejecuta la secuencia de instrucciones asociada con dicho valor.Cada opción está formada por uno o más números separados por comas, dos puntos y una secuencia de instrucciones. Si una opción incluye varios números, la secuencia de instrucciones asociada se debe ejecutar cuando el valor de la variable es uno de esos números.Opcionalmente, se puede agregar una opción final, denominada De Otro Modo, cuya secuencia de instrucciones asociada se ejecutará sólo si el valor almacenado en la variable no coincide con ninguna de las opciones anteriores.

Page 22: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Ejemplo

Page 23: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Estructura de Control Repetitivas

Mientras La instrucción Mientras ejecuta una secuencia de instrucciones mientras una condición sea verdadera.

Mientras <condicion> Hacer             <instrucciones>       FinMientras

Al ejecutarse esta instrucción, la condición es evaluada. Si la condición resulta verdadera, se ejecuta una vez la secuencia de instrucciones que forman el cuerpo del ciclo. Al finalizar la ejecución del cuerpo del ciclo se vuelve a evaluar la condición y, si es verdadera, la ejecución se repite. Estos pasos se repiten mientras la condición sea verdadera.Note que las instrucciones del cuerpo del ciclo pueden no ejecutarse nunca, si al evaluar por primera vez la condición resulta ser falsa. Si la condición siempre es verdadera, al ejecutar esta instrucción se produce un ciclo infinito. A fin de evitarlo, las instrucciones del cuerpo del ciclo deben contener alguna instrucción que modifique la o las variables involucradas en la condición, de modo que ésta sea falsificada en algún momento y así finalice la ejecución del ciclo.

Page 24: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Ejemplo

Page 25: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Estructura de Control Repetitivas

Repetir La instrucción Repetir-Hasta Que ejecuta una secuencia de instrucciones hasta que la condición sea verdadera. Repetir

         <instrucciones>       Hasta Que <condicion>

Al ejecutarse esta instrucción, la secuencia de instrucciones que forma el cuerpo del ciclo se ejecuta una vez y luego se evalúa la condición. Si la condición es falsa, el cuerpo del ciclo se ejecuta nuevamente y se vuelve a evaluar la condición. Esto se repite hasta que la condición sea verdadera.

Note que, dado que la condición se evalúa al final, las instrucciones del cuerpo del ciclo serán ejecutadas al menos una vez. demás, a fin de evitar ciclos infinitos, el cuerpo del ciclo debe contener alguna instrucción que modifique la o las variables involucradas en la condición de modo que en algún momento la condición sea verdadera y se finalice la ejecución del ciclo.

Page 26: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Ejemplo

Page 27: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Estructura de Control Repetitivas

Para La instrucción Para ejecuta una secuencia de instrucciones un número 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 evalúa 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 cláusula Con Paso <paso>, la variable <variable> se incrementará en 1.

Page 28: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Ejemplo

Page 29: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Estudio de Casos

Page 30: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Estudio de Casos

A continuación estudiaremos un caso con fines educativos donde pondremos en práctica la herramienta de Interprete de Pseudocódigos (PSeInt) en la propuesta de un solución automatizada.

Page 31: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

La Misión Mercal está de aniversario, por lo tanto tiene una promoción.

Colocará unos toldos en las calles y venderá un producto con un 20% de descuento.

Este beneficio de descuento sólo debe alcanzar a las personas que tengan ingresos inferiores a los 850Bs. El resto de las personas adquirirán los productos al precio normal.

Promoción MERCAL

Realice un pseudocódigo con su respectivo diagrama de flujo para la implementación de esta promoción. Pruebe la solución propuesta con opciones que reflejen los casos con descuento y sin descuento.

Page 32: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Promoción MERCAL

La Misión Mercal está de aniversario, por lo tanto tiene una promoción.Colocará unos toldos en las calles y venderá un producto con un 20% de descuento.Este beneficio de descuento sólo debe alcanzar a las personas que tengan ingresos inferiores a los 850Bs. El resto de las personas adquirirán los productos al precio normal.

Realice un pseudocódigo con su respectivo diagrama de flujo para la implementación de esta promoción. Pruebe la solución propuesta con opciones que reflejen los casos con descuento y sin descuento.

¿Qué nos piden?

1- Realizar el pseudocódigo.

2- Realizar el diagrama de Flujo.

3- Probar la solución con diferentes datos.

Page 33: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

De la manera tradicional haríamos lo siguiente

Paso 3Probar la solución con diferentes datos

Paso 1Realizar el pseudocódigo

Paso 2Realizar el Diagrama de Flujo

Page 34: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Ahora lo haremos usando

el Software pseudo-Interprete Libre.

Page 35: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Promoción MERCAL

La Misión Mercal está de aniversario, por lo tanto tiene una promoción.Colocará unos toldos en las calles y venderá un producto con un 20% de descuento.Este beneficio de descuento sólo debe alcanzar a las personas que tengan ingresos inferiores a los 850Bs. El resto de las personas adquirirán los productos al precio normal.

Realice un pseudocódigo con su respectivo diagrama de flujo para la implementación de esta promoción. Pruebe la solución propuesta con opciones que reflejen los casos con descuento y sin descuento.

Paso 1 Realizar el pseudocódigo.

Presenta ayudas para la escritura como Autocompletado, Ayudas Emergentes, Plantillas de Comandos, Coloreado de Sintaxis e Indentado Inteligente.

Page 36: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Promoción MERCAL

La Misión Mercal está de aniversario, por lo tanto tiene una promoción.Colocará unos toldos en las calles y venderá un producto con un 20% de descuento.Este beneficio de descuento sólo debe alcanzar a las personas que tengan ingresos inferiores a los 850Bs. El resto de las personas adquirirán los productos al precio normal.

Realice un pseudocódigo con su respectivo diagrama de flujo para la implementación de esta promoción. Pruebe la solución propuesta con opciones que reflejen los casos con descuento y sin descuento.

Paso 2 Realizar el Diagrama de Flujo

Clic en el icono

o pulsar F7

Page 37: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Promoción MERCAL

La Misión Mercal está de aniversario, por lo tanto tiene una promoción.Colocará unos toldos en las calles y venderá un producto con un 20% de descuento.Este beneficio de descuento sólo debe alcanzar a las personas que tengan ingresos inferiores a los 850Bs. El resto de las personas adquirirán los productos al precio normal.

Realice un pseudocódigo con su respectivo diagrama de flujo para la implementación de esta promoción. Pruebe la solución propuesta con opciones que reflejen los casos con descuento y sin descuento.

Paso 2 Realizar el Diagrama de Flujo

Page 38: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Promoción MERCAL

La Misión Mercal está de aniversario, por lo tanto tiene una promoción.Colocará unos toldos en las calles y venderá un producto con un 20% de descuento.Este beneficio de descuento sólo debe alcanzar a las personas que tengan ingresos inferiores a los 850Bs. El resto de las personas adquirirán los productos al precio normal.

Realice un pseudocódigo con su respectivo diagrama de flujo para la implementación de esta promoción. Pruebe la solución propuesta con opciones que reflejen los casos con descuento y sin descuento.

Paso 3 Probar la solución con diferentes datos

Clic en el icono

o pulsar F5

Page 39: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Promoción MERCAL

La Misión Mercal está de aniversario, por lo tanto tiene una promoción.Colocará unos toldos en las calles y venderá un producto con un 20% de descuento.Este beneficio de descuento sólo debe alcanzar a las personas que tengan ingresos inferiores a los 850Bs. El resto de las personas adquirirán los productos al precio normal.

Realice un pseudocódigo con su respectivo diagrama de flujo para la implementación de esta promoción. Pruebe la solución propuesta con opciones que reflejen los casos con descuento y sin descuento.

Paso 3 Probar la solución con diferentes datos

Prueba #01

Page 40: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Promoción MERCAL

La Misión Mercal está de aniversario, por lo tanto tiene una promoción.Colocará unos toldos en las calles y venderá un producto con un 20% de descuento.Este beneficio de descuento sólo debe alcanzar a las personas que tengan ingresos inferiores a los 850Bs. El resto de las personas adquirirán los productos al precio normal.

Realice un pseudocódigo con su respectivo diagrama de flujo para la implementación de esta promoción. Pruebe la solución propuesta con opciones que reflejen los casos con descuento y sin descuento.

Paso 3 Probar la solución con diferentes datos

Prueba #02

Page 41: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Ya se lo que están pensando:

Page 42: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Aún no estas satisfecho

¿quieres mas?

Page 43: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Promoción MERCAL

La Misión Mercal está de aniversario, por lo tanto tiene una promoción.Colocará unos toldos en las calles y venderá un producto con un 20% de descuento.Este beneficio de descuento sólo debe alcanzar a las personas que tengan ingresos inferiores a los 850Bs. El resto de las personas adquirirán los productos al precio normal.

Realice un pseudocódigo con su respectivo diagrama de flujo para la implementación de esta promoción. Pruebe la solución propuesta con opciones que reflejen los casos con descuento y sin descuento.

Paso 4 Llevarlo a un Lenguaje de Programación

PSeInt te permite exportar tu pseudocódigo al Lenguaje de Programación C++

Page 44: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Promoción MERCAL

La Misión Mercal está de aniversario, por lo tanto tiene una promoción.Colocará unos toldos en las calles y venderá un producto con un 20% de descuento.Este beneficio de descuento sólo debe alcanzar a las personas que tengan ingresos inferiores a los 850Bs. El resto de las personas adquirirán los productos al precio normal.

Realice un pseudocódigo con su respectivo diagrama de flujo para la implementación de esta promoción. Pruebe la solución propuesta con opciones que reflejen los casos con descuento y sin descuento.

Paso 4 Llevarlo a un Lenguaje de Programación

Page 45: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Resumen de características y funcionalidades

•Presenta herramientas de edición básicas para escribir algoritmos en pseudocódigo en español.•Permite la edición simultánea de múltiple 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 automáticamente la tabla de prueba de escritorio. •Determina y marca los errores de sintaxis y en tiempo de ejecución. •Genera diagramas de flujo a partir del algoritmo escrito. •Convierte el algoritmo de pseudocódigo a código C++. •Sistema de ayuda integrado acerca del pseudocódigo 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).

Page 46: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

PSeInt se distribuye como Software Libre.

Lo puedes descargar, usar, copiar, compartir, estudiar…, todo libremente.

Donde conseguir PSeInt:

El sitio web del proyecto está en la dirección electrónica http://pseint.sourceforge.net/

Page 47: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

Un mundo nuevo te está esperando

Descubre el mundo de la Programación

Page 48: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto

http://teletriunfador.wordpress.com

Page 49: Intro  P Se Int

Introducción a la Programación con

Software Libre

Stephenson Prieto