Sei sulla pagina 1di 39

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 operaciones


a = 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ón
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

</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 pow
y= 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 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();

</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 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 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 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

FUENTE: http://www.clipx.net/

Potrebbero piacerti anche