c++

Upload: jairo-esau-silva-hernandez

Post on 18-Jul-2015

253 views

Category:

Documents


0 download

TRANSCRIPT

http://www.programacionfacil.com/cpp/start

UNIDAD 1: C++ ELEMENTOS BASICOS 1.- INTRODUCCION 2.- MODELO DE SOLUCION 3.- VARIABLES 4.- TIPOS DE DATOS 5.- OPERADORES ARITMETICOS 6.- OPERADOR CAST 7.- JERARQUIA DE OPERACIONES 8.- COMPILADOR-EDITOR C C++ 9.- APLICACIONES 10.- OTRAS FUNCIONES DE ENTRADA/SALIDA 11.- FORMATO DE PANTALLA APENDICE A) PALABRAS RESERVADAS DE C++ APENDICE B) FUNCIONES C++ UNIDAD 2: C++ INSTRUCCIONES DE CONTROL DE PROGRAMA 1.- INTRODUCCION 2.- INSTRUCCIONES CONDICIONALES 3.- CONDICIONES SIMPLES 4.- INSTRUCCION IF 5.- CONDICIONES COMPUESTAS 6.- INSTRUCCION SWITCH() 7.- CICLO FOR 8.- CICLO WHILE 9.- CICLO DO-WHILE 10.- CONCLUSIONES ACERCA DE CICLOS UNIDAD 3: C++ ARREGLOS 1.- INTRODUCCION 2.- ARREGLOS EN C++

3.- ARREGLOS TIPO LISTAS(1) 3.- LISTAS(2) 4.- STRING 5.- LISTAS DE STRING 6.- SORTEOS U ORDENAMIENTOS 7.- ARREGLOS TIPO TABLA 8.- INICIALIZACION DE ARREGLOS UNIDAD 4: C++ PROCEDIMIENTOS Y FUNCIONES 1.- PROCEDIMIENTOS 2.- PARAMETROS 3.- VARIABLES LOCALES Y GLOBALES 4.- FUNCIONES 5.- ARREGLOS COMO PARAMETROS UNIDAD 5: C++ REGISTROS Y ARCHIVOS SECUENCIALES 1.- INTRODUCCION 2.- ESTRUCTURAS O REGISTROS 3.- ARCHIVOS (1) 4.- ARCHIVOS (2) 5.- CREACION ARCHIVOS 6.- GRABACION Y LECTURA DISCO 7.- BUSQUEDA EN ARCHIVO DIRECTO 8.- FILTROS o CONDICIONES 9.- BAJA o ELIMINACION 10.- OPERACIONES CON CAMPOS 11.- EDICION o MODIFICACION REGISTROS UNIDAD 6: REGISTROS Y ARCHIVOS DIRECTOS 1.- INTRODUCCION ARCHIVOS DIRECTOS 2- CREACION ARCHIVOS 3.- GRABACION Y LECTURA DISCO

4.- BUSQUEDA EN ARCHIVO DIRECTO 5.- FILTROS o CONDICIONES 6.- BAJA o ELIMINACION 7.- OPERACIONES CON CAMPOS 8.- EDICION o MODIFICACION REGISTROS UNIDAD 7.- VARIABLES APUNTADORES 1.- INTRODUCCION 2.- APUNTADORES A ESCALARES 3.- APUNTADORES A STRINGS 4.- APUNTADORES A ARREGLOS 5.- APUNTADORES A TABLAS UNIDAD 8.- PROGRAMACION ORIENTADA A OBJETOS 1.- INTRODUCCION

UNIDAD 1: C++ ELEMENTOS BASICOS TEMA 1: C++ INTRODUCCION

Los nuevos sistemas de informacin son costosos en tiempos y recursos, la solucin moderna de sistemas de informacin exigen nuevas herramientas y metodologas para resolver rpida, econmica y eficiente los problemas de informacin planteados por las organizaciones. Aun mas el pleno potencial del hardware no es aprovechado plenamente y existe un considerable retraso con el software y sus aplicaciones, generando lo que se conoce como crisis del software. En programacin tradicional, modular o estructurada un programa describe una serie de pasos a ser realizados para la solucin de un problema, es decir es un algoritmo, en particular este modelo de programacion se us mucho para generar programas o aplicaciones en ambientes pc's y con consolas, es decir el programa se ejecutaba en una consola de msdos por ejemplo, y el programa o aplicacin se tena que portar fisicamente a otras pc's, al final de su ciclo de vida de este modelo se habia mejorado y ya era posible que se ejecutara en alguna ventana-consola de ambientes windows, con mejor interfase como fonts, colores, background, etc. En programacin orientada a objetos ( OOP ) un programa es considerado como un sistema de objetos interactuando entre s, ambientes de desarrollo visuales facilitan aun ms la construccin de programas y solucin de problemas, porque permiten abstraer al ingeniero de software de todo el GUI (interfase grfica) del problema, que constituye ms del 60% del cdigo normal de un programa, en general este ambiente permiti una mejora en la interfase del programa con el usuario de la aplicacin ya que en este caso solo se manejaban formas o ventanes llenas de componentes o controles especializados en alguna tarea especifica. A este modelo de programacin o construccin de programas los compiladores modernos se adaptarn rapidamente y tenemos aplicaciones fantasticas, en donde alguna forma o ventana esta llena de controles visibles e invisibles que

realizan muchas tareas donde ademas de los componentes o controles que proporciona directamente el compilador cuando se instala, existen miles de controles o componentes extras en muchas partes del mundo realizados por programadores talentosos y que enriquecen el contenido de nuestros programas y aplicaciones visuales. Al principio estas aplicaciones, se construian pensando en que se ejecutaban en una pc con ambiente grafico o en una serie de pc's proximas fisicamente sin embargo el rapido avance de las redes dentro de las empresas u organizaciones conllevan a que los fabricantes de compiladores cada vez incluyeran mas y mas controles o componentes que permitan ejecutar el programa o aplicacin simultaneamente en una red de pc's. Sin embargo cuando se habla de redes actuales estamos hablando de la red de redes (internet) y si en redes internas o intranets el retraso en el tiempo de comunicacin entre sus pc's internas y la cantidad de informacion a trasmitir entre las mismas no es algo muy importante o inmanejable, este problema de tiempo de trasmisin y cantidad de informacin, si es un factor muy importante cuando se pretende construir programas o aplicaciones que deban compartirse o usarse por muchas pc's conectadas a internet, desgraciadamente como factor externo que es, no esta bajo control de la empresa o del programador. C o C++ , son los compiladores que permiten usar cualquiera de los tres enfoques en la solucin de problemas de informacin que puedan y deban ser resueltos empleando el computador y el lenguaje aunque se repite este curso esta enfocado al primer modelo. UNIDAD 1: C++ ELEMENTOS BASICOS TEMA 2: MODELO DE SOLUCION C++

En general un problema de informacin es posible entenderlo, analizarlo y descomponerlo en todos sus componentes o partes que de una u otra manera intervienen tanto en su planteamiento como en su solucin. Una herramienta rpida que nos permite descomponer en partes un problema para su solucin, es el llamado modelo de solucin, este consiste de una pequea caja que contiene los tres elementos ms bsicos en que se puede descomponer cualquier problema sencillo de informacin, estas tres partes son: 1. LA PRIMERA PARTE son todos los datos que el computador ocupa para resolver el problema, estos datos son almacenados internamente en la memoria del computador en las llamadas variables de entrada. 2. LA SEGUNDA PARTE son todas las operaciones generalmente algebraicas necesarias para solucionar el problema, generalmente esta parte del modelo es una formula (o igualdad matemtica, ej. X= y + 5). 3. LA TERCERA PARTE es el resultado o solucin del problema que generalmente se obtiene de la parte de operaciones del modelo y dichos datos estn almacenados en las llamadas variables de salida. En resumen para todo problema sencillo de informacin es necesario plantearse las siguientes preguntas: Que datos ocupa conocer el computador para resolver el problema y en cuales variables de entrada se van a almacenar ? Que procesos u operaciones debe realizar el computador para resolver el problema planteado. Que informacin o variables de salida se van a desplegar en pantalla para responder al problema planteado originalmente? Como nota importante no confundir los trminos datos, variables e informacin; Datos se refiere a informacin en bruto, no procesada ni catalogada, por ejemplo Tijuana, calle primera # 213,15 aos, $2,520.00, etc.

Variables es el nombre de una localidad o direccin interna en la memoria del computador donde se almacenan los datos, ejemplo de variables para los casos del inciso anterior, CIUDAD, DIRECCION, EDAD, SUELDO, ETC. Informacin son datos ya procesados que resuelven un problema planteado. EJEMPLO DE MODELO DE SOLUCIN Construir un modelo de solucin que resuelva el problema de calcular el rea de un tringulo con la formula rea igual a base por altura sobre dos. Variable(s) de Entrada Proceso u Operacin Variable(s) de Salida BASE AREA= BASE * ALTURA / 2 AREA ALTURA PROBLEMA 2.- CONVERTIR LA EDAD EN AOS DE UNA PERSONA A MESES. PROBLEMA 3.- CONVERTIR PESOS A DOLARES. PROBLEMA 4.- CALCULAR EL AREA DE UN CIRCULO CON LA FORMULA

PROBLEMA 5.- EVALUAR LA FUNCION

PARA CUALQUIER VALOR DE X.

Observar para el caso de constantes fijas o conocidas (PI) no se debe dar como dato de entrada su valor, en cambio colocar directamente su valor dentro de la formula, en la parte de operaciones del problema. Pero recordar tambin que existirn problemas sencillos donde: No se ocupan entradas o no se ocupan operaciones, pero todos ocupan salida. Una formula grande o muy compleja puede ser ms segura y fcil de resolver, si es descompuesta y resuelta en partes, juntando al final los parciales para obtener el resultado final. Un problema puede tener ms de una solucin correcta. El problema no esta suficientemente explicado o enunciado, entonces, estudiarlo, analizarlo y construirlo de manera genrica. TAREAS PROGRAMACION C++ Construir los modelos de solucin de los siguientes problemas: PROBLEMA 6.- Convertir millas a kilmetros(caso normal) PROBLEMA 7.- Convertir 125 metros a centmetros(no ocupa entradas) PROBLEMA 8.- Se calcula que en promedio hay 4.7 nidos en cada rbol en la UABC, tambin se calcula que en cada nido existen un promedio de 5.8 pjaros, se pide calcular la cantidad total de nidos y de pjaros en los 227 arboles que existen en la UABC. (no ocupa entradas) PROBLEMA 9.- La gorda Sra. Lpez y sus 8 hijos solo compran una vez al mes su mandado en conocido supermercado, en dicha tienda el kilogramo de frijol cuesta $8.75, el paquete de tortillas cuesta $3.55 y el frasco de caf vale $14.25, si solo compran de estos tres productos para su mandado, calcular su gasto total. ( problema no claro)

PROBLEMA 10.- Capturar y desplegar los cinco datos mas importantes de un automvil(no ocupa operaciones) PROBLEMA 11.- La distancia Tijuana - Ensenada es de 110 kilmetros. Si un automvil la recorre a una velocidad constante de 30 millas por hora, cuanto tiempo tarda en llegar. ( 1 milla = 1.609 Km.) (dos maneras correctas de resolverlo). PROBLEMA 12.-Evaluar la funcin PROBLEMA 13.-Evaluar la funcin para cualquier valor de x.(caso normal). para cuando x vale 4 . (no ocupa entradas).

14.- Evaluar el factorial de cualquier numero usando la formula: n!=n!-1 15.-La distancia que recorre un auto es de 50 kms y su velocidad es de 30 millas por hora .Cuanto tiempo tardara en llegar? 16.-Encontrar la derivada de x para cualquier valor con la formula(d/dx(x)=1) 17.-Calcular l interes que gana un capital de x pesos a una tasa de interes del 15% annual en un periodo de n aos. 18.-Que aceleracion tiene un tren que parte de tijuana a 10 km/hr y pasa por ensenada una hora despues a 50 km/hr. 19.-Calcular el numero de aulas en una escuela que tiene 10 edificios y cada edificio 3 pisos y cada piso 5 aulas, excepto un edificio que solo tiene dos pisos. 20.-Si en una escuela hay 30 maestros y 15 son hombres que atienden a 10 alumnos cada uno. Cuantas maestras hay? 21.-Calcular la corriente de un circuito con un voltaje de 15v y una resistencia de 6 ohms. Formula (I= V/R) 22.-Calcular la normal estandar(z) dados los datos por el usuario: X=dato, =media, d=desviacion. Formula (Z = XM / d) 23.-Dado un numero(N) cualesquiera obtener su raiz y potencia cuadrada . 24.-Determinar la media de 5 numeros diferentes. 25.-Determinar la velocidad v requerida para recorrer una distancia d en un tiempo t . Formula (V = d * t) 26.-Determinar la pendiente de una recta. Formula (y = m x + b) 27.-Calcular la funcion de y= x + 8x + 3 para cualquier x 28.-Convertir minutos a horas. 29.-Aplicar la formula general para a=1, b=2, c=3. 30.-Se desea instalar un cable de red, el cliente pide 30 pies, considerando que se venden en metros, cuantos debera comprar. 31.-Un campesino siembra trigo en un area cuadrada de 25 mts., cual es el largo del cerco frontal en cms.? 32.-Resolver x + 15x - 8 para cualquier variable (X). 33.-Convertir C a F. 34.-Si cada salon de la escuela tiene 40 alumnos y son 30 salones Cuantos alumnos son en toda la escuela?

35.-Si Juan trabaja 5 dias a la semana y descansa 2 Cuantos dias trabajo en 4 aos? 36.-Si en una oficina se procesan 20 facturas cada 10 minutos cuantas se procesaran si se trabajan 5 horas? 37.-Si una empresa tiene _ de activo y un pasivo de _ Cual es su capital?. Formula (C = A-P) 38.-Calcule el voltaje de un circuito dada una intensidad I y una resistencia R. Formula (V=IR) 39.-Calcule la frecuencia de una onda que circula con un tiempo t. Formula (F=1/t) 40.-Calcule la potencia de un circuito con un voltaje V y una intensidad I. Formula (f = VI) 41.-Calcule el total que tendra que pagar una persona que va al cine dependiendo del no. de boletos a comprar y el precio. 42.-Calcule las anualidades que tendra que pagar una persona que pidio un prestamo. Dependiendo del tiempo que el elija y el interes por ao. Formula (Anualidad=(Prestamo/Tiempo)+interes) 43.-Determinar cuanto ganara una persona en base a la horas trabajadas. Tomando en cuenta el pago por hora. 44.-Convertir horas a segundos. 45.-Calcular la fuerza. Formula (fuerza = trabajo / tiempo)

UNIDAD 1: C++ ELEMENTOS BASICOS TEMA 3: VARIABLES C++

Identificadores son conjuntos de letras y/o nmeros que se utilizan para simbolizar todos los elementos que en un programa, son definibles por el usuario (programador o ingeniero de software) del mismo, como son las variables donde se almacenan datos, funciones( pequeos mdulos con cdigo), etiquetas, clases, objetos, etc. En C++ un identificador es una palabra compuesta de letras y/o nmeros de hasta 32 caracteres significativos, empezando siempre con una letra. Una variable se define como un identificador que se utiliza para almacenar todos los datos generados durante la ejecucin de un programa. Existen ciertas reglas en cuanto a variables: Claras y con referencia directa al problema. No espacios en blanco, ni smbolos extraos en ellas. Se pueden usar abreviaturas, pero solo de carcter general. No deben ser palabras reservadas del lenguaje. Ejemplos de buenas variables: Nombre, Edad, SdoDiario, IngMensual, Permetro, Calif1, etc. UNIDAD 1: C++ ELEMENTOS BASICOS

TEMA 4: TIPOS DE DATOS C++

A toda variable que se use en un programa, se le debe asociar (generalmente al principio del programa) un tipo de dato especfico. Un tipo de dato define todo el posible rango de valores que una variable puede tomar al momento de ejecucin del programa y a lo largo de toda la vida til del propio programa. Los tipos de datos ms comunes en C++ son: TIPO DATO ESPACIO MEMORIA RANGO unsigned char 8 bits 0 a 255 char 8 bits -128 a 127 short int 16 bits -32,768 a 32,767 unsigned int 32 bits 0 a 4,294,967,295 int 32 bits -2,147,483,648 a 2,147,483,647 unsigned long 32 bits 0 a 4,294,967,295 enum 16 bits -2,147,483,648 a 2,147,483,647 long 32 bits -2,147,483,648 a 2,147,483,647 float 32 bits 3.4 x 10-38 a 3.4 x 10+38(6 dec) double 64 bits 1.7 x 10-308 a 1.7*10+308(15 dec) long double 80 bits 3.4 x 10-4932 a 1.1 x 10+4932 void sin valor Para manejar cadenas de caracteres (strings), se debera usar un arregllo de caracteres con el siguiente formato. Char nomstring[cant de elementos]; Ejemplo Char nombre[30]; Char ciudad[20]; Para cargar con un dato se usa el siguiente codigo; strcpy(carrera,ing sistemas); Variables arreglos de caracteres, tienen que usar sus funciones de manipulacin que vienen en la libreria string.h, algunas de estas funciones son: strcpy(), strcat(), strcmp(), strlen(), etc.

UNIDAD 1: C++ ELEMENTOS BASICOS TEMA 5: C++ OPERADORES ARITMETICOS

Un operador es un smbolo especial que indica al compilador que debe efectuar una operacin matemtica o lgica. C++ reconoce los siguientes operadores aritmticos: Operador Operacin + SUMA - RESTA * MULTIPLICACION / DIVISION % MODULO O RESIDUO Como notas importantes a recordar siempre; En problemas de divisin entre enteros, C++ trunca la parte residual, es decir; rea de declaracin de variables float a; rea de operaciones a = 10 / 4; rea de despliegue de resultados desplegar a; En pantalla sale ( 2.000000 ) El problema no es el tipo float, sino que por definicin de la divisin entre enteros C++ siempre trunca la parte residual, mas adelante se indica como se resolver este problema. El operador (%) devuelve el residuo entero de una divisin entre enteros, ejemplo; rea de declaracin int alfa; rea de operaciones alfa = 23 % 4; rea de despliegue desplegar alfa; El resultado en pantalla es 3 Otro ejemplo; alfa = 108 % 10; desplegar alfa; El resultado en pantalla es 8 Para resolver los problemas de potencias y races, se usan ciertas instrucciones especiales que proporciona el lenguaje, llamadas funciones matemticas, en C++ existe toda una librera de instrucciones o funciones matemticas.

Recordar que todas las funciones reciben uno o ms datos o valores y regresan siempre un resultado, una de estas funciones matemticas es: #include double pow(double base, double exp); Esta funcin ocupa dos valores o datos( base y exp) ambos de tipo double, y regresa un resultado tambin de tipo double, ejemplo; Resolver el problema de calcular#include // rea de declaracin de variables double base, exponente, potencia; // rea de asignacin o carga o inicializacin de // variables base=5; exponente=3; // rea de operaciones potencia =pow( base, exponente); // Despliegue desplegar potencia; -> El resultado en pantalla es 125.000000000

Para resolver el problema de races, se aprovecha una de las mas elementales y conocida de las leyes de exponentes que dice:

Es decir una raz cualquiera se puede transformar a una potencia con un exponente fraccionario. Ejemplo: problema y = 3sqrt{x} esto es equivalente a y= 3*pow(x, 0.5); En este ejemplo se esta dando por supuesto que no interesa el tipo de dato que requiere la funcin pow() para trabajar correctamente RESUMEN: En C++ se puden resolver con la ayuda de estos operadores toda clase de problemas, ya sean financieros, algebraicos de negocios, contables, etc entonces usando funcin pow

UNIDAD 1: C++ ELEMENTOS BASICOS

TEMA 6: OPERADOR CAST C++

Se puede forzar un dato, variable o una expresin a convertirse o cambiarse a un nuevo tipo de dato. El operador cast realiza este proceso, es decir convierte datos, variables o expresiones a un nuevo tipo de dato, su formato es: nvotipo (dato , var, exp); Ejemplo:// declaracin int alfa; // Asignacin alfa=20; // Cambio de tipo float (alfa);

Ejemplo:

int (3.1416);

En este ejemplo se est convirtiendo un float a int, recordar que en este caso ya no se tendrn los decimales. Como nota importante este operador resuelve los dos problemas pendientes: 1. El de la divisin entre enteros. 2. El tipo de dato especifico que requieren las funciones. Ejemplos:a) // Declaracin float alfa; // Operacin alfa = float (23)/5; // Pero en estos casos es preferible alfa=23/5.0;

En toda divisin recordar agregar a uno de los dos valores el (.0), solo que los dos elementos sean variables entonces usar el operador cast con una de ellas.b)// Declaracin double potencia; // Operacin potencia = pow ( double (5), double (3));

Como se observa en el ejemplo, se puede usar pow(), directamente con los datos, argumentos o parmetros requeridos , si estos son numricos, pero transformndolos con el operador cast. Esto tambin va a permitir evaluar expresiones matemticas de manera mas directa y sencilla, solo recordando usar un pow() por cada potencia y cada raz de la ecuacin, ejemplo: Sea dentro de un programa esto se resuelve con;

// rea de declaracin de variables double y, x; // rea de captura de datos capturar el valor de x; // rea de operaciones y = 3 * pow(x, double (3)) - pow(x, (1/3.0)) + 4 * pow(x, double(2) ); // rea de despliegue de resultados desplegar x, y

TAREAS PROGRAMACION C++ POW(): 1. 2. 3.

UNIDAD 1: C++ ELEMENTOS BASICOS TEMA 7: C++ JERARQUIA DE OPERACIONES

El problema de no tomar en cuenta la jerarqua de los operadores al plantear y resolver una operacin casi siempre conduce a resultados muchas veces equivocados como estos:

Ejemplos:

2+ 3* 4 = 20(incorrecto) = 14 (correcto)

b) si calif1=60 y calif2=80 y si entonces en programa se usa promedio=calif1 + calif2/2 la pc dara como resultado promedio = 100

Recordar siempre, que antes de plantear una formula en un programa se deber evaluar contra el siguiente: Orden de operaciones:

1.- Parntesis 2.- Potencias y races 3.- Multiplicaciones y divisiones 4.- Sumas y restas 5.- Dos o ms de la misma jerarqua u orden, entonces resolver de izquierda a derecha

Nota: Si se quiere alterar el orden normal de operaciones, entonces usar parntesis. Nota: Tampoco es bueno usar parntesis de mas en una operacin, esto solo indica que no se evalo bien la formula, como en el siguiente ejemplo;

aqu los parntesis estn de mas, porque por orden de operaciones, multiplicacin y divisin tienen la misma jerarqua y entonces se resuelven de izquierda a derecha, en otras palabras ni que falten parntesis ni que sobren parntesis.

UNIDAD 1: C++ ELEMENTOS BASICOS TEMA 8: COMPILADOR C++

Para poder construir programas o aplicaciones se usara el compilador turboc++ que se encuentra en la siguiente direccion de internet. http://community.borland.com/museum/ El compilador tiene el nombre de: Antique Software: Turbo C++ version 1.01 Bajarlo, descomprimirlo en un folder o subdirectorio temporal, dentro se encontraran tres folders llamados disk1, disk2, disk3, copiar el contenido de disk2 y disk3 al folder disk1, luego correr un programa llamado install, esto creara un nuevo folder en el disco duro llamado tc, que ya contendra nuestro compilador a usar. Para correr el compilador y el editor de programas que trae integrado, solo abrir una sesion de msdos prompt en la barra de start de windows y luego navegar al directorio tc\bin con la orden: cpp:\CD TC\BIN Luego cargar el compilador con la orden: cpp:\TC\BIN\TC Debera mostrarse la siguiente pantalla con el editor:

Recordar que dentro de este compilador no funciona el raton o mouse, todas las opciones se cargan con la tecla ALT y la letra en rojo correspondiente, tambien se podran usar las teclas de flechas del teclado para navegar por las opciones de los menus. UNIDAD 1: C++ ELEMENTOS BASICOS TEMA 9: APLICACIONES C++

Prog1.cpp

#include void main() { area declaracion variables int base1, altura; float area; area captura de datos printf(dame base:); scanf(%d,&base1); printf(dame altura:); scanf(%d,&altura); area de operaciones area=base1 * altura / 2.0; area despliegue printf(el area es =%0.2f,area); getchar();getchar(); } Reglas para escribir un programa en CPP: a) Comienza con las instruccines #include etc y cada una de ellas es una libreria de instrucciones especializadas en tareas especificas. b) Todas las palabras reservadas del lenguaje deben ser minusculas. (main, include, printf ,etc.) c) Todo programa comienza con una funcin llamada void main(). d) El cuerpo de instrucciones del programa debera encerrarse entre llaves. e) Todas las instrucciones ejecutables terminan con punto y coma. f) Los comentarios se ponen encerrados entre /* comentario */ o comentario g) La declaracin de variables ocupa la primera posicin. h) Se utiliza una instruccin llamada printf() para desplegar mensajes u otros elementos en el dispositivo de salida standar(pantalla). i.- Se utiliza una instruccin llamada scanf() para capturar datos desde el dispositivo de entrada standar (teclado). j.- Se usa una instruccin getchar(); al final para detener la pantalla hasta que el usuario pulse la tecla any key para continuar o el programa responde tan aprisa que no se alcanza a ver y se regresa al editor. j.-C es case-sensitive, es decir trata a mayusculas y minusculas como caracteres diferentes. Ya creadas y cargadas las variables normales se efectuan los procesos u operaciones normales con ellas y al final se construye una pagina normal html con los resultados. Este programa se debera crear usando el editor del turboc y grabarlo como prog1.cpp en el folder de su preferencia, para ejecutarlo usar la opcion RUN del propio editor. Corrida:

INSTRUCCION PRINTF() Es una de las mas poderosas herramientas de despliegue de datos que posee el lenguaje. Su formato completo es: Printf (string de control, lista de variables); * Donde string de control puede ser: a).- Mensaje o texto b).- Secuencias de escape c).- Codigos de formato d).- Combinacin de los tres ejemplos; a).-MENSAJE O TEXTO Printf(pato) Printf(%d, varentera); Printf( los datos son %d %0.f %s ,varent,varfloat,varstring); ver programa ejemplo. Nota.- se recomienda no mas de 70 caracteres b).-SECUENCIAS DE ESCAPE Estas instrucciones proveen de mecanismos de control para diversas tareas, existe una gran variedad de secuencias de escape, las mas usuales son: \n nuevo rengln \t tabulador horizontal \b backspace o retroceso \r carriage return \a campanilla \ despliega comillas \` despliega apstrofe despliega diagonal c).- CODIGOS DE FORMATO Estos codigos de formatos dentro de la string de control le indican al compilador que deber sustituir en esa posicin el valor de la variable indicada, ademas se debera recordar que existe un cdigo de formato apropiado para cada tipo de dato existente. CODIGO TIPO DE DATO SALIDA %d entero enteros con signo %u Unsignedint enteros sin signo %f Float y double pte entera y decimal %e Float y double notacion exponencial usando e minuscula %E Float y double notacion exponencial usando E mayuscula %g el compilador decide si usa f o e %G el compilador decide si usa f o E %c Char un solo caracter %s var string conjunto de caracteres Para el caso de estos codigos porcientos tambien es posible agregar la cantidad de entero y decimales que se quiere que se despliegue en la salida con el siguiente formato: %cantentero.cantdecimal caracter apropiado. INSTRUCCION SCANF(); Esta instruccin permite que el dato entrado desde el teclado sea capturado y almacenado en la variable correspondiente su formato completo es: scanf(string de control, lista de variables); codigos de formato o codigos % Observar que a diferencia de printf(), scanf() solo puede llevar los codigos % , dentro de las comillas En el caso mas sencillo dentro del string de control se pone el porciento con el caracter apropiado al tipo de dato y en la lista de variables una variable ya declarada de ese mismo tipo. Se debera tener en cuenta siempre lo siguiente: a) La cantidad de variables de lista de variables debe ser igual en cantidad que los codigos porciento %. b) Todas las variables de tipo numerico dentro de scanf, no de printf, deberan ser precedidas del signo ampersand (&). EJ; SCANF(%d, &area); >ver programa ejemplo. c) %s en scanf solo alcanza a capturar de la string hasta el primer espacio en blanco. d) El formato porciento en scanf y printf para tipos long int sera %ld. e) El formato porciento para tipos doubles en scanf y printf es %lf. TAREAS PROGRAMACION C++ CONSTRUIR 15 PROGRAMAS CUALESQUIERA DE LOS EJEMPLOS QUE ESTAN EL TEMA DEL MODELO DE SOLUCION. UNIDAD 1: C++ ELEMENTOS BASICOS TEMA 10: OTRAS FUNCIONES DE I/O C++

CAPTURA: a) Getchar(); Getch(); Getche(); Estas tres instruciones estan especializadas en captura de un solo caracter y sustituyen a scanf %c en situaciones especiales. Estas funciones trabajan por igualacin, es decir para usarse varchar=getchar(); ej;

char vocal; vocal=getchar(); NOTA: DEPENDIENDO DEL SISTEMA OPERATIVO EN OCACIONES UN GETCHAR() NO ATRAPA EL CARACTER A LA PRIMERA VEZ, EN ESTE CASO USAR MAS DE UN GETCHAR EN FORMA CONTINUA. En este caso poner mas getchar(); despues de getchar() hasta que capture el caracter o tambien para detener la corrida. Getchar es una macro que lee un caracter de el teclado y regresa el caracter leido. La diferiencia es que getchar y getche devuelven el caracter leido a la pantalla y el getch no devuelve el caracter a la pantalla. Estas instrucciones deberan usarse en las siguientes situaciones: a) Cuando la captura es de un solo caracter b) Tambien para retener pantallas en este caso sin igualdad c) Para evitar los saltos en capturas, cuando se captura un entero y una string despues, es este caso es conveniente usar una serie de getchar() para quitar el caracter de return del teclado, en particular es conveniente usar un getchar despues de un scanf(entero) como lo muestra el ejemplo de abajo prog2.cpp B) GETS(); Esta funcin es la alternativa para captura de strings que tengan espacios en blanco intermedios cosa que scanf %s no puede hacer. Su formato completo es : gets(variable string); DESPLIEGUE: a) Putch(); Putchar(); Estas instruciones despliegan directamente un caracter en el dispositivo de salida standar. A diferiencia de getchar, getch y getche, estas instrucciones si llevan un argumento. ejemplo; putchar(alfa); putchar('\n'); putchar('\064'); b) Puts(variable string); Es la funcin complemento de gets esta funcin despliega una string en el dispositivo de salida standar y debe llevar el argumento o parametro. puts(nombre);

puts(pato); PROG2.CPP#include void main() { //declaracion int var1, var2,var3; char var4[15], var5[15]; //captura y observar donde se ponen getchars //unos para limpiar return y otros para para parar la pantalla printf("dame entero1:"); scanf("%d",&var1);getchar(); printf("dame string1:"); scanf("%s",&var4); printf("dame entero2:"); scanf("%d",&var2); printf("dame entero3:"); scanf("%d",&var3); getchar(); printf("dame string2:"); gets(var5); //despliegue printf("entero1 %d \n",var1); printf("string1 %s \n",var4); printf("entero2 %d \n" ,var2); printf("entero3 %d \n",var3); printf("string2 %s \n",var5); getchar(); }

Recordar que scanf(%s) no quiere espacios en blanco, por eso es mejor usar gets(var string). Observar que desspues de un scanf(entero) que este antes de un gets(varstring) deberan usar un getchar() para quitar el return del teclado o la pc no va a capturar la string sino que va a saltarse. El ultimo getchar es para parar o detener la pantalla. Corrida:

TAREAS PROGRAMACION C++ Reconstruir los programas pedidos en el tema anterior usando estas instrucciones de captura y despliegue.

UNIDAD 1: C++ ELEMENTOS BASICOS TEMA 11: FORMATO PANTALLA PROGRAMACION C++

#include Libreria a usar 1.- clrscr(); Limpia pantalla ESTA INSTRUCCION NO OCUPA ACLARACION 2.- gotoxy(#de col,#de ren); posiciona cursor en lugar indicado RECORDAR QUE UNA CONSOLA NORMAL TIENE 24 RENGLONES Y 80 COLUMNAS En particular poner un gotoxy(); antes de cada printf() en el programa. TAREAS PROGRAMACION C++ REARREGLAR LOS PROGRAMAS CONSTRUIDOS PARA SU MEJOR PRESENTACION. PALABRAS RESERVADAS C++

auto break case char const

continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while Some of the keywords on C have new meanings or have been overloaded in the world of C++, the following list shows the keywords that have changed.

struct static const enum

The following list shows the keywords that have been added to C++. bool catch class delete friend inline new namespace operator private protected public tempate this throw try template TURBO C++

abort() Abort Process and Return Error abs() Calculate Absolute Value of Integer absread() Read Disk Sectors abswrite() Write Disk Sectors

access() Check File Permission Setting acos() Calculate Arc Cosine alloca() Allocate Memory Block on Stack allocmem() Allocate DOS Memory Segment asctime() Convert Time from Structure to String asin() Calculate Arc Sine assert() Diagnostic Message Generator atan() Calculate Arc Tangent atan2() Calculate Arc Tangent of y/x atexit() Register Exit Function atof() Convert String to Double atoi() Convert String to Integer atol() Convert String to Long bdos() Invoke DOS Function, Short Form bdosptr() MS-DOS System Call bioscom() Communications I/O biosdisk() Hard Disk / Floppy I/O biosequip() Check Equipment bioskey() Keyboard Interface biosmemory() Return Memory Size biosprint() Printer I/O biostime() Return the Time of Day brk() Change Data-Segment Space Allocation bsearch() Perform Binary Search cabs() Calculate Absolute Value of Complex Number calloc() Allocate and Zero Memory ceil() Calculate Ceiling of Value cgets() Get a Character String from the Console chdir() Change Current Working Directory

chmod() Change File Permission Setting _chmod() Change Access Mode of File _clear87() Get and Clear 8087/80287 Status Word clearerr() Clear Error Indicator for a Stream close() Close File _close() Close a File Handle coreleft() Return a Measure of Unused Memory cos() Calculate Cosine cosh() Calculate Hyperbolic Cosine country() Return Country-Dependent Information cprintf() Formatted Write to Console cputs() Write a String to the Console creat() Create a New File _creat() Create a New File creatnew() Create a New File creattemp() Create a New File or Rewrite an Existing One cscanf() Read Formatted Data from Console ctime() Convert Time from Long Integer to String ctrlbrk() Set Control-Break Handler difftime() Find the Difference between Two Times disable() Disable Interrupts dosexterr() Get DOS Extended Error Values dostounix() Convert Date and Time to UNIX Time Format dup() Create Second Handle for Open File dup2() Reassign a File Handle ecvt() Convert Double to String enable() Enable Interrupts eof() Test for End of File exec() An Overview of the Eight Exec Functions

execl() Execute Program Using: Arg List execle() Execute Program Using: Arg List, Environment execlp() Execute Program Using: Arg List, PATH execlpe() Execute Program Using: Arg List, PATH, Environment execv() Execute Program Using: Arg Array execve() Execute Program Using: Arg Array, Environment execvp() Execute Program Using: Arg Array, PATH execvpe() Execute Program Using: Arg Array, PATH, Environment exit() Terminate Process after Cleanup _exit() Terminate Process without Cleanup exp() Calculate Exponential fabs() Calculate Absolute Value of Floating-Point farcalloc() Allocate Memory from Far Heap farcoreleft() Return Measure of Unused Memory in Far Heap farfree() Free a Block from Far Heap farmalloc() Allocate Memory from Far Heap farrealloc() Adjust Allocated Block in Far Heap fclose() Close a Stream fcloseall() Close All Open Streams fcvt() Convert Double to String fdopen() Open a Stream Using a Handle feof() Detect Stream End-of-File (Macro) ferror() Test for Error on a Stream (Macro) fflush() Flush a Stream fgetc() Read a Character from a Stream fgetchar() Read a Character from Stdin fgets() Read a String from Stream filelength() Return File Length fileno() Get File Handle Associated with Stream (Macro)

findfirst() Search Disk Directory findnext() Fetch Files That Match findfirst() floor() Calculate Floor of Value flushall() Flush All Streams and Clear All Buffers fmod() Calculate Floating-Point Remainder fnmerge() Make New File Name fnsplit() Split a Full Path Name into Its Components fopen() Open a File FP_OFF() Get or Set Offset Portion of a Far Pointer (Macro) FP_SEG() Get or Set Segment Portion of a Far Pointer (Macro) _fpreset() Reinitialize Floating-Point Math Package fprintf() Write Formatted Data to Stream fputc() Write a Character to a Stream fputs() Write a String to Stream fread() Read Unformatted Data from Stream free() Deallocate Memory Block freemem() Free a Previously Allocated DOS Memory Block freopen() Reassign a File Pointer frexp() Get Mantissa and Exponent of Floating-Point Value fscanf() Read Formatted Data from Screen fseek() Reposition File Pointer to Given Location fstat() Get Information about Open File ftell() Get Current File Pointer Position fwrite() Write Unformatted Data to Stream gcvt() Convert Double to String geninterrupt() Generate Software Interrupt getc() Read a Character from a Stream (Macro) getchar() Read a Character from 'Stdin' getch() Get a Character from the Console without Echo

getche() Get a Character from Console with Echo getcwd() Get Path Name of Current Working Directory getenv() Get a Value from the Environment Table getpid() Get Process ID getcbrk() Get Control-Break Setting getcurdir() Get Current Directory getdate() Get Date getdfree() Get Disk Free Space getdisk() Get Current Drive getdta() Get Disk Transfer Address getfat() Get File Allocation Table Information getfatd() Get File Allocation Table Information getftime() Get File Date and Time getpass() Read a Password getpsp() Get the Program Segment Prefix gets() Read a Line from 'Stdin' gettime() Get System Time getvect() Get Interrupt Vector Entry getverify() Get Verify State getw() Read an Integer from a Stream gmtime() Convert Time from Long Integer to Structure gsignal() Software Signals harderr() Establish a Hardware Error Handler hardresume() Hardware Error Handler Function hardretn() Hardware Error Handler Function hypot() Calculate the Hypotenuse of a Right Triangle inport() Input from Hardware Port inportb() Input from Hardware Port intr() Alternate 8086 Software Interrupt Interface

int86() Execute 8086 Software Interrupt int86x() Set Segment Registers and Execute Software Interrupt intdos() Invoke DOS Function, Long Form intdosx() Set Seg Regs and Invoke DOS Function, Long Form ioctl() Control I/O Device isalnum() Test for Alphanumeric Character (Macro) isalpha() Test for Alphabetic Character (Macro) isascii() Test for ASCII Character (Macro) isatty() Check for Character Device iscntrl() Test for Control Character isdigit() Test for Digit isgraph() Test for Printable Character Except Space islower() Test for Lowercase isprint() Test for Printable Character ispunct() Test for Punctuation Character isspace() Test for White-Space Character isupper() Test for Uppercase isxdigit() Test for Hexadecimal Digit itoa() Convert Integer to String kbhit() Check Keyboard Input Buffer for Character Waiting keep() Exit and Remain Resident labs() Calculate Absolute Value of Long Integer ldexp() Convert Mantissa and Exponent to Floating Point lfind() Linear Search for Key localtime() Convert Time from Int to StructureLocal Correction lock() Set File Sharing Locks log() Calculate Natural Logarithm log10() Calculate Base 10 Logarithm longjmp() Restore Program State

lsearch() Linear Search for Key; Add Key If Not Found lseek() Reposition File Pointer to Specified Location ltoa() Convert Long to String malloc() Allocate Memory Block matherr() Handle Math Error _matherr() Floating-Point Error Handling Routine memccpy() Copy Characters from Buffer memchr() Find Character in Buffer memcmp() Compare Characters from Two Buffers memcpy() Copy Characters between Buffers memicmp() Compare Characters in Two Buffers memmove() Move a Block of Bytes memset() Initialize Buffer mkdir() Create a New Directory MK_FP() Make a Far Pointer mktemp() Create a Unique File Name modf() Split Floating Point into Mantissa and Exponent movedata() Copy Characters to a Different Segment movmem() Move a Block of Bytes open() Open a File _open() Open a File For Reading or Writing outport() Output to a Hardware Port outportb() Output to a Hardware Port parsfnm() Parse File Name peek() Examine Memory Location peekb() Examine Memory Location perror() Print Error Message poke() Store Value at a Given Memory Location pokeb() Store Value at a Given Memory Location

poly() Generate a Polynomial from Arguments pow() Calculate X Raised to the Yth Power pow10() Power Function printf() Write Formatted String to Stdout putc() Write a Character to Stream putchar() Write a Character to Stdout putch() Write a Character to the Console putenv() Create New Environment Variables puts() Write String to Stdout putw() Write an Integer to Stream qsort() Perform Quick Sort rand() Get Pseudorandom Integer randbrd() Random Block Read randbwr() Random Block Write read() Read Data from File _read() Read Data from a File realloc() Reallocate Memory Block rename() Rename a File or Directory rewind() Reposition File Pointer to Beginning of Stream rmdir() Remove a Directory sbrk() Reset Break Value for Calling Process scanf() Read Formatted Data from Stdin searchpath() Search the DOS Path segread() Return Current Values of Segment Registers setblock() Modify Size of DOS Memory Segment setbuf() Control Stream Buffering setcbrk() Set Control-Break Setting setdate() Set MS-DOS Date setdisk() Set Current Disk Drive

setdta() Set Disk Transfer Address setftime() Set File Date and Time setjmp() Save Program State setmem() Assign a Value to Memory setmode() Set File-Translation Mode settime() Set System Time setvbuf() Control Stream Buffering and Buffer Size setvect() Set Interrupt Vector Entry setverify() Set Verify State sin() Calculate Sine sinh() Calculate Hyperbolic Sine sleep() Suspend Execution for Interval spawn() An Overview of the Eight Spawn Functions spawnl() Execute Program Using: Arg List spawnle() Execute Program Using: Arg List, Environment spawnlp() Execute Program Using Arg List, PATH spawnlpe() Execute Program Using Arg List, PATH, Environment spawnv() Execute Program Using Arg Array spawnve() Execute Program Using Arg Array, Environment spawnvp() Execute Program Using Arg Array, PATH spawnvpe() Execute Program Using Arg Array, PATH, Environment sprintf() Write Formatted Data to String sqrt() Calculate Square Root srand() Set Random Starting Point sscanf() Read Formatted Data from String ssignal() Implement Software Signals stackavail() Return Size of Available Stack Memory stat() Get File-Status Information on Named File _status87() Get 8087/80287 Floating-Point Status Word

stime() Set Time strcat() Append a String strchr() Find a Character in a String strcmp() Compare Two Strings, Case Sensitive strcmpi() Compare Two Strings, Case Insensitive stricmp() Compare Two Strings, Case Insensitive strcpy() Copy One String to Another strcspn() Scan One String for Another strdup() Duplicate String strerror() Save System Error Message strlen() Get String Length strlwr() Convert String to Lower Case strncat() Append Specified Number of Characters to a String strncmp() Compare n Characters of Two Strings, Case Sensitive strnicmp() Compare n Characters of Strings, Case Insensitive strncpy() Copy a Specified Number of Characters strnset() Initialize n Characters of String strpbrk() Scan String for Character from Character Set strrchr() Scan String for Last Occurrence of Character strrev() Reverse Characters in String strset() Set All Characters in String strspn() Find First Substring strstr() Find Substring strtod() Convert String to Double strtol() Convert String to Long Decimal Integer strtok() Finds Next Token in String strupr() Convert String to Uppercase swab() Swap Bytes system() Execute DOS Command

tan() Calculate Tangent tanh() Calculate Hyperbolic Tangent tell() Get Current File Pointer Position time() Get Current System Time as Long Integer toascii() Convert 'c' to ASCII Character tolower() Convert 'c' To Lowercase, If Appropriate _tolower() Convert 'c' to Lowercase toupper() Convert 'c' to Uppercase, If Appropriate _toupper() Convert 'c' to Uppercase tzset() Set External Time Variables, Environment Variables ultoa() Convert Unsigned Long to String ungetc() Push Character Back onto the Stream ungetch() Push Back the Last Character Read from the Console unixtodos() Convert Date and Time to DOS Format unlink() Delete a File unlock() Release File-Sharing Locks va_arg() Access Variable Number of Arguments, ANSI C Style vfprintf() Write Formatted Data to Stream vfscanf() Perform Formatted Input from a Stream vprintf() Write Formatted Data to Stdout vscanf() Perform Formatted Input from Stdin vsprintf() Write Formatted Data to String vsscanf() Perform Formatted Input from String write() Write Data to a File _write() Write Data to a File UNIDAD 2: C++ CONTROL DE PROGRAMA TEMA 1: INTRODUCCION C++

Instrucciones de control de programa permiten alterar la secuencia normal de ejecucin de un programa.

Estas instrucciones se dividen en tres grandes categoras: Instrucciones Condicionales que en C++ CPP se implementan con las instrucciones if() y switch(). Instrucciones de ciclos con, for, while, do-while. Instruccin de salto incondicional goto. UNIDAD 2: C++ CONTROL DE PROGRAMA TEMA 2: INSTRUCCIONES CONDICIONALES C++

Una de las mas poderosas caractersticas de cualquier computador es la capacidad que tiene de tomar decisiones. Es decir al comparar dos alternativas diferentes el computador puede tomar una decisin, basndose en la evaluacin que hace de alguna condicin. ejemplo de instrucciones condicionales ;

a) si sueldo > 3000 desplegar rico si no desplegar pobre fin-si b) si sexo = 'm' imprime mujer si no imprime hombre fin-si

De los ejemplos observar que los caminos por el computador dependern de la evaluacin que el computador hace cn y de la condicin. Todo lenguaje de programacin debe tener instrucciones que permitan formar condiciones e instrucciones que pueden evaluar esas condiciones. El formato general de una instruccin condicional es:

Como se observa son cuatro partes bien diferenciadas entre si; * La propia instruccin condicional en si * La condicin * El grupo cierto de instrucciones * El grupo falso de instrucciones Cuando el computador evala una condicin, el resultado de esa evaluacin solo es evaluado de dos maneras o la condicin es CIERTA o la condicin es FALSA. Esto depender del valor que tenga asignado o que se haya capturado para la variable que esta en la condicin, por ejemplo si se capturo 6000 en sueldo en el ejemplo a), entonces el computador indicara que la condicin es CIERTA, pero en otro caso, si a la variable sueldo primero se le asigno un valor de 250 entonces el computador indicara que la condicin es FALSA. Ya dependiendo del resultado de la evaluacin, el computador ejecuta las instrucciones contenidas en la parte CIERTA o en la parte FALSA de la condicin. Empezaremos el anlisis por la CONDICION. UNIDAD 2: C++ CONTROL DE PROGRAMA TEMA 3: CONDICIONES SIMPLES C++

En general todas las condiciones simples se forman con: variables operadores relacinales constante o var. sexo = 'm' sueldo > 300000 Una condicin simple se define como el conjunto de variables y/o constantes unidas por los llamados operadores relacinales. Los operadores relacinales que reconoce el lenguaje CPP son: Operador Significado

' == ' Igual que ' > ' Mayor que ' < ' Menor que ' >= ' Mayor o igual que ' ' Menor o igual que ' != ' No es igual que o es diferente que Observar y tener cuidado sobre todo con el operador de igualdad( , y el operador relacional de comparacin por igualdad(= , es decir; sueldo = 500 , Se esta pidiendo cargar o asignar la variable sueldo con el valor 500 sueldo == 500 , Se esta pidiendo que se compare el valor o dato que se encuentra en la variable sueldo, contra el numero 500. Solo este ultimo formato es valido dentro de una condicin en una instruccin condicional. NOTA IMPORTANTE, Para el caso de objetos de tipo string, los operadores mencionados arriba funcionan, es decir es valido usar la siguiente condicin: string carrera; if (carrera==informatica) etc, etc, etc, PERO para el caso de arreglos de caracteres, se tendra que usar la funcin strcmp(str1,str2) que regresa cero si str1=str2, regresa un positivo si str1>str2 y regresa un negativo si str120) { gotoxy(30,5);puts("mayor de 20"); } else{ gotoxy(30,5);puts("menor de 20"); }; if( strcmp(ciudad,"tijuana")==0) { gotoxy(35,7);puts("es de tijuana"); }; getchar(); }

CORRIDA:

TAREAS PROGRAMACION C++ 1.- Capturar un numero cualesquiera e informar si es o no es mayor de 100 2.- Capturar un numero entero cualesquiera e informar si es o no es mltiplo de 4 ( recordar el operador mod(%), analizado en el tema de operadores aritmticos). 3.- Capturar los cinco datos mas importantes de un Empleado, incluyendo el sueldo diario y los das trabajados , desplegarle su cheque semanal solo si gan mas de $500.00 en la semana, en caso contrario desplegarle un bono de despensa semanal de $150.00 . 4.- Capturar los datos mas importantes de un estudiante incluyendo tres calificaciones, una pagina que contiene una boleta de calificaciones es llamada si el estudiante es de la carrera de medicina, en caso contrario otra pagina despliega un oficio citando a los padres del estudiante a una platica amistosa con los maestros de la escuela. 5.- Capturar los datos mas importantes de una mercancia cualesquiera, incluyendo cantidad, precio, etc., desplegar una orden de compra, solo si el producto es de origen nacional, en caso contrario no hacer nada. UNIDAD 2: C++ CONTROL DE PROGRAMA TEMA 5: CONDICIONES COMPUESTAS C++

En muchas ocasiones es necesario presentar mas de una condicin para su evaluacin al computador. Por ejemplo que el computador muestre la boleta de un alumno, si este estudia la carrera de medicina y su promedio de calificaciones es mayor de 70. Una condicin compuesta se define como dos o mas condiciones simples unidas por los llamados operadores lgicos. Los operadores lgicos que CPP reconoce son: OPERADOR SIGNIFICADO && Y LOGICO

! NO NEGACION Ejemplo: if ( (sueldo> 700) && ( sexo=='m') ) etc, etc, etc. Notas:

Observar que cada condicin simple lleva sus propios parentesis. Si la variable es de tipo string el dato va entre comillas(), pero si la variable es de tipo char el dato va entre apostrofes('). Recordar ademas que para comparar arreglos de chars se debera usar strcmp(). Para que el computador evale como CIERTA una condicin compuesta que contiene el operador lgico y, las dos condiciones simples deben ser ciertas. Para que el computador evale como CIERTA una condicin compuesta que contiene el operador lgico o, basta con que una de las condiciones simples sea cierta. La cantidad total de casos posibles cuando se unen dos o mas condiciones simples esta dada por la relacin donde n = cantidad de condiciones, la primera mitad de ellos ciertos y la segunda mitad falsos. Ejemplo, si formamos una condiciona compuesta con dos condiciones simples y el operador lgico y, la cantidad total de casos posibles serian y se puede construir la siguiente tabla de verdad. Tabla de verdad con y IRA COND SIMPLE 2DA COND SIMPLE EVALUACION C C C C F F F C F F F F La evaluacin final se obtiene usando la regla anteriormente descrita para una condicin compuesta que contiene el operador y. Esta tabla significa lo siguiente; 1.- Cualquiera que san la cantidad de datos procesados, siempre caer en uno de estos cuatro posibles casos.

La tabla de verdad para una condicin compuesta con O es la siguiente; IRA COND SIMPLE 2DA COND SIMPLE EVALUACION C C C C F C F C C F F F Como se observa, una condicin compuesta con O, es menos restrictiva, o el 75% de los casos terminaran ejecutando el grupo CIERTO de instrucciones de la instruccin condicional. Construir una tabla de verdad para una condicin compuesta de tres o mas condiciones simples, es tambin tarea sencilla, solo recordar que; 1.- La cantidad posible de casos posibles es la mitad empiezan con cierto y la otra mitad empiezan con falso.

2.- Para evaluar esta condicin triple, primero se evalan las dos primeras incluyendo su operador bajo las reglas ya descritas y luego se evala el resultado parcial contra la ultima condicin y el ultimo operador para obtener la evaluacin final. Ejemplo una condicin compuesta de tres condiciones simples, donde el primer operador lgico es el y y el segundo operador lgico es el O, dara la siguiente tabla de verdad. Ira cond 2da cond Eval 1a Y 2a 3ra cond Eval eval O 3ra

C C C C C C C C F C C F F C C C F F F F F C F C C F C F F

F F F F C C F F F F F En la practica, cada condicin simple debe ir encerrada en su propio parntesis y las dos condiciones simples tambin deben encerrarse entre sus propios parntesis, como en el siguiente ejemplo; if((sueldo> 500)%%(strcmp(departamento,VENTAS)==0 ) { aqu se construye la pagina que despliegua su cheque semanal } else { aqu se construye y despliega la pagina del bono de despensa o un oficio de motivacin } ; * Recordar, cada condicin simple debe estar entre parntesis y las doscondiciones simples tambin deben estar entre parntesis.

* Observar donde se deben incluir los puntos y comas y donde no sedeben incluir los puntos y comas.

TAREAS PROGRAMACION C++ 1.- Construir un programa que capture un numero cualesquiera e informe si es o no es mayor de 50 y mltiplo de tres. ( solo escribir el mensaje de respuesta de manera muy clara y esto resuelve el problema ) 2.- Construir un programa que indique si un numero es un par positivo. 3.- Capturar los datos de una mercancia cualquiera incluyendo su cantidad en existencia, desplegar una orden de compra si la cantidad en existencia del producto es menor que el punto de reorden, o si el origen del producto es nacional. 4.- Construir un programa que capture los datos de un EMPLEADO , desplegar su CHEQUE semanal si gana mas de $500.00 y si esta en el departamento de produccin, en caso contrario desplegarle un BONO DE DESPENSA del 25% de su SUELDOsemanal.

UNIDAD 2: C++ CONTROL DE PROGRAMA

TEMA 6: INSTRUCCION SWITCH C++

Tambin existen ocasiones o programas donde se exige evaluar muchas condiciones a la vez, en estos casos o se usa una condicin compuesta muy grande o se debe intentar convertir el problema a uno que se pueda resolver usando la instruccin switch(); La instruccin switch() es una instruccin de decisin mltiple, donde el compilador prueba o busca el valor contenido en una variable contra una lista de constantes ints o chars, cuando el computador encuentra el valor de igualdad entre variable y constante, entonces ejecuta el grupo de instrucciones asociados a dicha constante, si no encuentra el valor de igualdad entre variable y constante, entonces ejecuta un grupo de instrucciones asociados a un default, aunque este ultimo es opcional. El formato de esta instruccin es el siguiente;

capturar o asignar variable de condicin; switch(var int o char) { case const1: instruccin(es); break; case const2: instruccin(es); break; case const3: instruccin(es); break; default: instruccin(es); };

Mejor un ejemplo practico: Prog5.cpp#include #include #include void main() { // declaracion variables char letra;

//capturando clrscr(); gotoxy(10,5);printf("dame una letra : "); letra=getchar();getchar(); //empieza switch() switch(letra) { case 'a': gotoxy(30,5);puts("aguila");break; case 'b': case 'B': gotoxy(30,5);puts("baca");break; case 'c': gotoxy(30,5);puts("caballo ");puts("camello");break; default:gotoxy(30,5);puts("no hay"); } getchar(); }

corrida:

Notas: 1.- Solo se puede usar como variable de condicin una variable entera o variable char. 2.- Las constantes que estamos buscando y comparando son de tipo char, por eso se deben encerrar entre apstrofes ( '). 3.- Si se quiere resolver el problema de maysculas o minsculas en el teclado, observar que se usan dos case, pero con un solo break; 6.- Recordar que switch() solo trabaja con constantes y variables de tipo char o int, en este ultimo caso, solo usar una variable de opcin de tipo entero y en los case poner la constante numrica, sin apstrofes decir por ejemplo case 5: instrucciones; break; En particular, instrucciones de tipo switch() se usan para construir programas de seleccin de mens, donde al usuario se le plantean dos o tres problemas distintos y el propio usuario seleccionaba cual de ellos se ejecuta TAREAS PROGRAMACION C++ 1.- Construir una pagina que contenga el siguiente men

1. conversin de pesos a dlares 2. conversin de libras a kilogramos 3. conversin de kilmetros a millas 4. fin de men seleccionar opcin [ ] Este es el edit del switch().

2.- Construir un programa que capture un deporte y despliegue dos implementos deportivos apropiados. 3.- Evaluar cualquier funcin vista para cuando x = 3, -4, 5

UNIDAD 2: C++ CONTROL DE PROGRAMA TEMA 7: CICLO FOR C++

Instrucciones para ciclos resuelven el problema de repetir todo el programa o cierta parte del programa mas de una vez. Este ciclo es uno de los mas usados para repetir una secuencia de instrucciones, sobre todo cuando se conoce la cantidad exacta de veces que se quiere que se ejecute una instruccin simple o compuesta. Su formato general es: for (inicializacin; condicin; incremento) { instruccin(es); }; ejemplo:

for(x=1;x10;x=x+1) { puts( MAMA ); };

En su forma simple la inicializacin es una instruccin de asignacin que carga la variable de control de ciclo con un valor inicial. La condicin es una expresin relacional que evala la variable de control de ciclo contra un valor final o de parada que determina cuando debe acabar el ciclo. El incremento define la manera en que la variable de control de ciclo debe cambiar cada vez que el computador repite un ciclo. Se deben separar esos 3 argumentos con punto y coma (;) EJEMPLO

Codigo prog6.cpp#include #include #include void main() { clrscr(); // declaracion variables int x; // instruccion for for(x=1;x= 10; x= x-4 ) { etctera };

6.- Solo para los casos de incrementos y decrementos de una en una UNIDAD substituir en el for: el x = x + 1 por x++ el x = x - 1 por x TAREAS PROGRAMAS EN C++ 1.- CONSTRUIR UN PROGRAMA QUE DESPLIEGUE LOS NMEROS DEL 20 AL 30. 2.- DESPLEGAR LOS ENTEROS ENTRE 50 Y 30 ACOMPAADOS DE SU POTENCIA CUADRADA Y RAZ CUBICA RESPECTIVA (revisar el tema de operadores aritmeticos). 3.- DESPLEGAR LOS MLTIPLOS DE 5, ENTRE 10 Y 50, ACOMPAADOS DE SU FACTORIAL Y LOGARITMO RESPECTIVO (revisar el tema de operadores aritmeticos tambien). 4.- DESPLEGAR LA TABLA DE MULTIPLICAR QUE EL USUARIO INDIQUE. 5.- EVALUAR LA FUNCION Y=5X^2 + 3X + 8 CUANDO X> -310 (RANGO DE -3 HASTA 10)

UNIDAD 2: C++ CONTROL DE PROGRAMA TEMA 8: CICLO WHILE C++

En este ciclo el cuerpo de instrucciones se ejecuta mientras una condicin permanezca como verdadera en el momento en que la condicin se convierte en falsa el ciclo termina. Su formato general es : cargar o inicializar variable de condicin; while(condicin) { grupo cierto de instrucciones;

instruccin(es) para salir del ciclo; }; Un error muy comun con el while, es poner un punto y coma(;) despues de la (condicin) ejemplo while(condicion); -esto es y causa un error. Prog7.cpp#include #include #include void main() { clrscr(); // declaracion variables int x=1; // instruccion while while(x