1.75k likes | 2k Views
Programación Procedural. M.C. Juan Carlos Olivares Rojas. Este material se distribuye bajo una licencia Creative Commons Reconocimiento 2.5 México. Usted es libre de: copiar, distribuir y comunicar públicamente la obra hacer obras derivadas Bajo las condiciones siguientes:
E N D
Programación Procedural M.C. Juan Carlos Olivares Rojas
Este material se distribuye bajo una licencia Creative Commons Reconocimiento 2.5 México. Usted es libre de: copiar, distribuir y comunicar públicamente la obra hacer obras derivadas • Bajo las condiciones siguientes: Reconocimiento. Debe reconocer y dar crédito al autor original (Juan Carlos Olivares Rojas)
Agenda 2.1 Características principales de los lenguajes procedurales 2.2 Lenguajes representativos: FORTRAN, C.
Introducción Este tipo de programación se basa en la modularidad de los programas. Esto quiere decir que los programas se dividen en módulos más pequeños, y cada uno realiza una tarea específica. Así, la complejidad de un problema determinado también se ve reducida al dividir las tareas, que, en su conjunto, permiten la resolución de éste.
Introducción En el pasado la programación no estaba estructurada por lo que se tenía el código GO TO que hacía al código verse como espagueti. La programación modular permite reutilizar código y hacer los programas más fáciles de elaborar.
Pasos para resolver un problema: Definición del problema Diseño del algoritmo para resolverlo Transformación del algoritmo en un programa Ejecución y validación del programa Problema Diseño del algoritmo Programa de computadora Ejecución y validación
¿Que es un algoritmo? Un algoritmo es la secuencia ordenada de pasos que conducen a la solución de un problema dado, y puede ser expresado en lenguaje natural, por ejemplo el castellano
Características de un algoritmo Preciso. Indicar el orden de realización de cada paso Definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez. Finito. Debe terminar el algún momento
Algoritmo para hacer una taza de té Inicio Tomar la tetera Llenarla de agua Encender el fuego Mientras no hierva el agua Esperar Introducir una bolsa de té en la tetera Vaciar el té en la taza fin
Ejemplo Construya un algoritmo para preparar “Pechugas de pollo en salsa de elote y chile poblano”: Ingredientes (para 6 personas) 3 Pechugas deshuesadas, sin piel y partidas a la mitad. 1 diente de ajo 4 gramos de pimienta negra. Sal. 6 cucharadas de aceite 5 chiles poblanos asados y limpios. ½ Taza de leche. ¼ Taza de crema ligera. 1 lata de crema de elote. 10
Ejemplo Algoritmo (Preparación): Muela el ajo, la pimienta y un poco de sal y únteselo a las pechugas. Caliente el aceite y dore las pechugas. Licue los chiles con la leche y la crema, y mézclelos con la crema de elote. En una fuente coloque las pechugas y báñelas con la mezcla anterior. Cubra el platón con papel aluminio y hornee a 200 °C, durante 15 minutos. 11
Otros ejemplos de algoritmos Las instrucciones o serie de pasos que sigues para grabar un número telefónico en tu celular. Las instrucciones que te dan para resolver un examen. Los pasos que sigues para prender el carbón para una carne asada El procedimiento que sigues para inscribirte EL procedimiento para obtener tu pasaporte La receta que sigues para preparar un pastel Los pasos para invitar a alguien al cine
Introducción • Existen varias formas de representar soluciones a problemas, como son algoritmos, lenguaje estructurado, seudocódigo, diagramas de flujo, etc. • Estas herramientas no son lenguajes de programación y por lo tanto una computadora no tiene capacidad para procesarlos, su propósito es proporcionar una manera de documentar sus ideas para el diseño de programas.
Introducción • Es un sistema de notación para algoritmos que se han descrito como una mezcla de lenguaje común y su lenguaje de programación favorito. • El pseudocódigo está menos formalizado que el lenguaje estructurado de modo que la estructura y la redacción dependen del usuario.
Introducción • Cuando se escribe pseudocódigo, se permite incorporar palabras de comandos y sintaxis del lenguaje computacional que se pretende usar para el programa actual. • Otras formas de representación son los diagramas de flujo, los cuales muestran de manera gráfica como resolver problemas.
Diagramas Nassi-Scneiderman • Conocidos como Diagramas N-S o Diagramas de Chapin. Las acciones se escriben dentro de cajas sucesivas.
Ejercicio • Realizar el siguiente algoritmo REGISTRO DE VENDEDORES. • Una tienda emplea un cierto número de vendedores. La mayoría de estos empleados obtienen sus ingresos de comisiones sobre los artículos que venden, pero existen algunos empleados que obtienen su salario fijo, sin importar el tipo o cantidad de artículos que venden, más una comisión por sobre ciertos artículos. • La tienda ofrece distintos tipos de mercancías, algunas de las cuales se clasifican como artículos estándar por que son de uso común y no requieren de técnicas creativas de venta; además, hay artículos que son altamente remunerados pero difíciles de vender.
Ejercicio • Los compradores también se clasifican. Algunos se conocen como compradores regulares, pues hacen transacciones tan a menudo que no se requiere de hacerles venta creativa. Sin embargo, la mayoría de los clientes hacen pocas transacciones dentro de la tienda, y es probable que entren, compren algo y no vuelvan a ser vistos.
Ejercicio • Si un empleado vende cualquier tipo de artículo a un cliente regular, no se da comisión alguna. • Si un empleado asalariado vende un artículo extra, recibe una comisión del 10% a menos que el artículo tenga un precio mayor de $10,000, en cuyo caso recibe una comisión del 15%.
Ejercicio • Si un empleado no asalariado vende un artículo extra a alguien que no sea un comprador regular, recibe un 15% de comisión a menos que el artículo tenga un precio mayor a $10,000 en cuyo caso recibe una comisión del 20%. Si un empleado asalariado vende un artículo estándar recibe un 3% de comisión, en caso de ser un empleado no asalariado recibe un 7%.
Diagrama de Flujo “Cálculo de comisión”
Características Los primeros programas modulares y que contribuyeron al desarrollo del paradigma procedimental fueron los macroensambladores que permitieron reutilizar código fuente A continuación se muestran las principales características que presentan los lenguajes con paradigma procedimental.
Estructura Selectiva Diagrama de Flujo Diagrama N-S Pseudocódigo si <condición> entonces acción 1 fin_si
Estructura Selectiva Doble Diagrama N-S Pseudocódigo Diagrama de Flujo si <condición> entonces acción 1 si_no acción 2 fin_si
Estructura Selectiva Múltiple Diagrama de Flujo Diagrama N-S
Estructura Selectiva Múltiple Estructura Selectiva Múltiple Pseudocódigo según_sea <expresión> hacer <lista 1> : acción 1 <lista 2> : acción 2 . . . [si_no acción n] fin_según
Estructura Repetitiva Diagrama de Flujo Diagrama N-S Pseudocódigo mientras <expresión lógica> hacer acción fin_mientras
Estructura Repetitiva Diagrama de Flujo Diagrama N-S Pseudocódigo repetir acción hasta_que <expresión lógica>
Estructura Anidada Pseudocódigo • Tanto las estructuras selectivas como las repetitivas pueden ser anidadas, e introducidas unas en el interior de las otras. si <condición1> entonces <acciónes1> si_no si <condición2> entonces <acciones2> si_no si <condición3> entonces <acciones3> si_no <accionesX> fin_si fin_si fin_si
Fortran Es el lenguaje de programación de computadoras más antiguo. Se originó en 1957 por IBM. El nombre viene de Formula Translator, el cual se orientó a cálculos científicos. Existen varios compiladores de Fortran, en este curso se utilizarán el GNU Fortran.
Fortran Existen varios dialectos de FORTRAN siendo los más representativos, Fortran IV, Fortran 77, Fortran 95 y Fortran 2003. La versión manejada en este curso es el compilador g95 que también incluye aspectos de la versión 2003.
Fortran Una vez instalado el compilador, los programas se editan utilizando un editor de texto plano y compilando desde línea de comandos. Los archivos de código fuente deben de tener la extensión .f o .for; existen algunos compiladores que reconocen otras extensiones.
Fortran El proceso de compilación se realiza identificando la carpeta bin y se ejecuta el comando: >_ g95 archivo.f –o ejecutable Donde con la opción –o se renombra el ejecutable en caso contrario el archivo ejecutable pasará a llamarse a.exe
Fortran La estructura de un programa es la siguiente: C Estructura de un programa en Fortran Program nombre Bloque de instrucciones End !Declaraciones de funciones y rutinas
Fortran Nótese que el programa en sus palabras clave pueden ir en mayúsculas y minúsculas. Se acostumbra que todas las palabras clave se hagan en mayúsculas. También es ampliamente recomendable poner comentarios, los cuales inician con la letra C al inicio de renglón o bien con ! En cualquier parte del código.
Fortran Es de suma importancia dejar el programa de forma tabular, ya que los primeros 6 caracteres están reservados para etiquetas que generalmente son números. Si no se deja dicho espacio el programa no compilará bien. En Fortran es posible no realizar programación estructurada por lo que se debe evitar la instrucción GO TO
Fortran El nombre del programa debe de ser un identificador válido (comenzar con al menos una letra) El sistema no es fuertemente tipeado por lo que se pueden utilizar variables sin declararlas. Se debe de terminar el programa principal con la instrucción end.
Fortran C Programa hola mundo PROGRAM hola WRITE(*,*) ‘Hola mundo’ !Pantalla END Se recomienda sangrar el código. La salida estándar es el monitor y se utiliza la instrucción WRITE.
Fortran La instrucción WRITE tiene dos argumentos, el primero de ellos indica el dispositivo de salida y el segundo formato. Si se utiliza el operador * o bien se omiten los parámetros de la instrucción, se utiliza