Вы находитесь на странице: 1из 12

Instituto Universitario del Prado

Asignatura: Tema 1: Fundamentos de Programacin Resoluciones de problemas por ordenador

1.1. Introduccin al procesamiento de informacin Procesamiento de datos Por estos trminos se entienden habitualmente las tcnicas elctricas, electrnicas o mecnicas usadas para manipular datos para el empleo humano o de mquinas. Con base en la comparacin actual entre computadoras y cerebros Porqu no invertir la situacin y afirmar que el cerebro es capaz de procesar datos? Los datos son smbolo lingsticos o numricos que pueden representar algo concreto o abstracto, como lo son: 1, 2, 3. En el momento de enlazar datos; por ejemplo 1, 2, 3 = ventas diarias de enero 1, 2, 3, los datos se convierten en informacin. Es habitual que los datos se confundan con informacin. El trmino sistema se define como el conjunto de individuos u objetos interrelacionados que concurren a un mismo fin; es decir, que realizan una misma funcin con un mismo propsito. Los integrantes se modifican entre s y los agentes externos modifican al sistema. Procesamiento es cualquier accin que se ejecuta; en este caso sobre los datos y que logra en ellos una transformacin. Podemos concluir que el procesamiento de datos es cualquier ordenacin o tratamiento de los mismos, o de elementos bsicos de informacin, mediante el empleo de un sistema. La informacin se logra cuando se transforman los datos y, ya procesados, llegan a ser tiles para una persona determinada. Quin procesa los datos realiza un control de calidad sobre los mismos. Cmo sabe ste si finalmente su trabajo ha cumplido o no su objetivo? Mediante la recepcin de una respuesta inteligente del otro. A travs del siguiente cuadro sinptico se puede resumir el sistema de procesamiento de datos:

Un dato se define como la principal unidad, la unidad ms simple de la informacin. Puede ser:
1/11

Mtro. Alejandro Salazar Guerrero

Documento: cualquier cosa, especialmente escrita, que ilustre o sirva para comprobar algo. Fundamento o elemento bsico: principio, base u origen de una cosa. Antecedente o noticia: que sirva de punto de partida en la investigacin para obtener cualquier tipo de informacin.

Dato es la representacin convencional de ideas o hechos capaces de ser comunicados o manipulados por medio de algn proceso. Es el primer trmino necesario para formar idea de una cosa o deducir las consecuencias de algn hecho. Para definirlo con mayor precisin, dato es la representacin de la observacin de un atributo cualquiera sin ninguna clase de proceso. Con base en lo anterior, si se observa algo, como seales o atributos, esa observacin es para el observador un dato. Hay que separar el concepto de dato del concepto de informacin. El dato implica la observacin pura, dato es la simple observacin de un hecho. Sistema de Procesamiento de Datos Procesar datos es generar informacin para la toma de decisiones. Para llegar a comprender la correcta definicin de procesamiento de datos, es necesario tomar como base la utilidad del modelo matemtico. Por ejemplo, para mostrar una venta, el modelo matemtico nos sirve para hacer una factura, que representa un acto de compra-venta. Es as como una situacin que no puede representarse, se resuelve usando un sistema. Este fenmeno se transmite en todos los rdenes de la vida; en este sentido los conocimientos que uno tiene son siempre relativos a un modelo. Los elementos invariantes de un sistema de procesamiento de datos, que conforman un modelo, son: Dato Proceso Concepto de informacin

El resto depende del hombre y su voluntad de realizar algo. En este caso, de aportar los datos; inventar los programas y obtener los resultados. El proceso empieza y termina con la persona. Procesar datos implica: Elaborar las normas administrativas necesarias para que el dato llegue al proceso en tiempo y forma. Definir cul ser la utilidad de ese dato.

Mtro. Alejandro Salazar Guerrero

2/11

Cada proceso tiene como finalidad la obtencin de una informacin determinada. Una vez obtenido el proceso, es necesario observar el resultado obtenido por nuestro sistema y analizar su coherencia, a travs de un determinado control de calidad. Un dato es todo aquello que ingresa a un proceso, el cual consta de cuatro subprocesos constantes e invariables: 1) 2) 3) 4) Ingreso (del dato) Memorizacin Proceso Salida (de la informacin)

En un proceso pueden existir variaciones y puede suceder que no haya transformacin de datos; por ejemplo, una lista ya conformada, pero que requiera de un proceso para ordenarla e imprimirla. En este caso, la informacin prcticamente es el dato. De igual manera, pueden existir muchos procesos con pocos datos, como en el caso de un programa de contabilidad, en el que los datos son ingresados una sola vez, pero con esos se obtienen diversas informaciones (asientos, balances y ajustes, entre otras.) El ingreso de los datos se clasifica en: Manual: puede ser mediante teclado, medio magntico, medio ptico, scanner, cmara, o cualquier medio por el cual el hombre interviene directamente. Automtico: a travs de una interfase automtica entre maquinas o al interior de estas.

La memorizacin es automatizada, mediante la utilizacin de un software en un dispositivo de almacenamiento y la salida se refiere a la produccin de la informacin que es til para un usuario determinado.

1.2. Fases en la resolucin de problemas La principal razn para que las personas aprendan a programar en general y los lenguajes de programacin en particular es utilizar la computadora como una herramienta para la resolucin de problemas, que se divide en tres fases: 1. Anlisis del problema: requiere que el problema sea definido y comprendido claramente para que pueda ser analizado a detalle.

Mtro. Alejandro Salazar Guerrero

3/11

2.

Diseo o desarrollo del algoritmo: constituye un procedimiento paso a paso para solucionar el problema determinado. Resolucin del algoritmo en la computadora: requiere codificar el algoritmo en un lenguaje de programacin Pascal, C/++, Cobol o Fortran, entre otros. Es decir, convertir el algoritmo en programa, ejecutarlo y comprobar que el programa soluciona verdaderamente el problema, como se indica en la siguiente figura:

3.

1.3. Anlisis del problema El propsito del anlisis de un problema es que el programador comprenda su naturaleza. Para llegar a su eficaz solucin, se requiere: Una buena definicin del problema. Una descripcin detallada de las especificaciones de entrada y salida.

El anlisis del problema exige una lectura previa del mismo, a fin de obtener una idea general de lo que se requiere. La segunda lectura deber servir para resolver las siguientes preguntas: Qu informacin debe proporcionar su resolucin? Su respuesta indicar los resultados que requieren arrojar las salidas. Qu datos se necesitan para resolverlo? Su respuesta indicar los datos que requieren las entradas.

Mtro. Alejandro Salazar Guerrero

4/11

En el problema especfico de lectura del radio de un crculo, para calcular e imprimir su superficie y la longitud de la circunferencia: Las entradas de datos se concentrarn en el radio del crculo y el tipo de datos radio deber ser real, considerando que el radio puede tomar cualquier valor dentro del rango de los nmeros reales. Las salidas sern dos variables tambin de tipo real: superficie y circunferencia. Entradas: radio del circulo (variable RADIO). Salidas: superficie del circulo (variable rea). Circunferencia del circulo (variable Circunferencia). Variables: Radio, rea y circunferencia (tipo real). 1.4. Diseo del algoritmo Una computadora slo tiene capacidad para solucionar problemas cuando se le proporcionan los pasos sucesivos a realizar, que indican las instrucciones a ejecutar por la mquina y constituyen el algoritmo. La informacin proporcionada al algoritmo, constituye su entrada y la informacin producida por el algoritmo constituye su salida. Los problemas complejos se pueden resolver ms eficazmente con la computadora, cuando se dividen en subproblemas ms sencillos de solucionar que el original. A este mtodo se le conoce comnmente como divide y vencers (divide and conquer). A la descomposicin del problema original en subproblemas ms simples y la posterior divisin de estos ltimos en otros ms sencillos que puedan ser implementados para su solucin en la computadora, se le denomina diseo descendente (top-down design). Normalmente los pasos diseados en el primer esbozo del algoritmo son incompletos e indicaran solo unos pocos pasos (un mximo de doce aproximadamente). Tras esta primera descripcin, estos se amplan en una descripcin ms detallada con ms pasos especficos. Este proceso se denomina refinamiento del algoritmo (stepwise refinement). Para problemas complejos se necesitan con frecuencia diferentes niveles de refinamiento antes de que se pueda obtener un algoritmo claro, preciso y completo. A continuacin encontraremos el problema de encontrar la superficie y longitud de un crculo, a travs del proceso de refinamiento del algoritmo:

Mtro. Alejandro Salazar Guerrero

5/11

Este problema se puede descomponer en subproblemas ms simples: 1. 2. 3. Leer datos de entrada. Calcular la superficie y longitud de la circunferencia. Escribir resultados (datos de salida).

________________________________________________________________ Subproblema Refinamiento ________________________________________________________________ leer radio leer radio calcular superficie superficie=3.141592 * radio^2 calcular circunferencia circunferencia =2 * 3.141592 * radio escribir resultados escribir radio, circunferencia, superficie Las ventajas ms importantes del diseo descendente son: El problema se comprende con mayor facilidad al dividirse en partes ms simples denominadas mdulos. Las modificaciones en los mdulos son ms sencillas. La comprobacin del problema se puede verificar de forma ms expedita.

Con base en los procesos anteriores (diseo descendente y refinamiento por pasos) es preciso representar el algoritmo mediante cualquiera de las siguientes herramientas de programacin: Diagrama de flujo Pseudocdigo

Mtro. Alejandro Salazar Guerrero

6/11

Diagrama N.S.

1.5. Implementacin y pruebas Cabe recordar que el sistema para describir (escribir) un algoritmo consiste en realizar una descripcin, paso a paso, con un lenguaje natural del mismo. Recordemos que un algoritmo es un mtodo o un conjunto de reglas para solucionar un problema. En clculos elementales estas reglas tienen las siguientes propiedades: Deben de estar seguidas de algunas secuencias definidas de pasos hasta que se obtenga un resultado coherente. Slo puede ejecutarse una operacin a la vez.

El flujo de control usual de un algoritmo es secuencial. Consideremos el algoritmo que responde a la pregunta: Qu hacer para ver la pelcula Tiburn? La respuesta es muy sencilla y puede ser descrita en forma de algoritmo, general de modo similar a: 1. 2. Ir al cine. Comprar una entrada.

Mtro. Alejandro Salazar Guerrero

7/11

3. 4.

Ver la pelcula. Regresar a casa.

El algoritmo consta de cuatro acciones bsicas, cada una de las cuales debe ser ejecutada antes de realizar la siguiente. En trminos de computadora, cada accin se codificar en una o varias sentencias que ejecutan una tarea particular. El algoritmo descrito es muy sencillo. Sin embargo, como se ha indicado en prrafos anteriores, el algoritmo general se descompondr en pasos ms simples en un procedimiento denominado refinamiento sucesivo, ya que cada accin puede descomponerse a su vez en otras acciones simples.

Un primer refinamiento del algoritmo ir al cine se puede describir de la siguiente forma: 1. 2. 3. Inicio Ver la cartelera de cines en el peridico. Si no proyectan Tiburn: 3.1. 3.2. Decidir otra actividad Bifurcar al paso 7 si_no Ir al cine. fin_si

3.3

4.

Si hay cola 4.1 4.2 Formarse Mientras haya personas delante hacer 4.2.1 Avanzar en la cola fin_mientras fin_si

5.

Si hay localidades entonces 5.1 Comprar una entrada.


8/11

Mtro. Alejandro Salazar Guerrero

5.2 5.3 5.4

Pasar a la sala. Localizar la(s) butaca(s). Mientras proyectan la pelcula hacer 5.4.1 Ver la pelcula fin_mientras

5.5

Abandonar el cine si_no Refunfuar fin_si

5.6

6. 7.

Volver a casa Fin

En el algoritmo anterior existen diferentes aspectos a considerar: 1. Ciertas palabras reservadas se han escrito deliberadamente en negrita (mientras, si no, etc.), las cuales describen las estructuras de control fundamentales y procesos de toma de decisin en el algoritmo, e incluyen los conceptos importantes de: a. Decisin de seleccin: expresadas por si entonces-si_no, en idioma ingls if then-else; y b. Repeticin (expresadas con mientras-hacer o a veces repetir hasta e iterarfin-iterar, en ingls while-do y repeat-until), que se encuentra en casi todos los algoritmos, especialmente los de proceso de datos. La capacidad de decisin permite seleccionar alternativas de acciones a seguir; o bien, la repeticin una y otra vez de operaciones bsicas: o Si proyectan la pelcula seleccionada ir al cine. o Si_no ver la televisin, ir al ftbol o leer el peridico. o Mientras haya personas en la cola , ir avanzando repetidamente hasta llegar a la taquilla. 2. El mtodo elegido para describir los algoritmos, a travs del empleo de indentacin (sangrado o justificacin) en la escritura de los mismos. En la actualidad es tan importante la escritura de programa como su posterior lectura. Ello se facilita con la indentacin de las acciones interiores a las estructuras fundamentales citadas: selectivas y repetitivas . A lo largo de todo el libro la indentacin o sangrado de los algoritmos ser la norma constante.

Mtro. Alejandro Salazar Guerrero

9/11

3.

A continuacin se describirn las acciones necesarias para refinar el algoritmo objeto de nuestro estudio: Localizar las butaca(s) Si los nmeros de los asientos estn impresos en la entrada la accin compuesta se resuelve con el siguiente algoritmo: 1. Inicio //algoritmo para encontrar la butaca del espectador 2. Caminar hasta llegar a la primera fila e butaca. 3. Repetir. Compara nmero de fila con numero impreso en billete. Si no son iguales, entonces pasar a la siguiente fila. Hasta_que se localice la fila correcta. 4. Mientras nmero de butaca no coincida con nmero de billete. Hacer avanzar a travs de la fila a la siguiente butaca. fin_mientras 5. Sentarse en la butaca. 6. Fin. En este algoritmo la repeticin se ha mostrado utilizando ambas anotaciones: repetir...hasta_que y mientras...fin_mientras. Se ha considerado tambin, como ocurre normalmente, que el nmero del asiento y fila coincida con el nmero y fila rotulado en el billete.

1.6. Descripcin de los algoritmos: herramientas de programacin Una vez que el algoritmo est diseado y representado grficamente mediante una herramienta de programacin (diagrama de flujo, pseudocdigo o diagrama N-S) se debe continuar con la fase de resolucin prctica del problema con la computadora, la cual contiene las siguientes subfases: 1) Codificacin del algoritmo en un programa: el diseo del algoritmo se describe en una herramienta de programacin tal como un diagrama de flujo, diagrama N-S o pseudocdigo. Sin embargo, el programa que implementa debe ser escrito en un lenguaje de programacin y siguiendo las reglas gramaticales o sintaxis del mismo. La fase de conversin del algoritmo en un lenguaje de programacin se denomina codificacin, ya que el algoritmo escrito en un lenguaje especfico de programacin se denomina cdigo. Ejecucin del programa en una computadora. Comprobacin de los resultados del programa.

2) 3)

Mtro. Alejandro Salazar Guerrero

10/11

4)

Documentacin

Para representar un algoritmo, se debe utilizar algn mtodo que permita independizar dicho algoritmo del lenguaje de programacin elegido. Ello permitir que un algoritmo pueda ser codificado indistintamente en cualquier lenguaje. Para conseguir este objetivo se precisa que el algoritmo sea representado grfica o numricamente, de modo que las sucesivas acciones no dependan de la sintaxis de ningn lenguaje de programacin, sino que la descripcin pueda servir fcilmente para su transformacin en un programa, es decir, su codificacin. Los mtodos usuales para representar un algoritmo son: 1. 2. 3. 4. 5. Diagrama de flujo. Diagrama N-S(Nassi-Schneiderman). Lenguaje de especificacin de algoritmos: pseudocdigo. Lenguaje espaol. Frmulas.

Los mtodos 4 y 5 no suelen ser fciles de transformar en programas. Una descripcin en espaol narrativo no es satisfactoria, ya que es demasiado prolija y generalmente ambigua. Una frmula es buen sistema de representacin. Por ejemplo, la frmula para la solucin de una ecuacin cuadrtica es un medio sucinto de expresar el procedimiento del algoritmo que se debe ejecutar para obtener las races:

Lo anterior significa: Elevar al cuadrado b. Tomar a; multiplicar por 4.

Mtro. Alejandro Salazar Guerrero

11/11

Restar el resultado de 2 del resultado de 1, etc. Cabe sealar que no es frecuente que un algoritmo pueda ser expresado por medio de una simple frmula.

Mtro. Alejandro Salazar Guerrero

12/11

Вам также может понравиться