50
FUNDAMENTOS DE PROGRAMACION CORPORACIÓN IBEROAMERICANA DE CIENCIA Y TECNOLOGIA CIBERCTEC MÓDULO FUNDAMENTOS DE PROGRAMACION PRIMERA UNIDAD ALGORITMOS Y PROGRAMAS AUTORES: Grupo Interdisciplinario Ingenieros de Sistemas 1 Corporacion Iberoamerica de Ciencia y Tecnologia CIBERCTEC SAS

Desarrollo Del Modulo (1 Unidad)

Embed Size (px)

Citation preview

Page 1: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

CORPORACIÓN IBEROAMERICANA DE CIENCIA Y TECNOLOGIA CIBERCTEC

MÓDULO FUNDAMENTOS DE PROGRAMACION

PRIMERA UNIDAD ALGORITMOS Y PROGRAMAS

AUTORES:Grupo Interdisciplinario Ingenieros de Sistemas

VILLAVICENCIO 2012

1C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 2: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

TABLA DE CONTENIDO PAG.

MAPA CONCEPTUAL DEL AREA..........................................................................3PROGRAMACION GENERAL DEL AREA.............................................................4PRESENTACION.....................................................................................................6COMPETENCIAS.....................................................................................................6PRIMERA UNIDAD ALGORITMOS Y PROGRAMAS.............................................7OBJETIVOS.............................................................................................................8

OBJETIVO GENERAL.......................................................................................................8OBJETIVOS ESPECÍFICOS..............................................................................................8PRUEBA INICIAL..............................................................................................................8

1. TEMA 1 RESOLUCIÓN DE PROBLEMAS POR COMPUTADORAS..............91.1 Fase de resolución del problema.............................................................................9

1.1.1 Análisis del problema..........................................................................................101.1.2 Diseño del algoritmo...........................................................................................101.1.3 Verificación de algoritmos...................................................................................111.1.4 Fase de implementación (realización) en un lenguaje de Programación...........11

1.2 Codificación de algoritmos en pseudocódigo......................................................111.2.1 Operadores, Expresiones y Sentencias.............................................................13ACTIVIDADES.............................................................................................................16Autoaprendizaje...........................................................................................................19

2. TEMA 2: HERRAMIENTAS DE PROGRAMACIÓN..........................................202.1 Diagrama de Flujo....................................................................................................202.2 Diagrama Nassi – Schneiderman............................................................................222.3 Pseudocódigo...........................................................................................................24

Actividad......................................................................................................................24Autoaprendizaje...........................................................................................................25

3. TEMA 3: PROGRAMA DFD PARA EL DESARROLLO DE DIAGRAMAS DE FLUJO....................................................................................................................26

Actividad......................................................................................................................28Autoaprendizaje...........................................................................................................30Evaluación...................................................................................................................34Pistas de aprendizaje...................................................................................................35GLOSARIO..................................................................................................................36Cibergrafia...................................................................................................................36

2C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 3: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

MAPA CONCEPTUAL DEL AREA

PROGRAMACION GENERAL DEL AREA 3

C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 4: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

MODULO 1

PRIMERA UNIDAD: ALGORITMOS Y PROGRAMAS Objetivo GeneralObjetivos Específicos

PRUEBA INICIALTema 1: Resolución de problemas por computadorasFases de resolución del problemaAnálisis del problemaDiseño del algoritmoVerificación de algoritmosFase de implementación en un lenguaje de ProgramaciónCodificación de algoritmos en pseudocódigoOperadores, Expresiones y SentenciasEJERCICIOS DEL TEMAEJERCICIOS PARA DESARROLLARTema 2: Herramientas de programaciónDiagrama de FlujoDiagrama Nassi – Schneiderman PseudocódigoEJERCICIOS DEL TEMAEjercicios para desarrollarTema 3: Programa DFD para el desarrollo de diagramas de Flujo EJERCICIOS DEL TEMAEJERCICIOS PARA DESARROLLAR

MODULO 2

HERRAMIENTAS DE PROGRAMACION

Objetivo GeneralObjetivos Específicos

PRUEBA INICIALTema 1: Desarrollo de pseudocódigo y diagrama de FlujoEJERCICIOS DEL TEMAEJERCICIOS PARA DESARROLLARTema 2: La programaciónLenguajes de programaciónInstalación Jcreator EJERCICIOS DEL TEMAEjercicios para desarrollarEJERCICIOS DEL TEMA3.3.2 EJERCICIOS PARA

DESARROLLAR

Tema 3: Paquete Swing

EJERCICIOS DEL TEMA

MODULO 3

TERCER UNIDAD: INSTRUCCIONES CONDICIONALES Objetivo GeneralObjetivos Específicos

PRUEBA INICIALTema 1: Operadores Relacionales y LógicosOperadores RelacionalesOperadores LógicosEstructuras de ControlSentencias CondicionalesSentencia Switch3.1.6 EJERCICIOS DEL TEMAEJERCICIOS PARA DESARROLLARTema 2: Sentencias Repetitivas en JavaBucles while y do-whileBucle forEJERCICIOS DEL TEMAEjercicios para desarrollarTema 3: Ciclos anidadosEJERCICIOS DEL TEMA

EJERCICIOS PARA DESARROLLAR

MODULO 4

MODULO: FUNDAMENTOS DE PROGRAMACION

4C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 5: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

ESTÁNDAR DE COMPETENCIAS DEL MODULO

COMPONENTE TELEINFORMATICA

COMPETENCIA 220501007 Construir el sistema que cumpla con los requisitos de la solución informática.

ELEMENTO

220501007 1 Diseñar el software de acuerdo con el concepto. OB220501007 2 Desarrollar la lógica y mecánica del software de acuerdo con el diseño establecido.220501007 3 Desarrollar la lógica y mecánica del videojuego de acuerdo con el diseño establecido. OB220501007 4 Implementar el arte y audio en el videojuego de acuerdo con el diseño. OB220501007 5 Depurar el videojuego de acuerdo con las pruebas realizadas.

CAMPO DE ACCION (Capacidad)

1. Diseñar modelos de prueba de aplicaciones informáticas.2. Implementación de lenguajes de programación para realizar pruebas.

INTENSIDAD HORARIA

NUMERO DE SEMANAS 4

INTENSIDAD HORARIA 48

PRACTICA 24

TEORICA 24

PRESENTACION

5C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 6: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

El modulo de Fundamentos de programación se realiza con el propósito de desarrollar en el futuro Técnico en Sistemas Redes y Telecomunicaciones y Mantenimiento de Computadoras la capacidad de análisis y orden en la planificación, elaboración y ejecución de programas.

Los laboratorios a desarrollar durante el curso de Fundamentos de programación, buscan ante todo integrar los fundamentos teóricos con la práctica, con la construcción e implementación de las aplicaciones codificadas en el lenguaje de programación de Java.

COMPETENCIAS

COGNITIVAEl estudiante debe identificar y comprender la terminología básica del entorno en el que trabaja Java, instalar los entornos de desarrollo en el computador.

Identificar y aplicar los diferentes tipos de variables en la codificación de programas. Aplicar las estructuras de control en la construcción de programas.

COMUNICATIVADesarrollar las instrucciones necesarias de Java para que el usuario ingrese datos y así poder realizar operaciones con ellos, proporcionado resultados. Realizar la prueba de escritorio o seguimiento a un programa, como también explicar lo que realiza el programa a partir de los temas vistos como las estructuras básicas de operaciones aritméticas, operaciones lógicas entre otros.

CONTEXTUALDesarrollar habilidad para estructurar un algoritmo en casos reales, representarlo e implementarlo bajo un lenguaje de programación, en este caso, Java.

VALORATIVAIdentificar la importancia de la programación sus procesos y alcances en situaciones diarias para mejorar procesos sociales.

6C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 7: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

Identificar el proceso de diseño de un programa. Diseñar programas bajo diagramas de flujo.

PRIMERA UNIDAD ALGORITMOS Y PROGRAMAS

Un ordenador o computadora está, desde que se enciende hasta que se apaga totalmente, ejecutando un algoritmo. Por lo general, estos algoritmos, escritos para que los entienda una máquina, terminan siendo vagos y confusos para la mayoría de quienes no han estudiado programación. Una máquina no puede entender "escribe Hola Mundo!" porque no sabe lo que es "escribe" ni lo que es una letra o un espacio, ni lo que es una pantalla. En cambio, puede entender "mov eax, 0x23afb31" (escribir en el registro eax el número 0x23afb31), aunque nosotros no. Un ordenador es solo un circuito electrónico, no funciona a base de magia ni nada por el estilo.

“Debido a lo difícil que es escribir en lenguaje máquina, e incluso en ensamblador, se crearon diferentes lenguajes de programación, más o menos parecidos al inglés actual y a cómo se redacta un algoritmo. Estos lenguajes proveen de cosas tan complejas para una máquina como los bucles for. Los compiladores se encargan de traducir esos ficheros al lenguaje ensamblador que corresponda, el ensamblador de traducirlos a lenguaje máquina y el enlazador de juntar todo ese código máquina en un solo archivo, el programa. Y el microprocesador, se encarga de ir encendiendo o apagando transistores según lo que le diga el código máquina. Es fácil entender el lenguaje de alto nivel en comparación al lenguaje maquina pero de la evolución surgieron”.1

OBJETIVOS

1 http://es.wikibooks.org/wiki/Fundamentos_de_programaci%C3%B3n/Algoritmos_y_programas 7

C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 8: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

OBJETIVO GENERAL

Definir las reglas básicas a seguir para la construcción y la correcta interpretación de los diagramas de flujo, resaltando las situaciones en que pueden, o deben, ser utilizados.

OBJETIVOS ESPECÍFICOS

Aprender un método sistemático que lo convertirá en un buen solucionador de problemas y, por lo tanto, en un buen programador. A este método le llamaremos el algoritmo del programador.

Aprenderá y utilizará los pasos que se requieren para resolver casi cualquier problema de programación usando el método estructurado descendente o de arriba-abajo (top–down).

Estudiará el concepto de abstracción que se requiere para un lenguaje de computadora, que permite ver los problemas en términos generales sin la angustia de los detalles de implantación.

PRUEBA INICIAL

A continuación queremos conocer algunas percepciones que tienes frente a los temas que se van a desarrollar, por esta razón responde las siguientes preguntas y socialízalas con tus compañeros.

Que es un problema? Cuál es la diferencia entre un problema social y un problema matemático? Calcula el área de un triángulo?

1. TEMA 1 RESOLUCIÓN DE PROBLEMAS POR COMPUTADORAS

8C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 9: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

La principal razón para que las personas aprendan lenguajes de programación es utilizar un ordenador como una herramienta para la resolución de problemas. Dos fases pueden ser identificadas en el proceso de resolución:

Diagrama 1. Resolución de problemas por computadoras

- Fase de resolución del problema.- Fase de implementación (realización) en un lenguaje de Programación.

1.1 Fase de resolución del problema.

Esta fase incluye, a su vez, el análisis del problema así como el diseño y posterior verificación del algoritmo.

1.1.1 Análisis del problema

9C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Análisis del Problema

Diseño del Algoritmo

Verificación del

Algoritmo

Codificación del

Algoritmo

Ejecucióndel

programa

Verificación del

Programa

Programa de trabajo

Page 10: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

El primer paso para encontrar la solución a un problema es el análisis del mismo. Se debe examinar cuidadosamente el problema a fin de obtener una idea clara sobre lo que se solicita y determinar los datos necesarios para conseguirlo.

1.1.2 Diseño del algoritmo

Un algoritmo puede ser definido como la secuencia ordenada de pasos, sin ambigüedades, que conducen a la resolución de un problema dado y expresado en lenguaje natural, por ejemplo el castellano, Todo algoritmo debe ser:

Preciso: Indicando el orden de realización de cada uno de los pasos. Definido: Si se sigue el algoritmo varias veces proporcionándole los

mismos datos, se deben obtener siempre los mismos resultados. Finito: Al seguir el algoritmo, este debe terminar en algún momento, es

decir tener un número finito de pasos.

Para diseñar un algoritmo se debe comenzar por identificar las tareas más importantes para resolver el problema y disponerlas en el orden en el que han de ser ejecutadas. Los pasos en esta primera descripción pueden requerir una revisión adicional antes de que podamos obtener un algoritmo claro, preciso y completo. En un algoritmo se deben de considerar tres partes:

Entrada: Información dada al algoritmo. Proceso: Operaciones o cálculos necesarios para encontrar la solución del

problema. Salida: Respuestas dadas por el algoritmo o resultados finales de los

procesos realizados. Como ejemplo supongamos que desea desarrollar un algoritmo que calcule la superficie de un rectángulo proporcionándole su base y altura. Lo primero que debemos hacer es plantearnos las siguientes preguntas:

Especificaciones de entrada

¿Qué datos son de entrada?¿Cuántos datos se introducirán?¿Cuántos son datos de entrada válidos?

Especificaciones de salida

¿Cuáles son los datos de salida?¿Cuántos datos de salida se producirán?¿Qué formato y precisión tendrán los resultados?El algoritmo que podemos utilizar es el siguiente:

Paso 1. Entrada desde el teclado, de los datos de base y altura.

10C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 11: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

Paso 2. Cálculo de la superficie, multiplicando la base por la altura.Paso 3. Salida por pantalla de base, altura y superficie calculada.

El lenguaje algorítmico debe ser independiente de cualquier lenguaje de programación particular, pero fácilmente traducible a cada uno de ellos. Alcanzar estos objetivos conducirá al empleo de métodos normalizados para la representación de algoritmos, tales como los diagramas de flujo o pseudocódigo.

1.1.3 Verificación de algoritmos

Una vez que se ha terminado de escribir un algoritmo es necesario comprobar que realiza las tareas para las que se ha diseñado y produce el resultado correcto y esperado. El modo más normal de comprobar un algoritmo es mediante su ejecución manual, usando datos significativos que abarquen todo el posible rango de valores y anotando en una hoja de papel las modificaciones que se den estos datos y en los del resto del algoritmo, en las diferentes fases hasta la obtención de los resultados. Este proceso se conoce como prueba del algoritmo.

1.1.4 Fase de implementación (realización) en un lenguaje de Programación.

Una vez que el algoritmo está diseñado, representado mediante pseudocódigo y verificado se debe pasar a la fase de codificación o traducción del algoritmo a un determinado lenguaje de programación, que deberá ser completada con la ejecución y comprobación del programa en el ordenador.

1.2 Codificación de algoritmos en pseudocódigo

En el ejemplo del cálculo del área de un rectángulo podemos observar que en la resolución de programas nos encontramos con datos que pueden ser números como por ejemplo la base o la altura y otros que pueden ser los mensajes que aparecen por pantalla ( “ La superficie es ....” ). Quiere esto decir que previamente necesitamos conocer qué TIPOS de datos puede manejar un ordenador en un programa.

¿Qué tipo de número es el 7? Entero¿Qué tipo de número es el 3? Entero¿Qué tipo de número es 7/3? ???

TIPO DESCRIPCIÓN Entero El rango depende de cuantos bits utilice para codificar el número,

normalmente 2 bytes, Para números positivos, con 16 bits se pueden

11C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 12: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

almacenar 216= 65536 números enteros diferentes: de 0 al 65535, y de-32768 al 32767 para números con signo.

Por ejemplo 2, 14, -199,....Real Subconjunto de los números reales limitado no sólo en cuanto al

tamaño, sino también en cuanto a la precisión. Suelen ocupar 4, 6 ó 10 bytes. Se representan por medio de la mantisa, y un exponente (1E-3 = 0’001), utilizando 24 bits para la mantisa (1 para el signo y 23 para el valor) y 8 bits para el exponente (1 para el signo y 7 para el valor). El orden es de 10-39 hasta 1038.

Por ejemplo 6.9, 33.00123, 3E-34......Lógico Conjunto formado por los valores Cierto y Falso. ‘1’ y ‘0’. Operaciones:

todas las lógicas y relacionalesAND, OR,> , <== (igual), >= , <= , ...

Carácter Conjunto finito y ordenado de los caracteres que el ordenador reconoce. Se almacenan en un byte. Con 8 bits se podrán almacenar 28= 256 valores diferentes (normalmente entre 0 y 255; con ciertos compiladores entre -128 y 127). Un carácter (letra) se guarda en un solo byte como un número entero, el correspondiente en el código ASCII.

Cadena Los datos de este tipo contendrán una serie finita de caracteres. Podrán representarse de estas dos formas:

‘H’ ’O’ ’L’ ’A’ == “HOLA”,

No es lo mismo “H” que ‘H’, ya que el primero es una cadena y el segundo un carácter. Ejemplos:

C1=”Hola”, C2=”Pepeeerl”.Tabla 1. Tipos de Datos básicos

12C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 13: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

TIPO DESCRIPCIÓN Escalar

Se hace una enumeración de los valores que va a tomar el tipo. Para ello se antepone la palabra Ejemplo:

moneda=(peseta,libra,franco,marco)dia=(L,M,X,J,V,S,D)

SubrangoSon un subconjunto finito de un tipo definido por el usuario y, en general, de cualquier tipo que tenga sucesor y predecesor, como los enteros y carácter. Ejemplo:

Laboral=L..VMinúsculas=’a’..’z’aceptado=1000..1100

Constantes Son datos cuyo valor no cambia durante todo el desarrollo del

programa.

Numéricas enteras: 12, 34,-44,22234, -9837,m=12,n=44592....Numéricas reales: 12.55, -3E3, PI=3.14159.....Lógicas: Sólo existen dos constantes lógicas 0,1Carácter: n=’a’, k=’1’,.....Cadena: saludo=”hola”, s=”si”, n=”no”.....

Variables Una variable es un dato representado por una posición determinadade memoria cuyo valor puede cambiar durante el desarrollo del algoritmo.

Ejemplos de identificadores válidos son los siguientes:tiempo, distancia1, caso_A, PI, velocidad_de_la_luz,x,mm,media

Tabla 2. Tipos de datos definidos por el usuario

1.2.1 Operadores, Expresiones y Sentencias

Un operador es un carácter o grupo de caracteres que actúa sobre una, dos o más variables para realizar una determinada operación con un determinado resultado. Ejemplos típicos de operadores son la suma (+), la diferencia (-), el

13C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 14: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

producto (*), etc. Los operadores pueden ser unarios, binarios y ternarios, según actúen sobre uno, dos o tres operandos, respectivamente.

OPERADORES ARITMÉTICOS

Los operadores aritméticos son los más sencillos de entender y de utilizar. Todos ellos son operadores binarios. Se utilizan los cinco operadores siguientes:

Suma: +Resta: -Multiplicación: *División: /Resto: % (resto de la división entera. Este operador se aplica solamente a constantes, variables o expresiones de tipo entero).

OPERADORES DE ASIGNACIÓN

Los operadores de asignación atribuyen a una variable, es decir, depositan en su zona de memoria correspondiente, el resultado de una expresión o el valor.

Variable (en realidad, una variable es un caso particular de una expresión).El operador de asignación más utilizado es el operador de igualdad (=), que no debe ser confundido con la igualdad lógica (==). Su forma general es:nombre_variable = expresión;Primero se evalúa expresión y el resultado se pone en nombre_variable, sustituyendo cualquier otro valor que hubiera en esa posición de memoria anteriormente. Una posible utilización de este operador es la siguiente:

variable = variable + 1;

OPERADORES RELACIONALES

Una característica imprescindible de cualquier lenguaje de programación es la de considerar alternativas, esto es, la de proceder de un modo u otro según se cumplan o no ciertas condiciones. Los operadores relacionales permiten estudiar si se cumplen o no esas condiciones.

En un programa si una condición se cumple, el resultado es cierto; en caso contrario, el resultado es falso. Un 0 representa la condición de falso, y cualquier número distinto de 0 equivale a la condición cierto. Los operadores relacionales son los siguientes:

– Igual que: ==– Menor que: <– Mayor que: >

14C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 15: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

– Menor o igual que: <=– Mayor o igual que: >=– Distinto que: !=

OPERADORES LÓGICOS

Los operadores lógicos son operadores binarios que permiten combinar los resultados de los operadores relacionales, comprobando que se cumplen las condiciones necesarias. Como operadores lógicos tenemos: el operador Y (&&), el operador O (||) y el operador NO (!). En inglés son los operadores AND, OR y NOT. Su forma general es la siguiente:

expresion1 && expresion2, expresion1 || expresión!,expresión

FUNCIONES

En los lenguajes de programación existen ciertas funciones predefinidas o internas que aceptan unos argumentos y producen un valor denominado resultado. Como funciones numéricas, normalmente se usarán:

Función Descripción

abs(x) Valor Absoluto cos(x),sin(x) Coseno,Seno cuadrado(x) x2 ent(x) Parte entera exp(x) ex ln(x) Ln(x) log(x) Log10(x) raiz(x) Raiz Cuadrada redondeo (x) Redondear numero

EXPRESIONES

Una expresión es una combinación de variables y/o constantes, y operadores. Por ejemplo, 1+5 es una expresión formada por dos operandos (1 y 5) y un operador (el +); esta expresión es equivalente al valor 6, lo cual quiere decir que esta expresión, en el momento de la ejecución es evaluada y sustituida por su resultado. Una expresión puede estar formada por otras expresiones más sencillas, y puede contener paréntesis de varios niveles agrupando distintos términos.

15C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 16: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

Por ejemplo, la solución de la ecuación de segundo grado:

se escribe, en la siguiente forma:

x=(-b + raiz ((b*b)-(4*a*c)))/(2*a);

El primer programa, Normas:

Todos los programas comienzan por la palabra Inicio seguido de un grupo de sentencias.

Por tanto debemos recordar que un grupo de sentencias va entre llaves {...}. Una sentencia simple aislada no necesita llaves.

Cada sentencia termina por un; (Separador de sentencias)

Como norma se declaran todas las variables al inicio del programa.

Un grupo de sentencias relacionado guardan la misma vertical.

Si necesitamos un nuevo grupo de sentencias se tabula a la derecha.

En comentario comienza por // si es de 1 línea y por /* .....*/ Si abarca a un párrafo.

ACTIVIDADES

Desarrolle los algoritmos que resuelva los siguientes problemas:

Ejercicio 1. Ir al cine.

Para solucionar este problema, se debe seleccionar una película de la cartelera del periódico, ir a la sala y comprar la entrada para, finalmente, poder ver la película. Lo que nos lleva a la siguiente:

Solución:

16C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 17: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

DATOS DE SALIDA Ver la película.DATOS DE ENTRADA Nombre de la película, dirección de la sala, hora de

proyección.DATOS AUXILIARES Entrada, numero de asiento.

Algoritmo irAlCine()INICIO

// Seleccionar la películaTomar el periódico.Mientras no lleguemos a la cartelerapasar la hoja.Mientras no se acabe la carteleraInicio

leer película.Si nos gusta, anotarla.

Fin.Elegir una de las películas seleccionadas.Leer la dirección de la sala y la hora de proyección.

// Comprar la entradaTrasladarse a la sala.Si hay entrada

InicioSi hay cola

InicioColocarse al final de la cola.Mientras no lleguemos a la taquillaAvanzar.

Fin.Comprar la entrada.// Ver la películaLeer el número de asiento de la entrada.Buscar el asiento.Sentarse.Ver la película.

Fin.FIN.

Ejercicio 2.Poner la mesa para la comida.

Para poner la mesa, después de poner el mantel, se toman las servilletas hasta que su número coincide con el de comensales y se colocan. La operación se repetirá con los vasos, platos y cubiertos.

DATOS DE SALIDA La mesa puesta

17C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 18: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

DATOS DE ENTRADA La vajilla, los vasos, los cubiertos, las servilletas, el número de comensales.

DATOS AUXILIARES Numero de platos, vasos, cubiertos o servilletas que llevamos puestos.

Algoritmo ponerMesa()INICIO

Poner el mantel.HacerTomar una servilleta y colocarla.Mientras el número de servilletas no sea igual al de comensales.HacerTomar un vaso y colocarlo.Mientras el número de vasos no sea igual al de comensales.HacerTomar un juego de platos y colocarlo.Mientras el número de juegos de platos no sea igual al de comensales.HacerTomar un juego de cubiertos y colocarlo.Mientras el número de juegos de cubiertos no sea igual al de

comensales.FIN.

Ejercicio 3. Lavar los platos de la comida.

Para fregar los platos: abrir la llave de agua, limpiar los platos con un estropajo con jabón, colocarlos en el escurridor y finalmente secarlos.

DATOS DE SALIDA Platos limpios.DATOS DE ENTRADA Platos sucios. DATOS AUXILIARES Numero de platos que quedan.

Algoritmo lavarPlatos()INICIOAbrir la llave de agua.Tomar el estropajo.Echarle jabón.Mientras queden platos

InicioLavar el plato.Dejarlo en el escurridor.

Fin.

18C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 19: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

Mientras queden platos en el escurridorSecar plato.FIN.

Autoaprendizaje

1) Decir si son correctos o no los siguientes identificadores de variables:

- contador - temporal1 - num_bytes- 2temporal - N_numeros - Media_Aritm- Valor$curso - N-terminos - MeDiaGeom

2) Escribir en pseudocódigo las siguientes expresiones matemáticas:

3) Realizar en pseudocódigo un programa que calcule de forma individual la velocidad de 5 cuerpos, introduciendo por teclado el espacio y el tiempo, hallando posteriormente la media de cada una de las tres magnitudes.

4) Dada la siguiente declaración de variables, comprobar el siguiente pseudocódigo indicando los posibles reales y los de ‘alta probabilidad de error’:

x: entero;y: carácter;z,t: real;m, n, p: entero;c, s: cadena

5) Realizar en pseudocódigo un programa que calcule la longitud y el área total de tres circunferencias sabiendo que la 1ª de ellas tiene radio R que será introducido por teclado, la 2ª tiene radio 2R y la 3ª tiene radio 3R.

19C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 20: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

2. TEMA 2: HERRAMIENTAS DE PROGRAMACIÓN

Para representar un algoritmo se debe utilizar algún método que permita independizar dicho algoritmo de los lenguajes de programación y al mismo tiempo, conseguir que sea fácilmente codificable. Los métodos más usuales para la representación de algoritmos son:

Diagrama de flujo Diagrama N-S(Nassi – Schneiderman) pseudocódigo

2.1 Diagrama de Flujo

Imagen 1.

Nombre de la imagen

Dirección Web Autor Fecha de Consulta

Símbolos para desarrollar diagramas de flujo

http://www.monografias.com/trabajos42/diagrama-de-flujo/Image3912.gif

Manuel Murillo García

01/06/2012

Los diagramas de flujo son de gran importancia ya que ayudan a designar cualquier representación gráfica de un

procedimiento o parte de este; el diagrama de flujo como su nombre lo indica representa el flujo de información de un

procedimiento.

Los diagramas de flujo son

importantes para el diseñador por que le ayudan en la definición, formulación, análisis y solución del problema. El diagrama de flujo ayuda al análisis a comprender el sistema de información de acuerdo con las operaciones de procedimientos incluidos, le ayudara analizar esas etapas, con el fin tanto de mejorarlas como de incrementar la existencia de sistemas de información para la administración.

20C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 21: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

Imagen 2. Nombre de la imagen

Dirección Web Autor Fecha de Consulta

Ejemplo de un diagrama de Flujo

http://www.desarrolloweb.com/articulos/images/algoritmos/ejemplo_ordinograma.gif

Manuel Murillo García

01/06/2012

2.2 Diagrama Nassi – Schneiderman

Los diagramas Nassi-Schneiderman son una técnica para la especificación de algoritmos que combina la descripción textual del pseudocódigo con la representación gráfica del diagrama de flujo. Todo algoritmo se representa de la siguiente forma:

Inicio

<acción 1>

21C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 22: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

<acción 2>

...

<acción 3>

Fin

Diagrama 2. Representación general

Existe una representación para cada una de las instrucciones permitidas en la programación estructurada.

Secuenciales: Recordemos que aquí tenemos:

Declaración de variables (tipo: nombre_variable)Asignación (nombre_variable = valor)Lectura (Leer <lista de variables>)Escritura de datos (Escribir <lista de constantes y variables>).

Inicio

<acción 1>

<acción 2>

...

<acción 3>

Fin

Diagrama 3. Representación secuencial

Alternativas: o Alternativa simple.

Inicio

SI NOacción 1

acción 2

.

22C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 23: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

.

acción n

Diagrama 4. Representación Alternativa Simple

o Alternativa dobleInicio

SI NOacción 1 acción 1

acción 2 acción 2

. .

. .

acción n acción n

Diagrama 5. Representación Alternativa Doble

Elabora una solución, la más conveniente, para calcular el valor de la suma 1 + 2 + 3 + … + 100, utilizando la estructura mientras (algoritmo visto en clase).

algoritmo suma_1_a_100var

entero: contador, SUMA begincontador ← 1SUMA ← 0while contador <= 100 do

SUMA ← SUMA + contadorcontador ← contador + 1

endwhile write (‘La suma es:’, SUMA) end

2.3 Pseudocódigo

Se considera un primer borrador, dado que el pseudocódigo tiene que traducirse posteriormente a un lenguaje de programación. El pseudocódigo no puede ser ejecutado por una computadora. La ventaja del pseudocódigo es que en su uso, en la planificación de un programa, el programador se puede concentrar en la lógica y en las estructuras de control y no preocuparse de las reglas de un lenguaje específico.

Si <expresión lógica>

23C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 24: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

Entonces.Instrucciones en caso de que <expresión lógica> sea verdadera[Si no instrucciones en caso de que <expresión lógica> sea falsa.] Fin Si

Actividad

Desarrolle un algoritmo que permita leer dos valores distintos, determinar cuál de los dos valores es el mayor y escribirlo.

Pseudocódigo Diagrama de Flujo

1. Inicio

2. Inicializar variables: A = 0, B = 0

3. Solicitar la introducción de dosvalores distintos

4. Leer los dos valores

5. Asignarlos a las variables A y B

6. Si A = B Entonces vuelve a 3porque los valores deben serdistintos

7. Si A>B EntoncesEscribir A, “Es el mayor”

8. De lo contrario: Escribir B, “Esel mayor”

9. Fin_Si

10. Fin

Autoaprendizaje

1. Desarrolle un algoritmo que realice la sumatoria de los números enteros comprendidos entre el 1 y el 10, es decir, 1 + 2 + 3 + …. + 10.

2. Determinar la hipotenusa de un triángulo rectángulo conocidas las longitudes de sus dos catetos. Desarrolle el algoritmo correspondiente.

24C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 25: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

3. Desarrolle un algoritmo que permita determinar el área y volumen de un cilindro dado su radio (R) y altura (H).

4. Desarrolle un algoritmo que permita leer un valor cualquiera N y escriba si dicho número es par o impar.

5. Desarrolle un algoritmo que permita convertir calificaciones numéricas, según la siguiente tabla: A = 19 y 20, B =16, 17 y 18, C = 13, 14 y 15, D = 10, 11 y 12, E = 1 hasta el 9. Se asume que la nota está comprendida entre 1 y 20.

3. TEMA 3: PROGRAMA DFD PARA EL DESARROLLO DE DIAGRAMAS DE FLUJO

El DFD es un programa, diseñado para analizar y construir los algoritmos. Se pueden crear diagramas de flujo de datos para representar algoritmos; estos son problemas planteados que se pueden solucionar a través de un proceso específico, teniendo en cuenta que el mismo proceso aplica solo para el mismo problema, entonces podríamos decir que para cada problema algorítmico se aplica una solución diferente.

25C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 26: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

Imagen 2. Ventana Principal de DFD

Barra de Menú: Aquí encontramos las siguientes opciones:

Imagen 3. Barra de menú

1. Archivo: Este menú se encarga del manejo del archivo que estemos trabajando. Están los siguientes comandos: Nuevo: Para crear un nuevo archivo DFD. Abrir: Para abrir un archivo DFD guardado. Guardar: Para guardar el archivo que se está utilizando. Guardar como: Para guardar con un nombre diferente el DFD que se está

utilizando. Imprimir: Para imprimir el archivo DFD abierto. Salir: Para terminar la sesión.

2. Edición: Este menú es el encargado de manejar los comandos de Edición del Archivo DFD:

Cortar: Para quitar un elemento del archivo Copiar: Para copiar el elemento marcado en el archivo Pegar: Para pegar en el diagrama el elemento copiado o cortado

anteriormente. Eliminar: Para borrar el elemento marcado en el archivo. Editar Objeto: Para cambiar el contenido del elemento marcado.

3. Objeto: En este menú se utilizan todos los comandos que están representados en iconos en la misma ventana principal.

4. Ver: Este menú habilita los siguientes comandos: Zoom: Para ampliar o disminuir la vista general del archivo. Anterior Subprograma: Para ver el archivo del anterior subprograma

cuando exista. Siguiente Subprograma: Para ver el archivo del siguiente subprograma cuando exista.

26C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 27: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

5. Ejecución: Este menú activa la ejecución del diagrama, contiene los siguientes comandos:

Ejecutar: Para iniciar la ejecución del archivo. Pausar: Para pausar la ejecución. Detener: Para interrumpir la ejecución.

6. Depuración: Controla las actividades de avance del archivo. Se compone de los siguientes comandos:

Paso Simple: Analiza cada elemento paso a paso e indica el recorrido delineando la zona con un color.

Ejecutar Hasta: Permite marcar un elemento dentro del archivo y realizar la ejecución del diagrama solo hasta ese punto.

Detener: Para interrumpir el avance

Imagen 4. Barra de botones.

Nuevo): Crea un nuevo archivo DFD. (Abrir): Abre un archivo DFD existente. (Guardar): Guarda el archivo que se está trabajando. (Imprimir): Imprime el archivo que se está trabajando. (Cortar): Quita un elemento del archivo y se guarda para pegarlo después. (Copiar): Copia un elemento seleccionado para pegar en otra ubicación (Pegar): Pega un elemento en una ubicación seleccionada. (Eliminar): Borra el elemento marcado en el archivo. (Ejecutar): Inicia la ejecución del archivo. (Detener): Interrumpe la ejecución. (Pausar): Pausa la ejecución. (Paso simple): Analiza cada elemento del archivo y lo marca o delinea con

un color para saber la ubicación de análisis. (Ejecutar hasta): Realiza la ejecución solo hasta un punto marcado. (Depurador): Activa el depurador del diagrama. (Alejar): Aleja la vista y la reduce. (Acercar): Acerca la vista o la aumenta (Cursor): Activa el puntero del mouse para moverse en el archivo y marcar

elementos. (Asignación): Inserta un elemento de asignación en el archivo. (Ciclo

mientras): Inserta un elemento mientras en el diagrama. (Ciclo para): inserta elemento de ciclo para en el diagrama. (Decisión): Inserta bloque de decisión en el archivo. (Lectura): Inserta bloque de lectura en el diagrama. (Salida): Inserta los datos que se verán en la pantalla cuando se ejecute el

programa.

27C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 28: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

Actividad

A continuación se hace un reconocimiento de la herramienta.

Para crear un diagrama de flujo en DFD deben seleccionarse los tipos de elementos a utilizar pulsando sobre el botón de los siguientes:

Imagen 5. Botones de símbolos

Después de seleccionar el elemento a utilizar se arrastra hasta el lugar de trabajo y se suelta en el punto del diagrama que debe ir, para editar el elemento se le da doble clic sobre el mismo.

-Cuando se da doble clic sobre el bloque de lectura aparece la siguiente ventana:

Imagen 6. Botón de lectura

Dentro de la casilla leer, se deben especificar las variables que van a ser leídas separadas por coma (,) y pulsar el botón “Aceptar”.

-Para editar un elemento de asignación, dando doble clic aparece la siguiente ventana:

28C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 29: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

Imagen 7. Botón de Asignación

En la casilla de la izquierda se coloca la variable que va a recibir la asignación y en la casilla de la derecha, el valor, la variable o la operación que se va a asignar, y después se pulsa el botón “Aceptar”.

-Para editar bloque de salida damos doble clic y aparece la siguiente ventana:

Imagen 8. Botón de Salida

Dentro de la casilla mostrar, se deben especificar las variables que van a ser mostradas en pantalla separadas por coma (,) y encerradas entre comillas simples (‘) para que se vean en la pantalla ya que es la información que se muestra durante la ejecución del diagrama. Luego pulsar el botón “Aceptar”.

29C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 30: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

-Para editar el elemento decisión damos doble clic y aparece la siguiente ventana:

Imagen 9. Botón de Decisión

En la casilla escribimos la condición que vamos a evaluar, señalar si la condición verdadera será a la derecha o la izquierda y posteriormente presionamos aceptar.

Autoaprendizaje

A continuación se diseña un algoritmo como ejemplo para trabajar en clase.

Como podemos observar en la imagen, esta impresión es la que aparece al instante de abrir el programa; con un circulo que indica “inicio” y otro que indica “fin”. Tal idea se muestra ya que el programa DFD está encargado de crear diagramas de flujo; los diagramas de flujo se basan en problemas algorítmicos los cuales tienen un proceso; dicho proceso es desarrollado y solucionado a través del programa, y como tal tendrá un inicio y un final; o sea la parte inicial y el momento donde termina el diagrama de flujo o cuando se llega a la solución del problema algorítmico.

30C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 31: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

Imagen 10. Inicio del diagrama

A continuación insertaremos un bloque de salida entre la línea que une el circulo “inicio” con el circulo “fin”

Imagen 11. Inserción de un símboloPara insertar tal bloque nos desplazaremos con el puntero del mouse hasta la barra de botones y haremos clic sobre el botón salida. Seleccionamos el bloque dando clic y para colocarlo sobre la línea; nos ubicamos sobre ella y nuevamente clic.

31C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 32: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

Imagen 12. Como ingresar un texto

Como podemos observar la información que se escribe en este bloque va entre comillas simple („Bienvenido‟) para poder que se muestre; de lo contrario no se verá en la pantalla posteriormente a la ejecución, hacemos clic en Aceptar.

Imagen 13. Resultado después de ingresar un texto

Ahora insertaremos un bloque de lectura; este bloque permite al programa asignar una o varias variables que serán utilizadas posteriormente en un bloque de asignación para arrojar un dato o resultado a través de una operación.

Imagen 14. Ingresar Variables.

Ahora para que los valores ingresados por el usuario obtengan un resultado satisfactorio insertaremos un bloque de asignación, el cual hace la operación utilizando las dos variables que ya insertamos (A y B).

Imagen 15. Asignamos los valores

32C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 33: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

El siguiente paso que arroja el resultado de la operación lo hacemos en un bloque de salida; el cual permite leer la información que va entre comillas simples y los datos, arrojados por el resultado de la suma van colocados sin comillas de la siguiente manera:

Imagen 16. Asignamos los valores

Tras haber conocido estos pasos; a continuación se ejecuta el ejercicio, cuando damos clic en el botón “ejecutar”.

Evaluación

A continuación desarrollo el respectivo pseudocódigo y diagrama de flujo de los siguientes ejercicios:

Desarrolle un algoritmo que permita leer dos números y ordenarlos de menor a mayor, si es el caso.

Desarrolle un algoritmo que permita leer un valor entero positivo N y determinar si es primo o no.

33C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 34: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

Pistas de aprendizaje

Tener en cuenta: Los diagramas de flujos de datos son una técnica de análisis estructurado que van de lo general a lo específico muestran las posibles entradas, procesos y salidas del sistema. Los diagramas son usados cuando los analistas tratan de comprender los requerimientos de información de los usuarios de una manera gráfica utilizando varios símbolos combinados entre sí.

Tener presente: El uso de los diagramas de flujo de datos da ciertas ventajas como pueden ser las siguientes: 

a)    Libertad para realizar en forma temprana la implementación técnica de un sistema.

b)    Mejor comprensión entre las interrelaciones de los sistemas y los subsistemas.

c)     Comunicación del conocimiento del sistema actual a los usuarios por medio de diagramas de flujos de datos.

d)    Análisis de un sistema propuesto para determinar si han sido definidos los datos y los procesos necesarios.

Traer a la memoria: Existen dos tipos de diagramas de flujo de datos: 

a)    El diagrama de flujo de datos lógico que es el que se enfoca en el negocio y en la manera en que opera el negocio. En este diagrama no importa la manera que en el sistema va a ser realizado o construido. Es por esto que solo describe los eventos del negocio que suceden y los datos requerido y producidos por cada evento. La utilización de estos diagramas tiene ciertas ventajas como es que puede existir mejor comunicación con los usuarios, sistemas más estables, que el analista comprenda mejor el funcionamiento del negocio o como se maneja el negocio.

 b)    El diagrama de flujo de datos físico es todo lo contrario, en este diagrama

se muestra cómo va a ser realizado el sistema incluyendo tanto el hardware como el software del sistema. La utilización de los diagramas de flujos de datos físicos también tiene algunas ventajas como son el de calificar los tipos de procesos, describen procesos a mayor detalle, identifican almacenamientos de datos temporales, añaden controles para asegurar que los procesos son realizados adecuadamente.

34C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S

Page 35: Desarrollo Del Modulo (1 Unidad)

F U N D A M E N T O S D E P R O G R A M A C I O N

GLOSARIO LÓGICA: Es una secuencia de operaciones realizadas por el hardware o por

el software. ALGORITMO: Conjunto de sentencias / instrucciones en lenguaje nativo, los cuales

expresan la lógica de un programa. DIAGRAMA  DE FLUJO: Es la representación gráfica de una secuencia de

instrucciones de un programa que ejecuta un computador para obtener un resultado determinado.

CÓDIGO  FUENTE: Programa en su forma original, tal y como fue escrito por el programador, el código fuente no es ejecutable directamente por el computador, debe convertirse en lenguaje de maquina mediante compiladores, ensambladores o intérpretes.

VARIABLE: En programación es una estructura que contiene datos y recibe un nombre único dado por el programador, mantiene los datos asignados a ella hasta que un nuevo valor se le asigne o hasta que el programa termine.

CONSTANTE: Valor o conjunto de caracteres que permanecen invariables durante la ejecución del programa.

ACUMULADOR: Campo o variable que sirve para llevar una suma o cuenta de diferentes valores.

DATO: El término que usamos para describir las señales con las cuales trabaja la computadora es dato; Aunque las palabras dato e información muchas veces son usada indistintamente, si existe una diferencia importante entre ellas. En un sentido estricto, los datos son las señales individuales en bruto y sin ningún significado que manipulan las computadoras para producir información.

PROGRAMA: Es una colección de instrucciones que indican a la computadora que debe hacer. Un programa se denomina software, por lo tanto, programa, software e instrucción son sinónimos.

PROGRAMA FUENTE: Instrucción escrita por el programador en un lenguaje de programación para plantear al computador el proceso que debe ejecutar.

PSEUDOCODIGO: Herramienta de análisis de programación. Versiones falsificadas y abreviadas de las actuales instrucciones de computadora que son escritas en lenguaje ordinario natural.

SUBRUTINA: Programa (conjunto de instrucciones), que desde otro programa se pueden llamar a ejecución ó bien se puede, decir grupo de instrucciones que realizan una función específica, tal como una función o marco. Una subrutina grande se denomina usualmente * * MODULO * * ó * *PROCEDIMIENTO * *, pero todos los términos se utilizan de manera alternativa.

Cibergrafia

http://es.wikipedia.org/wiki/Bubblesort http://sistemas.itlp.edu.mx/tutoriales/estructdatos2/tema5_1.htm http://macabremoon0.tripod.com/id13.html http://clintyanyurbis-diagramasdeflujo.blogspot.com/2007/07/diagramas-de-

flujo.html

35C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y T e c n o l o g i a C I B E R C T E C S A S