Download - Sistema de Program as Ion c++ Nivel1
Los nuevos sistemas de información son costosos en tiempos y recursos, la solución moderna de sistemas de información exigen nuevas herramientas y metodologías para resolver rápida, económica y eficiente los problemas de información 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 programación tradicional, modular o estructurada un programa describe una serie de pasos a ser realizados para la solución 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 aplicación se tenía 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 programación orientada a objetos ( OOP ) un programa es considerado como un sistema de objetos interactuando entre sí, ambientes de desarrollo visuales facilitan aun más la construcción de programas y solución de problemas, porque permiten abstraer al ingeniero de software de todo elGUI (interfase gráfica) del problema, que constituye más del 60% del código normal de un programa, en general este ambiente permitió una mejora en la interfase del programa con el usuario de la aplicación 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 programación o construcción de programas los compiladores modernos se adaptarón 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 aplicación 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 comunicación 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 trasmisión y cantidad de información, 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 solución de problemas de información 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 información 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 solución.
Una herramienta rápida que nos permite descomponer en partes un problema para su solución, es el llamado modelo de solución, este consiste de una pequeña caja que contiene los tres elementos más básicos en que se puede descomponer cualquier problema sencillo de información, 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 matemática, ej. X= y + 5).
3. LA TERCERA PARTE es el resultado o solución del problema que generalmente se obtiene de la parte de operaciones del modelo y dichos datos están almacenados en las llamadas variables de salida.
En resumen para todo problema sencillo de información 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 información o variables de salida se van a desplegar en pantalla para responder al problema planteado originalmente?
Como nota importante no confundir los términos datos, variables e información;
Datos se refiere a información en bruto, no procesada ni catalogada, por ejemplo “Tijuana”, “calle primera # 213”,”15 años”, ” $2,520.00”, etc.
Variables es el nombre de una localidad o dirección 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.
Información son datos ya procesados que resuelven un problema planteado.
EJEMPLO DE MODELO DE SOLUCIÓN
Construir un modelo de solución que resuelva el problema de calcular el área de un triángulo con la formula área igual a base por altura sobre dos.
Variable(s) de Entrada Proceso u Operación Variable(s) de Salida
BASE AREA= BASE * ALTURA / 2 AREA
ALTURA
PROBLEMA 2.- CONVERTIR LA EDAD EN AÑOS 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 también que existirán problemas sencillos donde:
No se ocupan entradas o no se ocupan operaciones, pero todos ocupan salida.
Una formula grande o muy compleja puede ser más segura y fácil de resolver, si es descompuesta y resuelta en partes, juntando al final los parciales para obtener el resultado final.
Un problema puede tener más de una solución correcta.
El problema no esta suficientemente explicado o enunciado, entonces, estudiarlo, analizarlo y construirlo de manera genérica.
TAREAS PROGRAMACION C++
Construir los modelos de solución de los siguientes problemas:
PROBLEMA 6.- Convertir millas a kilómetros(caso normal)
PROBLEMA 7.- Convertir 125 metros a centímetros(no ocupa entradas)
PROBLEMA 8.- Se calcula que en promedio hay 4.7 nidos en cada árbol en la UABC, también se calcula que en cada nido existen un promedio de 5.8 pájaros, se pide calcular la cantidad total de nidos y de pájaros en los 227 arboles que existen en la UABC. (no ocupa entradas)
PROBLEMA 9.- La gorda Sra. López 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 automóvil(no ocupa operaciones)
PROBLEMA 11.- La distancia Tijuana - Ensenada es de 110 kilómetros. Si un automóvil 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 función para cualquier valor de x.(caso normal).
PROBLEMA 13.-Evaluar la función 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 años.
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 = X-M / 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 años?
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 año. 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 números 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( pequeños módulos con código), etiquetas, clases, objetos, etc.
En C++ un identificador es una palabra compuesta de letras y/o números 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 ejecución de un programa.
Existen ciertas reglas en cuanto a variables:
Claras y con referencia directa al problema.
No espacios en blanco, ni símbolos extraños en ellas.
Se pueden usar abreviaturas, pero solo de carácter general.
No deben ser palabras reservadas del lenguaje.
Ejemplos de buenas variables:
Nombre, Edad, SdoDiario, IngMensual, Perímetro, 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 específico.
Un tipo de dato define todo el posible rango de valores que una variable puede tomar al momento de ejecución del programa y a lo largo de toda la vida útil del propio programa.
Los tipos de datos más 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 manipulación 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 símbolo especial que indica al compilador que debe efectuar una operación matemática o lógica.
C++ reconoce los siguientes operadores aritméticos:
Operador Operación
+ SUMA
- RESTA
* MULTIPLICACION
/ DIVISION
% MODULO O RESIDUO
Como notas importantes a recordar siempre;
En problemas de división entre enteros, C++ trunca la parte residual, es decir;
</code> área de declaración de variables float a; área de operacionesa = 10 / 4;
área de despliegue de resultados desplegar a; → En pantalla sale ( 2.000000 ) </code> El problema no es el tipo float, sino que por definición de la división 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 división entre enteros, ejemplo; <code> área de declaraciónint alfa;
área de operaciones alfa = 23 % 4; área de desplieguedesplegar alfa; → El resultado en pantalla es 3
Otro ejemplo;
alfa = 108 % 10;
desplegar alfa; → El resultado en pantalla es 8
</code>
Para resolver los problemas de potencias y raíces, se usan ciertas instrucciones especiales que proporciona el lenguaje, llamadas funciones matemáticas, en C++ existe toda una librería de instrucciones o funciones matemáticas.
Recordar que todas las funciones reciben uno o más datos o valores y regresan siempre un resultado, una de estas funciones matemáticas es:
#include <math.h>
double pow(double base, double exp);
Esta función ocupa dos valores o datos( base y exp) ambos de tipo double, y regresa un resultado también de tipo double, ejemplo;
Resolver el problema de calcular
#include <math.h>
// área de declaración de variables
double base, exponente, potencia;
// área de asignación o carga o inicialización 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 raíces, se aprovecha una de las mas elementales y conocida de las leyes de exponentes que dice:
Es decir una raíz cualquiera se puede transformar a una potencia con un exponente fraccionario.
Ejemplo:
problema <m> y = 3sqrt{x} </m> esto es equivalente a entonces usando función powy= 3*pow(x, 0.5);
En este ejemplo se esta dando por supuesto que no interesa el tipo de dato que requiere la función 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
UNIDAD 1: C++ ELEMENTOS BASICOS
TEMA 6: OPERADOR CAST C++
Se puede forzar un dato, variable o una expresión 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:
// declaración
int alfa;
// Asignación
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 tendrán los decimales.
Como nota importante este operador resuelve los dos problemas pendientes:
1. El de la división entre enteros.
2. El tipo de dato especifico que requieren las funciones.
Ejemplos:
a) // Declaración
float alfa;
// Operación
alfa = float (23)/5;
// Pero en estos casos es preferible
alfa=23/5.0;
En toda división 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)// Declaración
double potencia;
// Operación
potencia = pow ( double (5), double (3));
Como se observa en el ejemplo, se puede usar pow(), directamente con los datos, argumentos o parámetros requeridos , si estos son numéricos, pero transformándolos con el operador cast.
Esto también va a permitir evaluar expresiones matemáticas de manera mas directa y sencilla, solo recordando usar un pow() por cada potencia y cada raíz de la ecuación, ejemplo:
Sea dentro de un programa esto se resuelve con;
// área de declaración 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 6: OPERADOR CAST C++
Se puede forzar un dato, variable o una expresión 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:
// declaración
int alfa;
// Asignación
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 tendrán los decimales.
Como nota importante este operador resuelve los dos problemas pendientes:
1. El de la división entre enteros.
2. El tipo de dato especifico que requieren las funciones.
Ejemplos:
a) // Declaración
float alfa;
// Operación
alfa = float (23)/5;
// Pero en estos casos es preferible
alfa=23/5.0;
En toda división 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)// Declaración
double potencia;
// Operación
potencia = pow ( double (5), double (3));
Como se observa en el ejemplo, se puede usar pow(), directamente con los datos, argumentos o parámetros requeridos , si estos son numéricos, pero transformándolos con el operador cast.
Esto también va a permitir evaluar expresiones matemáticas de manera mas directa y sencilla, solo recordando usar un pow() por cada potencia y cada raíz de la ecuación, ejemplo:
Sea dentro de un programa esto se resuelve con;
// área de declaración 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 jerarquía de los operadores al plantear y resolver una operación 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 daría 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.- Paréntesis
2.- Potencias y raíces
3.- Multiplicaciones y divisiones
4.- Sumas y restas
5.- Dos o más de la misma jerarquía u orden, entonces resolver de izquierda a derecha
Nota: Si se quiere alterar el orden normal de operaciones, entonces usar paréntesis.
Nota: Tampoco es bueno usar paréntesis de mas en una operación, esto solo indica que no se evalúo bien la formula, como en el siguiente ejemplo;
aquí los paréntesis están de mas, porque por orden de operaciones, multiplicación y división tienen la misma jerarquía y entonces se resuelven de izquierda a derecha, en otras palabras ni que falten paréntesis ni que sobren paréntesis.
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
</code>
#include <stdio.h>
void main()
{
area declaracion variables int base1, altura; float area; area captura de datosprintf(“dame base:”);
scanf(”%d”,&base1);
printf(“dame altura:”);
scanf(”%d”,&altura);
area de operaciones area=base1 * altura / 2.0; area despliegueprintf(“el area es =%0.2f”,area);
getchar();getchar();
}
</code>
Reglas para escribir un programa en CPP:
a) Comienza con las instrucciónes #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 función 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 declaración de variables ocupa la primera posición. h) Se utiliza una instrucción llamada printf() para desplegar mensajes u otros elementos en el dispositivo de salida standar(pantalla). i.- Se utiliza una instrucción llamada scanf() para capturar datos desde el dispositivo de entrada standar (teclado). j.- Se usa una instrucción 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).- Combinación 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 renglón \t tabulador horizontal \b backspace o retroceso \r carriage return \a campanilla \” despliega comillas \` despliega apóstrofe 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 posición el valor de la variable indicada, ademas se debera recordar que existe un código 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 instrucción 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 igualación, 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 función 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 función complemento de gets esta función despliega una string en el dispositivo de salida standar y debe llevar el argumento o parametro.
puts(nombre);
puts(“pato”);
PROG2.CPP
#include <stdio.h>
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<conio.h> 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 Callbioscom() 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 Structure–Local 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 Datesetdisk() 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 Charactertolower() 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
FUENTE: http://www.clipx.net/