1 / 142

Programación Procedural

Programación Procedural. M.C. Juan Carlos Olivares Rojas. jolivares@uvaq.edu.mx http://antares.itmorelia.edu.mx/~jcolivar Agosto, 2009. Agenda. 2.1 Características principales de los lenguajes procedurales 2.2 Lenguajes representativos: C y AJAX. Introducción.

faith
Download Presentation

Programación Procedural

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programación Procedural M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx http://antares.itmorelia.edu.mx/~jcolivar Agosto, 2009

  2. Agenda 2.1 Características principales de los lenguajes procedurales 2.2 Lenguajes representativos: C y AJAX.

  3. 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.

  4. 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.

  5. 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

  6. ¿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

  7. 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

  8. 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

  9. 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

  12. 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.

  13. 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.

  14. 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.

  15. Símbolos del diagrama de Flujo

  16. Símbolos del diagrama de Flujo

  17. Símbolos del diagrama de Flujo

  18. Símbolos del diagrama de Flujo

  19. Símbolos del diagrama de Flujo

  20. Símbolos del diagrama de Flujo

  21. Diagramas Nassi-Scneiderman • Conocidos como Diagramas N-S o Diagramas de Chapin. Las acciones se escriben dentro de cajas sucesivas.

  22. 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.

  23. 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.

  24. 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%.

  25. 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%.

  26. Ejercicio Realizar este problema en lenguaje C o en algún otro lenguaje procedimental. La E de datos se da desde línea de comandos, la salida se mostrará en pantalla. El entorno deberá de ser de preferencia un sistema *X.

  27. Programación en C en UNIX Por default el sistema operativo Unix y variantes está hecho en C. Los programas se compilan con la opción gcc archivo.c –o nombre. Se deberá asegurar que se tengan permisos de ejecución. Sino aplicar chmod +a nombre

  28. Programación en C en UNIX Aplica exactamente el mismo lenguaje ANSI C por lo que la portabilidad está garantizada a otras plataformas. Los tipos de datos varían de acuerdo a la arquitectura de computadoras utilizada. Se puede conocer a través del comando sizeof(). Se utiliza mucho la línea de argumentos para pasar valores.

  29. Pseudocódigo

  30. Diagrama de Flujo “Cálculo de comisión”

  31. Ejercicio resuelto

  32. 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. Se dará un repaso de cómo se implementan estas en Lenguaje C.

  33. SENTENCIAS DE CONTROL

  34. Estructura Selectiva Diagrama de Flujo Diagrama N-S Pseudocódigo si <condición> entonces acción 1 fin_si

  35. 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

  36. Estructura Selectiva Múltiple Diagrama de Flujo Diagrama N-S

  37. 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

  38. Estructura Repetitiva Diagrama de Flujo Diagrama N-S Pseudocódigo mientras <expresión lógica> hacer acción fin_mientras

  39. Estructura Repetitiva Diagrama de Flujo Diagrama N-S Pseudocódigo repetir acción hasta_que <expresión lógica>

  40. 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

  41. C Actividad: Desarrollar un programa para calcular el área de un triángulo conociendo solamente la longitud de sus tres lados. ¿Qué se necesita? Entender el problema. La fórmula es: S = (A + B + C)/2

  42. C Donde A, B y C son los lados del triangulo. Después se aplica la fórmula: Se debe utilizar la función sqrt dentro de la biblioteca math.h

  43. C Realizar un programa que permita jugar “Craps”. Dicho juego consiste en lanzar dos dados (simulación realizada a través de una función que se invoque dos veces) y sumar la puntuación. Si la suma de los dados da 2,3 o 12 el usuario pierde inmediatamente. El programa deberá manejar funciones

  44. C Si la suma da 7 u 11 el usuario gana. Si da cualquier otra combinación 4,5,6,8,9 o 10, el usuario tiene otra segunda oportunidad. El programa debe de pedir al usuario la cantidad de dinero con la que cuenta el usuario. Por cada juego se debe pedir la apuesta. Se debe sumar o restar dependiendo de si ganó o perdió el juego. El juego termina hasta tener 0 pesos o bien que el usuario decida salir.

  45. C Actividad: realizar un programa que permita simular una partida de póker. El usuario deberá tener 5 cartas. La simulación consiste en repartir aleatoriamente cartas. Del 1 al 10 las cartas de corazones (donde el 1 representa el as), del 11 al 20 los diamantes (por ejemplo el 13) indica que se sacó el tres de diamantes, del 21 al 30 el trebol, y del 31 al 40 las picas. Los jotos están representados del 41 al 44, donde el 41 representa el joto de corazones y así sucesivamente.

  46. C Las reinas están representadas del 51 al 54 (por ejemplo el 52 representa la reina de diamantes), y los reyes están del 61 al 64 (donde el 64 es el rey de picas). No se deberán repartir cartas. Se debe indicar si se hizo alguna jugada válida del póker (par, dos pares, tercia, full (tercia, par), póker (4 figuras igual), flor y flor imperial).

  47. C Actividad: realizar un programa que permita calcular la exponencial de un número dado.

  48. C Actividad: Resolver un sistema de ecuaciones de tamaño n con n incógnitas por la Regla de Cramer y el Método Gauss-Jordan. Determinantes.

  49. C Actividad: Realizar otro programa que permita determinar la multiplicación y la división de un número entero por dos. Se debe de hacer con operadores de bits. Actividad: realizar un programa que permita determinar si un número tiene paridad par o impar, considerar todos los bits menos el más significativo, el cual deberá contener un 0 si es paridad par o un 1 si es paridad impar.

  50. Programación Distribuida La programación distribuida o programación en red implica todo un cambio de paradigmas en la forma de pensar los programas. La arquitectura más conocida es la cliente/servidor por lo que la lógica de la aplicación se ve dividida en dos grandes bloques: la lógica de la aplicación o modelo y los datos en el lado del servidor y la presentación en el lado del cliente.

More Related