Poo 1
Poo 1
Poo 1
PROBLEMA
ABSTRACCION
MODELO
Figura 1.1
El modelo define una perspectiva abstracta del problema. Esto implica que el
modelo se enfoca solamente en aspectos relacionados con el problema y que
tú tratas de definir propiedades del problema. Estas propiedades incluyen
Los datos que son afectados
Las operaciones que son identificadas por el problema.
Vamos a plantear un caso, deseamos manejar los alumnos de un instituto.
Que información es necesaria, que funciones necesitamos que trabajen:
Algunas propiedades serian
DNI,
Nombre
Fecha de nacimiento,
Talla
Domicilio,
Color de ojos
Color de pelo,
Teléfono
pero nosotros nos abstraeremos y tomaremos solo las propiedades
necesarias para resolver el problema. Este modelo solo implica propiedades
que son necesarias para cumplir con los requerimientos de la aplicación, por
ejemplo el nombre, fecha de nacimiento y el DNI. A estas propiedades se les
llama los datos del modelo (de alumno). Ahora ya se tienen descritas a los
alumnos reales por medio de un alumno abstracto.
Definiremos algunas operaciones para manejar los alumnos:
Matricula de un alumno nuevo.
Evaluación del alumno en un curso.
Para resumir, la abstracción es la estructuración de un problema en
entidades bien definidas por medio de la definición de sus datos y
operaciones. Consecuentemente, estas entidades combinan datos y
operaciones. No están desacoplados unos de otras.
El modelo quedara:
Nombre
Fecha de Nacimiento
Matricula_Ingresantes
DNI
Evaluacion
void main( )
{……….
...........
…………
}
#include "stdafx.h"
#include<iostream>
#include<conio.h>
using namespace std;
}
void leer( )
{
}
void procesar_planillas( )
{
void inprimir_planillas( )
{
#include "stdafx.h"
#include<iostream>
#include<conio.h>
using namespace std;
/* Variables globales */
int operando1, operando2;
int resultado;
/* funciones globales, declaración de prototipos */
void leer( );
void sumar( );
void escribir( );
int _tmain(int argc, _TCHAR* argv[])
{leer ( );
sumar ( );
escribir ( );
return 0;
}
/* desarrollo de las funciones */
void leer ( )
{ //clrscr();
cout<< " Operando1= "; cin >> operando1;
cout<< " Operando2= "; cin >> operando2;
}
1.3.2. Creación de un Programa.- Para crear y ejecutar un programa hay
que realizar las siguientes etapas:
Utilizando un editor de texto escribimos el programa y lo grabamos, este
programa grabado será el archivo fuente del programa.
Genera nombre.cpp
Traducción del programa a lenguaje de maquina o un código entendible por el
computador, llamado también compilación, se genera el código objeto.
Genera nombre.exe
1.3.3. Compilación, enlace y ejecución.- El editor, el compilador y la
ejecución están disponibles en el entorno integrado del Visual C++.
El editor y el compilador en el eid.
La ejecución en el menú debug (depuración).
1.4. Elementos de un programa en C++.- Se compone de elementos llamados
tokens, que pueden ser identificadores, palabras reservadas, comentarios,
signos de puntuación, separadores y archivos de cabecera.
Identificadores.- Cadenas de caracteres sirven para identificar cualquier
elemento de un programa como constantes, variables, funciones etc.
Ejemplo: línea, leer_datos, valor, suelo, PI. Todo identificador está
compuesto por letras, dígitos y el carácter subrayado, el primer carácter
debe de ser una letra.
{ leer(a1,a2,a3);
procesar(a1, a2, a3);
escribir(a3);}
Separadores.- Espacios en blanco, tabulaciones, retornos de carro y
avances de línea.
Archivos de cabecera.- Nos permiten incluir archivos al momento de
compilación.
1.5. Tipos de Variables estándar en C++.- Datos estándar quiere decir aceptados
por todos, en C++ tenemos como en la mayoría de lenguajes enteros, reales y
carácter.
Entero
int 9 digitos 4 bytes
long 9 digitos 4 bytes
Real
float 3.4 x 10-38 a 3.4 x 1038 4 bytes
double 1.7 x 10-308 a 1.7 x 10308 8 bytes
long double 3.4 x 10-4932 a 3.4 x 103932 10bytes
char
Char -128...... 127 1 byte
Unsigned char 0..255 1 byte
EJECUCION
En la lectura se asignara valores a las variables sea una por una o varias a la vez,
como en el ejemplo 2.-PROGRAMA
// prog41.cpp: define el punto de entrada de la aplicación de consola.
/* CODIGO:
FECHA: 19 de Enero de 2015
OBJETIVO: Mostrar las diferentes formas de leer valores y almacenarlos en las variables
*/
#include "stdafx.h"
#include<iostream>
#include<conio.h>
using namespace std;
void main( )
{ int voltaje,corriente;
system("cls");
cout<<"Ingrese voltaje ==> ";cin>>voltaje;
cout<<"Ingrese corriente=> ";cin>>corriente;
cout<<"Voltaje = "<<voltaje<<endl;
cout<<"Corriente = "<<corriente<<endl;
cout<<"Potencia ==> "<<voltaje*corriente<<endl;
cout<<"Ingrese voltaje y corriente separados por blancos ==> "; cin>>voltaje>>corriente;
cout<<"Potencia ==> "<<voltaje*corriente<<endl;
_getch();}
EJECUCION
EJECUCION
#include "stdafx.h"
#include<iostream>
#include<conio.h>
using namespace std;
void main( )
{ // Lee un valor y lo muestra en formato decimal, octal y hexadecimal
int numero;
system ("cls");
cout<<"Ingrese un numero : ";
cin>>numero;
cout<<"Numero decimal......"<<numero<<endl;//base decimal
cout<<"Numero octal........"<<oct<<numero<<endl;//base octal
cout<<"Numero hexadecimal.."<<hex<<numero<<endl;//base hexadecimal
getch();
}
Tabla de indicadores de formato:
Ejemplo 5.- Veamos un ejemplo que maneje la precisión de salida de un valor real.
PROGRAMA
// prog71.cpp: define el punto de entrada de la aplicación de consola.
//OBJETIVO: Muestra el uso del manipulador setprecision( )
//para indicar el número de dígitos decimales del valor flotante.
#include "stdafx.h"
#include <iostream> //Para cout
#include <iomanip> //Para setprecision( )
#include <conio.h> //Para getch()
using namespace std;
void main( void )
{float valor = 3.1416;
cout<< setiosflags( ios::fixed );
cout<< setprecision( 0 ) << valor << endl;
cout<< setprecision( 1 ) << valor << endl;
cout<< setprecision( 2 ) << valor << endl;
cout<< setprecision( 3 ) << valor << endl;
cout<< setprecision( 4 ) << valor << endl;
cout<< setprecision( 5 ) << valor << endl;
cout<< setprecision( 6 ) << valor << endl;
getch(); }
PROBLEMAS
1. Dado un numero “n” se pide calcular la cantidad de cifras impares y de cifra
pares que tiene “n”. Utilizar variables globales.
PROGRAMA
Nota: Observe algunos detalles, las variables son globales, por lo tanto los contadores
se inicializan automáticamente desde cero. Además num es una variable entera solo
debe permitir valores de 5 cifras pero se sobrepasa, quiere decir que el tipo entero
ocupa más de dos bytes (4 bytes).
2.- Escriba un programa que utilice la definición del tipo enumerado color, e imprima
el color escogido..
PROGRAMA
// prog10.cpp: define el punto de entrada de la aplicación de consola.
//OBJETIVO: Maneja tipo enumerado
#include "stdafx.h"
# include<iostream>
# include<conio.h>
using namespace std;
void main( )
{ enum color {rojo,verde,amarillo,azul,negro};
color c1=rojo,c2 = amarillo, c3 = negro;
switch(c1)
{ case 0:cout<<"ROJO"<<endl;break;
case 1:cout<<"VERDE"<<endl;break;
case 2:cout<<"AMARILLO"<<endl;break;
case 3:cout<<"AZUL"<<endl;break;
case 4:cout<<"NEGRO"<<endl;break; }
switch(c2)
EJECUCION
3.- Elaborar un programa que simule la acción de una calculadora de bolsillo: lee una
secuencia de valores numéricos separados por operadores aritméticos (+, -, *, /), y
calcula el valor de la expresión definida por esta secuencia. El resultado del cálculo se
produce cuando se lee el operador ‘=’.
PROGRAMA
/* prog02.cpp: define el punto de entrada de la aplicación de consola.
OBJETIVO: Simula la acción de una calculadora de bolsillo o sea lee un operando,
luego el operador ,
a continuación el operando realiza la operación y lee un nuevo operando y así
hasta que
el operador sea el signo igual y muestre el resultado */
#include "stdafx.h"
# include<iostream>
# include<conio.h>
using namespace std;
void main( )
{ float operando,resultado;
char operador;
system("cls");
cout<<" Ingrese operando ==> "; cin>>resultado;
do {cout<< "Ingrese operador ==> ";
cin>>operador;
switch(operador)
{ case '+': cout<<" Ingrese operando ==> ";
cin>>operando;
resultado=resultado+operando;break;
case '-': cout<<" Ingrese operando ==> ";
cin>>operando;
resultado=resultado-operando;break;
case '*': cout<<" Ingrese operando ==> ";
cin>>operando;
resultado=resultado*operando;break;
case '/': cout<<" Ingrese operando ==> ";
cin>>operando;
resultado=resultado/operando;break; }
} while(operador!='=');
cout<<" Resultado = "<<resultado;
_getch();}
EJECUCION