Anda di halaman 1dari 67

UNIVERSIDAD CENTROCCIDENTAL LISANDRO ALVARADO SISTEMA DE EDUCACIN A DISTANCIA DECANATO DE CIENCIAS Y TECNOLOGA

UNIDAD DIDCTICA
1

4 2 3

Elementos bsicos del Lenguaje de Programacin


Prof. Margarita Pereira
Barquisimeto, Marzo 2010

UNIVERSIDAD CENTROCCIDENTAL LISANDRO ALVARADO SISTEMA DE EDUCACIN A DISTANCIA DECANATO DE CIENCIAS Y TECNOLOGA

UNIDAD DIDCTICA

Programacin
Elaborado por: Prof. Margarita Pereira Correo-e: mpereira@ucla.edu.ve Fecha Elaboracin: Septiembre 2008 Revisado y actualizado por: Prof. Margarita Pereira Fecha Ultima Revisin: Marzo 2010

Unidad didctica. Elementos bsicos del lenguaje

Tabla de Contenidos
Pg. Introduccin. . Objetivos de Aprendizaje.. Contenidos Programticos de la Unidad 1. Lenguaje de Programacin... 1.1. Definicin......... 1.2. Tipos de Lenguajes... 1.3. Lenguaje C++... 1.4. Definicin de sintaxis... 1.5. Pasos para realizar un programa en un lenguaje de programacin... 2. Estructura bsica de un programa en C++... 2.1. Definiciones y/o Declaraciones 2.1.1. Directivas del Preprocesador. 2.1.2. Declaraciones globales... 2.2. Funcin main 2.3. Implementacin de las funciones definidas por el usuario... 3. Elementos de un programa en C++.. 3.1. Conjunto de caracteres.. 3.2. Palabras reservadas... 3.3. Identificadores... 3.4. Comentarios... 3.5. Archivos de Cabecera........ 4. Datos 4.1. Definicin. 4.2. Tipos de datos... 5 6 6 6 6 6 7 8 9 10 11 11 12 13 14 15 15 16 16 16 17 17 17 17

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

4 19 19 22 22 26 26 26 33 34 36 40 41 42 42 42 43 43 47 49 52 54 67

4.3. Constantes. 4.4. Variables... 5. Instruccin de asignacin. 6. Instruccin de entrada y salida. 7. Proceso de creacin de un programa ejecutable.. 8. Operadores, Operandos y Expresiones 8.1. Operador de Asignacin... 8.2. Operadores unarios (menos unario, sizeof(), coma). 8.3. Operadores aritmticos. 8.4. Operadores de Incremento y Decremento. 8.5. Operadores relacionales 8.6. Operadores lgicos 8.7. Prioridad de los operadores... 9. Pruebas y depuracin de programas. 10. Documentacin de Programas. 11. Ejercicios Propuestos... Resumen. Autoevaluacin... Respuesta a la Autoevaluacin. Complemento. Ejercicios Propuestos. Instructivo para la Instalacin del Compilador DevCpp Fuentes de Informacin..

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

Introduccin
La programacin nace por la necesidad de elaborar programas de computacin que permitan resolver problemas de diversas reas de la vida como la social, econmica, acadmica, poltica, cultural, entre otras. Estos programas de computacin deben ser llevados al computador para poder ver su aplicabilidad. Hasta este momento los programas se han escrito como un algoritmo (secuencia de pasos, instrucciones) haciendo uso de un pseudocdigo. Las computadoras funcionan bien, si tienen programas escritos en algn lenguaje que ellas puedan interpretar (por supuesto programas lgicos y correctos). Esta es la razn por la que aparecen los lenguajes de programacin. Esta unidad didctica pretende que comprendas para que sirven los lenguajes de programacin, as como los pasos que debes seguir para poder utilizarlos. En particular, se detalla el lenguaje de programacin C++, usando el compilador Devcpp que trabaja bajo la plataforma de Windows. Entre otras cosas se especifican la sintaxis para las instrucciones bsicas, los datos y sus tipos as como los diversos operadores de que dispone el lenguaje. El objetivo central, no es que memorices los conceptos planteados en este material, sino que los lleves a la prctica desarrollando programas y verificando que producen los resultados esperados (correctos), es por ello que se muestran algunos ejemplos sencillos y se dejarn otros propuestos para que los resuelvas. Puedes imaginarte esta unidad como un mapa que te indicar las rutas que debes seguir para lograr los objetivos de tu aprendizaje con relacin al tema Elementos bsicos del Lenguaje y con ella podrs desarrollar: Procesos de reflexin, crtica, duda, cuestionamiento e investigacin lo cual te ayudar a construir tus conocimientos. Un dilogo permanente con el saber, con tu facilitador (profesor) y en general con la realidad que te rodea Respuestas sobre el qu?, cmo?, cundo? a fin de mejorar el aprovechamiento del tiempo disponible y maximizar el aprendizaje y su aplicacin. Te recuerdo que tu eres el protagonista central en esta historia, as que no tengas miedo, siempre contaras con mi apoyo, no estas slo, somos un equipo (t, tu profesor y tus compaeros) debemos colaborar unos con otros y as todos lograremos el objetivo que es

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

lograr el aprendizaje sobre este tema. As que nimo y a comenzar con el tema Elementos bsicos del Lenguaje de Programacin. .

Objetivos de Aprendizaje Objetivo Terminal


Al finalizar este tema podrs IMPLEMENTAR programas sencillos en lenguaje C++, aplicando los elementos bsicos del lenguaje.

Objetivos Especficos
Identificar los componentes esenciales de la estructura de un programa de computacin. Identificar el proceso de edicin y compilacin para la creacin de programas ejecutables. Reconocer el trmino datos como elemento fundamental en la creacin de un programa de computacin. Diferenciar los diferentes tipos de datos y su aplicacin. Utilizar los archivos de cabecera. Utilizar los diferentes operadores, operandos y expresiones en el desarrollo de un programa de computacin. Utilizar instrucciones de asignacin. Utilizar instrucciones que permitan realizar operaciones de entrada/salida. Realizar pruebas efectivas para la produccin de programas confiables y de mejor calidad. Elaborar programas documentados con el fin de mejorar el mantenimiento de los mismos. Utilizar la herramienta de programacin DevCpp. Asumir responsabilidades individuales y aprender a trabajar en equipo.

Contenidos Programticos (Proceso de Aprendizaje) Elementos bsicos del lenguaje de Programacin


1. Lenguaje de Programacin 1.1. Definicin: Es una serie de smbolos que se utilizan para escribir instrucciones de programacin (respetando ciertas reglas o sintaxis). Estas instrucciones estarn ubicadas dentro de programas que sern creados para resolver problemas. La idea es que estos programas sean ejecutados por un computador.

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

1.2. Tipos de lenguajes: Existen muchos lenguajes para programar un computador. Una primera divisin podra ser: Lenguaje de bajo nivel tambin conocido como lenguaje de mquina, es el lenguaje ms bsico que consiste en una coleccin de instrucciones muy detalladas que controlan la circuitera interna del computador, por lo que los microprocesadores procesan exclusivamente seales electrnicas binarias (en realidad es una secuencia de ceros y unos); si bien es cierto que el lenguaje de bajo nivel es el lenguaje natural del computador, tambin es cierto que no es el lenguaje que se utiliza con mayor frecuencia para escribir programas de aplicacin ya que no es el ms entendible por las personas. Lenguajes de alto nivel son los ms utilizados para escribir programas de aplicacin ya que son ms sencillos y compatibles con la forma de pensar de los humanos. La mayora de estos lenguajes son de propsito general, entre ellos podemos mencionar el Lenguaje C, C++, Pascal, Java, Basic, Fortran, etc. Hay tambin lenguajes de propsito especial que estn diseados especficamente para algn tipo particular de aplicacin, como por ejemplo CSMP y SIMAN son lenguajes propios para desarrollar simulaciones y LISP que es un lenguaje orientado al tratamiento de listas y se utiliza ampliamente en aplicaciones de inteligencia artificial. Para efectos de esta asignatura usaremos el lenguaje C++ y el compilador Devcpp que trabaja bajo Windows. Es importante aclarar que el compilador es el encargado de verificar la sintaxis del lenguaje y producir (generar) el programa objeto (es el programa que entiende el computador se encuentra en un lenguaje de bajo nivel), entonces el proceso de compilacin consiste en convertir un programa fuente (el programa que escribimos en lenguaje C++, la extensin de estos programas es .cpp) en un programa objeto que pueda ser interpretado por el computador (extensin .exe). LO MS IMPORTANTE INDEPENDIENTEMENTE DEL LENGUAJE DE PROGRAMACIN A UTILIZAR, ES TENER UNA BUENA LGICA DE PROGRAMACIN. 1.3. Lenguaje de programacin C++: Es un lenguaje de propsito general. Sus instrucciones constan de trminos que se parecen a expresiones algebraicas, adems de ciertas palabras claves como IF, ELSE, FOR, etc. C++ difiere de algunos otros lenguajes de propsito general ya que tiene caractersticas adicionales que permiten su uso a un nivel ms bajo, cubriendo as el vaco entre el lenguaje de mquina y los lenguajes de alto nivel ms convencionales. Esta flexibilidad permite el uso de C++ en la programacin de sistemas operativos as como tambin en la programacin de

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

aplicaciones. Este lenguaje se caracteriza por hacer posible la redaccin de programas fuentes muy concisos y portables, ya que dispone de: Un gran nmero de operadores. Un repertorio propio de instrucciones. Numerosas funciones de bibliotecas que mejoran las instrucciones bsicas. Permite a los usuarios escribir funciones de biblioteca adicionales para su propio uso. Con esto el usuario fcilmente puede ampliar las caractersticas y capacidades del lenguaje. Breve resea histrica de C++: Fue desarrollo por Bjarne Stroustrup en los laboratorios Bell, este lenguaje se basa en el lenguaje C y por lo tanto todas las caractersticas estndar y bsicas de C estn disponibles en C++. Sin embargo C++ no es solo una extensin de C ya que incorpora nuevos fundamentos que constituyen una base para la programacin orientada a objetos (POO) un nuevo paradigma, una nueva forma de pensar, concebir y resolver los problemas a nivel de programacin. Con este paradigma Bjarne incorpora en el lenguaje la capacidad para el diseo de las llamadas clases y objetos, conceptos muy en boga en la programacin actual. De clases y objetos basta saber por ahora que consisten en un sistema que pretende acercar los lenguajes de programacin a una comprensin ms humana basndose en la construccin de objetos, con atributos (caractersticas) propias y acciones (mtodos) sobre esos atributos. El lenguaje C fue desarrollado originalmente en los aos setenta por Dennis Ritchie en Bell Telephone Laboratories, Inc. 1.4. Definicin de Sintaxis: En un lenguaje de programacin la sintaxis esta formada por un conjunto de reglas que determinan si las instrucciones del programa estn bien escritas. Su objetivo es proveer una notacin especfica que permita la comunicacin entre el programador y el procesador del lenguaje. Dicho de otra forma una gramtica representa la definicin formal de la sintaxis de un lenguaje. Asociemos este concepto con la escritura correcta de un documento en el idioma (lenguaje) espaol, ciertamente existen una reglas conocidas como reglas ortogrficas que debemos respetar y seguir al pie de la letra para escribir sin errores, todos escribimos documentos y luego utilizamos la herramienta del corrector ortogrfico que posee el procesador para verificar que las palabras estn sintcticamente correctas; bueno el compilador viene a comportarse como el corrector de ortografa, claro est el hecho de no cometer errores ortogrficos en el documento no asegura que los prrafos escritos tenga una idea correcta. Lo mismo pasa con el compilador, el hecho de que tu programa compile NO quiere decir que funcione correctamente (produzca los resultados esperados), recuerda el compilador chequea si las instrucciones cumplen con la sintaxis establecida por el lenguaje de programacin.

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

1.5. Pasos para realizar un programa en un lenguaje de programacin LEER detalladamente el enunciado del problema, de tal forma que haya claridad en lo que se requiere. Este proceso conlleva un anlisis exhaustivo del enunciado. ESCRIBIR ( hacer ajustes-modificaciones de) las instrucciones del programa en el lenguaje de programacin haciendo uso de un editor de textos (en nuestro caso el compilador Devcpp tiene incorporado su propio editor). Grabar el programa en un medio de almacenamiento secundario. Es importante destacar que la extensin de los programas fuentes de C++ es .cpp COMPILAR el programa fuente. El objetivo de la compilacin es chequear la sintaxis del lenguaje. Si hay errores de compilacin se debe regresar al editor (PASO 2) hacer los ajustes (modificaciones), grabar nuevamente el programa fuente y volver a compilar (PASO 3). Este proceso se repite hasta que NO HAYAN ERRORES EN COMPILACIN (errores de sintaxis). Aqu se genera un programa ejecutable temporal. ENCADENAR enlazar el programa con las bibliotecas (libreras) incluidas en el programa fuente. Estas bibliotecas pueden ser las que se encuentran predefinidas en el lenguaje de programacin y/ bibliotecas propias realizadas por el usuario. Aqu se genera el programa ejecutable final con extensin .exe. Si no localiza las bibliotecas incluidas en el programa fuente, dar un error. Se debe chequear si no estn disponibles en el medio de almacenamiento secundario, tambin podra ser que el proceso de instalacin del compilador no se haya realizado correctamente. EJECUTAR correr el programa. Para ello usted puede escribir a nivel de consola el nombre del programa y presionar ENTER tambin puede colocarse sobre el icono del programa ejecutable y presionar CLIC con el ratn. Si el programa presenta errores de ejecucin (errores de lgica) deber hacer los ajustes regresando al PASO 2 e inclusive en algunos casos deber regresar al PASO 1. En caso de que el programa no presente errores de ejecucin ha finalizado exitosamente el proceso.

Estos pasos se pueden representar grficamente as:

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

10

INICIO

Leer el Problema

Editar el programa (Tipear y/o modificar) Grabar el programa

Compilar programa y Enlazar bibliotecas

Errores de Sintaxis

si

no
Ejecutar programa

Errores de Ejecucin

si

Chequear lgica del programa

no
FIN

Podramos asegurar que un programa esta correcto solo si compila y produce resultados? Pues la respuesta es NO, muchas veces nos alegramos porque al corregir todos los errores de compilacin (errores sintcticos) y ejecutamos el programa introduciendo datos, vemos que da unos resultados y pensamos que ya esta resuelto todo; pero la cosa no es tan simple, debes saber seleccionar los datos de prueba y de antemano saber cuales deben ser los resultados esperados. 2. Estructura bsica de un programa en C++ Todo programa en C++ consta de uno o ms mdulos llamados funciones. Una de las funciones se llama main que es la funcin principal (cuerpo principal del programa,
Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

11

donde se encuentra la lgica central). El programa comenzar con la ejecucin de esta funcin main, la cual puede acceder con la secuencia establecida en las instrucciones escritas a las dems funciones. Estas funciones adicionales al main debern realizarse aparte, bien sea antes despus de la funcin main. Una funcin en C++ es un subprograma subrutina mdulo programa pequeo que devuelve un nico valor, un conjunto de valores ningn valor (en este caso la funcin realiza alguna tarea especfica pero no necesita retornar ningn valor). Las funciones sern tratadas ms adelante en esta gua. En general un programa en C++ est formado por tres grandes bloques: Definiciones y/o Declaraciones. Funcin main. Desarrollo (implementacin) de las otras funciones definidas por el usuario. 2.1.Definiciones y/o Declaraciones: Todas las definiciones que se elaboren en este bloque son consideradas como definiciones globales, es decir que pueden ser utilizadas en cualquier parte del programa. Lo que se encuentra dentro de este bloque es opcional, usted deber evaluar el problema que desea resolver y decidir cuales son las definiciones y declaraciones que necesita. Dentro de este bloque se encuentra lo siguiente: 2.1.1. Directivas del Preprocesador: Son instrucciones especiales, las cuales son ejecutadas al principio del proceso de compilacin. Comienzan con el smbolo #. Generalmente aparecen al principio del programa, pero esto no es obligatorio. De tal forma que la directiva del preprocesador puede aparecer en cualquier parte del programa. La directiva ser aplicable solo a las instrucciones del programa que estn escritas despus de la misma. Las directivas ms usadas son #include y #define. #include: Sirve para tener acceso a los archivos de biblioteca (archivos de cabecera), que no son ms que libreras las cuales agrupan un conjunto de funciones que estn disponibles para ser usadas en cualquier programa. La extensin de estos archivos de biblioteca es .h. Sintaxis:

#include nombre_del_archivo_de_biblioteca

#define: Sirve para definir constantes simblicas dentro de un programa. Una constante simblica es un nombre que sustituye una secuencia de caracteres. Los caracteres pueden representar una constante numrica, una constante de carcter o una constante de cadena de caracteres. Entonces cuando se compila el programa automticamente la constante simblica es reemplazada por su correspondiente secuencia de caracteres. Generalmente estas constantes se suelen definir al comienzo del programa pero esto no es obligatorio.
Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

12

Sintaxis:

#define nombre_de_la_constante dato

nombre_de_la_constante: representa un nombre simblico. dato: representa la secuencia de caracteres asociada al nombre simblico. Estos caracteres pueden ser letras, nmeros o caracteres especiales. Como se observa en la sintaxis el #define no termina con punto y coma (;). Si se coloca el ; este carcter formara parte de la constante. Es importante destacar, que las constantes simblicas no son obligatorias en los programas, sin embargo en algunos casos se recomienda su utilizacin ya que contribuyen al desarrollo de programas claros y ordenados. La idea es colocar nombres significativos a las constantes simblicas de tal forma que el nombre de la constante por si solo nos ubique de a que constante se refiere; esto se debe a que el ser humano identifica de forma ms rpida un nombre que un valor. As por ejemplo, si estamos haciendo un programa que tenga que ver con notas definitivas de alumnos podramos definir las siguientes constantes simblicas que son numricas: #define MAX_NOTA 100 #define MIN_NOTA 0 Otros ejemplos de constantes alfanumricas: #define LETRA_ALTA A #define AMIGA maria Por otro lado, es mucho ms fcil y rpido cambiar el valor de la constante en una sola lnea (la del #define) que cambiar la aparicin del valor en varias lneas del programa. Tambin se pueden definir macros dentro de un programa. Este punto no es objetivo de esta asignatura sin embargo mencionaremos que las macros consisten en definir identificadores simples que son equivalentes a expresiones instrucciones completas (grupos de instrucciones). En este sentido las macros se parecen a las funciones, pero son definidas y tratadas de forma diferente durante el proceso de compilacin. 2.1.2. Declaraciones globales: En este bloque se pueden definir constantes, tipos de datos definidos por el usuario, variables y prototipos de funciones. Los detalles de estas declaraciones sern planteados ms adelante en esta gua.

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

13

Para qu sirven las constantes simblicas? Es necesario (obligatorio) incluirlas en el programa. Un programa que no incluya libreras es incorrecto? Seguramente acertaste en tus respuestas, verifica. Primero, las constantes simblicas sirven para sustituir datos (numricos o caracteres) con un nombre (es un identificador) de esta manera el compilador asocia el nombre con el dato. No es obligatorio que existan dentro del programa, debes analizar el problema que vas a resolver y decidir si se justifica el uso de constantes simblicas en el mismo. Algo similar ocurre con el uso de las libreras, las incluyes en tu programa solo si las necesitas, debes aprender a programar en forma eficiente usando slo lo que requieras para el programa que estas desarrollando en un momento dado. Debes trabajar con eficiencia. 2.2. Funcin main: Este bloque corresponde al cuerpo principal del programa. Su estructura es la siguiente: int main() // Cabecera de la funcin main { // Comienza el programa principal // bloque de definiciones y/o declaraciones locales al main inst1; inst2; . // Secuencia lgica de instrucciones .... instn; return 0; // Es opcional (resultado de la funcin) } // Fin del Programa

int main() es equivalente a main() por defecto para C++ la funcin main retorna un valor entero La instruccin return 0 deber colocarse si la cabecera de main esta escrita como int main() La instruccin return 0 no deber colocarse si la cabecera de main esta escrita como main() Qu pasara si un programa no tiene instrucciones dentro del main? Ser que no compila? Ser que no se puede ejecutar? imagnate que tu main es el siguiente main() { }

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

14

Bueno, el hecho de que el programa no tenga instrucciones dentro del main no quiere decir que no se puede compilar y ejecutar, el detalle es que un programa con su main (cuerpo principal) vaco no hace nada. Entonces, evidentemente no haramos programas as ya que no estamos resolviendo ningn problema. Espero hayas acertado en tu respuesta. 2.3. Implementacin de las funciones definidas por el usuario: En general una funcin debe mantener la siguiente estructura: Una cabecera de la funcin Sintaxis Tipo_de_dato nombre_de_la_funcin (lista_de_argumentos)

La lista de argumentos puede estar vaca pero los parntesis son obligatorios Cuando la funcin no retorna ningn valor en el tipo de dato se le coloca la palabra reservada void

Definiciones y/o declaraciones locales (es opcional). Aqu se pueden definir constantes, tipos de datos y declarar variables. La sintaxis de cada una ser detallada ms adelante en esta gua. Cuerpo principal de la funcin el cual debe comenzar con llave apertura { y terminar con llave de cierre }. { // Aqu comienza el cuerpo principal de la funcin instrucciones; ....... instrucciones; return valor; } // Aqu finaliza la funcin NOTA: Dentro del conjunto de instrucciones se define la lgica y secuencia que debe ejecutar la funcin, all pueden existir instrucciones de entrada, salida, asignaciones, operaciones matemticas, instrucciones selectivas, instrucciones repetitivas, etc. Es importante aclarar que la implementacin (escritura detallada de las instrucciones de la funcin) no necesariamente debe ser colocada despus de la funcin main tambin pudiese ser escrita antes del main y no hay ningn problema. Por estandarizacin para efectos de esta asignatura las funciones definidas por el usuario sern desarrolladas despus de la funcin main.

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

15

3. Elementos de un programa en C++ 3.1. Conjunto de caracteres de C++: Para formar los elementos bsicos del programa (constantes, variables, operadores, expresiones, etc.) se utilizan las letras maysculas (A,B,C,..., Z), las letras minsculas (a,b,c,..,z), los nmeros (0,1,2,3,..,9) y ciertos caracteres especiales (+, -, *,/, &,\, !, #, , <, >, =, {, }, _, espacio en blanco, (, ), etc.). Cabe resaltar que C++ utiliza ciertas combinaciones de estos caracteres para representar elementos especiales. En el siguiente cuadro se presentan algunos ejemplos:
SECUENCIA DE ESCAPE CARACTER (lo que produce la secuencia de caracteres)

\a \b \t \n \r \f \ \ \\ \0

sonido de alerta retrocede un carcter permite dejar espacios tabulados a nivel horizontal (por lnea) avanza a la lnea siguiente retorno de carro avanza a la pgina siguiente escribe el carcter comilla doble escribe el carcter comilla simple escribe el carcter barra invertida \ escribe el carcter nulo

Estas secuencias de caracteres se conocen como secuencias de escape, lo que nos interesa saber en este momento, es que cada secuencia de escape representa un solo carcter aun cuando este formada por dos ms caracteres. Es de hacer notar que los caracteres en C++ se almacenan internamente como nmeros, por ello se pueden realizar operaciones aritmticas con datos de tipo char. Por ejemplo se puede convertir una letra mayscula en su correspondiente letra minscula y viceversa, slo basta sumarle o restarle el valor 32 a la variable char. En la tabla ASCII primero aparecen las letras mayscula y despus las minsculas. As el valor ASCII de la letra A es 65 y el de la letra a es 97. Si al valor 65 se le suma 32 el resultado es 97 que como se puede observar es el valor ASCII de la letra a minscula. Ejemplos: char letra = 'M' letra = letra + 32; letra = letra + 1; // asigna a la variable letra el valor M // ahora letra contiene el valor m // ahora letra contiene el valor n
Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

16

char letra = 'p'; letra = letra - 32; letra = letra - 1;

// asigna a la variable letra el valor p // ahora letra contiene el valor P // ahora letra contiene el valor O

3.2. Palabras reservadas: En todos los lenguajes de programacin existen ciertas palabras que tienen un significado particular para el compilador. Estas palabras se conocen como palabras reservadas del lenguaje, ellas slo pueden ser usadas para el propsito del cual fueron creadas y no pueden utilizarse para otros fines. De esta manera las palabras reservadas no pueden usarse para definir identificadores. Ejemplo de algunas palabras reservadas: main, void, if, else, int, char, float, const, while, enum, for, return, struct, etc. 3.3. Identificadores: Son nombres que se utilizan para nombrar elementos de un programa como las constantes, tipos de datos, variables y funciones. La regla general es que un identificador est formado por una secuencia de letras y/o nmeros y/o carcter _ en cualquier orden; excepto al comienzo que debe ser una letra o el carcter _ . La cantidad de caracteres del identificador depende del compilador que se este usando, en nuestro caso el lmite de caracteres para un identificador son 32, si el identificador es ms largo el compilador ignorar los que exceden a 32. IMPORTANTE: Para C++ las letras maysculas son diferentes a las letras minsculas. As por ejemplo el identificador sueldo es diferente al identificador SUELDO tambin es diferente Sueldo y diferente SUeldo y diferente sueldO y as todas las posibles combinaciones de minsculas y maysculas para ese identificador. A continuacin se presentan una lista de identificadores vlidos: nombre_edadct1, ACUM_TOTAL, TABLALista_de_clase A continuacin se presentan una lista de identificadores NO VLIDOS: 4numxct-3acum total%porcentaje Es vlido el siguiente identificador Main? Pues s, como la primera letra es mayscula el identificador Main no representa la cabecera de la funcin main, lo que pasa es que no es recomendable usar identificadores que tengan la misma secuencia de caracteres que las palabras reservadas del lenguaje, tienden a prestarnos confusin. 3.4. Comentarios: Son instrucciones no ejecutables por el compilador. Estas instrucciones son utilizadas por el usuario del lenguaje (programador) para hacer aclaratorias de ciertas partes del programa. Es una buena poltica de programacin comentar cada funcin que se programe (es decir escribir una pequea descripcin de lo que hace). Para C++ existen dos formas de hacer comentarios:
Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

17

Comentarios para una sola lnea: Colocando al comienzo de la lnea dos caracteres de barra (//) Ejemplo: // Esta funcin permite calcular el promedio de la seccin de clase Comentarios que abarquen ms de una lnea: Colocar al comienzo de la lnea los caracteres /* luego escribir el comentario con la cantidad de lneas que se necesiten y finalizarlo con los caracteres */ Ejemplo: /* Esta funcin permite calcular el promedio de la seccin de clase de la asignatura de programacin 1 de la carrera de informtica */ Es importante destacar que los comentarios son importantes, pero no deben ser usados en exceso ya que se pierde la esencia del programa. 3.5. Archivos de cabecera: Tambin se conocen como libreras unidades archivos de biblioteca. Son archivos especiales que agrupan una serie de funciones, la extensin de estos archivos es .h (h es la inicial de la palabra header cuya traduccin es cabecera). El lenguaje tiene predefinido y a disposicin de los usuarios programadores una serie de archivos de cabecera. Para usar las funciones que se encuentren dentro de los archivos de cabecera, el programador debe incluir en su programa la directiva #include nombre_del_archivo_de_cabecera Esta directiva ya fue detallada anteriormente en esta gua. Tambin es posible que los usuarios programadores puedan realizar sus propios archivos de cabecera. Deben transcribir las funciones que deseen agrupar en el archivo de cabecera y grabar este archivo con extensin .h, luego puede ser utilizado por cualquier otro programa con slo incluirlo con la directiva #include. Vamos, es hora de hacer una pausa, dale un descansito a tu cerebro para que pueda asimilar lo que has ledo y as fijar el conocimiento. Tomate un caf, reljate y cuando regreses comenzamos con el punto 4 de esta unidad. 4. Datos 4.1. Definicin: Cabrera, H (1997) seala: El termino que usamos para describir las seales con las cuales trabaja computadora es dato; aunque las palabras dato e informacin muchas veces son usadas indistintamente, si existe una diferencia importante entre ellas. En un sentido estricto, los datos son las seales individuales en bruto y sin ningn significado que manipulan las computadoras para producir informacin. (p. s/n) 4.2. Tipos de datos: El tipo de un dato determina su forma de almacenamiento en memoria y las operaciones que pueden ser efectuadas con l. El lenguaje C++ ofrece diversos tipos de datos, cada uno de los cuales tiene su forma de ser representado en la memoria del computador.

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

18

A continuacin se presenta un cuadro con los tipos de datos bsicos, el tamao de memora que ocupa y el rango permisible de valores. Es de hacer notar que el tamao de memoria para cada tipo de datos puede variar de un compilador de C++ a otro. Los tamaos de los tipos presentados en el cuadro se corresponden con el compilador Devcpp. Por otro lado debemos saber que los identificadores de los tipos asociados deben ser escritos en minscula:
GRUPO Enteros DESCRIPCIN Son valores numricos positivos y negativos sin decimales Son valores numricos positivos y negativos con decimales. El carcter que identifica la parte decimal es el punto Son valores numricos positivos y negativos con decimales de doble precisin (ms cifras significativas y mayor valor posible del exponente) Cualquier elemento del conjunto de caracteres (en general conjunto de caracteres ASCII) Es un tipo de dato que puede recibir solo dos valores: true, false TAMAO (BYTES) 4 TIPOS ASOCIADOS int RANGO VALORES -32768 .. +32767 EJEMPLOS int contador;

Coma flotante (reales)

float promedio; 4 float -1.E-36 .. +1.E+36

Coma flotante de doble precisin (reales)

double porcentaje; 8 double

Carcter

char letra; 1 char -128 .. 127

Booleano

bool encontrado; 1 bool Internamente para true almacena valor de 1 y false el valor de 0

Algunos de estos tipos bsicos de datos (enteros, reales, char) se pueden ampliar utilizando los cualificadores que no son ms que modificadores del tipo de dato original; de esta forma tenemos los siguientes cualificadores: short (corto), long (largo), signed (con signo) y unsigned (sin signo). En general con estos cualificadores podramos tener la siguiente gama de enteros: Enteros cortos: short int es equivalente a short (2 bytes) Enteros largos: long int es equivalente a long (4 bytes) Enteros con signo : signed int (4 bytes) Enteros sin signo: unsigned int (4 bytes) Enteros cortos con signo: signed short int es equivalente a signed short

(2 bytes)

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

19 (2 bytes) (4 bytes) (4 bytes)

Enteros cortos sin signo: unsigned short int es equivalente a unsigned short Enteros largos con signo: signed long equivalente a signed long int Enteros largos sin signo: unsigned long equivalente a unsigned long int

Algunos compiladores permiten el cualificador long a los tipos de datos reales float y double. En el caso de los tipos de datos char podemos tener: char, unsigned char (1 byte) 4.3. Constantes: En general una constante es un objeto cuyo valor se mantiene fijo (no puede cambiar, ser modificado) a lo largo de la ejecucin del programa. Existen constantes numricas (enteras y reales ->coma flotante) y alfanumricas (carcter y cadena de caracteres). Estas constantes pueden ser representadas como constantes simblicas (#define ya explicado en esta gua) y/o constantes declaradas. Sintaxis para las constantes declaradas: const tipo_de_constante identificador = valor; donde: const es una palabra reservada tipo_de_constante es cualquier tipo de dato (ver cuadro anterior). Si no se coloca nada en tipo_de_constante por defecto asume que es entero (int). identificador es el nombre que se le esta colocando a la constante. Debe cumplir con las especificaciones de identificador vlido. valor es el dato que se quiere asignar a la constante. la instruccin debe finalizar con ; NOTA: el valor debe ser compatible con el tipo de constante Ejemplos de constantes declaradas: const int NUMERO_EMPLEADOS = 100; es equivalente const NUMERO_EMPLEADOS = 100; const float BONO = 50400.50; const float REDONDEO = .50; const char LETRA = A; Por estandarizacin para esta asignatura colocaremos todos los identificadores de constantes en letras maysculas.

4.4. Variables: Una variable es un identificador que se utiliza para representar cierto tipo de informacin cuyo dato puede variar (cambiar, modificarse) dentro de una determinada parte del programa, es decir a una variable se le pueden asignar
Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

20

diferentes valores en distintas partes del programa; de esta forma la informacin representada puede cambiar durante la ejecucin del programa. Sin embargo, el tipo de datos asociado a la variable no puede cambiar. Sintaxis tipo_de_dato identificador; // para una sola variable
// para varias variables del mismo tipo de dato

tipo_de_dato identificador1,identificador2,identificadorn;

donde: tipo_de_dato es cualquier tipo_de_datos bien sea de los que se encuentran predefinidos en el lenguaje o algn tipo de dato creado o definido por el usuario (programador) como por ejemplos arreglos, estructuras, enumerados, entre otros. identificador es el nombre que se le va a colocar a la variable, por supuesto debe cumplir con las especificaciones de identificador vlido La instruccin debe finalizar con punto y coma Ejemplos de variables: int contar, total, numero; char letra; Float sueldo; Por estandarizacin para esta asignatura colocaremos todos los identificadores de variables en letras minsculas. Es importante explicar que con la declaracin de una variable se reserva una direccin (posicin) de memoria que ser reconocida con el identificador que se coloco en la declaracin de la variable. Adems C++ permite que en la instruccin de declaracin se pueda inicializar la variable si se requiere, de la siguiente forma: tipo_de_dato identificador = valor_inicial; valor_inicial es el dato con el que se quiere inicializar la variable, por supuesto este dato debe ser coherente con el tipo de dato Ejemplos: char sexo; // variable de tipo char no inicializada int contador = 0; // variable de tipo entero inicializada en cero char letra_obtenida = B; // variable de tipo char inicializada en caracter B

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

21

bool encontrado = false; // variable de tipo booleano inicializada en false int contador = 0, acumulador; /* dos variables de tipo entero. La variable contador se inicializa en cero pero acumulador no se inicializa */ int ct1,ct2,ct3 = 0; /* se declaran tres variables entero y se inicializa con el valor de cero */ Por otro lado hay un concepto muy importante que es el mbito de las variables esto se refiere al alcance o vida de las variables; es decir dependiendo del lugar donde se declare la variable, ella tendr vida (podr ser utilizada). En general el alcance es global o local. Todo el programa (declaracin global) En una funcin en particular (declaracin local) Incluso en una porcin (parte) del programa o en una porcin (parte) de una funcin. Por ejemplo dentro de una instruccin if (si selectiva) se podra definir una variable, esta variable solo existe dentro del bloque if, si quisiramos hacer referencia a esa variable fuera del if nos dara un error de identificador no declarado. Esto es posible ya que el lenguaje C++ nos permite declarar variables en cualquier parte del programa. Tipos bsicos de variables en C++: Podemos distinguir tres grandes grupos de variables que son: globales, locales y dinmicas.

Variables Globales: tambin conocidas como variables externas. Son variables cuyo mbito se extiende desde el punto donde se definen hasta el resto del programa; es decir la variable puede ser usada despus de su definicin hasta el final del programa. No podr ser usada en las instrucciones que estn antes de su definicin. Variables Locales: tambin conocidas como variables automticas, se declaran siempre dentro de una funcin y son locales a la funcin donde han sido declaradas; es decir su mbito esta confinado a esa funcin (solo se pueden usar en la funcin donde fueron definidas). Las variables definidas en funciones diferentes sern independientes unas de otras, incluso si tienen el mismo nombre. Existen ciertas consideraciones que se deben tener claras para trabajar con las variables locales: Las variables locales no pueden ser usadas fuera de la funcin donde se definieron. Los nombres de las variables no tienen porque ser nicos, pueden haber variables con el mismo nombre en funciones diferentes; en este caso cada variable es distinta ya que pertenece a funciones distintas. Las variables locales no existen en memoria hasta tanto no se ejecute la funcin. Es en el momento en que se ejecuta la funcin que estas variables automticamente se crean en la memoria y desaparecen (liberan) cuando se termina la ejecucin de la funcin.

Variables Dinmicas y de Objetos: Estas variables se crean y liberan durante la ejecucin del programa. Existen funciones que permiten solicitar memoria para una
Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

22

variable dinmica y tambin para liberar la memoria ocupada por la variable cuando ya no se necesite.

Te qued claro cul es la diferencia entre una constante y una variable? Las constantes como su nombre lo indica mantiene un valor fijo en todo el programa, en cambio las variables sus valores pueden cambiar a lo largo de la ejecucin del mismo. Vamos, es hora de hacer una pausa, estira las piernas, digiere todo lo referente a la informacin de los datos y las cosas que permite hacer nuestro lenguaje C++, dentro de poco nos tocar probar todo esto, ten un poco de paciencia ya te sentars en el computador a programar, recuerda el papel agunta todo pero el computador no. 5. Instruccin de asignacin: El objetivo de este tipo de instruccin (comando o sentencia) es colocar valores (datos) a variables que se encuentren declaradas previamente. Sintaxis nombre_de_la_variable = dato expresin resultado de una funcin;

donde nombre_de_la_variable representa el identificador que se coloco para declarar la variable. A una variable se le puede asignar: Directamente un dato. El resultado de una expresin, en este caso primero se evala la expresin y luego el resultado es asignado a la variable. El resultado de una funcin, en este caso el tipo de dato de la funcin NO PUEDE SER VOID. Es importante que la asignacin sea coherente con el tipo de dato de la variable. La instruccin debe finalizar con punto y coma 6. Instruccin de Entrada (leer) y Salida (escribir) de datos: Estas instrucciones permiten la transferencia de informacin entre el computador y los dispositivos perifricos (teclado, pantalla, impresora, diskettes, cds, pendrive, entre otros). En C++ la entrada y salida de datos se trabaja con flujos de streams, y las funciones propias para estas actividades se encuentran dentro de un archivo de cabecera predefinido en el lenguaje llamado iostream (traduccin input output stream, entrada salida de stream).

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

23

Este archivo debe ser incluido dentro del programa haciendo uso de la directiva del preprocesador #include.

Entrada de datos: para leer datos se utiliza el flujo de entrada estndar cin (en realidad es un objeto) normalmente se leen los datos desde el teclado, este flujo utiliza el operador de extraccin que se obtiene escribiendo dos signos mayor consecutivos as >>. La instruccin debe finalizar con punto y coma. Sintaxis cin >> nombre_de_la_variable;

Por ejemplo para leer la variable sueldo, las siguientes instrucciones son necesarias: #include <iostream> // incluye o inserta el archivo de cabecera iostream using namespace std; /* sirve para usar las declaraciones estndar del espacio nombrado (consola), esta instruccin es necesaria para poder utilizar el cin */ float sueldo; // declaracin de la variable sueldo de tipo real ...... cin >> sueldo; /* coloca el resultado de la entrada por consola (lo que se escribi en el teclado) en la variable sueldo, el cin debe ser escrito en minscula */ Pero puede ser que necesitemos leer el sueldo, el total de asignaciones y el total de deducciones, entonces podramos leer las tres variables con una sola instruccin cin de la forma siguiente: cin >> sueldo >> asignaciones >> deducciones; En general la sintaxis sera: cin >> nombre_primera_variable >> nombre_segunda >>>> nombre_ltima;

Salida de datos: para sacar o imprimir tanto datos como encabezados se utiliza el flujo de salida estndar cout (en realidad es un objeto). En principio mostraremos los resultados de nuestros programas en la pantalla. Este flujo de salida utiliza el operador de insercin que se obtiene escribiendo dos signos menor consecutivos as <<. Al igual que la instruccin cin el cout debe terminar con punto y coma y la palabra reservada cout debe ser escrita en minscula. Sintaxis cout << literales titulos << nombre_de_la_variable;

Ntese que en una salida pueden estar presentes dos cosas:

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

24

La impresin de encabezados, literales o ttulos: Para esto debe utilizar las comillas dobles, es decir encerrar entre comillas dobles los ttulos que quiere mostrar o imprimir. La impresin de datos contenidos en variables: En este caso lo nico que debe hacer es colocar el nombre de la variable. Pero tambin pudiese imprimir el resultado de una funcin en este caso debera colocar el nombre de la funcin con la lista de sus argumentos (parmetros). Las funciones y los argumentos sern detalladas ms adelante en esta gua. Por ejemplo necesito leer la variable sueldo_neto, asignaciones y deducciones para calcular el sueldo total. Este resultado debe mostrarlo en la pantalla. Para satisfacer este requerimiento las siguientes instrucciones son necesarias: #include <iostream> // incluye o inserta el archivo de cabecera iostream using namespace std; /* sirve para usar las declaraciones estndar del espacio nombrado (consola), al igual que para el cin, sta instruccin es necesaria para poder utilizar el cout */ float sueldo, asigna, deduce, total; // declaracin de las cuatro variables que necesito ...... cout << Escriba el sueldo base : ; /*imprime mensaje a la pantalla para que el usuario este informado del dato que debe escribir */ cin >> sueldo; /* coloca el resultado de la entrada por consola (lo que se escribi en el teclado) en la variable sueldo */ cout << \rEscriba las asignaciones: ; Esta instruccin comienza con una secuencia de escape \r su cin >> asigna; efecto es primero retorno de carro y despus escribe el ttulo cout << \nEscriba las deducciones: ; Escriba las asignaciones: cin >> deduce; total = sueldo + asigna deduce; Esta instruccin comienza con una secuencia de cout << \n \nEl sueldo total es: << total;
escape \n su efecto es avanzar a la lnea siguiente y despus escribe el Escriba las asignaciones: Esta instruccin comienza con una secuencia de escape \n \n su efecto es dejar una lnea en blanco y despus escribe el ttulo El sueldo total es:

ttulo

Es importante recordarte que en esta asignatura resolveremos los problemas bajo el paradigma de la Programacin Orientada a Objetos, pero en este tema lo que se pretende es que te familiarices con la sintaxis del Lenguaje C++, por eso es que haremos programas muy cortos slo para probar las instrucciones de C++. Pero no te preocupes en la Unidad II nos encargaremos de afianzar los conocimientos que traes de objetos, aclararemos cualquier duda e indicaremos cual es la sintaxis de C++ para trabajar con ellos.

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

25

A continuacin se muestra el programa completo que permite desarrollar el planteamiento anterior // incluye o inserta el archivo de cabecera iostream #include <iostream> /* sirve para usar las declaraciones estndar del espacio nombrado (consola), al igual que para el cin, esta instruccin es necesaria para poder utilizar el cout */ using namespace std; // declaracin de las cuatro variables que necesito float sueldo, asigna, deduce, total; int main() // funcin main { // inicio programa cout << "Escriba el sueldo base : " ; // escribe en pantalla el titulo Escriba el sueldo base: cin >> sueldo; // coloca el resultado de la entrada por consola en la variable sueldo cout << "\rEscriba las asignaciones: "; cin >> asigna; cout << "\nEscriba las deducciones: "; cin >> deduce; total = sueldo + asigna - deduce; /*asigna a variable total el resultado de la formula matemtica */ cout << "\n \nEl sueldo total es: " << total; return 0; } // fin del programa

El resultado de este programa es el siguiente:

Escriba el sueldo base : 150000 Escriba las asignaciones: 10000 Escriba las deducciones: 3000

El sueldo total es: 157000

Por qu ser que en el cuadro anterior que presenta la salida del programa hay lneas en blanco? Detalla que despus de la palabra base hay un espacio en blanco y luego los dos puntos. Ser que es un error de transcripcin?

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

26

Pues el cuadro representa la salida real del programa, las lneas en blanco son debido a las secuencias de escape que estn escritas en las instrucciones cout \n \r y lo del espacio en blanco no es error si observas con detalle esta instruccin cout << "Escriba el sueldo base : " ; esta escrito el espacio en blanco 7. Proceso de creacin de un programa ejecutable: Para poder crear un programa ejecutable lo primero que debes hacer es instalar el compilador con el que vas a trabajar. En nuestro es el Devcpp, luego debes leer el problema, analizarlo, plantear la secuencia de instrucciones que debe llevar (logica), escribir las instrucciones de acuerdo a la sintaxis del compilador y finalmente ejecutarlo. Toda la informacin que requieres para realizar estos pasos se encuentran en un archivo anexo (elaborado por la coordinacin de programacin), la cual estar publicada en la seccin de RECURSOS del Curso Programacin en http://seducla.ucla.edu.ve. 8. Operadores, operandos y expresiones: Todo programa en C++ consta de uno o ms mdulos llamados funciones. Dentro de las funciones puede haber definiciones y/o declaraciones, instrucciones de lectura y/o escritura, instrucciones selectivas o alternativas, instrucciones de ciclos repetitivos y expresiones simples y/o expresiones compuestas. Las constantes, variables y referencias a funciones (son operandos) se pueden unir con varios operadores para formar expresiones, entonces una expresin esta formada por la combinacin de constantes, variables, nombres de funciones, parntesis y operadores. C++ posee un gran nmero de operadores que se pueden agrupar en diferentes categoras. Para efectos de esta asignatura se estudiarn los siguientes operadores: Operador de asignacin, operadores unarios., operadores aritmticos, operadores de incremento y decremento, operadores relacionales, operadores lgicos y el operador coma. 8.1. Operador de asignacin: Existen varios operadores de asignacin en C++, pero todos se utilizan para formar expresiones de asignacin; que consisten en asignar o colocar el valor de una expresin (simple compuesta) a un identificador. Es comn que a las expresiones de asignacin se le llame tambin instrucciones de asignacin (detalladas en el punto 5 de esta gua). El operador de asignacin ms usado es = Sintaxis: identificador = expresin; donde identificador representa generalmente una variable. expresin puede ser una constante, una variable, una funcin o una expresin ms compleja la instruccin debe finalizar con punto y coma

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

27

Ejemplos: caracter = b; total = cantidad; numero = 3; doble = numero * 2; // variable caracter se le asigna la letra b (b es un dato) /* variable total se le asigna el valor contenido en la variable cantidad */ // variable numero se le asigna el dato 3 /* primero se resuelve la expresin numero * 2 y el resultado es colocado en la variable doble */ /* calcular es una funcin que tiene dos argumentos, primero se ejecuta la funcin calcular y el resultado es almacenado en la variable area */

area = calcular(base,altura);

Es importante aclarar que si los dos operandos de una expresin de asignacin son de tipo de datos diferentes, el valor de la expresin de la derecha se convertir automticamente al tipo de datos que posee el identificador de la izquierda. Estas conversiones automticas de datos dependen de un compilador a otro. Las conversiones automticas que ejecuta el compilador son las siguientes: Una variable char puede recibir un valor entero (recuerde que los char se almacenan como nmeros de acuerdo al conjunto de caracteres que use el compilador. En la mayora de los casos es el conjunto de caracteres ASCII), Pero una variable char no puede nunca recibir un valor real. Una variable entera puede recibir el valor de una variable char, pero no un valor real. Una variable float y double puede recibir valores char y enteros El siguiente programa muestra ejemplos de estas conversiones: #include <iostream> using namespace std; int main() { char caracter; int entero; float real;

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

28

caracter = 'A'; entero = caracter; real = entero; cout << "caracter = " << caracter; cout << "\nentero = " << entero; cout << "\nreal = " << real; entero = 98; caracter = entero; cout << "\n\nnuevo entero = " << entero; cout << "\nnuevo caracter = " << caracter << "\n"; system("PAUSE"); return 0; }

Funcin predefinida que Imprime el mensaje Presione cualquier tecla para continuar . . . luego espera que se presione la tecla y continua con la ejecucin de las instrucciones restante

La salida del programa es la siguiente: caracter = A entero = 65 real = 65 nuevo entero = 98 nuevo caracter = b Presione cualquier tecla para continuar . . .

Por otro lado el lenguaje C++ tambin permite realizar asignaciones mltiples.

El uso descuidado de las conversiones de tipo es una fuente frecuente de errores

Por otro lado el lenguaje C++ tambin permite realizar asignaciones mltiples. Sintaxis: identificador1 = identificador2 = .. = expresin;

Las asignaciones se efectan de derecha a izquierda La instruccin debe finalizar con punto y coma

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

29

Por ejemplo:

variable1 = variable2 = variable3 = expresin;

ct_alumnos = ct_profesores = ct_obreros = 0; En este caso las tres variables ct_alumnos, ct_profesores y ct_obreros se les asigna el valor de cero. Adicionalmente C++ posee otros cinco operadores de asignacin: +=, -=, *=, /=, %=

+= :

expresin1 += expresin2; es equivalente expresin1 = expresin1 + expresin2;

En este caso a expresin1 se le suma el resultado de expresin2 y el resultado es almacenado en expresin1. Normalmente expresin1 es un identificador definido como una variable.

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

30

Ejemplos:

a += b; a += b*c;

// a = a + b; // a = a + b * c;
1

Prioridad de operadores matemticos

a += resta(num1,num2);

// a = a + resta(num1,num2);

1. Ejecucin de la funcin resta 2. Ejecucin de la suma.

a += resta(num1,num2) * 4;

// a = a + resta(num1,num2) * 4;

1. Ejecucin de la funcin resta 2. Ejecucin de la multiplicacin por prioridad del operador matemtico * sobre operador + 3. Ejecucin de la suma

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

31

Realiza la corrida del siguiente programa, indicando el detalle de las salidas en la ejecucin de cada instruccin.

#include <iostream> using namespace std; int suma(int num1,int num2); int main() { #define b 2 int a = 1,c; cout << " valor de a = " << a; cout << "\n valor de b = " << b; a += b; cout << "\n a += b : resultado = " << a; cout << "\n\n Escribe valor para c: "; cin >> c; a += b*c; cout << "\n a += b * c : resultado = " << a; a += suma(8,2); cout << "\n\n a += suma(8,2) : resultado = " << a; a += suma(8,2) * 4; cout << "\n\n a += suma(8,2) * 4 : resultado = " << a << "\n\n"; system("PAUSE"); return 0; } int suma(int num1, int num2) { int resulta; resulta = num1 + num2; return resulta; }

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

32

Compara tu salida con la que presenta el siguiente cuadro: valor de a = 1 valor de b = 2 a += b : resultado = 3 . Escribe valor para c: 10 a += b * c : resultado = 23 a += suma(8,2) : resultado = 33 a += suma(8,2) * 4 : resultado = 73 Presione una tecla para continuar . .

-= :

expresin1 -= expresin2; es equivalente expresin1 = expresin1 - expresin2; En este caso a expresin1 se le resta el resultado de expresin2 y el resultado es almacenado en expresin1. Normalmente expresin1 es un identificador tal como una variable. Los ejemplos son similares a los presentados con el operador +=

*= :

expresin1 *= expresin2; es equivalente expresin1 = expresin1 * expresin2; En este caso a expresin1 se le multiplica el resultado de expresin2 y el resultado es almacenado en expresin1. Normalmente expresin1 es un identificador tal como una variable. Los ejemplos son similares a los presentados con el operador +=

/= :

expresin1 /= expresin2; es equivalente expresin1 = expresin1 / expresin2;


Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

33

En este caso divide el valor de expresin1 entre el valor de la expresin2 y el resultado es almacenado en expresin1. Normalmente expresin1 es un identificador tal como una variable. Si expresin1 es una variable real puede almacenar el valor exacto de la divisin (la parte entera y decimal); pero si expresin1 es una variable entera solo almacena la parte entera resultante de la divisin. Los ejemplos son similares a los presentados con el operador +=

%= :

expresin1 %= expresin2; es equivalente expresin1 = expresin1 % expresin2; En este caso el operador % almacena el resto del resultado de una divisin. Entonces expresin1 tendr como resultado el resto de la divisin de expresin1/expresin2. Normalmente expresin1 es un identificador tal como una variable. Los ejemplos son similares a los presentados con el operador += A continuacin se presenta un cuadro resumen de todos los operadores de asignacin y sus equivalencias: Smbolo = += -= *= /= %= Ejemplo Descripcin x=y x += y x -= y x *= y x /= y x%=y Asigna el valor de y en x A x le suma el valor de y luego asigna el resultado a la variable x A x le resta el valor de y luego asigna el resultado a la variable x A x le multiplica el valor de y luego asigna el resultado a la variable x Divide x entre el valor de y luego asigna el resultado a la variable x A la variable x le asigna el resto de la divisin de x entre y Equivalencia x=y x=x+y x=x-y x=x*y x=x/y x=x%y

8.2.Operadores Unarios: Una clase de operadores muy particulares son los operadores unarios (tambin conocidos como operadores monarios), se denominan as porque requieren de un slo operando para ejecutarse. En algunos casos estos operadores preceden al operando (el operador se escribe antes del

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

34

operando en formato prefijo) y en otro casos se escriben despus del operando (formato postfijo). En C++ existen tres tipos de operadores unarios:

Operador de Menos Unario (-): Es un operador que indica el signo de una constante numrica, variable expresin. Su smbolo es -, pero no debe confundirse con el smbolo de la operacin resta que necesita dos operandos. Operador sizeof(operando): Devuelve un valor numrico que representa el tamao en bytes de su operando, aqu el operando es un parmetro. Ejemplo: cout << \n tamao bytes de un char = << sizeof(char); Resultado: tamao bytes de un char = 1 Operador coma (,): Permite combinar dos o mas expresiones en una misma lnea separadas por coma. Ejemplo: int a,b,c; a = 5; b = a; b = b * 2; cout << valor de a es: << a ; cout << \n valor de b es: << b ; Las instrucciones anteriores reportan la siguiente salida: valor de a es 4 valor de b es 10

8.3. Operadores aritmticos: Permiten realizar operaciones matemticas. C++ dispone de cinco operadores aritmticos que se muestran en la siguiente tabla.

Smbolo del Operador + * / %

Operacin matemtica Suma Resta Multiplicacin Divisin Resto de la divisin (denominado operador mdulo)

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

35

Especificaciones generales: Los operandos que trabajan con operadores aritmticos deben ser nmeros. Por lo tanto pueden ser valores enteros, reales e incluso caracteres (recuerde los char internamente se almacena en nmero) El operador de resto % requiere que los dos operandos sean enteros y el segundo operando no puede ser nulo. El operador de divisin / requiere que el segundo operando no sea nulo. Si uno o los dos operandos tienen valores negativos, el signo del resultado de la operacin matemtica tendr el valor cuyo signo esta determinado por las reglas del lgebra. Esto aplica solo para las operaciones suma, resta, multiplicacin y divisin. Para el caso de uno o los dos operandos con signo negativo en la operacin del resto, el signo del resultado en la mayora de los compiladores es el signo del primer operando. Si existen diferencias de tipos de datos entre los operandos que intervienen en la operacin matemtica, puede ser que internamente se realice una conversin de tipo antes de que la expresin alcance su valor final. Lo cierto es que el resultado final se expresar con la mayor precisin manteniendo siempre la consistencia con los tipos de datos de los operandos. Como en todos los lenguajes de programacin los operadores tienen prioridad al momento de ser ejecutados. Los parntesis pueden alterar la prioridad establecida por defecto. Las prioridades por defecto estn establecidas de acuerdo el siguiente orden Prioridad 1: Operadores de signo (operadores unarios) - + Prioridad 2: Operadores * Prioridad 3: Operadores + Si en la expresin a evaluar existen operadores con el mismo nivel de prioridad se ejecutan de acuerdo a como se presentan en la expresin de izquierda a derecha. Por ejemplo el resultado de la expresin -3 + 6 * 2 / ( 5 + 1) es -1 / %

A continuacin se muestra la secuencia de pasos en la evaluacin de la expresin

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

36

-3 + 6 * 2 / ( 5 + 1)
1 2 3

3 + 6 * 2 / (5 + 1) Paso 1 3 + 12 / (5 + 1) 3 + 12 / 6 3+2 -1 Paso 2 Paso 3 Paso 4 Paso 5. Resultado final

Cul es el resultado de la siguiente expresin: 10 + (4 - 8) * (10 * (12 + 6) / 6) ?

Si la evaluacin que hiciste esta correcta tu respuesta debe ser -230, si no acertaste revisa la evaluacin por pasos que te presento a continuacin: 10 - 8 * (10 * (12 + 6) / 6) 10 8 * (10 * 18) / 6 10 8 * 180 / 6 10 1440 / 6 10 240 -230 8.4. Operadores de Incremento (++) y Decremento (--): El operador de incremento hace que su operando se incremente en uno y a su vez el operador de decremento hace que su operando se decremente en uno.
Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

37

Especificaciones generales: Si el operador de incremento o decremento se encuentra antes (prefijo) del operando las acciones en secuencia son que primero se incrementa o decrementa y despus se le asigna el resultado. Si el operador se encuentra despus del operando (postfijo) primero se le asigna el valor y despus se ejecuta el incremento o decremento. Estos operadores pueden estar presentes directamente en instrucciones de salida como parmetros actuales de funciones, en cuyo caso la nica variable que se modifica es la misma que acompaa el operador. Si estos operadores se encuentran en instrucciones de asignacin, se modificar tanto la variable que recibe la asignacin como la variable que acompaa al operador. ++n es equivalente a n +=1 es equivalente n = n + 1 --n es equivalente a n -=1 es equivalente n = n 1 x = n++ es equivalente a dos instrucciones con la siguiente secuencia: x = n; n = n + 1; x = n-- es equivalente a dos instrucciones con la siguiente secuencia: x = n; n = n - 1; Ejemplos: #include <iostream> using namespace std; int main() { int a = 5, b, c = 2 ; cout << "OPERADOR PREFIJO\n";
1. Se incrementa la variable a 2. Se le asigna el resultado del incremento a la variable a

cout << "\n\n a = "<< a; cout << "\n ++a resultado = " << ++a << " valor de a = " << a; cout << "\n\n b = ++a"; cout << "\n valor de a antes de la asignacion = " << a; b = ++a; cout << "\n valor de a despues de la asignacion = " << a; cout << "\n valor de b = " << b; cout << "\n\n c = c + ++a"; cout << "\n valor de a antes de la asignacion = " << a;
Prof. Margarita Pereira 1. Se incrementa la variable a 2. Se le asigna resultado del incremento a la variable a 3. El nuevo valor de a se le asigna a la variable b

Unidad didctica. Elementos bsicos del lenguaje

38

cout << "\n valor de c antes de la asignacion = " << c; c = c + ++a; cout << "\n valor de a despues de la asignacin = " << a; cout << "\n valor de c = " << c; // operador de decremento postfijo cout << "\n\n b = a--"; cout << "\n valor de a antes de la asignacion = " << a; b = a--; cout << "\n valor de a despues de la asignacion = " << a; cout << "\n valor de b = " << b;

1. Se incrementa la variable a 2. Se le asigna resultado del incremento a la variable a 3. Se suma el valor de la variable c con el nuevo valor de a, el resultado se deposita en c

1. El valor de la variable a se asigna a la variable b 2. Se decrementa el valor de a, el resultado es asignado a variable a

// Ejemplo compuesto por operador incremeto y decremento cout << "\n\n c = --a * ++a"; cout << "\n valor de a antes de la asignacion = " << a; c = --a * ++a; cout << "\n valor de a despues de la asignacion = " << a; cout << "\n valor de c = " << c << "\n\n"; system ("PAUSE"); return 0; }

Si suponemos que la variable a tiene el valor de 7 Con qu valor queda la variable c en la siguiente expresin? c = -- a * ++ a;

El resultado correcto de la variable c es 49. Acertaste? Si no es as, revisa la ejecucin siguiente:

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

39

c = --a * ++a;
1
2

Suponemos que la variable a tiene el valor 7 Se decrementa a 1 Se le asigna el decremento a la variable a (ahora tiene valor de 6)
2

Se incrementa a Se le asigna el incremento a la variable a (ahora tiene valor de 7) Se multiplica a * a. Como el ltimo valor de a es 7 entonces el resultado se obtiene de 7 * 7 que es 49 El valor 49 es asignado a la variable c

La Salida del Programa anterior es la siguiente:

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

40

OPERADOR PREFIJO a=5 ++a resultado = 6 valor de a = 6 b = ++a valor de a antes de la asignacin = 6 valor de a despues de la asignacin = 7 valor de b = 7 c = c + ++a valor de a antes de la asignacin = 7 valor de c antes de la asignacin = 2 valor de a despues de la asignacin = 8 valor de c = 10 b = a-valor de a antes de la asignacion = 8 valor de a despues de la asignacion = 7 valor de b = 8 c = --a * ++a valor de a antes de la asignacin = 7 valor de a despues de la asignacin = 7 valor de c = 49 Presione una tecla para continuar . . .

8.5. Operadores Relacionales: Son utilizados para escribir condiciones simples. Es importante que ambos operandos (lado izquierdo y lado derecho) sean compatibles para poder realizar la comparacin. A continuacin se presenta un cuadro con los operadores relacionales que estn disponibles en el lenguaje C++. Se usan normalmente en instrucciones de seleccin (if) y de iteracin (while, for, do while). Cuando se evalan los operadores relacionales el resultado es un valor cero (0) uno (1). El cero indica que la condicin es falsa y el valor 1 indica que la condicin es verdadera. As por ejemplo la instruccin a = 7 > 3, se evala primero 7 > 3 esto es verdadero es decir el resultado es el valor 1 y ese resultado se le asigna a la variable a. Entonces a queda con el valor 1.

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

41 Ejemplo 5==5 a ! = a 4<4 4 <= 4 A > B (6+2) >= 3 Resultado Verdadero Falso Falso Verdadero Falso Verdadero

Smbolo del Operador == != < <= > >=

Significado operador Igual Diferente Menor que Menor o igual que Mayor que Mayor o igual que

8.6. Operadores Lgicos: Son utilizados para escribir condiciones compuestas. El resultado de la evaluacin de los operadores lgicos es una expresin booleana que representa alguno de los dos valores Verdadero Falso. Smbolo del Operador and && Significado operador y Resultado de la Evaluacin Verdadero: si todas las condiciones son verdaderas. Falso: si por lo menos una condicin es falsa or || o Verdadero: si por lo menos una condicin es verdadera. Falso: si todas las condiciones son falsas. not ! negacin Verdadera si el valor es falso. Falso si el valor es verdadero.

El operador not es un operador unario necesita un slo operando, en cambio el operador and y el or requieren dos operandos.

Con relacin a la prioridad de estos operadores lgicos, el operador not tiene prioridad mas alta que and, que a su vez tiene mayor prioridad que el

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

42

or. Como siempre los parntesis alteran la prioridad normal de los operadores y si
existen varios operadores con la misma prioridad se ejecutan de izquierda a derecha.

8.7. Prioridad de los Operadores: Los operadores matemticos tienen precedencia sobre los operadores relacionales y a su vez los operadores relacionales tienen precedencia sobre los operadores lgicos. Ejemplo: Si (salario < minimo * 0.1
1

and

nrohijos > 0)
3

9. Prueba y depuracin de programas: La prueba o verificacin de un programa consiste en la ejecucin del programa con un conjunto de datos llamados datos de prueba, los cuales deben ser escogidos previamente y con mucho detalle; de tal forma que se puedan probar los casos generales (situaciones normales) y los casos excepcionales (situaciones extremas) y de esta manera asegurar el funcionamiento correcto del programa. La depuracin de programas, consiste en primera instancia encontrar los errores de compilacin, estos errores estn relacionados con la sintaxis del lenguaje de programacin y en segundo lugar los errores de ejecucin que pueden presentarse de dos maneras: Primero con instrucciones que sintcticamente estn correctas pero el computador no la puede ejecutar. Como por ejemplo una divisin por cero, la raz cuadrada de un nmero negativo, entre otras. Segundo errores lgicos que estn relacionados directamente con la lgica impuesta en la secuencia de instrucciones que tiene el programa. Estos errores provienen desde el diseo del programa son los ms difciles de encontrar ya que el programa puede correr pero los resultados reportados no son los esperados (correctos) de acuerdo a los datos de prueba. 10. Documentacin de Programas: La documentacin se refiere a todo el material de ayuda que acompaa un programa. Existen diferentes tipos de documentacin una dirigida al usuario de la aplicacin (persona que trabajar con el programa) esta se denomina documentacin externa (porque esta fuera del programa) incluye diagramas, manuales de usuario en donde se especifiquen las instrucciones para ejecutar y usar el programa. La otra documentacin esta dirigida a los programadores (personas que desarrollan los programas) que es la documentacin interna (se logra escribiendo lneas de comentarios en el programa). Cada programa tendr su propia documentacin y la misma depender de un programa a otro.
Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

43

Debe destacarse la importancia de la documentacin de los programas, ya que esta actividad permite que los programas puedan ser mantenidos (ajustados) y depurados ms fcilmente. En general, los programas que no presentan documentacin o su documentacin es escasa son difciles de leer, entender, depurar y por su puesto mantener (realizar modificaciones) 11. Ejercicios Propuestos: Como ya te he dicho en varias ocasiones que la teora sin la prctica no es nada, tendrs a tu disposicin una lista de ejercicios propuestos para que adquieras destreza a nivel de programacin y adems es recomendable que no te conformes con hacer los programas en papel, debes transcribirlos en el computador compilarlos y ejecutarlos verificando que las salidas son las deseadas. Ya sabes ante cualquier duda contctame por alguna de las vas que se han planteado en el curso, no tengas pena recuerda que tu principal objetivo es alcanzar el aprendizaje de la asignatura. As que, es la hora de tomar el toro por los cuernos y comenzar a practicar con el compilador recordando la sintaxis de las instrucciones, para ello tendrs disponible en la seccin de recursos del Curso Programacin en http://seducla.ucla.edu.ve una lista de ejercicios.

Resumen
Al finalizar esta unidad temtica debes haber aprendido que: Los programas son las herramientas que nos permiten comunicarnos con las computadoras. El lenguaje de programacin nos permite desarrollar programas tiles para resolver problemas de diversas ndoles acadmico, social, econmico, poltico, comercial, cientfico, de la vida diaria, entre otros. Para que un programa de computacin pueda ser ejecutado y probado debe ser escrito en algn lenguaje de programacin (en nuestro caso lenguaje C++, con el compilador Devcpp que trabaja bajo Windows). La elaboracin de un programa conlleva las siguientes actividades: 1. Leer detenidamente el enunciado del problema para analizarlo. 2. Escribir (o hacer modificaciones) la secuencia de instrucciones que tendr el programa. Recuerda grabar. 3. Compilar el programa, para chequear los errores sintcticos (siguiendo las normas y reglas del lenguaje de programacin), si hay errores regresar al paso 2, para corregirlos. 4. Encadenar el programa, con los archivos de cabecera. 5. Ejecutar el programa. Probar el programa con un conjunto de datos previamente seleccionados, para verificar que su funcionamiento es correcto. Si no esta correcto, verificar que tipos de errores presenta para regresar al paso 1 al paso 2.

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

44

A travs de los compiladores se convierten las instrucciones de lenguaje de programacin de alto nivel a instrucciones de lenguaje de mquina que es el que entiende la computadora. Un programa esta formado por un bloque de definiciones y/o declaraciones y una funcin main que define la lgica central del programa. Debes tener cuidado con los identificadores que definas, recuerda que deben comenzar con una letra o caracter _ seguido por letras o nmeros pero no deben haber espacios en blanco ni tampoco puedes utilizar las palabras reservadas del lenguaje. MUY IMPORTANTE, el uso de las maysculas y minsculas. El lenguaje C++ las diferencia. Conveniente que trabajes con la estandarizacin que esta propuesta en esta gua la constantes en letras maysculas. Dispones de diferentes tipos de datos tales como char, int, double, float, bool, entre otros. Debes escoger los que necesitas de acuerdo al problema que estas resolviendo. MUCHO CUIDADO con las conversiones de tipo de datos, esto te podra ocasionar un gran dolor de cabeza. En el bloque de definiciones y/o declaraciones pueden existir:

Directivas del preprocesador: que son instrucciones especiales ejecutadas al principio de la compilacin, comienzan con el smbolo # son tomadas en cuenta a partir de la lnea donde son colocadas haca adelante. Aqu dispones de #define para definir constantes simblicas y #include para trabajar (incluir) con archivos de cabecera. Definicin de constantes. Para definir valores fijos en el programa. Con la definicin de constantes se reserva el espacio de memoria y se coloca un dato que ser fijo para todo el programa. Declaracin de variables. Para definir direcciones de memoria cuyo contenido puede variar a lo largo del programa. Con la declaracin de la variable se reserva el espacio de memoria pero su contenido es indefinido (en trminos de computacin basura informacin no entendible), pero puedes declarar la variable y al mismo tiempo inicializarla, el lenguaje C++ lo permite. Implementacin de funciones.

Dentro de la funcin main o cualquier otra funcin que desarrolles en tu programa puedes tener instrucciones de asignacin (asignacin simple y asignacin mltiple), instrucciones de lectura, instrucciones de escritura, entre otras. Tienes a tu disposicin un conjunto de operadores que se utilizan en las expresiones, estos son los que indican las operaciones que deben realizarse sobre los operandos.

Operador de Asignacin: sirven para colocar un valor (puede ser directamente un dato, o una variable o una expresin o una funcin) en una variable. Recuerda que puedes tener asignaciones mltiples. Operadores Unarios: trabajan con un solo operando, aqu tenemos el menos unario (para especificar el smbolo negativo), el sizeof(tipo de dato) te sirve
Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

45

para saber el tamao en bytes de un tipo de dato y el operador coma para colocar varias instrucciones en una misma lnea. Operadores Aritmticos: son tiles para realizar operaciones matemticas (+, - , * , / , %). Operadores de Incremento y Decremento: sirven para incrementar y decrementar en un valor fijo uno(1) una determinada variable. Ellos funcionan de manera diferentes dependiendo del sitio donde se coloquen. Si se colocan antes del operando (formato prefijo ++a) primero se asigna la variable y luego se hace el incremento (se le suma el nmero 1). En cambio si se colocan despus del operando (formato postfijo a++) primero se hace el incremento y luego se asigna la variable. Operadores Relacionales: te sirven para realizar comparaciones, generalmente se usan para escribir condiciones simples. Recuerda que ambos operandos (izquierdo y derecho) deben ser compatibles, el resultado de su evaluacin es uno (1) para indicar que es verdadero y cero (0) para indicar que es falso. Aqu tienes = = (igual), ! = (diferente), < (menor) , <= (menor o igual), > (mayor), >= (mayor o igual). Operadores Lgicos: para construir condiciones compuestas. Su resultado es un valor lgico que representa Verdadero (TRUE) Falso (FALSE). Aqu tienes el and && (operador y, es verdadero si todas sus condiciones son verdaderas, falso cuando por lo menos una condicin es falsa), or || (operador o, es verdadero cuando por lo menos una condicin es verdadera y falso cuando todas las condiciones son falsas), por ltimo el operador not ! para negar un valor booleano (ser verdadero si el valor de la variable es falso, y falso si el valor de la variable es verdadero).

Debes darle importancia a la documentacin de los programas ya que es el material de apoyo que acompaa al programa. Recuerda que existe una documentacin interna a nivel de lneas de comentarios dentro del programa que ser de utilidad para los programadores y una documentacin externa para el usuario de la aplicacin (programa) formada por manuales y cualquier otra material requerido por el usuario del programa. A continuacin se presenta un cuadro con la sintaxis de la instrucciones estudiadas en esta gua.

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

46

Instruccin Incluye un archivo de cabecera Define una constantes simblica Define una constante declarada Declaracin de variables

Sintaxis #include nombre_del_archivo_de_biblioteca #define nombre_de_la_constante dato const tipo_de_constante identificador = valor; tipo_de_dato identificador; // para una sola variable // para varias variables del mismo tipo de dato tipo_de_dato identificador1,identificador2, identificadorn; tipo_de_dato identificador = valor; nombre_de_la_variable = dato expresin resultado de una funcin; identificador1 = identificador2 = .. = expresin; cin >> nombre_de_la_variable; cin >> nombre_primera_variable >> nombre_segunda >>>> nombre_ltima; cout << literales titulos << nombre_de_la_variable; // Comentario de una sola lnea /* Comentario de mltiples lneas */

Declaracin e inicializacin de variables Instruccin de asignacin

Instruccin de asignaciones mltiples Instruccin de lectura para una sola variable Instruccin de lectura para varias variables Instruccin de escritura (impresin) Instruccin de comentario

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

47

Autoevaluacin Nro. 1
Ya culminamos la primera unidad y con la finalidad de verificar los conocimientos que adquiriste en esta sesin de estudios, realiza la autoevaluacin N 1 presentada a continuacin.

PARTE I. Seleccin simple: A continuacin se presenta una tabla con dos columnas debes colocar en la columna izquierda el nmero que corresponda a la definicin de la columna derecha. ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) Errores de Sintaxis sueldo > 1500 ++ contador; #define max 10 main() int cantidad; cin >> cedula; // Funcin principal #include <iostream> cout << Resultado es: << resulta; sueldo_neto += bono; (A= = B) and (B > C) (a * b) + (c/d) ct1 = ct2 = ct3 = 0; Documentacin interna \n 1. Operador de Incremento 2. Secuencia de escape 3. Instruccin de Escritura 4. Lnea de comentario 5. Condicin compuesta 6. Constante simblica 7. Operacin matemtica 8. Operador relacional 9. Le sirve al programador 10. Instruccin asignacin mltiple 11. Declaracin de una variable 12. Instruccin de asignacin simple 13. Funcin principal 14. Archivo de cabecera 15. Compilador 16. Instruccin de Lectura

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

48

PARTE II. A continuacin se presenta un programa, detecte los posibles errores sintcticos #include <iostream> { int num1,num2; resultado; cout << Escriba el primer numero : ; cin >> num1; cout << \nEscriba el segundo numero:; cin >> num2 cout << \nEscriba el tercer numero: ; cin >> num3; resultado = (num1 + num2) * num3; cout << \n El resultado de la suma es: resultado ; system(pause); } PARTE III. Desarrollo 1. Qu se obtiene en las variables a1, b1, c1 despus de ejecutar las siguientes instrucciones? a1 = 3; b1 = 20; c1 = a1 + b1; b1 += a1; a1 = b1; 2. Cules de los siguientes identificadores son vlidos? a) nombre e) main c) 2segundo f) Calcular c) sueldo neto g) boNificacion d) ct_1 h) function

3. Realice un programa en lenguaje C++ que teniendo como entrada dos nmeros enteros permita realizar las siguientes operaciones matemticas: suma, resta y multiplicacin. Su programa debe estar elaborado con funciones.

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

49

Respuesta a la Autoevaluacin

PARTE I. Seleccin simple ( 15 ) ( 8) (1 ) (6 ) (13 ) (11 ) (16 ) ( 4 ) (14 ) (3 ) (12 ) (5 ) (7 ) (10 ) ( 9 ) (2 ) Errores de Sintaxis sueldo > 1500 ++ contador; #define max 10 main() int cantidad; cin >> cedula; // Funcin principal #include <iostream> cout << Resultado es: << resulta; sueldo_neto += bono; (A= = B) and (B > C) (a * b) + (c/d) ct1 = ct2 = ct3 = 0; Documentacin interna \n 1. Operador de Incremento 2. Secuencia de escape 3. Instruccin de Escritura 4. Lnea de comentario 5. Condicin compuesta 6. Constante simblica 7. Operacin matemtica 8. Operador relacional 9. Le sirve al programador 10. Instruccin asignacin mltiple 11. Declaracin de una variable 12. Instruccin de asignacin simple 13. Funcin principal 14. Archivo de cabecera 15. Compilador 16. Instruccin de Lectura

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

50

PARTE II. A continuacin se presenta un programa, detecte los posibles errores sintcticos. Los errores sern colocados en azul #include <iostream> using namespace std int main() { int num1,num2, num3; int resultado; cout << Escriba el primer numero : ; cin >> num1; cout << \nEscriba el segundo numero:; cin >> num2; cout << \nEscriba el tercer numero: ; cin >> num3; resultado = (num1 + num2) * num3; // en la instruccin siguiente no imprime el valor de resultado cout << \n El resultado de la suma es: resultado ; // deberia ser cout << \n El resultado de la suma es: << resultado ; system(pause); }

PARTE III. Desarrollo 1. Las variables quedan con los siguientes valores: a1 23 b1 23 c1 22

2. Los identificadores vlidos son a) d) f) g). El identificador b) no es vlido porque comienza con un nmero El identificador c) no es vlido porque tiene un espacio en blanco El identificador e) y h) no son vlidos porque son palabras reservadas del leguaje

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

51

3. /* Programa en lenguaje C++ que teniendo como entrada dos nmeros enteros permite realizar las operaciones matemticas de suma, resta y multiplicacin. */ #include <iostream> using namespace std; int Suma(int n1, int n2); int Resta(int n1, int n2); int Multiplicacion(int n1, int n2); int main() { int num1,num2; system ("cls"); // blanquea la pantalla cout << "\Tipee el primer numero: "; cin >> num1; cout << "\Tipee el segundo numero: "; cin >> num2; cout << "\n\n La suma es: " << Suma(num1,num2); cout << "\n\n La resta es: " << Resta(num1,num2); cout << "\n\n La multiplicacion es: " << Multiplicacion(num1,num2) << "\n"; system("pause"); // espera hasta que se presione tecla para finalizar return 0; } // Funcion que permite sumar los dos numeros int Suma(int n1, int n2) { return n1 + n2; } // Funcion que permite restar los dos numeros int Resta(int n1, int n2) { return n1 - n2; } // Funcion que permite multiplicar los dos numeros int Multiplicacion(int n1, int n2) { return n1* n2; }

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

52

Complemento. Ejercicios Propuestos.


A continuacin te presento una serie de ejercicios que fueron elaborados por la Coordinacin de la Asignatura de Programacin (integrada por los profesores: Rosa Daz, Olga Palma, Mara Auxiliadora Prez, Glennys Clemant, Margarita Pereira y Giovanni Torrealba-Coordinador). El objetivo es que con ellos termines de ejercitar para reforzar y complementar todo el conocimiento adquirido a lo largo de esta unidad. Se abrir un foro para preguntas/respuestas de estos ejercicios, as que ya sabes ante cualquier duda no dudes en preguntar todos estaremos disponibles para ayudarnos mutuamente, lo importante es culminar la unidad sin lagunas con claridad total para as arrancar con pie firme la segunda unidad. 1. Determinar cules de los siguientes son identificadores vlidos. Si no son vlidos, explicar por qu. a) registro1 b) 1registro c) archivo_3 d) return e) $impuesto f) ocupacin g) nombre y direccion h) nombre_y_direccion i) nombre-y-direccion j) 123-45-6789 2. Mencionar las reglas referentes a los nombres de los identificadores. 3. Son equivalentes las letras maysculas a las minsculas en un identificador? 4. Se pueden incluir dgitos en un identificador? 5. Se puede incluir cualquier carcter especial en un identificador? 6. Cuntos caracteres puede tener un identificador? 7. Son todos los caracteres significativos en igual forma en un identificador? 8. Qu es una palabra reservada en C++? 9. Mencionar y describir cuatro tipos bsicos de datos en C++. 10. Nombrar y describir tres tipos bsicos de constantes en C++. 11. Qu es una variable? 12. Se deben declarar todas las variables que aparecen en un programa en C++?
Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

53

13. Cmo se les puede asignar valores iniciales a las variables en una declaracin de tipo? 14. Supongamos que la versin de C++ puede reconocer slo los ocho primeros caracteres del nombre de un identificador, aunque los nombres de los identificadores puedan ser de longitud arbitraria. Cules de los siguientes pares de nombres de identificadores se considerarn como idnticos y cules se distinguirn? a) nombre, nombres b) direccion, Direccion c) identificador_1, identificador_2 d) lista1, lista2 e) respuesta, RESPUESTA f) cari, car_1 15. Escribir declaraciones apropiadas y asignar los valores iniciales dados para cada grupo de variables: a) Variables en coma flotante: a = -8.2, b = 0.005 b) Variables enteras: x = 129, y = 87, z = -22 c) Variables de carcter: c1 = 'w', c2 = '& d) Variable entera larga: grande =123456789 e) Variable de carcter: eol = carcter de nueva lnea 16. Resuelva las siguientes asignaciones declarando sus variables: a) Asigne 20 a una variable entera llamada nota b) Asigne F a una variable char llamada sexo c) Asigne 1 a una variable bool llamada bisiesto d) Asigne 123.456 a una variable float llamada valor 17. Resuelva las siguientes operaciones declarando sus variables: a) Asigne la suma de a ms b a una variable entera llamada a b) Asigne la resta de a menos b a una variable float llamada a c) Asigne la multiplicacin de a por b a una variable entera llamada a d) Asigne la divisin de a entre b a una variable float llamada a e) Asigne la divisin entera de a entre b a una variable entera llamada a 18. Resuelva las siguientes operaciones con expresiones abreviadas a) Asigne la suma de a ms b a una variable entera llamada c

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

54

b) Asigne la resta de a menos b a una variable float llamada c c) Asigne la multiplicacin de a por b a una variable entera llamada c d) Asigne la divisin de a entre b a una variable float llamada c e) Asigne la divisin entera de a entre b a una variable entera llamada c 19. Resuelva las siguientes operaciones con expresiones abreviadas a) x = x + 1 b) y = y 1 c) x = x + 1 + y 1 d) y = y 1 + x + 1 e) x = x + 1 - y 1 f) y = y 1 - x + 1 20. Dados a = 1, b = 2 y c = 3, determine el valor final de las variables a, b y c en cada expresin independiente a) a = ++b + ++a b) b = b c++ c) c = --c b++ d) a = b > c e) b = c > b and a < b f) c = a * 2 > c or b * 2 > c

Instructivo para la Instalacin del compilador DevCpp


A continuacin te presento un instructivo muy sencillo y fcil de seguir para que puedas instalar el compilador con el que vamos a trabajar en esta asignatura. Lo puedes seguir paso a paso como si fuera una receta de cocina es muy fcil as que anmate e intntalo. Este instructivo fue realizado por la Coordinacin de la Asignatura de Programacin (integrada por los profesores: Rosa Daz, Olga Palma, Mara Auxiliadora Prez, Glennys Clemant, Margarita Pereira y Giovanni Torrealba-Coordinador). Debes saber que este instructivo tambin ser publicado al comienzo de la asignatura en la seccin de RECURSOS del Curso Programacin en: http://seducla.ucla.edu.ve.

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

55

Universidad Centroccidental Lisandro Alvarado Decanato de Ciencias y Tecnologa Lapso 2008-I

Programacin I

Instructivo para la clase 1


Elementos Bsicos de C++

Coordinacin del rea de Programacin

Contenido del Instructivo de la Unidad I

Instalacin del compilador DevC++ Configuracin del compilador DevC++ Primer programa en C++ Almacenamiento de los programas Pasos para realizar los programas Otras reglas a seguir Ejercicios propuestos

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

56

Instalacin del compilador DevC++


1. Ejecute el programa de instalacin

2. No instale sobre una versin pre-existente (si ya haba instalado antes)

3. Escoja el lenguaje a usar durante la instalacin

Instalacin del compilador DevC++


4. Si est en acuerdo con los trminos de la licencia, Acepte

5. El tipo de instalacin es FULL

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

57

Instalacin del compilador DevC++


6. Los archivos del compilador se instalarn en la carpeta C:\Dev-Cpp

7. La instalacin est en progreso

Instalacin del compilador DevC++


8. Permita que todos los usuarios en el equipo tengan acceso al compilador

9. Ha terminado con la instalacin

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

58

Configuracin del compilador DevC++


Al ejecutar por primera vez el compilador DevC++, observar los siguientes mensajes y opciones de configuracin... En caso de ya tenerlo instalado tambin puede configurarlo... Revise la informacin en estos dilogos para saber qu men se lo permite... 1. Notificacin de versin beta...

2. Seleccione el lenguaje Espaol (Latino Amrica), de manera que toda la informacin del compilador se muestre en castellano

Configuracin del compilador DevC++


3. Indique que SI desea instalar la informacin de los headers files (esto le ser de ayuda oportunamente)

4. YES... Ahora se crear un cach para optimizar el rendimiento del compilador

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

59

Configuracin del compilador DevC++


5. Ha terminado de configurar el compilador DevC++... Presione el botn OK

6. Esto es lo que ver... Es la interfaz de desarrollo integrado (IDE):

Puede escribir los programas Compilarlos y correrlos Probarlos y depurarlos Organizarlos ... todo eso es la integracin (IDE)

Prim er programa en C++


Este primer programa lo que hace es pedir 4 notas parciales de un estudiante y calcular la nota final (la suma de las notas parciales)

Anlisis del problema


Entradas: las 4 notas (N1, N2, N3, N4) Proceso: Acumulacin (suma) Salidas: la nota final (NF) Ejemplo: Sean las notas N1=20, N2=15, N3=20, N4=10 El proceso es NF=20+15+20+10 La nota final ser 65

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

60

Primer programa en C++


Este primer programa lo que hace es pedir 4 notas parciales de un estudiante y calcular la nota final (la suma de las notas parciales)
Use este botn (Nuevo cdigo fuente) para crear el archivo donde escribir su programa

Escriba el cdigo del programa

Prim er programa en C++


El mismo programa anterior pero documentado con notas explicativas, bien sea una nota de slo 1 lnea (comienzan con //), o de mltiples lneas (encerradas entre los caracteres /* y */)

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

61

Primer programa en C++


Compile su programa... Entonces podr observar si presenta errores de compilacin... La lista de errores aparece en la parte inferior del DevC++. Una vez que no hayan errores de compilacin, quedan por revisar los errores de ejecucin, o errores de lgica...
Botn para compilar D eliberadamente se quit la llave del comienzo del bloque main ()

Observe en esta seccin el reporte que presenta D evC++ en relacin al error... Mientras no est familiarizado con cada tipo de error, deber leer detenidamente estas instrucciones

Prim er programa en C++


Compile su programa... Ahora se ha corregido el error mostrado en la lmina anterior... El compilador DevC++ muestra el dilogo indicando Done (HECHO)...
Botn para compilar Se coloc la llave que estaba faltando Cuando ya no hay errores de compilacin, se muestra este dilogo que indica que est HECHA (Done) la compilacin

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

62

Primer programa en C++


Corra su programa... Una vez que su programa no tiene errores de compilacin, puede ejecutarlo... Ahora deber revisar que no hayan errores de ejecucin (de lg ica)
Botn para Ejecutar el programa En este caso no hay errores de ejecucin... Cmo saber que no hay errores de ejecucin? R. Ya no hay errores cuando la salida es la misma que se plane en el anlisis del problema!

Para asegurarse que su programa est definitivamente correcto, deber: PROBAR SU PROGRAMA CON DISTINTOS CASOS PARA EL MISMO PROBLEMA

Prim er programa en C++


Ejemplo del programa con errores de ejecucin... Se ha introducido un error (multiplicar en lugar de sumar)... El programa compila y corre, pero NO FUNCIONA CORRECTAMENTE ...

Hay un error en el proceso... Esto no impide que el programa se compile correctamente... Lo que producir ser un error en la ejecucin... Un error en la lgica... La consecuencia de los errores de ejecucin, o errores de lgica, es que la salida NO ES LA ESPERADA... Tenga a la mano el anlisis y el ejemplo del problema para que verifique la salida de su programa...

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

63

Almacenamiento de los programas


Prepare la carpeta donde guardar los archivos de los programas (en su pen-drive, o disco duro). La carpeta debe llamarla Prog1, en la carpeta raiz Suponga su pen-drive en la unidad F:, entonces cree la carpeta F:\Prog1 Destine una carpeta para los ejercicios de cada clase Llmela Clase01 (ej. para la clase 1), dentro de la carpeta Prog1 Entonces tendr la carpeta F:\Prog1\Clase01 Note que cada semana ser una clase Denomine convenientemente cada ejercicio Use el prefijo Ej_01, ms la secuencia semana-ejercicio... P.ej. El ejercicio 1 llmelo Ej01-01.cpp (ejercicio 1 de la semana 1); Ej01-02.cpp es el segundo de la semana 1. El prefijo Dm significa Demo; estos los da el profesor Documente su programa Escriba en comentarios el planteamiento del ejercicio Escriba tambin, sintticamente, un ejemplo del problema

Pasos para realizar los programas


Realice un anlisis del problema planteado Identifique las entradas, los procesos y las salidas Haga un ejemplo de la corrida del programa Asigne valores a las entradas definidas Muestre los resultados que debern producirse Considere var iantes que puedan afectar la lgica planteada Establezca restr icciones al alcance de la solucin planteada Afine su anlis is Revise y haga los ajustes necesarios a las entradas, procesos y salidas planteadas Tenga en consideracin que el anlis is de los problemas constituye el 25% de la nota en esta as ignatura Escriba su programa en C++ (con la IDE de DevC++) Ahora s debe proceder a transcr ib ir el programa Escribir el programa en C++ significa explicarle al computador lo que debe hacer, pero usando las reglas de C++ Compile, ejecute y depure su programa Deber revisar y corregir su programa hasta tanto la salida corresponda con lo planteado en el anlis is

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

64

Otras reglas a seguir


Algunas reglas de los programas bsicos en C++ Todo programa requiere la funcin main Las variables deben ser declaradas con su tipo respectivo Puede declarar mltiples variables del mismo tipo en una misma lnea Todas las instrucciones terminan en punto y coma ; Use las llaves para encerrar bloques de instrucciones { } Los comandos e identificadores son sensibles a las maysculas minsculas; p.ej. La variable Nota no es la misma que nota

Otras reglas a seguir


Reglas del estilo de programacin Los programas deben escribirse ordenadamente Escriba el planteamiento del problema al comienzo de su programa Esto es el estilo, o mtricas de programacin, el orden que deben llevar las instrucciones del programa Un programa con estilo correcto: a) se ve mejor, b) se entiende ms fcil, c) lo entienden mejor los compaeros del equipo de trabajo, d) no resta nota al ser evaluado por el profesor Evite dejar lneas en blanco Use un espacio en blanco para separar comandos, operadores e identificadores Escriba slo una instruccin por lnea Use sangra a 3 espacios para escr ib ir las instrucciones de cada bloque

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

65

Otras reglas a seguir


Ejemplo de un programa con estilo de programacin correcto El programa que hemos revisado est correcto en cuanto a estilo de programacin... Note lo siguiente: La sangra a 3 espacios para el bloque main Los espacios entre comandos, identificadores, operadores... El enunciado del problema

Otras reglas a seguir


Ejemplo de un programa con estilo de programacin INCORRECTO Se trata del mismo programa que hemos revisado... Igualmente compila y funciona... Observe que ahora est todo desordenado: No usa sangras Los comandos y las frmulas tienen las var iables y operadores sin espacios, lo que dificulta su comprensin (situacin que sera ms resaltante en programas largos... ms tarde en este curso...) El programa tiene lneas en blanco (innecesarias)

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

66

Cmo vers tienes toda la informacin a la mano. As que vamos a trabajar con todos los hierros. Estoy segura que logrars los objetivos que se plantearon al comenzar esta unidad. No se te olvide, instala el compilador y ejercita la sintaxis de todas las instrucciones. Por supuesto, ante cualquier duda pregunta somos un equipo y te recuerdo nuestro lema

Prof. Margarita Pereira

Unidad didctica. Elementos bsicos del lenguaje

67

Fuentes de Informacin
Cabrera, H. (1997). Glosario de trminos de computacin. Monografas.com Disponible en: http://www.monografias.com/trabajos/gloscompu/gloscompu.shtml. [Consulta 2008, Octubre 2] Dorrego, E. (2006). Educacin a Distancia y Evaluacin del Aprendizaje. RED. Revista de Educacin a Distancia, nmero M6 (Nmero especial dedicado a la evaluacin en entornos virtuales de aprendizaje). Disponible en: http://www.um.es/ead/red/M6/dorrego.pdf. [Consulta 2008, Septiembre 19] Lopez, G. (2003). Educacin a Distancia: Evaluacin. Disponible en: http://www.ucv.ve/ead/html/educacion_a_distancia__evaluac.html. [Consulta 2008, Septiembre 19] Miln, M y Otros. (1997). Dimensiones del proceso de Evaluacin. Monografas.com. Disponible en: http://www.monografias.com/trabajos42/evaluacion-comoproceso/evaluacion-como-proceso2.shtml.[Consulta 2008, Septiembre 24] Miln, M. (s/a.) La Evaluacin como un proceso participativo. Parte IV. Espacio logopdico.com. Disponible en: http://www.espaciologopedico.com/articulos2.php?Id_articulo=1358. [Consulta 2008, Septiembre 28] Parede, R. (2005). Autoevaluacin y Coevaluacin. Disponible en: http://boards4.melodysoft.com/app?ID=2005AAV0101&msg=96&DOC=21. [Consulta 2008, Septiembre 22] Rivera, G. (1997). La Educacin a Distancia Vs. Nuevas tecnologas. Monografas.com. Disponible en: http://www.monografias.com/trabajos5/nutec/nutec.shtml. [Consulta 2008, Septiembre 24]

Prof. Margarita Pereira

Anda mungkin juga menyukai