Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Presentacin.
Daniel Alejandro Garca Lpez
Estudios de Licenciatura: Tecnolgico de Villahermosa Ingeniera en sistemas computacionales, especialidad en redes y sistemas distribuidos. Estudios de Maestra: Universidad Veracruzana Maestra en Inteligencia Artificial. dalexgarcia@gmail.com
Introduccin a la programacin estructurada 2
Bibliografa recomendada
Fundamentos de programacin, Algoritmos y Estructura de datos y
Objetos, Joyanes, Luis, Editorial McGraw Hill, 2003. Metodologa de la programacin estructurada, Joyanes, Luis, Editorial McGraw Hill, 1993. El lenguaje de programacin C, Kernighan y Ritchie, Editorial Prentice Hall, 1991. Como programar en C/C++ , H.M. Deitel and P.J. Deitel, Ed. Prentice Hall, 1994, 2da. edicin Algortmica [en lnea]. Universidad de las Palmas de Gran Canaria[fecha de consulta: 30 de septiembre del 2009]. Disponible en <http://www.ulpgc.es/otros/tutoriales/mtutor/indice.html>. Dr. Roberto Gmez Crdenas. Curso Bsico de Lenguaje C [en lnea]. Instituto Tecnolgico y de Estudios Superiores de Monterrey. [fecha de consulta: 30 de septiembre del 2009]. Disponible en < http://homepage.cem.itesm.mx/rogomez/Tutorial-LengC/ >.
Introduccin a la programacin estructurada 4
Tema 1
1. EL LENGUAJE DE PROGRAMACIN ANSI C.
1.1. Introduccin a la programacin estructurada. 1.2. Estructura de un programa. 1.3. Tipos de datos. 1.4. Operadores. 1.5. Ejemplos de instrucciones de entrada y salida.
Ada Lovelace
Tomado de : http://www.mailxmail.com/cursointroduccion-lenguaje-pascal/programaciondescendente-top-down
http://www.metrasupport.com/images/int egracion-boton%20copy.jpg
Tema 2
2. ESTRUCTURAS DE CONTROL.
2.1. Secuencial. 2.2. Selectivas. 2.3. Iterativas.
10
Tema 3
3. FUNCIONES.
3.1 Definicin de funciones. 3.2 Funciones con paso de parmetros por valor. 3.3 Funciones con paso de parmetros por referencia. 3.4 Funciones recursivas.
11
12
Tema 4.
4. ARREGLOS.
4.1 Arreglos unidimensionales. 4.2 Arreglos bidimensionales. 4.3 Arreglos multidimensionales. 4.4 Arreglos como parmetros.
13
14
Tema 5
5. APUNTADORES.
5.1 Apuntadores. 5.2 Aritmtica de apuntadores. 5.3 Memoria esttica y dinmica. 5.4 Arreglos dinmicos de una y dos dimensiones. 5.5 Funciones como parmetros.
15
Tema 6
6. TIPOS DE DATOS DEFINIDOS POR EL
PROGRAMADOR. 6.1 Introduccin al tipo de dato abstracto. 6.2 Implementacin de un tipo de dato abstracto. 6.3 Tipos de datos abstractos como parmetros. 6.4 Arreglos de tipos de datos abstractos.
16
Tema 7
7. ARCHIVOS.
7.1 Operaciones bsicas. 7.2 Texto y binarios. 7.3 Acceso secuencial y directo.
17
Tarea
Realizar la lectura y entregar un ensayo individual(no
resumen) con un mnimo de 1000 palabras del primer ejercicio que se encuentra en la pgina del curso(Fecha de entrega Viernes 9 de Octubre del 2009, antes de las 18:00 hrs).
Lecturas para ensayo sobre Ada Lovelace y Biografa(
Ingls)
18
Conceptos
Metodologa: Conjunto de procedimientos, tcnicas,
herramientas y un soporte documental que ayuda a los desarrolladores a realizar nuevo software. Estructura: Es la descomposicin ordenada de las partes de un todo. Conjunto de elementos interrelacionados que forman un todo. Programacin estructurada: Consiste en el diseo, escritura y prueba de un programa, construido con estructura.
19
Metodologa de la programacin
Es la tcnica que permite que la programacin sea lo
ms eficaz posible en cuanto al desarrollo y mantenimiento. Conjunto de principios generales que un programador ha de seguir para desarrollar un programa
20
Metodologas de programacin
Programacin convencional
Programacin Estructurada Programacin Modular Programacin orientada a objetos.
21
(denominadas objetos) que colaboran entre ellos para desempear una serie de servicios. Esos servicios se solicitan por medio del intercambio de mensajes. Todos los objetos del modelo pertenecen a algn tipo (Clase). El principio fundamental es que un Objeto es la representacin de un concepto. Como tal, tendr unas caractersticas (atributos) y un comportamiento, plasmado en una serie de operaciones.
Introduccin a la programacin estructurada 22
corrigiendo sus errores. Los programadores prefieren escribir sus mdulos. Cada programador tiene sus propios programas Elevado coste de actualizacin. Deficiencias en la documentacin.
23
de los documentos y sus formatos. Sustitucin, ampliacin o reduccin en el sistema de procesos de datos.
24
programador. Modificable. Su estructura debe permitir modificaciones. Depurable. Debe ser fcil la localizacin y correccin de errores.
25
Concepto de Mdulo
Esta constituido por una o varias instrucciones
fsicamente contiguas lgicamente encadenadas, las cuales se pueden referenciar mediante un nombre y pueden ser llamadas desde diferentes puntos de un programa. Un modulo puede ser un programa, una funcin, una subrutina(procedimiento).
26
Programacin modular
Descomponer un programa en un nmero pequeo de
abstracciones coherentes que pertenecen al dominio del problema y enmascaran la complejidad interna. Mtodo de diseo que tiende a dividir el problema, de forma lgica, en partes perfectamente diferenciadas que pueden ser analizadas, programadas y puesta a punto independientemente.
27
en diferentes programas.
28
Programacin estructurada
Tcnica de construccin de programas que utilizan al
mximo los recursos del lenguaje, limita el conjunto de estructuras aplicables a leer y presenta una serie de reglas que coordinan adecuadamente el desarrollo de las diferentes fases de la programacin.
Estructuras bsicas de control. Recursos abstractos Diseo descendente
29
establece que un programa propio puede ser escrito utilizando solamente las siguientes estructuras lgicas de control: secuencia, seleccin e iteracin. Un programa se define como propio si cumple con los dos requerimientos siguientes:
Tiene exactamente una entrada y una salida para control
del programa. Existen caminos seguibles desde la entrada hasta la salida que conducen por cada parte del programa, es decir, no existen lazos infinitos ni instrucciones que no se ejecutan Introduccin a la programacin estructurada
30
Recursos abstractos
Disear o concebir un problema en trminos
abstractos consiste en no tener en cuenta la mquina que lo va a resolver as como el lenguaje de programacin que se va a utilizar. Ejemplo : El concepto de variable implica una abstraccin cuando se da un nombre a una operacin determinada, y se utiliza considerando lo que hace pero sin preocuparnos de cmo lo hace.
31
Metodologa descendente
Consiste en establecer una serie de niveles de menor o
mayor complejidad que den solucin al problema. Un programa estructurado tiene una representacin en forma de rbol. El diseo se basa en la realizacin de diferentes niveles.
32
estructura del programa y en su nivel de detalle. De la definicin inicial del problema se pasa a un esquema de algoritmo descrito en pseudocdigo. Independencia inicial del lenguaje. Diseo por niveles. Verificar en cada nivel el esquema correcto. Finalizar con un trabajo de recomposicin del algoritmo completo.
Introduccin a la programacin estructurada 33
CLS A=10 INPUT B IF B=A THEN GOTO 50 ELSE GOTO 70 PRINT A Y B SON IGUALES GOTO 100 IF A>B THEN GOTO 80 ELSE GOTO 90 B=B+1; GOTO 40 B=B-1; GOTO 40 END Introduccin a la programacin estructurada
34
UNTIL B=A;
END;
Introduccin a la programacin estructurada 35
PROCEDURE REDUCEDIFERENCIA(A,B);
BEGIN IF A>B THEN B:= B+1
END
36
internamente.
37
DIJKSTRA 1974 Tcnicas de programacin estructurada de WARNIER y JACKSON 1975 Primeros conceptos sobre diseo estructurado de MYERS y YOURDON 1978 Anlisis estructurado: DEMARCO y WEINBERG 1985 Anlisis y Diseo estructurado para sistemas de tiempo real de WARD y MELLOR 1987 Anlisis y Diseo estructurado para sistemas de tiempo real HATLEY y PIRKBAY Introduccin a la programacin estructurada 38
Referencias
Metodologa de la programacin estructurada, Joyanes,
Luis, Editorial McGraw Hill, 1993. Colaboradores de Wikipedia. Programacin estructurada [en lnea]. Wikipedia, La enciclopedia libre, 2009 [fecha de consulta: 30 de septiembre del 2009]. Disponible en <http://es.wikipedia.org/w/index.php?title=Programaci%C 3%B3n_estructurada&oldid=30205148>. Colaboradores de Wikipedia. Vector (informtica) [en lnea]. Wikipedia, La enciclopedia libre, 2009 [fecha de consulta: 2 de octubre del 2009]. Disponible en <http://es.wikipedia.org/w/index.php?title=Vector_(infor m%C3%A1tica)&oldid=30249361>.
Introduccin a la programacin estructurada 39