domingo, 24 de marzo de 2013

Tarea 5 de la unidad 3

Del libro C++ para ingeniería y ciencias (segunda versión  Hacer un cuestionario de 20 preguntas de la pagina 444-468)(primera versión (376-396) ver problema versión dos) resolver el problema 10 pag. 470


Preguntas


1.-¿Que se necesita para almacenar y recuperar datos fuera de un programa en C++?Se necesitan 2 cosas, un archivo y un objeto de flujo de archivo.

 2.-¿Qué es un archivo?
Es una colección de datos almacenados juntos bajo un nombre común, por lo general en un disco, cinta magnética o DC-ROOM.



3.-¿Cómo se almacena un archivo?Se almacena en forma física en un medio externo con un disco. Cada archivo tiene un nombre de archivo único conocido como el nombre externo del archivo.

4.-¿Qué es un archivo de flujo?

Es una ruta de transmisión unidireccional utilizada para conectar un archivo almacenado en un dispositivo físico,como un disco o un CD-ROM.

5.-¿Que es un flujo de archivos de entrada?Un flujo de archivos que recibe o lee de un archivo a un programa.


6.-¿Que es un flujo de archivos de salida?Un flujo de archivo que envia o escribe datos en un archivo.


7.-¿Que son los datos?

Los datos almacenados en un archivo de programa son el codigo del programa que se convierte en datos de entrada para el compilador de C++.

8.-¿Que son los datos de entrada?

Son los datos que va a un programa.

9.-¿Que son los datos de salida?Son los datos enviados desde el programa.


10.-¿Que sucede al abrir un archivo?Conecta cada objeto de flujo de archivos con su nombre de archivo externo especifico, y se logra por medio de un metodo de apertura de flujo de archivos.


11.-¿Que son datos en el contexto de procesamiento de datos?El programa en C++ por lo general no es considerado como datos, y el termino archivo o archivo de datos, por lo general solo se refiere a archivos externos que contiene los datos usados en un programa C++.


12.-¿Cómo se le conoce al flujo de archivos que envía o escribe datos en un archivo?
Se le conoce como flujo de archivos de salida.

 13.-¿Qué se necesita para que un programa lea y escriba en un archivo? Se requiere un objeto de flujo de archivo de entrada y uno de salida.


14.-¿Que es el nombre externo de un archivo?Es la manera en que es conocido el archivo por el sistema operativo.

15.-¿De un ejemplo de un nombre externo de un archivo?

En el sistema operativo DOS, el nombre de archivo debe componerse de 8 caracteres mas un punto opcional y una extension de tres caracteres (info.txt)

 16.-¿Como se deben declarar los objetos de flujo de archivo de entrada y salida?  Archivo de Entrada (ifstream) y archivo de Salida (ofstream).


 17.-¿Con se cierra un archivo?Un archivo se cierra usando el método close ().


 18.-¿Cómo trabaja la funcion close ()? Este método rompe la conexión entre el nombre entero del archivo y el objeto de flujo de archivo, le cual puede ser usado por otro archivo.


19.-¿Que es la lectura de un archivo de texto?Leer datos de un archivo basado en texto es casi igual a leer datos de un teclado estandar, excepto que el objeto cin es reemplazado por el objeto.


20.-¿Que es un archivo estandar de entrada?Es un dispositivo fisico asignado a su programa para la introduccion de datos



PROBLEMA 10 Pag 470

A)

Pseudocodigo


Inicio
string nombre_archivo="datos.dat"
ofstream archivo_sal
archivo_sal.open(nombre_archivo.c_str())
if (archivo_sal.fail())
{
Print "el archivo no  habrio con exito"
exit(1)
}
archivo_sal, setiosflags(ios::fixed), setiosflags(ios::showpoint), setprecision(3)

Print "Nombre", "    ", "   Tarifa", "  ", "Horas"
Print "----------------------------"
Print "Callaway,G.", "", "6.00", "", "40"
Print "Hanson,P.", "", "5.00", "", "48"
Print "Lasard,D.", "", "6.50", "", "35"
Print "Stillman,W.", "", "8.00", "", "50"

archivo_sal, "Nombre", "    ", "   Tarifa", "  ", "Horas"
archivo_sal, "-----------------------------"
archivo_sal, "Callaway,G.", "", "6.00", "", "40", "              "
archivo_sal, "Hanson,P.", "", "5.00", "", "48"
archivo_sal, "Lasard,D.", "", "6.50", "", "35"
archivo_sal, "Stillman,W.", "", "8.00", "", "50"
archivo_sal.close()
Fin

Codificacion en C++


//Tarea 5 Unidad 3, Problema 10 "A" Pag 470
//Integrantes del equipo: Onofre Gonzalez Adrian Hilario
// Fuentes Aranda Jesus Javier

#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
#include <fstream>
#include <string>

int main()
{

string nombre_archivo="datos.dat";
ofstream archivo_sal;

archivo_sal.open(nombre_archivo.c_str());

if (archivo_sal.fail())
{
cout<<"el archivo no  habrio con exito"<<endl;
exit(1);
}
archivo_sal<<setiosflags(ios::fixed)<<setiosflags(ios::showpoint)<<setprecision(3);

cout<<"Nombre"<<"\t    "<<"   Tarifa"<<"  "<<"Horas"<<endl;
cout<<"----------------------------"<<endl;
cout<<"Callaway,G."<<"\t"<<"6.00"<<"\t"<<"40"<<endl;
cout<<"Hanson,P."<<"\t"<<"5.00"<<"\t"<<"48"<<endl;
cout<<"Lasard,D."<<"\t"<<"6.50"<<"\t"<<"35"<<endl;
cout<<"Stillman,W."<<"\t"<<"8.00"<<"\t"<<"50"<<endl;

archivo_sal<<"Nombre"<<"\t    "<<"   Tarifa"<<"  "<<"Horas"<<endl;
archivo_sal<<"-----------------------------"<<endl;
archivo_sal<<"Callaway,G."<<"\t"<<"6.00"<<"\t"<<"40"<<" "<<endl;
archivo_sal<<"Hanson,P."<<"\t"<<"5.00"<<"\t"<<"48"<<endl;
archivo_sal<<"Lasard,D."<<"\t"<<"6.50"<<"\t"<<"35"<<endl;
archivo_sal<<"Stillman,W."<<"\t"<<"8.00"<<"\t"<<"50"<<endl;
archivo_sal.close();
getch();
return 0;
}




B)


Pseudocodigo


Inicio
string nombre_archivo="Datos.dat"
ofstream archivo_sal
archivo_sal.open(nombre_archivo.c_str())
if (archivo_sal.fail())
{
Print "el archivo no  habrio con exito"
exit(1)
}
archivo_sal, setiosflags(ios::fixed), setiosflags(ios::showpoint), setprecision(3)
Print "Nombre", "    ", "   Tarifa", "  ", "Horas", "  ", "Pago bruto", "  ", "Pago de tiempo extra", "  ", "Pago regular"
Print "-----------------------------------------------------------------------------"
Print "Callaway,G.", "", "6.00", "", "40", "             ", (40*6), "                          ", (0), "                 ", (40*6)
Print "Hanson,P.", "", "5.00", "", "48", "                ", (48*1.5+48*5), "                         ", 48*1.5, "         ", 48*5
Print "Lasard,D.", "", "6.50", "", "35", "  ", (35*6.50), "                    ", 0, "                    ", 35*6.50
Print "Stillman,W.", "", "8.00", "", "50", "              ", (50*1.5+50*8.0), "                      ", 50*1.5, "         ", 50*8.0

archivo_sal, "Nombre", "    ", "   Tarifa", "  ", "Horas", "  ", "Pago bruto", "  ", "Pago de tiempo extra", "  ", "Pago regular"
archivo_sal, "-----------------------------------------------------------------------------"
archivo_sal, "Callaway,G.", "", "6.00", "", "40", "              ", (40*6), "                          ", (0), "                 ", (40*6)
archivo_sal, "Hanson,P.", "", "5.00", "", "48", "  ", (48*1.5+48*5), "         ", (48*1.5), "     ", (48*5)
archivo_sal, "Lasard,D.", "", "6.50", "", "35", "    ", (35*6.50), "                    ", (0), "                 ", (35*6.50)
archivo_sal, "Stillman,W.", "", "8.00", "", "50", "               ", (50*1.5+50*8.0), "                      ", (50*1.5), "                      ", (50*8.0)
archivo_sal.close()
Fin

Codificacion en C++


//Tarea 5 Unidad 3, PROBLEMA 10 "B" Pag 470
//Integrantes del equipo: Onofre Gonzalez Adrian Hilario
// Fuentes Aranda Jesus Javier

#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
#include <fstream>
#include <string>

int main()
{

string nombre_archivo="Datos.dat";
ofstream archivo_sal;

archivo_sal.open(nombre_archivo.c_str());

if (archivo_sal.fail())
{
cout<<"el archivo no  habrio con exito"<<endl;
exit(1);
}
archivo_sal<<setiosflags(ios::fixed)<<setiosflags(ios::showpoint)<<setprecision(3);

cout<<"Nombre"<<"\t    "<<"   Tarifa"<<"  "<<"Horas"<<"  "<<"Pago bruto"<<"  "<<"Pago de tiempo extra"<<"  "<<"Pago regular"<<endl;
cout<<"-----------------------------------------------------------------------------"<<endl;
cout<<"Callaway,G."<<"\t"<<"6.00"<<"\t"<<"40"<<" "<<(40*6)<<"    "<<(0)<<"          "<<(40*6)<<endl;
cout<<"Hanson,P."<<"\t"<<"5.00"<<"\t"<<"48"<<" "<<(48*1.5+48*5)<<"    "<<48*1.5<<"       "<<48*5<<endl;
cout<<"Lasard,D."<<"\t"<<"6.50"<<"\t"<<"35"<<" "<<(35*6.50)<<"    "<<0<<"         "<<35*6.50<<endl;
cout<<"Stillman,W."<<"\t"<<"8.00"<<"\t"<<"50"<<" "<<(50*1.5+50*8.0)<<"    "<<50*1.5<<"       "<<50*8.0<<endl;

archivo_sal<<"Nombre"<<"\t    "<<"   Tarifa"<<"  "<<"Horas"<<"  "<<"Pago bruto"<<"  "<<"Pago de tiempo extra"<<"  "<<"Pago regular"<<endl;
archivo_sal<<"-----------------------------------------------------------------------------"<<endl;
archivo_sal<<"Callaway,G."<<"\t"<<"6.00"<<"\t"<<"40"<<" "<<(40*6)<<"    "<<(0)<<"          "<<(40*6)<<endl;
archivo_sal<<"Hanson,P."<<"\t"<<"5.00"<<"\t"<<"48"<<" "<<(48*1.5+48*5)<<"         "<<(48*1.5)<<"      "<<(48*5)<<endl;
archivo_sal<<"Lasard,D."<<"\t"<<"6.50"<<"\t"<<"35"<<" "<<(35*6.50)<<"    "<<(0)<<"         "<<(35*6.50)<<endl;
archivo_sal<<"Stillman,W."<<"\t"<<"8.00"<<"\t"<<"50"<<" "<<(50*1.5+50*8.0)<<"    "<<(50*1.5)<<"       "<<(50*8.0)<<endl;
archivo_sal.close();
getch();
return 0;
}



Tarea 4 de la unidad 3

Buscar el PDF en internet del libro Manejo de archivos en lenguaje C++ Ing. Bruno Lopez Takeyas M.C. ITNuevo Laredo pag. 8-37 hacer un cuestionario de 25 preguntas.


Preguntas

1.-¿Cómo surge la necesidad de utilizar archivos?
usando la memoria principal o memoria RAM como único medio de almacenamiento (usando variables, arreglos o estructuras de datos mas complejas), con el inconveniente que esto representa: la volatilidad de la memoria RAM; es decir, si se apaga la computadora se pierden los datos. 

2.-¿Relación entre la memoria principal, el microprocesador y dispositivos de 
almacenamiento secundario ?
Existe una estrecha relación entre la memoria principal, el microprocesador y 
los dispositivos de almacenamiento secundario, no procesan datos, sólo los 
almacenan. 

3.-¿Definicion de datos?
Básicamente se refieren a los testimonios individuales relacionados con hechos, ya sean características de ciertos objetos de estudio o condiciones particulares de situaciones dadas.

4.-¿Definicion de Registro?
Es el conjunto completo de datos relacionados pertenecientes a una entrada.

5.-¿Definicion de archivo?
En términos computacionales es una colección de datos que tiene un nombre y se guardan en dispositivos de almacenamiento secundario, los cuales pueden ser magnéticos, ópticos, electrónicos, etc.

6.-¿cual es la semejanza entre un archivero de oficina a un archivo computacional?
Identificar la localización de la información y Identificar el lugar exacto donde se encuentra la información



7.-¿cual es la estructura del archivo?
contiene información del archivo que se está usando, así como el tamaño actual y la localización de los buffers de datos.

8.-¿nombra la clasificación de archivos por contenido?
archivos de texto y archivos binarios

9.-¿Que son los Archivos de texto?
Son aquellos que pueden contener cualquier clase de datos y de tal manera que son “entendibles” por la gente. Los datos en un archivo de texto se almacenan usando el código ASCII, en el cual cada carácter es representado por un simple byte.

10.-¿Que son los Archivos binarios?
Este tipo de archivos almacenan los datos numéricos con su representación binaria. Pueden ser archivos que contienen instrucciones en lenguaje máquina listas para ser ejecutadas.


11.-¿nombra la clasificación de archivos por tipo de acceso?
Secuenciales y Directos (relativos o aleatorios)

12.-¿Que son los archivos secuenciales?
Como su nombre lo indica, en este tipo de archivos los registros se graban en secuencia o consecutivamente y deben accesarse de ese mismo modo, es decir, conforme se van insertando nuevos registros, éstos se almacenan al final del último registro almacenado

13.-¿Que son los archivos directos (relativos, de acceso directo o aleatorios)?
en los archivos directos no esnecesario recorrerlo completamente para acceder un registro en particular, sino se puede colocar el apuntador interno del archivo directamente en el registro deseado, permitiendo con esto mayor rapidez de acceso.


14.-¿Que tipos de direcciones utiliza el lenguaje C++?
direcciones físicas

15.-¿Que tipos de direcciones utiliza el lenguaje Pascal?
Direcciones lógicas

16.-¿Que se necesita para realizar programas de manejo de archivos en Lenguaje C++?
se requiere el encabezado “Standard I/O” y se necesita incluirlo de la sig. forma: 
#include <stdio.h> 

17.-¿Para que se utiliza la función fopen?
para abrir un archivo, determinar el modo de apertura y establecer la vía de comunicación mediante su alias correspondiente. Además determinar el tipo de contenido del archivo (texto o binario).

18.-¿Cuales son los 2 argumentos de la función fopen?
el nombre del archivo y su modo

19.-¿como validar la apertura de un archivo?
Si un archivo no se puede abrir, la función fopen devuelve el 

valor de 0 (cero), definido como NULL en stdio.h.

20.-¿Mencione las 2 funciones para cerrar archivos?
fclose y fcloseall. Si se usa fclose es necesario 
indicarle el alias del archivo que se desea cerrar. La función fcloseall cierra 
todos los archivos abiertos.


21.-¿para que se utiliza la función fwrite?
proporciona el mecanismo para almacenar todos los 
campos de un registro en un archivo.



22.-¿que es un buffer?
es un área de almacenamiento temporal en memoria para el 
conjunto de datos leídos o escritos en el archivo.


23.-¿para que se utiliza la función fread?
permite “cargar” todos los campos de un registro en un 
archivo, es decir, lee un registro y lo copia en la memoria RAM


24.-¿para que se utiliza la función fseek?
permite reposicionar el apuntador del archivo en la 
dirección física deseada mediante tres argumentos: el alias del archivo, la 
dirección física (en bytes) y el punto de referencia.


25.-¿Mencione los 3 puntos de referecia de la funcion fseek?
1.-SEEK_SET:Desde el principio del archivo 
2.-SEEK_CUR:Desde la posición actual del apuntador del archivo 
3.-SEEK_END:Desde el final del archivo

Tarea 3 de la unidad 3

Hacer un cuestionario de 20 preguntas de la pag. 342-356 Resuelva los problemas ejercicio 6.3 3 Ejercicio 6.4 2, 5 Fecha entrega: 27 noviembre 2012


Preguntas

1.-¿Que es un esquema inicial en un reporte?
El esquema inicial de un programa de computadora debe proporcionar un listado de las tareas primarias que debe cumplir el programa.

2.-¿En que se basa un esquema inicial escrito?
Por lo general es una descripcion en pseudocódigo o un diagrama de estructura de primer nivel. 

3.-¿En que consiste un esquema inicial de un programa de computadora?
Se comiencza con el proceso de definir un problema mas complicado en un conjunto de tareas mas pequeñas y mas manejables, cada una de estas puede subdividise o depurarse mas, en tareas aun mas pequeñas si se requiere.

4.-¿Cuales son los parámetros de dirección que proporciona C++?
Son las referencias y los apuntadores.

5.-¿En que consiste el algoritmo para resolver problemas?
Son tres pasos, correspondientes al esquema genetal aplicable a muchas tareas y consiste en: 
- obtener las entradas del problema
- calcular el resultado deseado
- reportar los resultados del calculo

6.-¿Describa el uso de la funcion obtrec().
Esta funcion podemos utilizarla para poder aceptar los datos de entrada, como son en el ejemplo anterior, las coordenadas x y y.

7.-¿En que consiste la funcion polar()?
En vista de que esta funcion debe recibir dos entradas (x, y), y debe devolver dos salidas (r y θ), se le proporcionana a la funcion cuatro parametros, dos para las entradas y dos para las salidas.

8.-¿Cual es una ventaja distintiva en c++?
Llamar a una función y transmitir argumentos por valor.

9.-¿Cuales son las 2 funciones de C++ para crear números aleatorios?
Los compiladores son rand () srand ()

10.-¿Cuáles son los tres pasos del algoritmo de intercambio?
Guardar el valor del primer parámetro en una ubicación temporal
Almacenar el valor segundo parámetro en la primera variable
Almacenar  el valor temporal en el segundo parámetro.

11.-¿Que es una generacion de numeros aleatorios?
Una serie de numeros cuyo orden no pueda predecirse, utilizable en programas de simulacion cientifica y de ingenieria.

12.-¿Que son numeros seudolaleatorios?Son numeros suficientemente aleatorios para la tarea a realizar, ya que en la practica no hay numeros que en verdad sean aleatorios.

13.-¿El lenguaje C++ contiene funciones para crear numeros aleatorios?Si, se proporcionan 2 funciones, rand() y srand(). 

14.-¿Describa la funcion rand().
Produce una seria de numeros aleatorios en el rango 0<=rand()<=RAND_MAX, donde la constante RAND_MAX se define en el archivo de encabezado cmath. 

15.-¿Describa la funcion srand()
Proporciona un valor "semilla" inicial para rand(), si no se usa srand() o alguna otra tecnica de "sembrado" equivalente, rand() producira siempre la misma seria de numeros aleatorios. 

16.-¿Dar un ejemplo de estas funciones.
srand(time(NULL));
- esto genera el primer valor "semilla", que llama a la funcion time() que lee el tiempo del reloj interno de la computadora, en segundos, entonces esta funcion utiliza el tiempo para generar numeros aleatorios.

17.-¿Que pasa si no se usa srand u otra técnica de sembrado?
Producirá siempre la misma serie de números aleatorios.

18.-¿Para que funcionan los archivos de encabezado cmath y ctime?
cmath inclulle los portotipos de funcion para las funciones srand() y rand() y ctime contiene el prototipo par ala funcion time().

19.-¿Que es el escalamiento?
Es el metodo para ajustar numeros aleatorios producidos por un generados de numeros aleatorios para que sesidan dentro de dichos rangos.


20.-¿Cuál es la segunda precaución al usar argumentos de referencia?
 Es que una llamada de función en si no da indicio de que la función llamada usara parámetros de referencia




EJERCICIO 3, SECCIÓN 6.3

Pseudocodigo


Inicio

funcion encontrarMax(int, int)

inicio funcion

{
primernum        int
segundonum    int
max       int 
print  "Introduzca el primer numero: "
read primernum
print  "Introduzca el segundo numero: "
read segundonum 
max=encontrarMax(primernum, segundonum) 
print  "El maximo de los dos numeros es: ", max
print  "EL valor almacenado en max es: ", max
final funcion
incio programa
funcion encontrarMax(int x, int y)
{
numMax             int
if(x>=y)
{
numMax=x
}
else
{
numMax=y
}
return numMax
}
Fin

Codificacion en C++


//Tarea 3 Unidad 3 Problema 3 Seccion 6.3
//Integrantes del equipo: Onofre Gonzalez Adrian Hilario
// Fuentes Aranda Jesus Javier

#include <iostream.h>
#include <conio.h>

int encontrarMax(int, int);

int main()
{
int primernum, segundonum, max;

cout<< "\nIntroduzca el primer numero: ";
cin>>primernum;
cout<< "\nIntroduzca el segundo numero: ";
cin>>segundonum;

max=encontrarMax(primernum, segundonum);

cout<< "\nEl maximo de los dos numeros es: "<<max<<endl;
cout<< "\nEL valor almacenado en max es: "<<max<<endl;


getch();
return 0;

}

int encontrarMax(int x, int y)
{
int numMax;

if(x>=y)
{
numMax=x;
}
else
{
numMax=y;
}
return numMax;
}



SECCIÓN 6.4
Problema 2

Pseudocodigo


Inicio
Funcion calcradioarea(float r , float a)
inicio funcion
{
print "El radio es: ", r
print "El area es: ", a
}
final funcion
inicio programa

int main()
{
r              float
a             float
c              float
Rrint "Introduce la circuferencia del circulo: "
Read c
r=c/(2*3.1416)
a=(3.1416)*pow(r,2)
calcradioarea(r , a)
Fin

Codificacion en C++


//Tarea 3 Unidad 3, Problema 2 Seccion 6.4
//Integrantes del equipo: Onofre Gonzalez Adrian Hilario
// Fuentes Aranda Jesus Javier

#include <iostream.h>
#include <conio.h>
#include <math.h>
void calcradioarea(float r , float a)
{
cout<<"\nEl radio es: "<<r<<endl;
cout<<"\nEl area es: "<<a<<endl;
getch();
return ;
}

int main()
{

float r, a,c;
cout<<"Introduce la circuferencia del circulo: ";
cin>>c;

r=c/(2*3.1416);

a=(3.1416)*pow(r,2);

calcradioarea(r , a);
getch();
return 0;
}



Problema 5

Pseudocodigo


Inicio
funcion encontrarDistancia(float d)
inicion funcion
{
pPrint  "La distancia entre los dos puntos es: ", d
}
final funcion
inicio programa
{
x1           float
y1           float
x2           float
y2           float
d             float
Print  "Introdusca las coordenadas del primer punto: "
Read x1
Read y1
Print  "Introdusca las coordenadas del segundo punto: "
Read x2
Read y2
=sqrt(pow(x2-x1,2)+pow(y2-y1,2))
encontrarDistancia(d)
Fin

Codificacion en C++


//Tarea 3 Unidad 3, Problema 5 Seccion 6.4
//Integrantes del equipo: Onofre Gonzalez Adrian Hilario
// Fuentes Aranda Jesus Javier

#include <iostream.h>
#include <conio.h>
#include <math.h>

void encontrarDistancia(float d)
{
cout<< "\nLa distancia entre los dos puntos es: "<<d<<endl;
}
int main()
{
float x1, y1, x2, y2, d;
cout<< "\nIntrodusca las coordenadas del primer punto: ";
cin>>x1>>y1;
cout<< "\nIntrodusca las coordenadas del segundo punto: ";
cin>>x2>>y2;
d=sqrt(pow(x2-x1,2)+pow(y2-y1,2));
encontrarDistancia(d);
getch();
return 0;
}