unidad 2. introduccion a la programacion

Upload: rtworo-ad

Post on 01-Mar-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/25/2019 Unidad 2. Introduccion a La Programacion

    1/29

    Fundamentos de programacinUnidad 2. Introduccin a la programacin

    Ciencias Exactas, Ingeniera y Tecnologa Ingeniera en Telemtica

    Ingeniera en Telemtica

    Primer Semestre

    Programa de la asignatura:

    Fundamentos de programacin

    Unidad 2. Introduccin a la programacin

    Clave:

    22141102-21141102

    I

    Universidad Abierta y a Distancia de Mxico

  • 7/25/2019 Unidad 2. Introduccion a La Programacion

    2/29

    Fundamentos de programacinUnidad 2. Introduccin a la programacin

    Ciencias Exactas, Ingeniera y Tecnologa Ingeniera en Telemtica 1

    ndice

    Unidad 2. Introduccin a la programacin.............................................................................................. 2

    Presentacin de la unidad.................................................................................................................. 2

    Propsitos.......................................................................................................................................... 3

    Competencia especfica..................................................................................................................... 3

    2.1. Componentes de un programa y lenguajes de programacin...................................................... 4

    Actividad 1. Introduccin al lenguaje Ejercicio A................................................................................. 5

    2.1.1. Instrucciones......................................................................................................................... 6

    2.1.1. Comentarios......................................................................................................................... 6

    2.1.3. Estructura general de un programa....................................................................................... 7

    Actividad 1. Introduccin al lenguaje Ejercicio B................................................................................. 8

    2.2. Tipos de datos............................................................................................................................. 8

    2.3. Variables, constantes y arreglos................................................................................................ 10

    2.3.1. Identificadores.................................................................................................................... 11

    2.3.2. Declaracin e inicializacin de variables............................................................................. 11

    2.3.3. Declaracin e inicializacin de arreglos.............................................................................. 12

    2.3.5. Declaracin de constantes.................................................................................................. 13

    2.4. Expresiones matemticas......................................................................................................... 13

    2.4.1. Tipos de operadores........................................................................................................... 14

    2.4.2. Evaluacin de expresiones................................................................................................. 16

    Actividad 2. Diseo e implementacin de un programa.................................................................... 17

    2.5. Bibliotecas y funciones.............................................................................................................. 18

    2.5.1. Funciones matemticas...................................................................................................... 18

    2.5.2. Funciones de entrada y salida............................................................................................ 19

    2.6. Codificacin de algoritmos........................................................................................................ 21

    Actividad 3. Codificando algoritmos.................................................................................................. 27

    Evidencia de aprendizaje: Programa Anlisis del problema............................................................. 27

    Cierre de la unidad........................................................................................................................... 28

    Fuentes de consulta......................................................................................................................... 28

  • 7/25/2019 Unidad 2. Introduccion a La Programacion

    3/29

    Fundamentos de programacinUnidad 2. Introduccin a la programacin

    Ciencias Exactas, Ingeniera y Tecnologa Ingeniera en Telemtica 2

    Unidad 2. Introduccin a la programacin

    Presentacin de la unidad

    En la unidad anterior se present un conjunto de instrucciones que una ardilla (ficticia)podra realizar y se mostr cmo, a travs de stas, la ardilla poda resolver variosproblemas siempre y cuando se definiera un algoritmo. Ahora veamos qu relacin hayentre el mundo de la ardilla y las computadoras: la ardilla representa la computadora, queslo puede ejecutar un conjunto de instrucciones definidas; adems, al igual que la ardilla, lacomputadora por s misma es incapaz de resolver ningn problema, para hacerlo necesitaun programa que pueda seguir (ejecutar) para obtener el resultado deseado, as como laardilla necesitaba un algoritmo que le indicara cmo realizar una tarea especfica.

    Por lo anterior, en esta unidad se mostrar la forma en que se crean programas, existen

    muchos lenguajes de programacin, junto con tu docente en lnea decidirn en cual setrabajara durante la materia. En este documento los ejemplos se mostrarn en el lenguaje deprogramacin C, desarrollado por Dennis M. Ritche en el ao de 1972, en loslaboratorios Bell de la AT&T, y que posteriormente fue estandarizado por un comit del

    ANSI (por sus siglas en inglsAmerican National Standard Institute) dando lugar alANSI C, a travs del cual se garantiza que cualquier programa creado bajo esteestndar pueda ser ejecutado en cualquier computadora (Kernighan & Ritchie, 1991).

    A lo largo de la unidad se introducen los elementos bsicos del lenguaje de programacin C,que en concepto son comunes a todos los lenguajes: tipos de datos, variables y constantes,expresiones aritmticas, funciones matemticas y funciones de entrada y salida, con el fin de

    empezar a crear programas secuenciales que resuelvan problemas simples. Como primertema analizaremos la estructura del programa holamundo, pues como ya es costumbre enprogramacin es el primer programa que se realiza cuando se aprende un nuevo lenguajede programacin. A partir de este ejemplo se revisa la estructura de un programa y loselementos que lo integran.

  • 7/25/2019 Unidad 2. Introduccion a La Programacion

    4/29

    Fundamentos de programacinUnidad 2. Introduccin a la programacin

    Ciencias Exactas, Ingeniera y Tecnologa Ingeniera en Telemtica 3

    Propsitos

    En esta unidad :

    Distinguirs la estructura de un programa. Declarars las variables y constantes que se

    utilizan en un algoritmo. Codificars expresiones matemticas. Utilizars funciones de la

    biblioteca estndar paracodificar instrucciones deentrada y salida y funcionesmatemticas.

    Utilizars un entorno de trabajo para escribir,compilar y ejecutar programas.

    Competencia especfica

    Utilizar un lenguaje de programacin pararesolver problemas a travs de la

    implementacin de algoritmos secuenciales.

  • 7/25/2019 Unidad 2. Introduccion a La Programacion

    5/29

    Fundamentos de programacinUnidad 2. Introduccin a la programacin

    Ciencias Exactas, Ingeniera y Tecnologa Ingeniera en Telemtica 4

    2.1. Componentes de un programa y lenguajes de programacin

    En general, unprograma es una secuencia de instrucciones mediante las cuales se ejecutandiferentes acciones de acuerdo con los datos que se estn procesando (Lpez, 2005) .

    En la unidad 1 se explic que un programa slo puede ser ejecutado por una computadora solamentesi est escrito en lenguaje de mquina, pero existen lenguajes de programacin, que son fciles deentender para los seres humanos, mediante los cuales se pueden escribir programas ms legiblesconocidos como programas fuentesen C los programas fuente tiene extensin .c, que sontraducidos a lenguaje de mquina mediante compiladores o traductores. En el caso de C es unlenguaje compilado, por lo que se genera un programa ejecutable con extensin .exe, que puede serejecutado cada vez que se desee sin necesidad de volver a compilar el programa fuente, a menos quese realice algn cambio.

    De acuerdo con su creador un programa fuente en C, cualquiera que sea su tamao, consta defunciones y variables. Una funcin contiene un conjunto de instrucciones, tambin llamadaspreposiciones o enunciados, que especifican las operaciones que la computadora debe realizar; entanto, las variables son los espacios de memoria donde se almacenan los valores utilizados en dichasoperaciones (Kernighan & Ritchie, 1991, pg. 6).

    Como se ha mencionado, el primer programa que se debe escribir cuando se aprende un nuevolenguaje es hola mundo, as que para no perder la tradicin a continuacin se muestra cmo se

    implementa este programa en lenguaje C.

    /*Dir ec tivas de prep roces ad or*/

    #include

    /* Def in ic in de func in Pr incipal

    */

    main( )

    {

    printf(Holamundo\n);}

    Programa 2.1: hola.c

    El programa hola.c solo tiene una funcin: main; generalmente se puede dar cualquier nombre a lasfunciones que se definan en un programa, sin embargo, main es una funcin especial que siempredebe aparecer en algn lugar del programa, ya que es el punto desde el cual se inicia la ejecucin(equivale a la instruccin de inicio de un algoritmo). Los parntesis que aparecen despus de lapalabra main indican que se trata de una funcin; las instrucciones que forman parte de sta,llamadas cuerpo de la funcin, van encerradas entre llaves { }, sealando el inicio y fin de la misma,

    respectivamente.

  • 7/25/2019 Unidad 2. Introduccion a La Programacion

    6/29

    Fundamentos de programacinUnidad 2. Introduccin a la programacin

    Ciencias Exactas, Ingeniera y Tecnologa Ingeniera en Telemtica 5

    Las instrucciones que comienzan con /*y terminan con */, se llaman comentarios e indican quetodo lo que est escrito entre esos smbolos no son instrucciones que la computadora debe ejecutarsino informacin de inters para el programador; por ejemplo la primera lnea de cdigo:

    /*Directivas de preprocesador*/

    Otro tipo de instrucciones especiales son las directivas del preprocesador, que son instrucciones quese realizan antes de la compilacin del programa, un ejemplo es:

    #include

    Se distinguen porque inician con el carcter gato #, en este caso esta instruccin le indicaal compilador que debe incluir la informacin que est definida en el archivo de biblioteca stdio.h, en elcual se encuentran todas las funciones de salida y entrada, como printf.

    Los compiladores de lenguaje C ofrecen distintas directivas, sin embargo las que utilizaremos son:

    #define, que sirve para definir de constantes y/o macros

    #include, que se utiliza para incluir otros archivos

    En el cuerpo de la funcin main, del programa 2.1, slo aparece una instruccin que es la invocacin ala funcin printfcon el argumento Hola mundo \n.

    printf(Hola mundo \n);

    Invocamos o llamamosuna funcin cuando requerimos que se ejecute con un conjunto de datosespecficos, a los cuales llamamos argumentos. Una funcin se invoca o llama al nombrarla, es decir,escribiendo su nombre seguido de la lista de argumentos, separados por comas y encerrados entreparntesis. En otras palabras, los argumentos son los valores que una funcin necesita para realizarla tarea que tiene encomendada, por ejemplo, la funcin printf tiene como fin imprimir la cadena decaracteres que recibe como parmetro, en este caso particular imprimir la frase Hola mundoseguida de un salto de lnea, que es lo que representa la secuencia de caracteres \n.

    Actividad 1. Introduccin al lenguaje Ejercicio A

    El primer ejercicio consiste en la elaboracin de un programa que muestre en la pantalla lafrase Hola mundo.Para conocer ms detalles ingresa al aula virtual.

  • 7/25/2019 Unidad 2. Introduccion a La Programacion

    7/29

    Fundamentos de programacinUnidad 2. Introduccin a la programacin

    Ciencias Exactas, Ingeniera y Tecnologa Ingeniera en Telemtica 6

    2.1.1. Instrucciones

    Una instruccin o enunciadoen cualquier lenguaje se puede definir como una expresin que tienealguna consecuencia, generalmente la consecuencia se ve reflejada en el cambio del valor que

    est almacenado en las variables. De acuerdo con su estructura sintctica se pueden clasificar en dostipos: simples y compuestas.

    Las instrucciones simplesse distinguen porque ejecutan una sola accin

    Como ejemplo de instrucciones simples tenemos la declaracin de variables, la llamada de funciones yla asignacin.

    int x;x = 2*y;printf(Hola);

    En cambio las instrucciones compuestas son aquellas que engloban ms instrucciones o generan msde una accin. Un ejemplo de este tipo de instrucciones es el cuerpo de la funcin main, del programa2.1.

    2.1.1. Comentarios

    Los comentarios son textos que sirven como informacin al programador y no son procesados por elcompilador, es decir, no son instrucciones que debe realizar la computadora y por lo tanto

    no son traducidos a lenguaje de mquina. Para que un texto sea comentario en el lenguajeC y varios otros lenguajes debe estar entre los smbolos /*(marca el comienzo) y */(marcael final de comentario).Pueden ir en cualquier parte del programa.

    Un buen programador debe comentar sus programas para que otras personas puedan entender lalgica del programa, e incluso, los comentarios tambin le sirven al programador cuando en un tiempofuturo requiera realizar cambios. Tambin es recomendable incluir al inicio del programa: el nombredel programa, el nombre del programador, una breve descripcin de la tarea que realiza, las fechas decreacin y de la ltima modificacin, todo esto encerrado entre comentarios. Por ejemplo, al inicio delprograma 2.1 sera conveniente incluir el siguiente comentario:/*

    Programa: hola.cProgramador: Pedro PrezDescripcin: El programa imprime la cadena hola mundoFecha de creacin: Agosto, 2010ltima modificacin: Septiembre, 2010*/

  • 7/25/2019 Unidad 2. Introduccion a La Programacion

    8/29

    Fundamentos de programacinUnidad 2. Introduccin a la programacin

    Ciencias Exactas, Ingeniera y Tecnologa Ingeniera en Telemtica 7

    Los comentarios tambin se pueden incluir al lado de una instruccin para describir de qu se trata,por ejemplo:

    printf(Hola mundo); /* Imprime el mensaje Hola mundo en la pantalla*/

    2.1.3. Estructura general de un programa

    Si observas el programa hola.c, la primera instruccin en el programa es la directiva al preprocesador,seguida de la funcin main y las instrucciones que la integran, esta estructura corresponde a losprogramas ms simples, pero es similar a la de cualquier programa en C. La forma general decualquier programa en C es la siguiente:

    main(){}

    Y como se ha mencionado, se pueden incluir comentarios en cualquier parte del cdigo. Acontinuacin se presenta un programa que calcula el rea de una circunferencia dada la medida de suradio.

    /* Directivas del procesador (bibliotecas) */

    #include

    /* Declaraciones globales */const float PI = 3.1416;

    /* Funcin Principal */main( ){

    /* Declaraciones de variables locales la funcin main*/float radio, areaprintf(" Calcula el area de una circunferencia\n");

    printf(" Ingresa el radio: ");scanf("%f", &radio);area = PI * radio * radio; printf(" Area = %.2f",area);getchar();getchar();

    }

    Programa 2.2: areaCircunferencia.c

  • 7/25/2019 Unidad 2. Introduccion a La Programacion

    9/29

    Fundamentos de programacinUnidad 2. Introduccin a la programacin

    Ciencias Exactas, Ingeniera y Tecnologa Ingeniera en Telemtica 8

    Por el momento, basta con que observes la estructura del programa, que se hace evidente con loscomentarios, el significado de cada una de las lneas de cdigo se ir definiendo en las siguientessecciones. Para cerrar esta seccin en la siguiente figura se muestra la ejecucin del programa con la

    entrada radio=3.

    Figura 2.1: Ejecucin del programa areaCircunferencia.c utilizando Dev-C++

    Actividad 1. Introduccin al lenguaje Ejercicio B

    Consultael documento de actividades.

    2.2. Tipos de datos

    En la Unidad 1 se mencion que todos los datos que son procesados por una computadora sealmacenan en la memoria principal y, no importa de qu tipo sean, se representan por medio de unos yceros, sin embargo, no todos se pueden representar con el mismo nmero de bits1, esto s dependedel tipo que se trate. Por ejemplo, los caracteres como: a, @,Z, entre otros, se representanutilizando 8 bits, en cambio para representar un nmero decimal se utilizan, al menos, 32 bits; por loque cuando se crea un espacio de memoria es necesario indicar qu tipo de dato se desea almacenarah, para que sereserve la cantidad de celdas de memoria que se necesitan y las operaciones que sepueden realizar con ellos.

    En general, los tipos de datos que existen, independientemente de un lenguaje de programacin, sepueden clasificar de la siguiente forma:

    1Recuerda que un bit se defini como la unidad mnima de informacin, esto es, 1 0.

  • 7/25/2019 Unidad 2. Introduccion a La Programacion

    10/29

    Fundamentos de programacinUnidad 2. Introduccin a la programacin

    Ciencias Exactas, Ingeniera y Tecnologa Ingeniera en Telemtica 9

    Simples

    Numricos EnterosDecimales

    Lgicos (verdadero o falso)

    Alfanumricos (caracteres)

    Estructurados Arreglos Unidimensionales

    Multidimensionales Estructuras o registros

    Tabla 2.1: Tipos de datos

    En la siguiente tabla se muestran los tipos de datos simples en C:

    Tipo Descripcin Ejemplo

    charSu tamao equivale a ochobits, capaz de contener uncarcter del conjunto decaracteres ASCII.

    a,C, 3

    int

    Un entero, normalmenteocupa mnimo 16 bits, perosu tamao es segn lamquina en que se ejecute.

    1024,-258

    FloatNmero de punto flotante deprecisin normal.

    10.5,-11.6

    Double Punto flotante de dobleprecisin 0.00045,-0.55236

    Tabla 2.2: Tipos bsicos en C

    Es posible aumentar o disminuir la capacidad de representacin de los nmeros utilizando losmodificadores long, short y unsigned. De esta manera las combinaciones que se ajustan alestndar ANSI, junto con sus rangos mnimos, son:

  • 7/25/2019 Unidad 2. Introduccion a La Programacion

    11/29

    Fundamentos de programacinUnidad 2. Introduccin a la programacin

    Ciencias Exactas, Ingeniera y Tecnologa Ingeniera en Telemtica 10

    Tipo Bits RangoChar 8unsigned char 8

    signed char 8Int 16unsigned int 16signed int 16short int 16unsigned short int 16signed short int 16long int 32signed long int 32unsigned long int 32Float 32

    Double 64long double 64

    -127 a 1270 a 255

    -127 a 127-32767 a 327670 a 65535

    -32767 a 32767-32767 a 32767

    0 a 65535-32767 a 32767

    -2147483647 a 2147483647-2147483647 a 2147483647

    0 a 4294967295 seisdgitos de precisin diez

    dgitos de precisin diezdgitos de precisin

    Tabla 2.3: Tipos bsicos y modificadores

    Una vez que conocemos lo tipos de datos que se pueden representar, es conveniente saber cmo sereservan espacios de memoria donde son almacenados, esto es justo lo que se explica en el siguientetema.

    2.3. Variables, constantes y arreglos

    Las variables y las constantes en los lenguajes de programacin se utilizan para almacenar valores, ladiferencia que existe entre ellas es que el valor almacenado en una variable puede ser modificado encualquier instante del programa en tanto que las constantes no pueden modificarse.

    Formalmente, una variable es un espacio de memoria que tiene asignado un nombre (tambin llamadoidentificador) y se utiliza para almacenar un valor que puede ser modificado durante la ejecucin de unprograma, a este valor que se encuentra almacenado en una variable en un momento dado se le llamaestado de la variable. Por lo contrario, una constante es un dato cuyo valor se establecen en tiempo decompilacin y no pueden cambiar durante la ejecucin del programa. Existen dos tipos de constantes:literales y simblicas. Las segundas, al igual que las variables, tambin tienen asignado un nombre.

    A lo largo de esta seccin descubrirs cmo puedes construir variables y constantes, as que loprimero ser listar las reglas que debes seguir para nombrarlas.

  • 7/25/2019 Unidad 2. Introduccion a La Programacion

    12/29

    Fundamentos de programacinUnidad 2. Introduccin a la programacin

    Ciencias Exactas, Ingeniera y Tecnologa Ingeniera en Telemtica 11

    2.3.1. Identificadores

    Hay una serie de restricciones en cuanto a los nombres o identificadores, ya sea de variables,constantes o funciones. stas son:

    a) Los identificadores se integran por letras y dgitos pero es necesario que el nombre siempreb) comience con una letra, por ejemplo: enteroA, arco3, S184.c) No puede contener caracteres especiales, por ejemplo, acentos (,), la letra ee (), gato (#),

    guin (-). El carcter de subrayado _es el nico carcter especial que puede utilizarse,generalmente se usa para darle una mejor legibilidad al nombre de una variable. Por ejemplo:entero_A, area_Circulo, i_elemento.

    d) El lenguaje C distingue entre letras maysculas y minsculas, esto significa que los siguientesidentificadores son distintos: area, Area, AREA.

    e) No pueden contener espacios en blanco.f) No pueden ser palabras reservadas.

    Aunque no es una regla, se recomienda que los identificadores sean significativos, es decir, que elnombre indique qu dato se est almacenando ah.

    Ejemplo 2.1:

    1) Se requiere una variable para almacenar el radio de un crculoLas opciones sugeridas son: radio, radioCirculo, radio_circulo.

    2) Se requiere un identificador para una variable que almacene el promedio de ventas anuales deuna tienda departamental.Opciones sugeridas: promedioVentas, prom_Ventas, promAnual.

    3) Almacenar el nmero telefnico de una persona.Opciones sugeridas: tel, telefono.

    2.3.2. Declaracin e inicializacin de variables

    La declaracin de una variablees una instruccin que proporciona informacin de la variable alcompilador, para que ste reserve en memoria el espacio adecuado y la referencia (identificador) paratener acceso a ella. Las declaraciones en general tienen la siguiente sintaxis:

    ;

    Donde se refiere un tipo bsico y el se refiere al nombre con el cual seidentificar el espacio de memoria reservado, puede ser cualquier nombre siempre y cuando serespeten las reglas vistas previamente. Veamos los siguientes ejemplos en C:

    int edad;/* declara una variable de tipo entero con el identificador edad*/

  • 7/25/2019 Unidad 2. Introduccion a La Programacion

    13/29

    Fundamentos de programacinUnidad 2. Introduccin a la programacin

    Ciencias Exactas, Ingeniera y Tecnologa Ingeniera en Telemtica 12

    float area;/* declara una variable de tipo float a la cual identificar por area*/

    Tambin es posible declarar una lista de variables de un mismo tipo separando los nombres concomas ,.

    , , ;

    Podemos ver un ejemplo de este tipo de declaracin en el programa que calcula el rea de unacircunferencia (programa 2.2), cuando declaramos las variables locales a la funcin main

    float radio, area;

    Siempre es posible asignarles un valor inicial a las variables cuando las declaramos, a esta operacinse conoce como inicializacin. La sintaxis es:

    =;

    Del mismo modo, podemos inicializar varias variables:

    = , , = ;

    Para ilustrar esto, se presentan las siguientes instrucciones:

    int edad = 18;float radio = 3.0, area = 0.0;

    2.3.3. Declaracin e inicializacin de arreglos

    Un arreglo es una estructura de datos, o ms tcnicamente, un espacio de memoria que permitealmacenar una coleccin de elementos, todos del mismo tipo. Conviene imaginar un arreglo como unasecuencia contigua de celdas (espacios de memoria), o casillas, en cada una de las cuales se puedeguardar un elemento de la coleccin.

    Los lenguajes de programacin, permiten que el programador declare arreglos de cualquier tipo yprcticamente de cualquier tamao. Problemas que requieren guardar una coleccin de datos comoresultados de un examen, una base de telfonos ocupan ste tipo de estructuras.

    Veamos como ejemplo la declaracin del arreglo unidimensional planteado para las calificaciones delproblema1. Inicializando sus elementos en la declaracin queda como:

    int lista[10] = {9,10,8,5,9,6,7,9,4,8};

  • 7/25/2019 Unidad 2. Introduccion a La Programacion

    14/29

    Fundamentos de programacinUnidad 2. Introduccin a la programacin

    Ciencias Exactas, Ingeniera y Tecnologa Ingeniera en Telemtica 13

    Para referirse a un elemento del arreglo es necesario indicar el nombre del arreglo seguido del ndice ondices correspondientes al elemento que deseamos acceder. Para ello se debe seguir la siguientesintaxis.

    Cada elemento del arreglo se puede tratar igual que a cualquier otra variable, es decir, podemosasignarle un valor, incluir en una expresin algebraica o lgica, imprimir en pantalla su valor, asignarledesde el teclado un valor, etc.

    2.3.5. Declaracin de constantes

    Las constantes son expresiones con un significado invariable.Una de las formas que existe en C paradeclarar una constante simblica es utilizando la directiva de preprocesador #define, la cual asocia unidentificador a un valor constante, sin reservar espacio en memoria, por lo que no podemos decirque se declara, slo se define. La sintaxis general es la siguiente:

    #define

    Por ejemplo:#define PI 3.1416

    Se recomienda escribir el nombre de una constante con letras maysculas para diferenciarlas de lasvariables, pero las reglas son exactamente las mismas que para los identificadores de las variables.

    2.4. Expresiones matemticas

    Una expresin matemtica puede ser un nmero, una variable, una constante o la combinacin deoperadores y todas las anteriores. Toda expresin al ser evaluada produce un valor. Se dividen en dostipos de acuerdo al tipo de datos que devuelven cuando son evaluadas: expresiones aritmticascuando el resultado de la evaluacin es un nmero y expresiones booleanas cuando el resultado de laevaluacin es un valor booleano (verdadero o falso). En este punto es importante destacar que elmodo en que el lenguaje C maneja los valores booleanos es por medio de valores enteros: ceroequivale a falso y cualquier entero distinto de cero representa verdadero.

    Las expresiones matemticas permiten modelar situaciones reales, por ejemplo, mediante lasexpresiones aritmticas podemos modelar la forma de calcular el rea de cualquier figura, tambinpodemos representar la forma de calcular las races de un polinomio de segundo grado, o calcular

    el monto de una venta, etc. En cambio las expresiones booleanas son la base para construirprogramas que pueden tomar decisiones. Veamos los siguientes ejemplos:

    Ejemplo 2.2:

    a) La hipotenusa es igual a la raz cuadrada de la suma de los cuadrados de catetos.

    Codificacin en C: c =sqrt(a*a + b*b);

  • 7/25/2019 Unidad 2. Introduccion a La Programacion

    15/29

    Fundamentos de programacinUnidad 2. Introduccin a la programacin

    Ciencias Exactas, Ingeniera y Tecnologa Ingeniera en Telemtica 14

    b) x es un nmero par?Sabemos que un nmero es par si es divisible entre 2, en otras palabras, si el residuo de ladivisin entre dos es cero, lo cual se puede expresar con el operador de mdulo, que

    devuelve el residuo de una divisin.

    Codificacin en C: x % 2 == 0

    En el siguiente subtema se presentan los operadores bsicos del lenguaje C, tanto aritmticoscomo booleanos.

    2.4.1. Tipos de operadores

    Los operadores son palabras o smbolos que hacen que permiten realizar operaciones con los datosde un programa, para cada tipo de datos hay una serie de operadores definidos.

    Entre todos los operadores se distingue el operador de asignacin =,que se puede leer comoguarda un valor en la variable indicada,el valor puede ser una constante literal o el resultado de unaexpresin. Cabe sealar que este operador en pseudocdigo o diagrama de flujo lo hemosrepresentado con una flecha apuntado hacia la izquierda .Veamos algunos ejemplos:

    /* modifica el estado de la variable radio con el valor 3.0*/radio = 3.0;

    /* modifica el estado de la variable por el resultado de evaluar la expresin PI * radio * radio */area = PI * radio *radio;

    Los operadores aritmticos definidos en C son: +(suma), -(resta), *(multiplicacin),/(divisin) y%(mdulo). Este ltimo representa el residuo de dividir dos nmeros enteros, por ejemplo sirealizamos la divisin de 6 entre 15 (15/6), el cociente es 2 y el residuo es 3, al aplicar el operadormdulo a estos valores tenemos:

    15 % 6 321 % 4 1

    En C tambin existen los operadores de incremento ++ y decremento --, stos tienen el efecto deaumentar o decrementar en una unidad el valor de una variable, supongamos que estamos trabajandocon la variable x:

    x++;/* equivale a hacer: x = x + 1;*/x--;/* equivale a hacer: x = x1;*/

  • 7/25/2019 Unidad 2. Introduccion a La Programacion

    16/29

    Fundamentos de programacinUnidad 2. Introduccin a la programacin

    Ciencias Exactas, Ingeniera y Tecnologa Ingeniera en Telemtica 15

    Por ejemplo, si el valor de x es 5 el resultado de aplicar ++y --es:

    x++; 6x--; 4

    Los operadores que permiten construir expresiones booleanas son:

    Operadores relacionales, que manipulan expresiones aritmticas y son:>(mayor que), =(mayor o igual), x ) !(5 > 2 ) !(1) 0 (falso)!(x > y ) !(2 > 3 ) !(0) 1(falso)

    En pseudocdigo o diagrama de flujo se representa con la palabra en ingls NOT.

    Conjuncin&&, es un operador binario que se evala como verdadero slo cuando las dosexpresiones involucradas son verdaderas, en caso contrario devuelve falso.

    Por ejemplo, si evaluamos las siguientes expresiones en el estado x=2, y=3, z=5.

    (x>y) && (z>y) (2 > 3) && (5 > 3) 0&&1 0 (falso)!(x > y) && (z>y) !(2 > 3) && (5 > 3) ! (0) &&1 1&&1 1 (verdadero)

    En pseudocdigo y diagrama de flujo se representa con la palabra en ingls AND.

    Disyuncin||, tambin es un operador binario que devuelve nicamente devuelve falso si los dosoperadores son falsos, en caso contrario devuelve verdadero. Nuevamente, tomemos el mismo estadode las variables x=2, y=3, z=5.

    (x>y)||(z>y) (2>3)||(5>3) 0||1 1 (verdadero)(x>y)||(y>z) (2>3)||(3>5) 0||0 0 (falso)

  • 7/25/2019 Unidad 2. Introduccion a La Programacion

    17/29

    Fundamentos de programacinUnidad 2. Introduccin a la programacin

    Ciencias Exactas, Ingeniera y Tecnologa Ingeniera en Telemtica 16

    En pseudocdigo y diagrama de flujo se representa con la palabra en ingls OR.

    Existen otro tipo de operadores, sin embargo, su estudio supera los objetivos de este curso por lo queno los revisaremos, si deseas saber ms puedes consultar (Joyanes & Zohanero, 2005).

    2.4.2. Evaluacin de expresiones

    La evaluacin de las expresiones depende de tres cosas, principalmente, el estado de las variablesque aparecen en la expresin, el significado de los operadores y suprecedencia. Esta ltima se refierea la prioridad de los operadores, es decir, el orden en el que se evalan, eliminando con esto laambigedad de las expresiones, por ejemplo, si tenemos la expresin:

    2 + 3 * 5

    Podramos evaluarla de dos diferentes formas: La primera es hacer primero la suma 2+3 (=5) ydespus multiplicar el resultado por 5. De tal manera obtendramos como resultado final 25. Otramanera sera realizar primero la multiplicacin 3*5 (=15) y sumar el resultado a 2, obteniendo 17 comoresultado final. Pero sabemos que en matemticas primero se realiza la multiplicacin y despus lasuma, en otras palabras, tiene mayor prioridad la multiplicacin que la suma. Por lo tanto, el resultadocorrecto de la expresin 2 + 3 * 5 es 17. En la siguiente tabla se muestra la precedencia deoperadores de lenguaje C que se han presentado

    Operadores Prioridad

    ( ) Mayor

    Menor

    -(unario), ++, --*, /, %

    +, -, >= ,

  • 7/25/2019 Unidad 2. Introduccion a La Programacion

    18/29

    Fundamentos de programacinUnidad 2. Introduccin a la programacin

    Ciencias Exactas, Ingeniera y Tecnologa Ingeniera en Telemtica 17

    Su codificacin en C es: F= (9.0/5.0)*C +32;

    Se escribe 9.0 y 5.0 para que la divisin devuelva un nmero flotante, de lo contrario la divisinser entera. En este caso las variables F y C, deben ser declaradas como float.

    Evaluando, paso a paso, la expresin en el estado de la variable C = 30 tenemos:

    Expresin actual Estados de las variables

    F= (9.0/5.0)*C +32;C F

    30 ?

    F= (9.0/5.0)*30 +32; Igual al anteriorF= 1.8*30 +32; Igual al anteriorF= 54 +32; Igual al anterior

    F= 86;C F

    30 86

    Observa que el nico operador que cambia el estado de una variable es el de asignacin =.

    Ejemplo 2.4:Ahora evaluemos la expresin:

    (x % 2 == 0)Considerando que el estado de la variable x=24

    Expresin actual Estados de las variables

    x % 2 == 0 X

    240 == 0 Igual al anterior

    1 Igual al anterior

    En este caso la evaluacin de la expresin no afecta el estado de la variable, esto es porqueno contiene ningn operador de asignacin, sin embargo podemos decir que el resultado de suevaluacines verdadero.

    Actividad 2. Diseo e implementacin de un programa

    Consultael documento de actividades.

  • 7/25/2019 Unidad 2. Introduccion a La Programacion

    19/29

    Fundamentos de programacinUnidad 2. Introduccin a la programacin

    Ciencias Exactas, Ingeniera y Tecnologa Ingeniera en Telemtica 18

    2.5. Bibliotecas y funciones

    El lenguaje C en realidad es un lenguaje reducido, en comparacin con otros lenguajes

    de programacin, por ejemplo, no tiene instrucciones de entrada y salida, y tampoco cuentacon operadores o funciones para calcular la raz cuadrada de un nmero o su potencia, entre otras.Sin embargo, para compensar esto el lenguaje C ofrece un vasto conjunto de bibliotecas de funciones,que para fines prcticos se pueden considerar como parte de C. Cabe mencionar que tambin esposible definir nuevas bibliotecas, sin embargo, el lenguaje C tiene definidas diversas funcionesde uso frecuente, que para fines de este curso son ms que suficiente, por lo que este tema no seestudiar en esta ocasin.

    Las funciones que ms se utilizan estn agrupadas en bibliotecas estndar, declaradas comoarchivos de cabecera, de tal manera que para utilizarlas se debe incluir en el archivo utilizandola directiva #include seguida del nombre del archivo encerrado entre

    Las bibliotecas estndar que usaremos en este curso son:

    stdio.hen esta biblioteca se encuentran definidas las funciones estndar de entrada y salida querepresentan la tercera parte de la biblioteca, por ejemplo, declara la funcin printfque sirvepara imprimir datos en pantalla y scanf que se utiliza para leer de datos ingresados medianteel teclado.

    stdlib.h incluye funciones para conversin numrica, asignacin de memoria y tareassimilares, llamadas funciones de utilera. En esta biblioteca se declara la funcin system mediantela cual se envan mensajes al sistema operativo para que ejecute una tarea.

    math.h declara funciones matemticas, como la funcin sqrtque calcula la raz cuadrada de un

    nmero. ctype.h declara funciones para prueba de clasificacin de caracteres, por ejemplo, si es un

    dgito o un carcter.

    Observa que todas las bibliotecas estndar tienen extensin .h

    2.5.1. Funciones matemticas

    La siguiente tabla muestra algunas de las funciones predefinidas en lenguaje C declaradas enla biblioteca math.h.

    Funcin Descripcin Argumento Resultado Ejemplosqrt(x) Razcuadrada flotante flotante sqrt(900) = 90exp(x) Function exponencial flotante flotante exp(2.0)= 2.718282fabds(x) Valor absoluto entero o flotante entero o flotantefabs(-5) = 5log(x) Logaritmoneperiano de x entero o flotate flotante log(0.5) = -0.693log10(x) logaritmo decimal de x entero o flotante flotante Log10(0.5) = -0.301floor(x) Redondeohaciaabajo flotante entero floor(6.5)=6ceil(x) Redondeohaciaarriba flotante entero ceil(6.5)=7

  • 7/25/2019 Unidad 2. Introduccion a La Programacion

    20/29

    Fundamentos de programacinUnidad 2. Introduccin a la programacin

    Ciencias Exactas, Ingeniera y Tecnologa Ingeniera en Telemtica 19

    sen(x) seno de x entero o real flotante sen(0.5) = 0pow(x,y) Devuelve la potencia de x elevada a entero o flotante flotante pow(5,2) = 25cos(x) coseno de x flotante flotante cos(0.5) = 1sin(x) seno de x flotante flotante sin(0.0) = 0tan(x) Tangente de x flotante flotante tan(0.0) = 0Tabla 2.5: Funciones matemticas

    Con esta informacin es posible codificar algoritmos que requieran este tipo de operaciones.Por ejemplo, la frmula para calcular el rea de una circunferencia, que se aparece en el programa 2.2.

    area = PI * radio * radio;

    Se puede codificar de la siguiente manera:

    area = PI * pow(radio,2);

    2.5.2. Funciones de entrada y salida

    En los programas que hemos visto aparece la funcin de salida estndar printf, que se encarga deimprimir un mensaje en la pantalla. La sintaxis general es:

    printf(, );

    Donde representa el mensaje de texto que se desea desplegar en el monitor ysiempre tiene que ir en comillas, opcionalmente puede incluir secuencias de escape o especificadores

    de control. Y es una lista con los identificadores de las variables o lasexpresiones que sern desplegadas, separadas por comas.

    Los especificadores de conversin se utilizan para imprimir valores dentro de la cadena de controlespecificados por una variable, una constante o una expresin. En la siguiente tabla se muestran losque ms se usan.

    Especificador Accin

    %d Insertar un entero (int)

    %i Insertar un entero tipo (int)%ld Insertar un entero tipo (long)

    %f Insertar un nmero flotantetipo (float)

    %lfInsertar un nmero de tipo(double)

    %c Insertar un caracter (char)

    %s Insertar una cadena(char [ ])Tabla 2.6: Especificadores de conversin

  • 7/25/2019 Unidad 2. Introduccion a La Programacion

    21/29

    Fundamentos de programacinUnidad 2. Introduccin a la programacin

    Ciencias Exactas, Ingeniera y Tecnologa Ingeniera en Telemtica 20

    Ejemplo 2.5: Suponiendo que el estado de las variables es radio=3 y area=28.27,

    printf(El area del circulo con radio %d es %f \n,radio,area);

    La salida de la instruccin anterior sera:

    El rea del circulo con radio 3 es 28.27

    Observa que se imprime el texto tal cual pero en vez de imprimir el especificador de conversin %dse imprime el valor de la primera variable que es radio y en el lugar del especificador %f seimprime el valor del siguiente argumento que es la variable area.

    Ahora, si tenemos la instruccin:

    printf(El perimetro es %.2f \n, PI*2*radio);

    La salida sera:El perimetro es 18.85

    En este caso en el lugar del convertidor %.2f se imprime el resultado de evaluar la expresinPI*2*radioque es el segundo argumento, el nmero .2 que aparece en el convertidor indica queslo deben imprimirse dos decimales.

    En lenguaje C la lectura de datos por medio del teclado se realiza con la funcin scanf, en la cual sedeben de especificar de ante mano los tipos de datos que se desea recibir, adems de losidentificadores de las variables donde se desean almacenar.

    La sintaxis de esta funcin es:

    scanf(,);

    Donde es una cadena con los cdigos que controlarn la forma como serecibirn los datos desde teclado y la es una lista con laslocalidades de memoria de las variables donde se almacenarn los datos que el usuario delprograma introduzca a travs del teclado.

    Dos observaciones importantes: en la especificacin de la cadena de control se utilizan los mismos

    especificadores de conversin que para la funcin printf encerrados entre comillas y en la lista dedirecciones los identificadores de las variables, anteponindoles a cada uno un smbolo deamperson &, enel mismo orden que los especificadores de tipos que les corresponden.

    Ejemplo 2.6: Suponiendo que se desea leer la base y la altura de un rectngulo y guardarlas en lasvariables de tipo int llamadas basen y altura, de tal manera que el usuario ingrese los valoresseparados por una coma, digamos 5,2entonces la instruccin sera:scanf(%d,%d, &base, &altura);

  • 7/25/2019 Unidad 2. Introduccion a La Programacion

    22/29

    Fundamentos de programacinUnidad 2. Introduccin a la programacin

    Ciencias Exactas, Ingeniera y Tecnologa Ingeniera en Telemtica 21

    Nota: Es frecuente que las personas olviden escribir el & antes del identificador de una variable,al utilizar la funcin scanf, cuestin que no es supervisada por el compilador y genera un error enelmomento que se ejecuta el programa

    2.6. Codificacin de algoritmos

    Para cerrar esta unidad desarrollemos un programa en C que resuelva el siguiente problema:

    Descripcin del problema: Se requiere un programa que se encargue de la venta de boletos enun cine. El sistema debe calcular el monto que se debe pagar por una cantidad determinada deboletos tomando en cuenta que el costo de cada boleto es de 45 pesos. Tambin se encargar decobrar, es decir, dado el pago debe calcular el cambio indicando el tipo y nmero de billetes omonedas que devolver de cada denominacin. Para evitarse problemas de cambio, los ejecutivos deCineESAD han decidido no aceptar monedas de denominacin menor a 1 peso y tampoco billetes de

    denominacin mayor a 500 pesos. Tambin se debe suponer que siempre hay suficientes billetes ymonedas de cualquier denominacin para devolver el cambio.

    Anlisis: Los datos de entrada son el nmero de boletos (nboletos) y el monto del pago (pago), lasalida del programa es el monto que se debe pagar por los boletos (total) y el monto del cambio(cambio), indicando el tipo y nmero de cada uno de los billetes o monedas que se devolvern.

    Notemos que el precio de los boletos siempre es el mismo, as que se puede declarar como unaconstante, llammosla PRECIO. As que para calcular el monto que el cliente debe pagar tenemos lasiguiente frmula:total = nboletos * PRECIO

    Y el monto del cambio se calcula con la siguiente frmula:

    cambio = pagototal

    Para calcular cuntos billetes o monedas se tienen que devolver, se utilizarn los operadores demdulo y divisin. Por ejemplo, si el cambio es 360 se puede calcular el nmero de billetes de 100dividiendo 360 entre 100, lo cual resulta ser 3 que corresponde al nmero de billetes, el resto delcambio es igual a 360 mdulo 100, en este caso es 60.

    Por ltimo, los billetes slo pueden ser de $500, $200, $100, $50y $20y las monedas slo son de $10,$5, $2y $1. Por el momento supondremos que el usuario siempre ingresa datos correctos.

    Diseo del algoritmo: En la siguiente tabla se muestra el algoritmo que resuelve el problema.

    Constantes:PRECIO = 45

  • 7/25/2019 Unidad 2. Introduccion a La Programacion

    23/29

    Fundamentos de programacinUnidad 2. Introduccin a la programacin

    Ciencias Exactas, Ingeniera y Tecnologa Ingeniera en Telemtica 22

    Variables:nboletos: entero, representa el nmero de boletos que quiere el cliente.total: entero, es la cantidad de dinero que el cliente debe pagar.pago: entero, monto del pago del cliente.

    cambio: entero, monto del cambio.

    Algoritmo 2.1: ventaBoletos (pseudocdigo)

    Nota: Observa que no es necesario utilizar variables para el nmero de billetes o monedas de lasdiferentes denominaciones, pues slo se utiliza una vez el resultado del clculo as que se puedeimprimir directamente el resultado del mismo.

  • 7/25/2019 Unidad 2. Introduccion a La Programacion

    24/29

    Fundamentos de programacinUnidad 2. Introduccin a la programacin

    Ciencias Exactas, Ingeniera y Tecnologa Ingeniera en Telemtica 23

    Para verificar que el algoritmo funciona, en la siguiente tabla se realiza una prueba de escritorioconsiderando que los datos de entrada son 5 boletos y el monto del pago son 500 pesos. En laprimera columna aparece la instruccin que se ejecuta, en la siguiente el dato que suponemos seingresa, despus estn las operaciones que se realizan en la ALU, en la cuarta columna se muestra

    los valores de las variables despus de que se ha realizado la instruccin y en la ltima columna seindica el mensaje que se imprimir en la pantalla, cuando sea el caso. Por otro lado, incluimos en latabla de estado de la memoria la constante PRECIO sombreando el espacio correspondiente paraindicar que no puede ser modificado.

    Instruccin

    Datode

    entrad

    a

    Operaciones

    Estado de lamemoria

    (variables yconstantes)

    Dato de

    salida

    Inicio - -

    PRECIO nBoletos total pago cambio

    -45 - - - -

    ImprimirProporcionael nmero deboletos.

    - -

    PRECIO nBoletos total pago cambio

    45

    Proporciona elnmero deboletos

    Leer nBoletos 5 -

    PRECIO nBoletos total pago cambio

    -45 5 - - -

    total =nBoletos*PRECIO

    -

    total =5*45

    =225

    PRECIO nBoletos total pago cambio

    45 5 225 -

    ImprimirProporcionatu pago

    - -PRECIO nBoletos total pago cambio45 5 225 - Proporciona tu pago

    Leer nBoletos 500 -

    PRECIO nBoletos total pago cambio

    -45 5 225 500 -

    cambio = pago -total -

    cambio =500-225 =

    275

    PRECIO nBoletos total pago cambio

    45 5 225 500 275 -

    ImprimirTucambio

    es,cambio.

    - -

    PRECIO nBoletos total pago Cambio

    45 5 225 500 275 Tucambio

    es 275

    ImprimirEl

    nmero debilletes de$200 es,cambio/200

    - 275/200 = 1

    PRECIO nBoletos total pago Cambio

    45 5 225 500 275

    El nmerode billetesde $200es

    1

  • 7/25/2019 Unidad 2. Introduccion a La Programacion

    25/29

    Fundamentos de programacinUnidad 2. Introduccin a la programacin

    Ciencias Exactas, Ingeniera y Tecnologa Ingeniera en Telemtica 24

    cambio =cambiomdulo200

    -

    cambio =275 mod200=75

    PRECIO nBoletos total pago Cambio

    45 5 225 500 75 -

    ImprimirElnmero debilletes de$100 es,cambio/100

    - 75/100 = 0

    PRECIO nBoletos total pago Cambio

    45 5 225 500 75El nmerode billetesde $100es0

    cambio =cambiomdulo 100 -

    cambio =275 mod100=75

    PRECIO nBoletos total pago Cambio

    45 5 225 500 75 -

    ImprimirElnmero de

    billetes de$50 es,cambio/50

    - 75/50= 1

    PRECIO nBoletos total pago Cambio

    45 5 225 50075

    El nmerode billetesde $50 es1

    cambio =cambiomdulo 50 -

    cambio =75

    mod 50=25

    PRECIO nBoletos total pago Cambio

    45 5 225 500 25 -

    ImprimirEl nmerode billetesde $20 es,cambio/20

    - 25/50= 0

    PRECIO nBoletos total pago Cambio

    45 5 225 500 25

    El nmerode billetesde $50 es0

    cambio =cambiomdulo 20 -

    cambio =

    25 mod20

    =5

    PRECIO nBoletos total pago Cambio45 5 225 500 5 -

    ImprimirElnmero demonedasde $10 es,cambio/10

    - 5/10= 0

    PRECIO nBoletos total pago Cambio45 5 225 500 5

    El nmerode

    moneda

    sde $10 es0

    cambio =cambiomdulo 10 -

    cambio =5

    mod 10=5

    PRECIO nBoletos total pago Cambio

    45 5 225 500 5-

    ImprimirElnmero demonedasde $5 es,cambio/5

    - 5/5= 1

    PRECIO nBoletos total pago Cambio

    45 5 225 500 5

    El nmerodemonedasde $5 es1

    cambio =cambio -

    cambio =5 PRECIO nBoletos total pago Cambio -

  • 7/25/2019 Unidad 2. Introduccion a La Programacion

    26/29

    Fundamentos de programacinUnidad 2. Introduccin a la programacin

    Ciencias Exactas, Ingeniera y Tecnologa Ingeniera en Telemtica 25

    mdulo 5 mod 5=0

    45 5 225 500 0

    ImprimirElnmero de

    monedasde $2 es,cambio/2

    - 0/2= 0

    PRECIO nBoletos total pago Cambio

    45 5 225 500 0

    El nmerodemonedas

    de $2 es0

    cambio =cambiomdulo 2 -

    cambio =

    0 mod 2=0

    PRECIO nBoletos total pago Cambio

    45 5 225 500 0-

    ImprimirEl

    nmero demonedas de $1es,cambio

    - -PRECIO nBoletos total pago Cambio

    45 5 225 500 0

    El nmerodemonedasde $1 es0

    Fin - -PRECIO nBoletos total pago Cambio45 5 225 500 0 -

    Implementacin: Por ltimo, slo queda codificar el algoritmo en lenguaje C

    /*Descripcin: Simulador de la caja de cobro de un cine.*/

    /*Directivas al procesador */#include/* Funciones de entrada y salida */#include/* Funciones del sistema */

    /* Funcin Principal */main( ){

    /*Declaracin de variables y constantes */constint precio = 45;intnBoletos, total, pago, cambio;

    /*Mensaje de bienvenida*/printf("********** Venta de boletos CineESAD************\n\n");

    /*Datos de entrada*/printf("Proporcione el numero de boletos que desea comprar:\t");scanf("%d",&nBoletos);

    /*Calculamos el total de la venta*/total = nBoletos*precio;printf("El total es *** %d pesos *** \n\n",total);

  • 7/25/2019 Unidad 2. Introduccion a La Programacion

    27/29

    Fundamentos de programacinUnidad 2. Introduccin a la programacin

    Ciencias Exactas, Ingeniera y Tecnologa Ingeniera en Telemtica 26

    /*Leemos el pago y calculamos elcambio*/ printf("Indique el monto desu pago: "); scanf("%d",&pago);

    /*Calculamos el cambio y lo devolvemos*/cambio = pago - total;printf("\n\n El monto de su cambio es %d\n",cambio);printf("\n\t%d billetes de $200", cambio/200);cambio = cambio%200;printf("\n\t%d billetes de $100", cambio/100);cambio = cambio%100;printf("\n\t%d billetes de $50", cambio/50);cambio = cambio%50;printf("\n\t%d billetes de $20", cambio/20);cambio = cambio%20;printf("\n\t%d monedas de $10", cambio/10);

    cambio = cambio%10;printf("\n\t%d monedas de $5", cambio/5);cambio = cambio%5;printf("\n\t%d monedas de $2", cambio/2);cambio = cambio%2;printf("\n\t%d monedas de $1", cambio);printf("\n\nCineUNAD le agradece su preferencia\n\n");system("pause");/*har una pausa antes de terminar la ejecucin*/

    }/*fin main*/Programa 2.3: ventaBoletos.cEl resultado de la ejecucin del programa utilizando los mismos datos de entrada de la

    prueba de escritorio es:

    Figura 2.3: Ejecucin del programa ventaBoletos.c

  • 7/25/2019 Unidad 2. Introduccion a La Programacion

    28/29

    Fundamentos de programacinUnidad 2. Introduccin a la programacin

    Ciencias Exactas, Ingeniera y Tecnologa Ingeniera en Telemtica 27

    Actividad 3. Codificando algoritmos

    Consultael documento de actividades.

    Evidencia de aprendizaje: Programa Anlisis del problema

    Consultael documento de actividades.

    Para desarrollar ms tus habilidades de programador de una forma divertidaconsulta:http://code.org/ en donde existen distintas actividades que te ayudar amejorar en la resolucin de problemas.

    Se sugiere consultes un videotutorialhttp://www.microsoftvirtualacademy.com/training-courses/curso-aprendiendo-a-programarpara incrementar tus conocimientos.

    http://code.org/http://code.org/http://code.org/http://www.microsoftvirtualacademy.com/training-courses/curso-aprendiendo-a-programarhttp://www.microsoftvirtualacademy.com/training-courses/curso-aprendiendo-a-programarhttp://www.microsoftvirtualacademy.com/training-courses/curso-aprendiendo-a-programarhttp://www.microsoftvirtualacademy.com/training-courses/curso-aprendiendo-a-programarhttp://www.microsoftvirtualacademy.com/training-courses/curso-aprendiendo-a-programarhttp://www.microsoftvirtualacademy.com/training-courses/curso-aprendiendo-a-programarhttp://code.org/
  • 7/25/2019 Unidad 2. Introduccion a La Programacion

    29/29

    Fundamentos de programacinUnidad 2. Introduccin a la programacin

    Cierre de la unidad

    Con esto concluimos la segunda unidad del curso de Fundamentos de Programacin. A lo largo de

    esta Unidad se han presentado los componentes bsicos de un programa de computadora, as comolas diferencias y usos de las variables y constantes. Tambin revisamos las expresiones matemticas,los tipos de operadores que se usan en los programas de computadora y la forma en que se realiza laevaluacin de expresiones matemticas. As mismo analizamos las bibliotecas y funciones disponibles,tales como funciones matemticas, funciones de entrada y salida . Finalmente realizamos lacodificacin de algoritmos.

    Es aconsejable que revises nuevamente el material en caso de que algn tema de los vistos en estaunidad no te haya quedo lo suficientemente claro, de lo contrario te invitamos a revisar la siguienteunidad.

    Fuentes de consulta

    Fuentes bsicas

    Bhm, C., & Jacopini, G. (1966). Flow diagrams, Turing machines, and languagesonly with two formation rules". Communications of the ACM, 9 (5), 366-371.

    Cair, O. (2005). Metodologa de la programacin: Algoritmos, diagramas de flujo y programas.Mxico, D.F.: Alfaomega.

    Joyanes, L., & Zohanero, I. (2005). Programacin en C. Metodologa, algoritmos y estructuras

    de datos. aspao: Mc Graw Hill.

    Fuentes complementarias

    Kernighan, B., & Ritchie, D. (1991). El lenguaje de programacin C. Mxico: Prentice-Hall Hispanoamericana.

    Lpez, L. (2005). Programacin estructurada en lenguaje C. Mxico: Alfaomega. Reyes, A., & Cruz, D. (2009). Notas de clase: Introduccin a la programacin.

    Mxico, D.F.: UACM.

    Fuentes electrnicas

    Guerrero, F. (s.f.). mailxmail.com. Recuperado el 15 de 8 de 2010, dehttp://www.mailxmail.com/curso-introduccion-lenguaje-c

    Villela, H. T. (20 de agosto de 2010). Manual de C. Obtenido dehttp://www.fismat.umich.mx/mn1/manual/.

    http://www.mailxmail.com/curso-introduccion-lenguaje-chttp://www.mailxmail.com/curso-introduccion-lenguaje-chttp://www.fismat.umich.mx/mn1/manual/http://www.fismat.umich.mx/mn1/manual/http://www.fismat.umich.mx/mn1/manual/http://www.fismat.umich.mx/mn1/manual/http://www.mailxmail.com/curso-introduccion-lenguaje-c