apunte de introduccion a la programacion

Download Apunte de Introduccion a La Programacion

Post on 22-Jul-2015

108 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

INTRODUCCIN A LA PROGRAMACIN

Claudio Gutirrez-Soto Manuel Crisosto Muoz

Introduccin a la Programacin Departamento de Sistemas de Informacin Universidad del Bo-Bo Agradecimientos

Quiero agradecer de manera anticipada a los alumnos de introduccin a la programacin, de quienes esperamos recibir feedback para mejorar este apunte con el objeto de que en algn momento sea un texto de apoyo a la programacin. Segundo, quiero agradecer a mi colega y amigo Manuel Crisosto quien ha hecho importantes contribuciones con ejemplos y ejercicios, as como tambin para que este apunte llegue a mano nuestros alumnos. Adems quiero agradecer a mis colegas Pedro Campos y Christian Vidal por sus aportes en la preparacin de los certamenes as como de las clases.

Claudio Gutirrez-Soto

Pgina : 2 Claudio Gutirrez-Soto, Manuel Crisosto,

Introduccin a la Programacin Departamento de Sistemas de Informacin Universidad del Bo-Bo

Prlogo Estimados alumnos, el material que se presenta a continuacin est diseado para apoyar la asignatura de introduccin a la programacin que tienen como objetivo el lograr resolver problemas simples mediante un programa escrito en algn lenguaje de programacin. Como ustedes pondrn ver el conjunto de smbolos, instrucciones y estructuras presentes en un algoritmo o programa son fciles de identificar y aprender en relacin a su significado. La dificultad se presenta al intentar combinar lgicamente estas instrucciones y estructuras para que resuelvan un problema planteado. El objetivo general es resolver problemas bsicos a travs de la construccin de programas basados en algoritmos. Un algoritmo lo podemos definir como un conjunto de pasos lgicamente ordenados, escritos a travs de smbolos o en lenguaje natural. Lo podemos comparar con una receta de cocina, o con las instrucciones para armar un mueble, las instrucciones que vienen en un manual de un grabador de CD, por mencionar algunos ejemplos. La diferencia est en la precisin que deben tener cada una de las instrucciones de un algoritmo. Por ejemplo, no podemos indicar en un algoritmo, agregue sal a gusto, o apret esta tuerca pues son indicaciones poco precisas, que no pueden ser traducidas a una instruccin escrita en un lenguaje de programacin. En el diseo e implementacin de los algoritmos debemos indicar agregue 10 grs. de sal, o apret esta tuerca dando diez giros a la derecha. Es decir las instrucciones dadas en un algoritmo deben de ser precisas y no ambiguas. En este material desde el primer captulo se presentarn una serie de ejercicios resueltos. Le recomendamos que antes de ver el desarrollo de estos ejercicios, intenten resolver dichos ejercicios. Es una tarea progresiva, que se puede apoyar si siguen los siguientes pasos: 1. Entender lo que se esta solicitando que el algoritmo o programa resuelva. ENTENDER EL ENUNCIADO. 2. La mayora de los algoritmos o programas requiere que se le ingresen datos que sern transformados, convenientemente por el conjunto de instrucciones, en la salida que se esta solicitando. Es imprescindible poder identificar estos datos de entrada y la informacin de salida que se est solicitando. 3. Identificar las posibles restricciones o condiciones que se deben consideran para los datos de entrada. 4. Construccin del algoritmo o programa. Sin embargo, lo ms importante que podemos recalcar en la utilizacin de este libro, es que la adquisicin de la destreza para poder resolver un problema a travs de un algoritmo es paulatina y progresiva. Es decir, hay que ejercitar con el objeto de adquirir la lgica para resolver problemas. Esto es equivalente a las metas de un deportista, ellos se colocan metas y trabajan constantemente para alcanzarlas. Aqu ocurre de manera similar, debemos de adquirir la destreza a travs de ejercicios. En dicho caso, nuestra herramienta es el computador, compilador y simuladores asociados.

Pgina : 3 Claudio Gutirrez-Soto, Manuel Crisosto,

Introduccin a la Programacin Departamento de Sistemas de Informacin Universidad del Bo-Bo

Parte 0: Introduccin.............................................................................................................5 Programa ..........................................................................................................................5 Algoritmo ...........................................................................................................................6 Variables ...........................................................................................................................6 Concepto de Ciclo ..............................................................................................................13 Ciclo Mientras (expresin) ..............................................................................................13 Ciclo Repetir (instrucciones) Mientras ............................................................................13 Ciclo Para (variables de control): ....................................................................................14 Ejercicios parte 0: Construccin de algoritmos ...............................................................19 Parte 1: Estructura e instrucciones bsicas en el lenguaje C.............................................20 Funcin printf() ................................................................................................................20 Comentarios....................................................................................................................21 Define..............................................................................................................................24 Incremento y Decremento.............................................................................................24 Operadores .....................................................................................................................25 Ejercicios.........................................................................................................................26 Parte 2: Estructura de Control. ...........................................................................................28 La estructura de control if................................................................................................28 Proposicin switch ..........................................................................................................34 Proposicin while ............................................................................................................38 Ejercicios parte 2: Ciclo while .........................................................................................41 Proposicin for ................................................................................................................42 Ejercicios parte 2 ciclos for .............................................................................................45 Proposicin do while ......................................................................................................46 PREGUNTAS DE CERTAMENES DE AOS ANTERIORES al 2008, REFERENTES AL MANEJO DE CICLOS Y EVALUACIONES LGICAS ...................................................47 Parte 3: Definicin de una funcin......................................................................................51 Pasaje de parmetros o argumentos ..............................................................................59 PREGUNTAS DE CERTAMENES DE AOS ANTERIORES al 2008, REFERENTES AL MANEJO DE FUNCIONES .............................................................................................61 Parte 4: Arreglos Unidimensionales ...................................................................................65 Inicializacin de arreglos.................................................................................................65 Cadenas o Strings...........................................................................................................67 Arreglos bidimensionales ................................................................................................69 Ejercicios Parte 4: Arreglos.............................................................................................72 PREGUNTAS DE CERTAMENES DE AOS ANTERIORES al 2008, REFERENTES AL MANEJO DE ARREGLOS, CADENAS Y MATRICES....................................................74 Parte 5: Estructuras ............................................................................................................82 Declaracin de Variables de tipo estructura ...................................................................83 Referencia a los elementos de una estructura................................................................83 Arreglos de estructuras ...................................................................................................84 Estructuras en las funciones ...........................................................................................85 Estructuras como parmetros de una funcin ................................................................85 Ejercicios parte 5: Estructuras ........................................................................................86 Parte 6: Punteros................................................................................................................89 Uso de typedef....................................................................................................................94 Soluciones a ejercicios planteados.....................................................................................95Pgina : 4 Claudio Gutirrez-Soto, Manuel Crisosto,

Introduccin a la Programacin Departamento de Sistemas de Informacin Universidad del Bo-Bo

PARTE 0: INTRODUCCINConceptos bsicos

PROGRAMAUn programa computacional, en trminos simples, consiste en una serie de pasos lgicamente escritos que permiten r