Practica Nº 1
Informática II
Fundamentos de Programación
Prof. Dr. Paul Bustamante
Prácticas de Programación en C++ Pág. 1
ÍNDICE
ÍNDICE..................................................................................................................................................................... 1
1. Introducción................................................................................................................................................. 1
1.1 Ejercicio 1: Cálculo de la letra del NIF a través del DNI .......................................... 1
1.2 Ejercicio 2: Mejorando el programa anterior ............................................................. 2
1.3 Ejercicio 3: Encriptación V1.1. .................................................................................. 2
1.4 Ejercicio 4: Detección de errores: CheckSum............................................................ 3
1.5 Ejercicio 5: MiniCalculadora v1.0 ............................................................................. 4
1.6 Ejercicio 6: MiniCalculadora v1.1 ............................................................................. 5
1. Introducción.
Comienza Informática II y Fundamentos de Programación, y comienza con algunos
ejemplos sencillos, de repaso, referidos a la programación en C++, que nos ayuden a recordar
los conceptos básicos vistos en Informática I y Fundamentos de Computadores I.
No es importante que hagan todos los ejercicios durante la práctica, sino que entiendan
muy bien cómo y por qué se hacen las cosas. Es preferible que entiendan muy bien un
programa a que hayan acabado todo sin haberse enterado de nada. Los primeros ejercicios
servirán para familiarizarse con el modo de programar y para que vayan entendiendo las
cosas. Les animamos a que intenten hacer uds. mismos modificaciones y variaciones, incluso
hay veces que un mismo problema puede resolverse de varias maneras diferentes que son
igualmente correctas.
Para realizar los Ejercicios de esta práctica debe apoyarse en el entorno de
programación de Visual C++ 6.0, recordando de utilizar siempre el Debugger. Para cada
Ejercicio deberá crear un Proyecto en un subdirectorio especial. Todos estos subdirectorios
estarán dentro de un directorio de su disco G:\.
while(len!=8) {
cout << "Dar el número del DNI(XX - Salir):";
cin >> DNI;
if ( strcmp(DNI,"XX") == 0) return; //fin
len = strlen(DNI);
} /* fin de main() */
Deberá copiar este programa en el editor del Visual C++, compilarlo y ejecutarlo para
comprobar su funcionamiento. El nombre del proyecto será Ejer1 y el del programa será
Ejer1.cpp. Para compilar y linkar el programa debe utilizar el menú Build y las opciones
Compile File (para compilar), Build (para linkar) y Execute (para ejecutar). Cada opción
comprende las anteriores, esto es, si se quiere ejecutar y no se ha compilado y linkado, se
realizan primero estas operaciones.
Si ha olvidado cómo se crea un proyecto en C++, recurra a la documentación del
entorno que se le dio en clase.
Para este ejercicio debe crear un proyecto llamado Ejer02, en el cual debe escribir el código
correspondiente.
// Encriptación de Datos
// Tecnun 2006 - PB
#include <iostream.h>
#include <iomanip.h>
#include <string.h> //para strlen()
void main()
{
int len;
const int NUM=120; //num. maximo de caracteres.
unsigned char texto[NUM],key;
len=strlen((char*)texto);
cout << "\t*** texto Codificado ***\n";
for (int i=0;i<len;i++){
texto[i] = (texto[i] >> i%8) | (texto[i]<<(8-i%8));//rot a la der
texto[i] = texto[i] ^ key; //XOR
}
cout << texto << endl;
cout.fill('*');
cout << setw(50) << " Transmitiendo texto ";
cout << setw(30) << " "<<endl;
#define NUM 5
void main()
{
char chk=0;
Para comprender bien el funcionamiento del programa, debe ir ejecutándolo paso a paso con
el debugger e ir viendo los valores en el array array[i] y en la variable chk.
Debe crear un proyecto Ejer4 y al nombre del fichero fuente llámele checksum.cpp.
void main()
{
char str[30];
bool ope=false;
char op1[20],op2[20];
int cont=0;
char chope; //operador
double dop1=0,dop2=0, val;
while(true){
cout << ">>"; cin.getline(str,30);
if (str[0]=='E') break;
ope=false; cont=0;
switch(chope){
case '+': val = dop1 + dop2; break;
case '-': val = dop1 - dop2; break;
case '*': val = dop1 * dop2; break;
case '/': val = dop1 / dop2; break;
default: val=0;
}
Notas:
- No olvide poner siempre “;” al final de cada sentencia.
- No olvide cerrar las comillas, los paréntesis y las llaves { }.
- No olvide declarar las variables, antes de usarlas.
- Por último, recuerde que C++ distingue de minúsculas y mayúsculas.