0% encontró este documento útil (0 votos)
44 vistas

Blog

Este documento presenta los conceptos básicos de programación en C y C++, incluyendo cómo usar Microsoft Visual Studio y crear un proyecto y archivo C++ simples. También explica las librerías, que son paquetes de funciones preprogramadas que agilizan el desarrollo permitiendo realizar operaciones matemáticas y E/S.

Cargado por

luanripi
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
44 vistas

Blog

Este documento presenta los conceptos básicos de programación en C y C++, incluyendo cómo usar Microsoft Visual Studio y crear un proyecto y archivo C++ simples. También explica las librerías, que son paquetes de funciones preprogramadas que agilizan el desarrollo permitiendo realizar operaciones matemáticas y E/S.

Cargado por

luanripi
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 23

Programación en C y C++

PROYECTO I

En la unidad de hoy se mostrarán los pasos fundamentales para programar en C y


C++, se verá cómo se debe entrar en la aplicación Microsoft Visual Studio, desde
la que se trabajará en el transcurso del curso, la configuración que se debe
mantener para que funcionen correctamente los programas que realicemos de
ahora en adelante, etc; al final se realizará un programa bastante simple, que sirva
como ejemplo y preludio de los que vendrán en el futuro.

Es importante que memorice o mantenga a la mano la siguiente configuración,


necesaria para el correcto funcionamiento de los programas que se realizaran,
sino se le hace fácil en las primeras unidades no se preocupe, con la práctica y el
paso del tiempo lo será.

En el escritorio de su computador vaya a:

1. Inicio
2. Todos los programas
3. Microsoft Visual Studio 2008
De esta forma se ejecutará el programa y usted se encontrará en un entorno
similar al de la siguiente imagen, en este caso se trabajara con la versión 2008 de
Microsoft Visual Studio.
Antes de empezar a trabajar es necesario configurar Microsoft Visual Studio; siga
los siguientes pasos:

1. Archivo
2. Proyecto (click)
Se abrirá una ventana auxiliar con varias opciones para un nuevo proyecto; vaya
a:

1. Visual C++
2. CLR
3. Proyecto vacio de CLR
Se cierra la ventana auxiliar, y de esta forma se habilita una nueva pestaña en el
menú principal (proyecto).

Ahora vaya a:

1. Proyecto
2. Agregar nuevo elemento
Se abrirá una ventana auxiliar similar a la que se abrió para (nuevo proyecto), pero
está se llamará “agregar nuevo elemento”.

Es necesario ponerle un nombre al documento sobre el que trabajaremos y tener


claro en donde se almaceno.

Siga los siguientes pasos:

1. Código
2. Archivo C++
3. (Digite el nombre del documento y elija la ubicación en la que se almacenará)
Y a estamos listos para empezar a programar; en esta oportunidad se realizará un
programa elemental. Este le pedirá al usuario que digite su nombre y después de
presionar cualquier tecla mostrará un mensaje.

A continuación se muestra el lenguaje exacto que se uso para realizar el


programa.
#include<iostream>
#include<iomanip>
#include<conio.h>
using namespace System;
using namespace std;
void main ()
{
//Mi primer programa C++
cout<<"\nDigite su nombre: ";
char NOM[35]; cin>>NOM;
cout<<"\PROCESANDO INFORMACIÓN...POR FAVOR OPRIMA UNA
TECLA PARA CONTINUA...";
getch();
cout<<"\n su nombre es: "<<NOM;
cout<<"\n Soy muy rápido e inteligente... ya me aprendí su nombre... jejeje";
getch();
}

Así finalizamos la primera unidad.

LIBRERÍAS

Antes de iniciar la siguiente unidad es necesario introducir un concepto


fundamental a la hora de programar; Se debe tener en cuenta que el lenguaje de
programación C y C++ tiene ya varios años de haber sido creado y que muchas
personas han trabajado con él, aportando a su avance. Las librerías son
“paquetes” de funciones pre-programadas, que agilizan el trabajo del
programador, puesto que solo es necesario escribir un par de palabras para que
un programa este en la capacidad de realizar ciertas operaciones, entre las más
importantes, las matemáticas.

Los compiladores C++ incluyen un amplio repertorio de clases, funciones y macros


que permiten realizar una amplia variedad de tareas, incluyendo entradas/salidas
de bajo y alto nivel; manipulación de cadenas alfanuméricas y ficheros; control de
procesos (incluyendo multiproceso); manejo de memoria; cálculos matemáticos y
un largo etcétera.

Este repertorio de recursos es denominado colectivamente como "Rutinas de


librería"; "Librerías de ejecución" RTL ("Runtime Librarys") o simplemente
"Librerías".   Puede decirse que el lenguaje aislado (tal cual) no tiene
prácticamente ninguna utilidad sin la concurrencia de estas utilidades. El Estándar
C++ las clasifica según su utilidad:
 Soporte del lenguaje [7]

 Diagnóstico

 Utilidades generales

 Cadenas alfanuméricas ("Strings")

 Localización

 Contenedores

 Iteradores

 Algoritmos

 Cálculo numérico

 Entrada/Salida

Para poner un poco de orden, el Estándar C++ define la denominada Librería


Estándar [3] que debe acompañar a cada implementación del compilador que se
adhiera al estándar. Es decir: la norma determina cuales son, como se llaman y
como se utiliza este conjunto de algoritmos que deben acompañar (como mínimo)
a cada implementación del compilador que quiera llamarse "Estándar". La última
versión, ISO/IEC 14882 del año 1998, especifica que se compone de 32 ficheros
de cabecera de nombres fijos y conocidos agrupados según la funcionalidad de
los algoritmos. Son los siguientes:

Ficheros Funcionalidad/funciones

<algorithm> Parte de la STL que describe los algoritmos.

<bitset> Parte de la STL relativa a contenedores tipo bitset . Set de valores


booleanos.

<complex> Parte de la librería numérica de la STL relativa a los complejos.

<deque> Parte de la STL relativa a contenedores tipo deque;  un tipo de


colas: "Double-ended-queue" .
<exception> Parte de la librería de diagnóstico relativa al manejo de excepciones

<fstream> Flujos hacia/desde ficheros.

<functional> Parte de la STL relativa a Objetos-función

<iomanip> Manipuladores.

<ios> Supreclases para manejo de flujos de E/S.

<iosfwd> Contiene declaraciones adelantadas de todas las plantillas de flujos


y sus typedefs estándar. Por ejemplo ostream.

<iostream> Parte del a STL que contiene los algoritmos estándar de E/S.

<istream> Algoritmos estándar de flujos de entrada.

<iterator> Parte de la STL relacionada con iteradores , un tipo de puntero que


permite utilizar los algoritmos de la Librería con las estructuras de
datos representadas por los contenedores.

<limits> Descripción de propiedades dependientes de la implementación que


afectan a los tipos fundamentales.

<list> Parte de la STL relativa a contenedores tipo list;  listas doblemente


enlazadas

<locale> Parte de la STL relativa a la internacionalización.

<map> Parte de la STL relativa a contenedores tipo map.

<memory> Utilidades relativas a la gestión de memoria, incluyendo asignadores


y punteros inteligentes.

<new> Manejo de memoria dinámica

<numeric> Parte de la librería numérica de la STL relativa a operaciones


numéricas.

<ostream> Algoritmos estándar para los flujos de salida.

<queue> Parte de la STL relativa a contenedores tipo queue;  colas de


objetos.

<set> Parte de la STL relativa a contenedores tipo set.


<sstream> Flujos hacia/desde cadenas alfanuméricas.

<stack> Parte de la STL relativa a contenedores tipo stack;  pilas de objetos.

<stdexcept> Parte de la STL relativa a las clases de las que derivan los objetos
lanzados por las excepciones ocasionadas en los algoritmos de la
propia STL y otras expresiones.  Estas clases son utilizadas para
reportar errores detectados durante runtime.  Los usuarios también
pueden utilizar excepciones para reportar errores en sus propios
programas.

<streambuf> Parte de la STL relativa al Almacenamiento de flujos de E/S


("Stream buffers").  Define los tipos que controlan la capa de
transporte.

<string> Parte de la STL relativa a contenedores tipo string;  una


generalización de las cadenas alfanuméricas para albergar cadenas
de objetos.

<typeinfo> Mecanismo de identificación de tipos en tiempo de ejecución.

<utility> Parte de la STL que contiene elementos auxiliares como operadores


y pares (pairs).

<valarray> Parte de la librería numérica de la STL relativa a manejo de matrices


numéricas ()

<vector> Parte de la STL relativa a los contenedores tipo vector; una


generalización de las matrices unidimensionales C/C++ .

Es digno de mención que aunque generalmente las librerías no aportan ninguna


característica al lenguaje (se supone que son utilidades auxiliares que no forman
parte del lenguaje propiamente dicho), una pequeña porción de la Librería
Estándar C++ sí aporta características que se consideran pertenecientes a este,
de forma que deben estar presentes los ficheros de cabecera correspondientes si
se desea usarlas. En concreto se refieren a los siguientes elementos:

 Operadores new, new[], delete y delete[] .

 Clase type_info que corresponde al mecanismo RTTI de identificación de


tipos en tiempo de ejecución representado por el operador typeid.
 Rutinas de inicio y terminación.

 Las excepciones estándar lanzadas por los algoritmos anteriores.

PROYECTO II

En la unidad de hoy se realizará un programa que realizará sencillos cálculos


matemáticos, se utilizarán algunas librerías.

El programa le pedirá al usuario que introduzca dos valores numéricos, y imprimirá


en pantalla los siguientes valores:

1. El logaritmo natural del primer dato.


2. El logaritmo decimal del segundo dato.
3. El primer dato elevado al segundo.
4. El segundo dato elevado al primero.

Lo fundamental en el momento de realizar el programa es comprender que al


programar se tienen que almacenar cada uno de los datos en celdas, separadas,
con un nombre propio, para que posteriormente el programador le pueda dar las
pautas al ordenador sobre lo que se debe hacer con cada variable.

Siguiendo este orden de ideas se nombrará K al primer dato que introduzca el


usuario y Q al segundo.

El logaritmo natural del primer dato se llamará X y el del segundo H.

El primer dato elevado al segundo se almacenará como P y el segundo dato


elevado al primero como R.

Teniendo claro lo anterior se puede realizar el programa, enseguida se adjuntas


los pantallazos del programa realizado en visual studio y en DFC como diagrama
de flujo.
Así concluye la segunda unidad de trabajo.

PROYECTO IV

En esta unidad se realizará un programa un poco más complejo que los


anteriores, permitirá hallar las soluciones en el conjunto de los números reales a
una ecuación de segundo grado.

Para esto hay que tener en cuenta que el usuario tendrá que introducir los
coeficientes de la ecuación, estos se almacenarán en las celdas A, B, C de
acuerdo con la ecuación A X 2 + BX+ C=0

Posteriormente el ordenador tendrá que analizar la expresión √ B 2−4 AC (usando


las variables que el usuario le introdujo anteriormente), si el valor dentro del
radical es mayor o igual a cero el ordenador imprimirá en la pantalla “la ecuación
tiene dos soluciones” de lo contrario el ordenador imprimirá en pantalla “la
ecuación no tiene solución en el conjunto de los reales”.
Para calcular las soluciones (en caso de tenerlas) el ordenador se valdrá de las
−B+ √ B2−4 AC −B−√ B2−4 AC
ecuaciones X 1 = X2= (es importante indicarle al
2A 2A
ordenador las ecuaciones por separado y no con el ❑−¿ ¿ que se acostumbra.
+ ¿¿

Después el ordenador imprimirá en la pantalla las soluciones.

A continuación se exponen los pantallazos del programa realizado en Visual


Studio y en DFC como diagrama de flujo para que sirva como guía.
El programa se realizó en visual Studio con el siguiente lenguaje.
#include <iostream>
#include <iomanip>
#include <conio.h>
#include <math.h>
using namespace System;
using namespace std;
void main()
{
//ENTRADA DE DATOS
double A, B, C;
cout<<"\n"<<"Por favor digite el primer coeficiente: ";
cin>>A;
cout<<"\n"<<"Por favor digite el segundo coeficiente: ";
cin>>B;
cout<<"\n"<<"Por favor digite el tercer coeficiente: ";
cin>>C;

//PROCESAMIENTO DE DATOS
double X, Y;
X= (-B+sqrt(pow(B,2)-4*A*C))/(2*A);
Y=(-B-sqrt(pow(B,2)-4*A*C))/(2*A);

//SALIDA DE INFORMACION
cout<<"\n"<<A<<"X² +"<<B<<"X +"<<C<<" = 0";
cout<<"\n"<<" la primera solución es X1 = "<<X;
cout<<"\n"<<" la segunda solución es X2 = "<<Y;
getch();
}

Así concluye esta unidad de trabajo.

PROYECTO V

En esta unidad se realizará un programa sencillo que incluirá una nueva e


importante herramienta, imponer una condición en un programa de tal forma que
el ordenador decida y clasifique la información almacenada en una celda, y realice
cierta tarea de acuerdo al grupo en que se clasifique la información.

Nuestro programa le pedirá al usuario que introduzca dos valores numéricos


enteros que se encuentren en el intervalo [1,5], inmediatamente calculará el
promedio de estos valores y los mostrará en pantalla; Si el valor promedio es
mayor que 5, el programa restara el valor de X (el primer valor que introdujo el
usuario) y Y (el segundo valor que introduzca el usuario), de lo contrario el
ordenador tendrá que tomar otra decisión, si el promedio es mayo a tres el
ordenador dividirá el valor de X en Y; Si el valor promedio es menor que 3 el
ordenador multiplicará los dos valores.
Este es el diagrama de flujo del programa realizado en DFC.
De esta forma concluimos esta unidad.

I Parcial

/*Realizar un programa C++, que permita para un grupo de E empleados:

1. Ingresar nombre, salario básico y tipo de vinculo;


2. Para cada empleado Calcular el salario neto a pagar bajo las
siguientes condiciones:

a. Si salario básico es mayor a dos smmlv (dato entrada) se le hace


un descuento
del cuatro punto treinta y tres por ciento sobre el basico

b. Si está entre 1 y 2 smmlv se le hace una bonificacion


equivalente a la quinta parte del basico

c. De lo contrario, la bonificacion es del 2% y el descuento del


1.33%

3. Calcular e imprimir el total neto pagado, total de descuentos y total


de bonificaciones que hizo la empresa.

4. Imprimir el nombre del empleado que gana menos salario neto.

5. cALCULAR EL PROMEDIO DE SALARIOS BASICOS DE LA EMPRESA


nota: deben usar la libreria stirng.h */

#include<iostream>
#include<conio.h>
#include<iomanip>
#include<math.h>
#include<string.h>
using namespace System;
using namespace std;
void main()

int N,NE;
double S,SB,SD,W,X,Y,Z,TOTALS=0,TOTALB=0,TOTALD=0,PROMS,
MENOR=999999999999999;
char NOM[10],NOMMEN[10];
cout<<"\n\n\n ¿Cuatos empleados tiene su empresa?: ";
cin>>N;
cout<<"\n\n\n ¿Cual es el valor del salario minimo legal vigente?: ";
cin>>S;

for(NE=1; NE<=N; NE=NE+1)


{
cout<<"\n\n\n Ingresando datos para el empleado numero: " <<NE;
cout<<"\n\n\n por favor digite el nombre del empleado: ";
cin>>NOM;
cout<<"\n\n\n Salario que de devenga el empleado: ";
cin>>SB;
if (SB>(2*S))
{
W=(SB*4.33)/100;
SD=SB-W;

}
else
{
if ((S)<=SB<=(2*S))
{
X=((SB)/5)+SB;
SD=SB+X;
}
else
{
Y=((SB*2)/100);
Z=((SB*1.33)/100);
SD=(SB+Y-Z);
}
}

if (SD<MENOR)
{
MENOR=SD;
strcpy (NOMMEN,NOM);
}

cout<<"\n\n\n El valor a cancelar a nombre de "<<NOM<<" Por salario


es: "<<SD;
getch();

TOTALS=SD+TOTALS;
TOTALB=(X+Y)+TOTALB;
TOTALD=(W+Z)+TOTALD;

}
PROMS=((TOTALS)/N);
cout<<"\n\n\n el valor total pagado por salario es: "<<TOTALS;
getch();
cout<<"\n\n\n el valor total pagado por bonificaciones es: "<<TOTALB;
getch();
cout<<"\n\n\n el valor total descontado de los salarios es: "<<TOTALD;
getch();
cout<<"\n\n\n el salario promedio en la empresa es: "<<PROMS;
getch();
cout<<"\n\n\n el empleado que cobro el menor salario fue: "<<NOMMEN<<"
Su salario fue: "<<MENOR;
getch();

También podría gustarte