herramientas de diseÑo de algoritmos introducción

55
UNIVERSIDAD NACIONAL DE EDUCACIÓN Enrique Guzmán y Valle Alma Máter del Magisterio Nacional FACULTAD DE CIENCIAS Escuela Profesional de Matemática e Informática MONOGRAFÍA HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción. Estructura del algoritmo en el programa. Comandos e instrucciones con ejemplos. Pseint. DFD. Herramientas principales, aplicaciones. Examen de Suficiencia Profesional Res. N°0503-2019-D-FAC Presentada por: Pezo Zuta, Jaime Para optar al Título de Segunda Especialidad Profesional Especialidad: Informática Educativa Lima, Perú

Upload: others

Post on 01-Oct-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

i

UNIVERSIDAD NACIONAL DE EDUCACIÓN

Enrique Guzmán y Valle

Alma Máter del Magisterio Nacional

FACULTAD DE CIENCIAS

Escuela Profesional de Matemática e Informática

MONOGRAFÍA

HERRAMIENTAS DE DISEÑO DE ALGORITMOS

Introducción. Estructura del algoritmo en el programa. Comandos e

instrucciones con ejemplos. Pseint. DFD. Herramientas principales,

aplicaciones.

Examen de Suficiencia Profesional Res. N°0503-2019-D-FAC

Presentada por:

Pezo Zuta, Jaime

Para optar al Título de Segunda Especialidad Profesional

Especialidad: Informática Educativa

Lima, Perú

Page 2: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

ii

2

Page 3: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

iii

Dedicatoria:

Para mi amada esposa Hilda, mis tres

amados hijos y padres que son mi

inspiración de superación personal y

profesional.

Page 4: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

iv

Índice de contenidos

Carátula ................................................................................................................................... i

Hoja de firmas del jurado…………………………………………………………………...ii

Dedicatoria........................................................................................................................... iii

Índice de contenidos………………………………………………………………....…….iv

Lista de tablas……………………………………………………………………………....vi

Lista de figuras .................................................................................................................... vii

Introducción .......................................................................................................................... ix

Capítulo I. Algoritmos ......................................................................................................... 10

1.1 Algoritmos ..................................................................................................................... 10

1.2 Características ................................................................................................................ 11

1.3 Partes de un algoritmo ................................................................................................... 11

1.4 Estructuras y componentes ............................................................................................ 13

1.4.1 Estructuras. ........................................................................................................... 13

1.4.2 Orígenes de las estructuras. .................................................................................. 13

1.5 Representación de algoritmos ........................................................................................ 16

1.5.1 Flujogramas .......................................................................................................... 16

1.5.2 Reglas de diagramas de flujo. ............................................................................... 17

1.6 Herramientas principales ............................................................................................... 22

Capítulo II. Conversión de algoritmos ................................................................................ 24

2.1 Concepto ........................................................................................................................ 24

2.1.1 Solución de problemas por medio de computadoras. ........................................... 25

2.1.2 Metodología para la solución de problemas por medio de computadora. ............ 26

2.2 Lenguajes de programación ........................................................................................... 26

2.2.1 Instrucciones de la computadora. ......................................................................... 27

Page 5: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

v

2.2.2 Lenguaje máquina................................................................................................ 27

2.2.3 Lenguajes de bajo nivel. ...................................................................................... 27

2.2.4 Lenguajes de alto nivel. ....................................................................................... 28

2.2.5 Traductores de lenguaje. ...................................................................................... 28

2.2.6 La compilación y sus fases. ................................................................................. 29

Capítulo III. Aplicaciones principales ................................................................................. 30

3.1 PSeInt............................................................................................................................. 30

3.1.1 Características del Pseint. ...................................................................................... 30

3.2 DFD ............................................................................................................................... 35

3.3 Java Netbeans ................................................................................................................ 40

Aplicación didáctica ............................................................................................................ 46

Síntesis ................................................................................................................................. 52

Apreciación crítica y sugerencias ........................................................................................ 53

Referencias .......................................................................................................................... 54

Page 6: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

vi

Lista de tablas

Tabla 1. Uniformalización del pseudocódigo……………………………………………21

Page 7: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

vii

Lista de figuras

Figura 1. Resolución de problemas con algoritmos………………………….……………10

Figura 2. Simbología………………………………………………………………………17

Figura 3. Ejemplo de construcción de un diagrama de flujo………………………………18

Figura 4. Diagrama de flujo para mostrar en pantalla……………………………………..19

Figura 5. Representación de un algoritmo…………………………………………….…..20

Figura 6. Estructura condicional en N-S……………………………………………….….20

Figura 7. Representación del cálculo del salario neto de un trabajador……………….…..21

Figura 8. Estructura secuencial……………………………………………………………22

Figura 9. Diagrama N-S de una estructura secuencial…………………………………….22

Figura 10. Sistemas de proceso de datos…………………………………………………..24

Figura 11. Programa ensamblador………………………………………………………...27

Figura 12. Intérprete……………………………………………………………………….28

Figura 13. La compilación de programa…………………………………………………..28

Figura 14. Fases de la compilación……………………………………….……………….29

Figura 15. Instalación de Pseint…………………………………………………………...31

Figura 16. Abrir Pseint……………………………………………………………….32

Figura 17. Ventana de Pseint abierta…………………………………………………32

Figura 18. Ingreso de sintaxis…………………………………………………………….33

Figura 19. Guardar archivo………………………………………………………………..33

Figura 20. Ventana para guardar…………………………………………………………..34

Figura 21. Ícono de ejecutar……………………………………………………………….34

Figura 22. Ventana de ejecución finalizada……………………………………………….35

Page 8: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

viii

Figura 23. Ventana de edición…………………………………………………………….35

Figura 24. Barra de herramientas………………………………………………………….36

Figura 25. Abriendo programa DFD………………………………………………………36

Figura 26. Ingreso de edad en números…………………………………………………...37

Figura 27. Agregamos una lectura………………………………………………………...37

Figura 28. Ingreso de edad………………………………………………………………...38

Figura 29. Agregamos nueva salida……………………………………………………….38

Figura 30. Ingreso de edad en años………………………………………………………..39

Figura 31. Pantalla final de un algoritmo………………………………………………….39

Figura 32. Ejecución de algoritmo finalizada……………………………………………..40

Figura 33. Edición de código en java con Netbeans………………………………………40

Figura 34. Definición de proyecto…………………………………………………………41

Figura 35. Visualización de New Proyect………………………………………………....41

Figura 36. Ventana Java Application……………………………………………………...42

Figura 37. Selección de proyecto………………………………………………………….42

Figura 38. Carpeta nueva………………………………………………………………….43

Figura 39. New Java Application………………………………………………………….43

Figura 40. Nombre del proyecto…………………………………………………………..44

Figura 41. Desarrollo de NetBeans………………………………………………………..44

Figura 42. Inicio para la construcción en Netbeans……………………………………….45

Page 9: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

ix

Introducción

La presente monografía titulada: Herramientas de diseño de algoritmos, explica las

características principales de las herramientas que utiliza el desarrollo de algoritmos, los

cuales son fundamentales en el diseño de soluciones. Por lo cual, el alumno debe tener

buenas bases que le permitan crear de manera fácil y rápida sus algoritmos. Los algoritmos

son un conjunto de pasos que permiten resolver un problema en nuestro caso relacionado

con el procesamiento de datos.

La importancia del estudio del tema se centra en que el conocimiento sobre

algoritmos permite orientar a los estudiantes sobre la solución de situaciones

problemáticas, de esta manera se desarrolla el pensamiento crítico.

La investigación está estructurada en 3 capítulos: Capítulo I, trata sobre las

características, estructura, representación y herramientas principales de los Algoritmos; el

capítulo II, desarrolla aspectos relacionados a la conversión de algoritmos; el capítulo III,

presenta las aplicaciones principales de Pseint, DFD y Java Netbeans. Finalmente, la

aplicación didáctica, síntesis, apreciación crítica y sugerencias, y referencias utilizadas.

Page 10: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

10

Capítulo I

Algoritmos

1.1 Algoritmos

Algoritmo deriva de la alkhowarizmi, siendo este el nombre de un matemático árabe y

astrónomo del sigo IX cuya obra trata sobre la manipulación de números y ecuaciones

mediante procesos continuos hasta resolverlos.

También podemos definir a los algoritmos es una serie de pasos los cuales dan

solución a un problema específico. Los algoritmos deben cumplir con algunas

características fundamentales como el que debe tener un valor finito de pasos, ósea tiene

un inicio y un término. De acuerdo al sistema operativo vernos que los algoritmos no

cambian sino se adaptan. La resolución de un problema exige el diseño de un algoritmo

que resuelva el problema propuesto.

Figura 1. Resolución de problemas con algoritmos. Fuente: Autoría propia.

Page 11: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

11

Según Galve (1993) “de acuerdo a las etapas, en el análisis se concluyen los

objetivos que realizara cada programa, en el diseño la forma de realizarlo” (p.48).

Las etapas de la resolución de problemas son:

❖ Diseño del algoritmo como la consecución de pasos para lograr los objetivos deseados.

(análisis y desarrollo del algoritmo).

❖ El algoritmo puede ser trasladado a cualquier lenguaje de programación establecido.

(codificación).

❖ Ejecución del programa.

(en el diseño se debe tener el raciocinio y creación de procesos sobre la programación).

1.2 Características

A continuación, veremos las características propuestas por Joyanes (2008):

❖ Precisión: Nunca deben ser ambiguos la lógica y las instrucciones deben

comprenderse fácilmente.

❖ Definición: Puede probarse varias veces y el resultado debe ser el mismo, siendo de

esta manera fiable.

❖ Finitud: Debe tener un inicio y un fin.

❖ Legibilidad: Debe ser fácil.

1.3 Partes de un algoritmo

“Los algoritmos tienen tres componentes principales: entrada, proceso y salida” (Joyanes,

2008, p. 65).

Entrada: Es el punto de inicio de un algoritmo, donde se específica el nombre.

Proceso: Es el espacio del cuerpo del algoritmo, donde se desarrolla todo el proceso paso a

paso.

Page 12: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

12

Salida: Es el término del algoritmo.

Ejemplos: Un cliente realiza un pedido a una botica. La botica revisa la identidad

de la ficha del cliente, si el cliente es reconocido como cliente acepto el pedido: en caso

contrario, se ingresa el cliente y se realiza el pedido. Redactar el algoritmo

correspondiente.

Los pasos son:

Inicio

Leer la identidad del cliente

Examinar la base de datos del cliente

Si el cliente existe, se acepta el pedido; de lo contrario, se ingresa como nuevo cliente y se

realiza el pedido.

Fin.

Sumar los primos entre 1 y 1000.

Tiene como objetivo acumular los números primos entre 1 a 1000.

Utilizamos las palabras Suma y Acumulador para representar las sumas sucesivas

(1+2+3+5+…), etc.

Escribir el siguiente algoritmo:

Inicio

Declara las variables número, suma, acumulador

Repetir secuencia hasta que numero sea = 1000

Determinar si es número primo.

Sí es primo y = <1000 acumula el número en Acumulador y retornar al paso 6

en caso contrario, retornar al paso 6.

Leer numero adicionando la unidad

Page 13: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

13

Retorna al paso 3

Fin

1.4 Estructuras y componentes

Para poder resolver un problema se realiza una secuencia de pasos el cual pude utilizar

estructuras y componentes que faciliten el procedimiento. Tienen como características:

-Tienen secuencia definida hasta obtener los resultados.

-Sólo puede ejecutarse una operación a la vez.

1.4.1 Estructuras.

Las estructuras están referidas a un conjunto de procedimientos. Estas técnicas

aumentan considerablemente la productividad del programa. Puede utilizar estructuras de

control que minimizan la complejidad de los problemas y, por consiguiente, reducen los

errores.

1.4.2 Orígenes de las estructuras.

Para Corona (2008) “desde 1960 surge la programación estaban escritos de manera

que facilitaba su comprensión en cualquier momento” (p. 28). Desde hace varias décadas

que se viene estudiando la programación.

Un algoritmo estructurado, según Corona (2008) “puede utilizar solo tres

instrucciones estructurados: Secuencias, Condicionales e Iteraciones” (p. 31).

a) Estructura secuencial

Es secuencial solo cuando se ejecutan los procesos una tras otra, es decir la instrucción se

ejecuta una tras una y solo avanza cuando finaliza la anterior.

b) Estructura selectiva o de selección

Ejecuta las instrucciones secuencialmente hasta encontrar una expresión lógica donde se

tendrá que decidir entre dos alternativas, verdadero o falso y continuará de acuerdo a esta.

Page 14: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

14

Ejemplo: Si a mayor que b entonces, imprimir " a es mayor que b";

de lo contario imprimir " a no es mayor que b "

Fin de si

Pueden ser:

Simples

Dobles

Múltiples

c) Estructura simple (if – then)

Realiza la ejecución de acuerdo a la decisión lógica

Pseudocódigo

If <condición> then

<acción Si> <acción Si>

End if

d) Alternativa doble (if – then - else)

“Cuando ambas alternativas pueden ocurrir una a una pero nunca ambas a la vez, se escoge

una de ellas” (Joyanes, 2008, p.54).

Pseudocódigo

If <expression lógica > then (si es verdadera)

<acción S1>

Else (si es falsa)

<acción S2>

End if

e) Alternativa múltiple (case)

Page 15: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

15

Cuando puede contener múltiples alternativas, por lo que se debe de elegir la alternativa

que corresponde.

Ejemplo:

Case <expresión>of

Caso1: acción S1

Caso2: acción S2

Otro Caso: acción Sn

Else

Acción Sx

End_case

f) Estructura iterativa

La estructura de iteración o bucle, Loop, etc., es cuando un grupo de instrucciones repiten

un número determinado de veces, esta determinación puede ser una condición lógica.

Ejemplo:

a= 0

b= 7

Repetir hasta que b mayor que a

imprimir a

a= a + 1

Fin de repetir

g) Anidamiento

Cuando un conjunto de instrucciones se encuentra dentro de una instrucción

condicionante.

Ejemplo:

Page 16: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

16

Si a mayor que b entonces

Auxiliar = a

a= b

b= Auxiliar

de lo contrario

nada

Fin de si

El diseño de programación estructurada puede ser: de arriba hacia abajo (top-

Down), recursos abstractos y estructuras básicas

Recursos abstractos, cuando puede descomponer las instrucciones en acciones

mucho más sencillas.

Diseño descendente (top-down), consiste en descomponer de arriba hacia abajo la

secuencia de las instrucciones de un proceso.

1.5 Representación de algoritmos

“Los algoritmos pueden ser representados en forma gráfica como los flujogramas y en

forma literal como son los seudocódigos” (Galve, 1993, p. 96).

1.5.1 Flujogramas.

Son representaciones graficas del conjunto de instrucciones que tiene un programa

que es realizado para dar solución a un problema de procesamiento de datos.

A continuación, revisemos la siguiente figura sobre simbología:

Page 17: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

17

Figura 2. Simbología. Fuente: Autoría propia.

1.5.2 Reglas de diagramas de flujo.

Tiene un inicio y un final.

Las conexiones son rectas, nunca se deben de cruzar.

La conexión de líneas es fundamental.

El orden es de arriba hacia abajo y de izquierda a derecha.

Page 18: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

18

Debe ser fácil de entender.

Sin terminología.

Evitar los comentarios, salvo una situación compleja.

Si el diagrama abarca más de una hoja, debe de numerarlo y conectarlo.

Ejemplo:

Determinar el sueldo de un trabajador de acuerdo al número de horas, de la tarifa

por hora y realizar el descuento en aproximadamente el 20%.

Figura 3. Ejemplo de construcción de un diagrama de flujo. Fuente: Autoría propia.

Ejemplo: Mostar en pantalla si la edad ingresada corresponde a una persona mayor

de edad o menor de edad.

Page 19: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

19

Figura 4. Diagrama de flujo para mostrar en pantalla. Fuente: Autoría propia.

a) Diagramas n-s o de Nassi-Schederman

Cuando los procesos se escriben en cajas contiguas y dentro de ellas cada tarea.

Page 20: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

20

Se representa:

Figura 5. Representación de un algoritmo. Fuente: Autoría propia.

b)Una estructura condicional en N-S se representa de la siguiente manera:

Figura 6. Estructura condicional en N-S. Fuente: Autoría propia.

Determinar el sueldo semanal de un operario ingresando el número de horas y los

impuestos:

Page 21: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

21

Figura 7. Representación del cálculo del salario neto de un trabajador. Fuente: Autoría propia.

c)Pseudocódigo

Es la representación en un lenguaje natural de las instrucciones que tienen que

seguir un programa para solucionar un problema de procesamiento de datos. Esta

representación literal tiene algunos estándares las cuales deben de ser realizadas por las

personas que se encargaran de estas tareas.

No hay reglas exactas que condición su construcción y depende del programador

utilizar generalmente los verbos en inglés para poder escribirlas.

Tabla 1

Uniformalización del pseudocódigo.

Nota: Pseudocódigo en español. Fuente: Autoría propia.

Page 22: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

22

d)Estructura secuencial

Corona (2008) dice “Cuando las instrucciones siguen una detrás de la otra, de tal

forma que el proceso de operaciones es secuencial” (p. 82). Siempre tiene una entrada y

una salida.

Figura 8. Estructura secuencial. Fuente: Autoría propia.

e) Diagrama N-S

Figura 9. Diagrama N-S de una estructura secuencial. Fuente: Autoría propia.

1.6 Herramientas principales

El pensamiento algorítmico puede ser con:

❖ Recursividad

Page 23: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

23

❖ Modularidad (divide y vencerás)

❖ Voracidad

❖ Algoritmos geométricos

❖ Algoritmos genéticos

Page 24: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

24

Capítulo II

Conversión de algoritmos

2.1 Concepto

Brookshear (2006) manifiesta:

En el procesamiento los datos o la información son términos iguales, pero en esencia

los datos son aquellas representaciones de alguna característica que en forma

individual no tiene mayor trascendencia, en cambio la información si adquieren

algún valor que permite tomar decisiones (p.55).

Figura 10. Sistemas de proceso de datos. Fuente: Autoría propia.

En los sistemas de procesamiento tenemos al hardware y software.

El hardware se compone de:

Entrada=datos

Salida = información

Procesador

Page 25: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

25

❖ El procesador. También llamada CPU, en español Unidad Central de Procesamiento,

UCP es el corazón del computador encargada de realizar todos los procesos que realiza

el computador.

❖ Las memorias. Donde se almacenan las variables que intervienen en el procesamiento

de datos, así mismo se pueden almacenar procesos íntegros.

❖ Memorias secundarias. Permiten almacenar información en dispositivos externos como

el USB, CD., etc.

❖ Dispositivos de entrada /salida (E/S). Son las representaciones de salidas de un proceso

determinado.

2.1.1 Solución de problemas por medio de computadoras.

Sistema computacional o sistema de información

❖ Programa. Son instrucciones o comandos ordenados secuencialmente que resuelven

un problema de procesamiento de datos.

❖ Lenguaje de programación. Conjunto de instrucciones con una sintaxis que permiten

la comunicación del programador con la computadora.

Pueden ser: Lenguaje de máquina (0 y 1), ensambladores, y de alto nivel (con verbos

en inglés, los cuales son generalmente los comandos).

❖ Computadora. Equipos con componentes mecánicos y electrónicos compuestos por

miles de millones de transistores que tienen como objetivo el procesamiento de datos.

❖ Programador. LA persona que tiene como objetivo resolver el problema de

procesamiento de datos utilizando un lenguaje de programación especifico.

❖ Usuario. Es la persona que interactúa con el sistema de información, o mejor dicho

con la computadora.

Page 26: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

26

2.1.2 Metodología para la solución de problemas por medio de computadora.

Brookshear (2006) dice:

Aunque nuestro objetivo es solo conocer el fundamento teórico de los algoritmos y

no implantar sistemas computacionales, se definirán las etapas que generan los

sistemas de información, y en particular donde intervienen los algoritmos, siendo la

etapa más importante y corresponde a la construcción de los programas (p. 89).

El ciclo de vida que se necesita para realizar un sistema de información es complejo

y sigue los siguientes pasos:

❖ Investigación preliminar. Inicio del ciclo de construcción donde se realiza el estudio

de factibilidad.

❖ Análisis del sistema. Donde se identifican los participantes del sistema de

información.

❖ Diseño lógico del sistema. Es la construcción ideal del sistema de información.

❖ Diseño físico del sistema. Se codifican los programas.

❖ Prueba de sistemas. Mediante unas pruebas de simulación se constata que cumple con

los objetivos.

❖ Implantación y evaluación. Luego se instalan y se pone en funcionamiento.

2.2 Lenguajes de programación

Conjunto de instrucciones bajo una sintaxis determinada que permite resolver un problema

de procesamiento de datos, diseñado bajo algoritmos y procesos lógicos. Permite la

interacción con el computador la que finalmente ejecutará y resolverá el problema.

Page 27: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

27

2.2.1 Instrucciones de la computadora.

Las instrucciones generalmente están representadas por verbos en inglés, pueden ser

los siguientes:

❖ Instrucciones de entrada /salida, permiten el ingreso de datos.

❖ Instrucciones aritmético-lógicas, permiten realizar todas las operaciones.

❖ Instrucciones repetitivas. Las cuales permiten repetir un número de instrucciones hasta

que se cumpla alguna condición establecida.

2.2.2 Lenguaje máquina.

Son los primeros lenguajes de programación que aparecieron y no existía código

alguno, sino se utilizaba los mismos códigos binarios que tenía el computador.

2.2.3 Lenguajes de bajo nivel.

Según Brookshear (2006) “son más sencillos que los lenguajes de máquina, el que

representa a este tipo de lenguaje es el ensamblador” (p.45). Las instrucciones son

conocidas como nemotécnicos.

Figura 11. Programa ensamblador. Fuente: Autoría propia.

Programa ensamblador, es aquel utilizan una combinación del lenguaje de máquina

con terminología en ingles con una estructura y gramática definida.

Programa fuente en

ensamblador (assembly)

Programa

ENSAMBLADOR Programa objeto en código

máquina

Page 28: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

28

2.2.4 Lenguajes de alto nivel.

Son aquellos que utilizan verbos en inglés como comandos y están diseñados para

ser fáciles de manejar por parte de los programadores, además se debe tener en cuenta que

es independiente de la computadora, los programas son transportables.

Los lenguajes de alto nivel presentan las siguientes ventajas: el aprendizaje es

sencillo, la codificación es natural y está de acuerdo a los comandos, puede ser

modificado, se reduce su costo y se pueden transportar.

Los inconvenientes pueden ser: demora del tiempo para poner a funcionar, no

utiliza los recursos del computador y se requiere mucha memoria.

2.2.5 Traductores de lenguaje.

Traducen los programas fuente a un código de máquina, pueden ser compiladores e

interpretadores.

a) Interpretes. Cuando el lenguaje es traducido, verificado línea por línea.

Figura 12. Intérprete. Fuente: Autoría propia.

b) Compiladores. Un compilador es cuando el programa es traducido en forma total,

mostrando los errores que tuviera.

Figura 13. La compilación de programa. Fuente: Autoría propia.

Programa fuente

Intérprete

Traducción y ejecución línea a línea

Programa fuente

Compilador

Programa objeto

Page 29: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

29

2.2.6 La compilación y sus fases.

Es la forma de traducción del código del programa obtenido a un lenguaje de

máquina, lo que da lugar a lo que llamamos programa ejecutable.

Figura 14. Fases de la compilación. Fuente: Autoría propia.

Programa fuente

Compilador

Programa objeto

Montador

Programa ejecutable en

lenguaje de máquina

Page 30: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

30

Capítulo III

Aplicaciones principales

3.1 PSeInt

Significa Pseudocode Interpreter, intérprete de pseudocódigo. Permite desarrollar

algoritmos bajo un entorno amigable mediante una serie de objetos que permiten de

manera intuitiva construir los algoritmos y automáticamente el diagrama de flujo

respectivamente.

3.1.1 Características del Pseint.

A continuación, presentamos las siguientes características:

❖ Corresponde a ser software libre

❖ Puede sr atendido por el propio creador.

❖ Permite la comunicación para el auxilio.

❖ Mediante foros se pueden solicitar auxilios.

❖ Su traslado al código es muy sencillo.

❖ Existe el código fuente y puede ser ejecutado.

❖ Se trata de un interpretador, el archivo puede ejecutarse en cualquier momento.

Page 31: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

31

Instalación

Figura 15. Instalación de Pseint. Fuente: Autoría propia.

a) Instalar el archivo

Al hacer doble clic se ejecuta el instalador, seguimos con la secuencia de órdenes

hasta llegar al fin de la instalación.

b) Apuntes preliminares

Al inicio de la programación, debemos de revisar el manual de operaciones de

este software, el cual facilitara la construcción de los algoritmos. Al ingresar por

primera vez al PSeInt nos pregunta que perfil se desea emplear, y no tener

dificultades con los códigos.

c)Abrir PSeInt

Dar doble clic al icono que representa a este software, encontrado en el escritorio.

Page 32: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

32

Figura 16. Abrir Pseint. Fuente: Autoría propia.

Figura 17. Ventana de Pseint abierta. Fuente: Autoría propia.

d)Escribir mi primer programa

Al iniciar a generar el seudocódigo, buscamos los comandos más adecuados en

nuestra codificación y entre las dos líneas, la primera que dice Inicio sin_titulo y la

Page 33: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

33

segunda dice fin_proceso, entre esas dos líneas es donde debemos realizar el código.

Figura 18. Ingreso de sintaxis. Fuente: Autoría propia.

Luego lo guardamos.

Figura 19. Guardar archivo. Fuente: Autoría propia.

Escribimos el nombre del programa en la ventana que aparece y luego presionamos

guardar Como...

Page 34: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

34

Figura 20. Ventana para guardar. Fuente: Autoría propia.

Luego de guardar, tenemos que ejecutar lo que codificamos y los hacemos con el

siguiente icono:

Figura 21. Ícono de ejecutar. Fuente: Autoría propia.

Si la ejecución ha sido correcta, se presenta un mensaje indicando que el programa

se ejecutó correctamente, si no es así aparece una serie de líneas indicando donde esta

nuestro error, las cuales deben ser corregidas.

Page 35: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

35

Figura 22. Ventana de ejecución finalizada. Fuente: Autoría propia.

3.2 DFD

Software que de igual manera que el Pseint está creado con el fin.

a) Inicio

Al abrir el Dfd se ve en la pantalla la ventana de edición la cual consta de inicio y

fin ya que todo algoritmo debe tener esos pasos, escoger alguna de las herramientas que se

presentan al inicio

Figura 23. Ventana de edición. Fuente: Auditoría propia.

Page 36: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

36

Figura 24. Barra de herramientas. Fuente: Autoría propia.

Ejercicio: Ingresar la edad de una persona y luego le responderá cuantos años tiene,

se usarán objetos como salidas y lectura.

Abrir el programa (Dfd) y agregamos una salida.

Figura 25. Abriendo programa DFD. Fuente: Autoría propia.

Damos doble clic y escribimos entre comillas simples (‘Ingrese su edad en números

y presione el botón enter’).

Page 37: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

37

Figura 26. Ingreso de edad en números. Fuente: Autoría propia.

Ahora agregamos una lectura.

Figura 27. Agregamos una lectura. Fuente: Autoría propia.

Dar clic y escribimos las variables, no poner las comillas.

Page 38: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

38

Figura 28. Ingreso de edad. Fuente: Autoría propia.

Agregamos una nueva salida.

Figura 29. Agregamos nueva salida. Fuente: Autoría propia.

Doble clic y respondemos a la interrogante. La variable no debe tener comillas y

debe estar separada por comas. ('su edad es de ', edad,' años').

Page 39: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

39

Figura 30. Ingreso de edad en años. Fuente: Autoría propia.

Ya terminado el algoritmo tendrá la siguiente forma en la pantalla.

Figura 31. Pantalla final de un algoritmo. Fuente: Autoría propia.

Cuando el algoritmo finaliza su ejecución y no tiene errores se muestra el siguiente

mensaje:

Page 40: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

40

Figura 32. Ejecución de algoritmo finalizada. Fuente: Autoría propia.

3.3 Java Netbeans

Es un programa que permite realizar seudocódigo, el cual puede ser convertido a código

real, es un software libre y está hecho en base al Java:

❖ Accesando a directorios en Netbeans 3.6

Ingresar al Netbeans dando un clic derecho o seleccionando el menú file,

seleccionando local directory, archive files o versión control.

❖ Creación y edición de código en java con Netbeans.

Netbeans contiene templates y wizards.

❖ Edición de código en java con Netbeans.

Como herramienta tenemos al editor. Al abrir un código en java dar clic en el file que

se encuentra en el archivo filesystems. Cuando ingresamos al editor vemos:

Figura 33. Edición de código en java con Netbeans. Fuente: Autoría propia.

Page 41: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

41

Para dar inicio a una aplicación de Java bajo el entorno de Netbeans se debe definir

un proyecto, para ello, seleccionas la opción del menú denominada File. Se muestra

inmediatamente un menú flotante cuya primera opción indica New Proyect, está opción la

seleccionas.

Figura 34. Definición de proyecto. Fuente: Autoría propia.

Al momento de seleccionar New Proyect se visualiza la ventana siguiente:

Figura 35. Visualización de New Proyect. Fuente: Autoría propia.

Page 42: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

42

Como nuestras aplicaciones son de tipo consola, seleccionar en categorías la carpeta

Java y en proyectos seleccionar Java Application.

Luego hacer click en el botón de comando Next que mostrará la siguiente ventana:

Figura 36. Ventana Java Application. Fuente: Autoría propia.

Se debe crear una carpeta de destino donde se almacenen los programas, debemos

de realizar los siguientes pasos:

Figura 37. Selección de proyecto. Fuente: Autoría propia.

Page 43: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

43

Figura 38. Carpeta nueva. Fuente: Autoría propia.

Ya indicada EjerciciosDeNetBeans, clic en el botón de comando Abrir y New Java

Application quedara como:

Figura 39. New Java Application. Fuente: Autoría propia.

Page 44: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

44

Proyect Location muestra la carpeta destino del proyecto. Realizamos un programa

que calcule dado dos notas el promedio, debe quedar como vemos:

Figura 40. Nombre del proyecto. Fuente: Autoría propia.

Clic en Finish y se muestra el entorno de desarrollo NetBeans y construir la aplicación

Figura 41. Desarrollo de NetBeans. Fuente: Autoría propia.

Page 45: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

45

Podemos a elaborar el ejercicio, pero debemos conocer la estructura de la clase

principal.

Figura 42. Inicio para la construcción en Netbeans. Fuente: Autoría propia.

Page 46: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

46

Aplicación didáctica

Sesión de aprendizaje

Título: Herramientas de algoritmos

I. DATOS INFORMATIVOS:

Institución educativa:

Componente :

Grado y sección : 4to. de secundaria

Duración : 45 minutos

Fecha :

Profesor : Pezo Zuta, Jaime

II. LOGRO DE APRENDIZAJE DE LA SESIÓN:

Define y reconoce las herramientas del algoritmo

III. ORGANIZACIÓN DE LOS APRENDIZAJES:

Conocimientos Capacidades Actitudes

Desarrollo de un algoritmo con

PSEINT.

Solución de un problema de

proceso de datos con el

Software PSEINT

Razonamiento y

demostración

- Identifica datos y analiza

sus relaciones

- Representa e interpreta

los datos en el diagrama

de flujo.

- Muestra seguridad y

perseverancia al resolver

problemas y comunicar

resultados.

- Toma la iniciativa para

formular preguntas

- Perseverancia en la

búsqueda de soluciones.

- Valora aprendizajes

desarrollados en el área

como parte de su proceso

formativo.

IV. SECUENCIA DIDÁCTICA:

Estrategias

metodológicas

Evaluación

T Situación de

aprendizaje

Intervención

didáctica

Actividad de

aprendizaje

Recursos

didácticos

Indicador Toma

iniciativa

5

Inicio

Grupos

cooperantes

Motivación

Me presento, para

comenzar con el

tema los alumnos

Computador

Proyector

multimedia

Actitud

ante el

área

Toma la

iniciativa

para

Page 47: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

47

Exposición de

ideas

haciendo un repaso

de los temas

anteriores, a cada

alumno se le

entrega una ficha

con el problema

que consiste en:

Calcular la suma de

dos números

naturales.

De esta manera se

permite al alumno

prepararse para

comenzar con la

clase.

Pizarra

Plumones

Computador

formular

preguntas.

40

10

Proceso

Salida

Culminando el

inicio, se procederá

a desarrollar un

breve resumen del

tema (herramientas

de programación),

con participación

de los alumnos, se

plantea desarrollar

un algoritmo para

hallar la solución

empleando la idea

de algoritmos.

Realizan el

algoritmo y lo

plasman en código

en el Software

PSEINT.

Ejecutan el

programa y

comprueban los

resultados del

algoritmo.

Trabajan una hoja de

práctica.

Evaluación

Ficha de

observación

Guía de

laboratorio

Page 48: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

48

Guía de laboratorio: PSEINT DFD

Apellidos y nombres: ……………………………………………………………….

Profesor: Pezo Zuta, Jaime

Fecha: …….

Ejercicio: Aplicaremos el programa PSEINT para hallar promedios con números enteros.

Desarrollo de la práctica:

1. Enciende la computadora y espera a que aparezca el Escritorio de Windows.

2. Abra el programa Pseint que aparece en el escritorio).

3. Aparecerá la ventana del programa, la cual se detalla a continuación:

Page 49: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

49

Empezaremos a digitar lo siguiente considerando que queremos sacar promedios de

alumnos con 3 notas básicas:

a) Colocamos un título como: NOTADEALUMNO

b) ESCRIBIMOS: Definir a,b,c, Como Enteros

c) ESCRIBIMOS: Difinir d Como Real

d) ESCRIBIMOS: Escribir “ingresar nota1 del alumno”;

e) ESCRIBIMOS: Leer a;

f) ESCRIBIMOS: Escribir “ingresar nota2 del alumno”;

g) ESCRIBIMOS: Leer b;

h) ESCRIBIMOS: Escribir “ingresar nota3 del alumno”;

i) ESCRIBIMOS: Leer c;

j) Luego establecemos lo siguiente escribiendo: d(a+b+c)/3

k) Luego escribimos: Escribir “el promedio es:”,d;

Page 50: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

50

4. Luego hacemos clic en el icono color verde que significa ejecutar y podremos

visualizar la siguiente ventana

Nota: Si hay errores al ejecutar, el símbolo donde hay error se pondrá una cruz + color

Rojo, corríjalos y vuelva a ejecutar.

Luego si no hay errores digitaremos las siguientes notas en la ventana que aparece

15 enter 16 enter y 17 enter y tendremos un resultado con el promedio solicitado, este

seudocódigo lo podremos insertar a un determinado lenguaje de programación que nos

permitirá tener un programa de notas.

Page 51: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

51

5. Y luego, podemos hacer clic en el icono de DFD o de diagrama de flujo para ver una

presentación grafica del Pseint y quedara de la siguiente forma:

resultados de la ejecución del DFD.

Page 52: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

52

Síntesis

Algoritmo deriva de la alkhowarizmi, siendo este el nombre de un matemático árabe y

astrónomo del sigo IX cuya obra trata sobre la manipulación de números y ecuaciones

mediante procesos continuos hasta resolverlos.

También, podemos definir a los algoritmos es una serie de pasos los cuales dan

solución a un problema específico. Los algoritmos deben cumplir con algunas

características fundamentales como el que debe tener un valor finito de pasos, ósea tiene

un inicio y un término. De acuerdo al sistema operativo vemos que los algoritmos no

cambian sino se adaptan. Los algoritmos pueden ser representados en forma gráfica como

los flujogramas y en forma literal como son los seudocódigos.

Los flujogramas o diagramas de flujo están presentados por una serie de figuras que

representan alguna acción. Es una representación gráfica de un pseudocódigo. Los

seudocódigos representan la parte literal y son el lenguaje natural del usuario, los cuales

son presentados con algunas características importantes entre encontramos.

Page 53: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

53

Apreciación crítica y sugerencias

Sabemos hoy en día, que en nuestro país se apuesta muy poco o nada por la investigación,

por ello espero que esta monografía despierte y motive el afán por el deseo de la

investigación. El mundo de la informática, específicamente de la programación es tan

complejo que lo que hemos desarrollado se vuelve tan pequeño con relación a lo que resta.

La introducción a la programación, es idóneo en el estudio y definición de las

estructuras de datos manejable para aquel que estudia y que deseen ser programadores. Su

finalidad es dar una buena base para aquellos estudiantes que deseen sumergirse en el

campo de la programación, es por eso que lo convirtieron en el conocimiento ideal para

aquellos que dan sus primeros pasos en programación, en el ámbito de nuestro país solo se

utiliza en las universidades, institutos tecnológicos y algunos colegios privados.

A manera de sugerencia la universidad pueda seguir al Ministerio de Educación para

que el Currículo Nacional, pueda considerar el aprendizaje en los alumnos el uso de

lenguajes de programación, ya que facilitaría el desarrollo mental sobre todo conocer la

inteligencia artificial que es la computadora, por ser el Alma Máter de la educación peruana.

Page 54: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

54

Referencias

Brena, R. (2016). Lenguajes Formales y Autómatas. México: Centro de Inteligencia

Artificial, Instituto Tecnológico y de Estudios Superiores de Monterrey.

Brookshear, J., y Glenn, J., (2006). Teoría de la Computación, Lenguajes formales,

Autómatas y Complejidad. Addison, Estados Unidos: Wesley Iberoamericana.

Bueno, C. (2008). Uso de los objetos del programa DFD. Colombia: Universidad

Tecnológica de Pereira.

Carrasco, J. (2001). Programación con Visual Basic. Perú: Editorial Universitaria.

Castañeda; J. (2005). Diseño de programación. Perú: San Marcos.

Corona, M., y Ancona, M., (2008). Diseño de Algoritmos y su codificación en Lenguaje C.

España: Mc Graw Hill.

Galve, J., (1993). Algorítmica: diseño y análisis de algoritmos funcionales e imperativos.

España: RA-MA.

Informática. Recuperado el 14 de julio del 2019 de: http://www.mailxmail.com/curso-

holistica-informatica/informatica-aplicaciones-computacionales

Joyanes, L. (2012). Fundamentos de programación. España: McGraw-Hill/Interamericana

de España, S. A. U.

Joyanes, L. (2008). Algoritmos y estructura de datos. España: McGraw-

Hill/Interamericana de España, S. A. U.

Knuth, D. (2004). Algoritmos fundamentales. España: Reverte S. A.

Lenguaje de programación. Recuperado el 14 de julio del 2019 de:

http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n

López, S. (2015). Manual y programación en Pseint. Colombia: Toro.

Monreal, J. (2008). El mundo de la computación Tomo 3 y 4. Barcelona, España: Océano.

Page 55: HERRAMIENTAS DE DISEÑO DE ALGORITMOS Introducción

55

Tremblay, J., & Bunt, R.; (2001). Introducción a las ciencias de las computadoras.

EE.UU: Mac Graw-Hill.