advertisement

Fundamentos de programacion

50 %
50 %
advertisement
Information about Fundamentos de programacion
Education

Published on March 7, 2014

Author: df28romero

Source: slideshare.net

Description

Diapositivas para apoyo a la comprensión del tema.
advertisement

Fundamentos de Programación 1

INTRODUCCION ¡Bienvenido a este libro! Nuestro objetivo fundamental es proveer a los lectores de un manual que cubra los aspectos esenciales del maravilloso mundo de la programación de ordenadores. En este libro se estudiarán los fundamentos de la algoritmia: la ciencia y arte de diseñar algoritmos para la resolución sistemática de problemas de cualquier índole. Aun cuando el lector no tenga una experiencia previa en la programación de ordenadores, es seguro que a lo largo de su vida ha ejecutado muchos algoritmos. Un algoritmo es la especificación detallada de los pasos necesarios para llevar a cabo una tarea específica. En la escuela, por ejemplo, aprendimos una serie de pasos para realizar sumas, restas, multiplicaciones y divisiones, estos son algoritmos (de hecho debemos la palabra 'algoritmo' al matemático musulmán Muhammad ibn Musa al-Jwarizmi). Una receta de cocina es uno de los ejemplos más claros de algoritmo. El conjunto de trámites que debe realizar en cualquier institución pública para la expedición de un documento, como por ejemplo, la licencia de conducir, también es un algoritmo. En este libro, vamos a enseñar los fundamentos básicos para crear programas. Un programa es unalgoritmo hecho para ser ejecutado por un ordenador. La algoritmia es una ciencia: está sustentada en un conjunto de modelos matemáticos. Existen una cantidad de técnicas que han sido ampliamente estudiadas por los científicos de la computación para resolver problemas que aparecen en diversas áreas de la ciencia. Por ejemplo, la traducción de lenguajes, la clasificación y ordenación de datos, los algoritmos para cifrado y el cálculo numérico, son algunas de las áreas donde aún en la actualidad, se mantiene muy activa la investigación de nuevas técnicas y el desarrollo de algoritmos y programas más eficientes. La algoritmia también es un arte, pues la creación de un algoritmo requiere de grandes dosis de heurística y creatividad. La creación de un programa va a estar muy influida por factores externos al modelo matemático, como por ejemplo, el lenguaje de programación que se va a usar, las limitaciones físicas que imponen los ordenadores o incluso los plazos para la finalización de un proyecto. Por otro lado, muchos programadores buscan un aspecto estético en la realización de sus programas; para esas personas, escribir programas es un ejercicio semejante a hacer literatura. Por los motivos expuestos anteriormente, pretendemos en este libro mostrar ambos aspectos de la algoritmia: por un lado, se presentarán técnicas que ya son clásicas en la programación, y por otro lado, se intentará mostrar los problemas que pueden surgir al convertir la especificación del algoritmo en un programa que se ejecute satisfactoriamente. Una analogía muy ilustrativa es la de comparar un algoritmo con una receta de cocina, mientras que el programa sería análogo al plato preparado siguiendo dicha receta. Si usted es un cocinero novato, aun cuando tenga la receta de cocina en su mano y siga metódicamente todos sus pasos, puede encontrar que al final el plato no es todo lo apetitoso que usted desea, es ahí donde entra en juego el arte, la capacidad de innovar y refinar la receta con un toque personal. Así como esa capacidad de integrar la 2

parte científica y técnica con la parte artística hace la diferencia entre el cocinero nóvel y el chef más avezado; también la hace entre un programador principiante y un experto. Esperamos que las recetas que usted consiga en este libro le sean muy útiles como base para crear las suyas propias. Hay que hacer una advertencia inicial al lector: este libro por sí solo no pretende, ni puede ser una obra completa para la enseñanza de la programación. El lector debe complementar el estudio de la algoritmia, con el estudio de uno o varios lenguajes de programación. Le recomendamos encarecidamente que realice todos los algoritmos presentados en este libro, usando su lenguaje de programación favorito. Para el aprendizaje de los lenguajes de programación más populares, le sugerimos consultar (y por qué no, también colaborar con) los otros wikilibros de programación. Finalmente, invitamos al lector a practicar: la única forma de aprender a nadar, es lanzarse al agua y nadar. Se tratará de incluir, en medida de lo posible, ejercicios al final de cada sección. Al final de cada capítulo se sugerirán algunos proyectos de programación que puede realizar. La realización de estos proyectos es beneficiosa por varios motivos: primero, ayudará a afianzar los conocimientos adquiridos en cada sección; segundo permitirá aplicar las técnicas estudiadas en problemas prácticos, y tercero: la programación puede convertirse en un hobbie que brinda muchas satisfacciones. En sus inicios, la programación de computadoras se basó exclusivamente en el modelo imperativo (también denominado procedimental), que semeja más la forma en que la máquina maneja las instrucciones u órdenes. Conforme la programación de computadoras fue utilizándose para resolver nuevos tipos de problemas, se requirió la creación de nuevos modelos o paradigmas para el desarrollo de las aplicaciones. La programación orientada a objetos es una forma de concebir un programa de computadora. Se puede pensar en un programa como una lista de instrucciones que le indica a la computadora qué hacer, o un paquete de pequeños programas que responden a eventos específicos indicados por la entrada del usuario. La programación orientada a objetos ve a un programa como un conjunto de objetos que cooperan entre sí para resolver un problema. El modelo orientado a objetos sirve para desarrollar sistemas de software con un alto grado de complejidad. Este modelo es tan importante que se creó el OMG (Object Management Group, Grupo de Administración de Objetos, una agrupación no lucrativa) para establecer las normas que rigen el desarrollo de software orientado a objetos. En el resto de este libro se estudiarán los conceptos en que se basa el modelo orientado a objetos, así como las principales razones para utilizarlo en el desarrollo de software. http://es.wikibooks.org/wiki/Fundamentos_de_programaci%C3%B3n/Introducci%C3%B3n 3

TABLA DE CONTENIDOS Pág. INTRODUCCION….…………………………………………………………………………….. 2 CONCEPTOS DE PROGRAMACIÓN………………………………………………………………………. 5 ENTRADA …………………………………………………………………………………………………………… 5 PROCESO……………………………………………………………………………………………………………. 5 MEMORIA………………………………………………………………………………………………………….. 6 SALIDA ………………………………………………………………………………………………………………. 6 EJERCICIO DE APLICACIÓN…………………………………………………………………………………. 7 ANÁLISIS Y LOS “CONDICIONALES”……………………………………………………………………. 8 CONDICIONALES COMPUESTOS ………………………………………………………………………. 9 4

“fundamentos de programación” Conceptos de programación La ingeniera de sistemas dentro de lo que se denomina “ingeniería de software” a tenido tres(3) fases fundamentales para hacer posible la construcción de un solución informática (producto de software/sistema de información automático) y son: ↓Análisis: Descripción “teórica” de la solución en términos de entrada- proceso-salida. ↓Diseño: Descripción “grafica” de la solución en términos de entrada-proceso-salida y tiene que ver con la diagramación o diagrama de flujo. ↓Implementación: Es la representación de la solución a través de “programas” de computador en términos de entrada –proceso-salida, esta fase corresponde a la programación. La entrada, proceso, salida, obedece al dominio modelo E-P-S que consiste en tener en cuenta una secuencia lógica de pasos que deben sucederse para dar solución automática a un sistema: P E MA S MA MA= Medio Ambiente Entrada: Define todos los insumos que se representan como “memorias” y que serán parte importante dentro del proceso para realizar las operaciones aritméticas que sean del caso. Las memorias pueden ser “activas” las cuales tienen información desde inicio y “Reactivas” las culaes no tienen información inicial, pero la adquieren dentro del proceso. PROCESO: Realiza todas las operaciones aritméticas a través de los cuales se da solución a las necesidades del sistema. En el proceso las memorias reactivas adquieren información a través de las operaciones aritméticas que se realiza con las memorias Activas Y también con otras reactivas que ya tienen información; las operaciones aritméticas son suma (+), resta (-), división (/) y multiplicación (*). 5

SALIDA: Muestra el contenido de las memorias activas y/o reactivas con base en lo que sea exigido. MEMORIA: Es un espacio físico creado en la RAM (Memory Randowize Access) del computador, en la USB o en CD el cual se identifica con un nombre (técnica para recordar) que tiene las siguientes características: ↓Inicia con una letra pero puede contener números; no maneja espacios ni caracteres especiales excepto “underline” o raya al piso. ↓Por practicidad la longitud de nombre es de once (11) caracteres, pero puede ser mayor. EJEMPLO Aplicacion P S E ACTIVAS Ced Suel=hor*val Ced Nom Nom Hor suel Val REACTIVAS suel Esta dicho que el análisis corresponde a la descripción teórica de la solución en términos de entrada proceso y salida, por tanto todo lo que se quiera decir en la entrada el proceso y salida que permita informar o documentar de mejor manera la solución del sistema será permitido en esta fase. Observes que el ejemplo de aplicación carece de cierta información complementaria que en determinado momento puede aclarar circunstancias propias de la entrada el proceso y salida. 6

EJERCICIO DE APLICACIÓN: Utilizando el permitido carácter de raya al piso (_) para la definición de las memorias activas y reactivas vuelva a construir el mismo ejemplo utilizando raya al piso en la definición de las memorias y agregue en la entrada proceso y salida algunos comentarios que documenten mejor cada una de estas partes de esta secuencia (supóngase que el sistema sobre el cual se da la solución tiene que ver con el empleado de una empresa). E S P Ced_emp Suel_emp Ced_emp Nom_emp =hor_emp*val_em p Nom_emp Hor_emp Suel_emp Val_emp Suel_emp Ced_emp: 1026576801 val_emp: $ 3.125 Nom_emp: Brayan Torres Suel_emp: $ 600000 Hor_emp: 192 horas/ mensuales La entrada “memorias Activas” se extrajeron De unas planillas Laborales, la información que se tiene, se procesa el contenido y de allí sale el resultado que se envía al departamento de sistemas para realizar la operación y posteriormente generar un recibo de pago donde aparece cedula, nombre y sueldo del empleado. 7

(Recordando /Las etapas para construir una solución informática son: Análisis, Diseño, Implementación, siempre en términos del modelo Entrada, Proceso- Salida) Análisis y los “Condicionales” Las condiciones son preguntas, evaluaciones o comparaciones, que se suceden dentro del “proceso” con base de las memorias “Activas” y/o en las “Reactivas”, mediante la utilización de los siguientes signos: =igual >=mayor o igual >mayor que <=menor o igual <menor que <>diferente Entendiendo que un condicional se formula como una pregunta, hay que advertir entonces que a una pregunta “siempre” suceden 2 posibles respuestas, una por SI y otra por NO, los cuales pueden ser directamente operaciones aritméticas, o en casos más complejos nuevas preguntas: 1. Pregunta Si: c= (a+b)+10 Respuesta por SI No: c=(a+b)+5 2. Es a>b? Respuesta por NO Es a>b? pregunta Si: es b>10 Respuesta por SI nueva pregunta Si: c=(a+b)+10 Respuesta por SI No:c=(a+b)+5 Respuesta por NO No: c= a+b 8 Respuesta por NO

De lo anterior, no olvidar que siempre q se formule una nueva pregunta por las respuestas del SI y/o del NO inicial tendras sus respectivas respuestas por SI y por no NO. 3. es. a>b? Si: es b>10? Si: c=(a+b)+10 No:c=(a+b)+5 No: es a<8? Si:c=(a+b)+20 No:c=(a+b)+15 Observar que tanto las respuestas del SI y del NO de la pregunta inicial, son nueve preguntas, las cuales también tienen sus respectivas respuestas por SI y por NO. CONDICIONALES COMPUESTOS Dependiendo de la lógica de solución y de las posibilidades que la solución permita, es posible estructurar un condicional “compuesto” utilizando las “conjugaciones” and y or, “and” significa Y, “or” significa O: 1 Es inmediato Exige volver a pregunt ar por cada una de sus partes. es a>b and b>10? Si: c=(a+b)+10 No:c=(a+b)+5 2 es a>b and b>10? Debe cumplir las dos (2) para optar el SI. Si: c=(a+b)+10 No: es >b? Si: c=(a+b)+5 No: c=a+b ? Es b>10 Si c=a+b No: Ninguna satisface Conclusión: estructurar una pregunta compuesta aunque aparentemente sea más fácil 9 solucionarla, resulta en realidad más compleja y exigente de solucionarla.

Add a comment

Related presentations

Related pages

Fundamentos de programación - Wikilibros

Fundamentos de programación. El objetivo fundamental de este libro es proveer a los lectores de un manual que cubra los aspectos esenciales del ...
Read more

Fundamentos de Programación con Java | Udemy

Please confirm that you want to add Fundamentos de Programación con Java to your Wishlist.
Read more

FUNDAMENTOS DE LA PROGRAMACIÓN.pdf - assets.mheducation.es

FUNDAMENTOS DE PROGRAMACIÓN. 3 Programación en C++. Algoritmos, estructuras de datos y objetos CAPÍTULO 1 Introducción a la ciencia de la computación
Read more

Curso Fundamentos de la Programación - YouTube

Curso Fundamentos de la Programación DesarrolloWeb.com; 14 videos; ... Algoritmo - Fundamentos de la programacion by DesarrolloWeb.com. 1:06:41.
Read more

fundamentos_programacion-1 - scribd.com

programa de asignatura 1. datos informativos asignatura: fundamentos de programaciÓn departamento: electrica y electronica docente: cÓdigo banner: nivel ...
Read more

Introducción de fundamentos de programación desde cero ...

Introducción de fundamentos de programación desde cero ¿Cómo ser un ... CU00107A Introduccion fundamentos bases programacion curso desde cero.pdf ...
Read more

Fundamentos de la programación - fdi.ucm.es

Fundamentos de la programación: Material docente. Aquí encontrarás las presentaciones, los ejemplos y los ejercicios de los temas. También tienes ...
Read more

fundamentos de programacion.pdf - Google Drive

fundamentos de programacion.pdf. fundamentos de programacion.pdf. Sign In. Main menu ...
Read more

Luis Hernández Yáñez, "Fundamentos de la programación ...

Luis Hernández Yáñez, "Fundamentos de la programación ...
Read more

FUNDAMENTOS DE PROGRAMACIÓN I - udg.edu

FUNDAMENTOS DE PROGRAMACIÓN I Nombre de la asignatura: Fundamentos de Programación I Código: Tipo de asignatura: Troncal Nivel: Primer ciclo
Read more