Vous êtes sur la page 1sur 5

UNIVERSIDAD NACIONAL EXPERIMENTAL POLITCNICA

ANTONIO JOS DE SUCRE


VICERECTORADO PUERTO ORDAZ
DEPARTAMENTO DE INGENIERA ELECTRNICA
SECCIN DE COMPUTACIN
ASIGNATURA: COMPUTACIN II
GUA DE EJERCICIOS.
PUNTEROS Y ARCHIVOS.
1. Analizar las siguientes funciones, indicar cul es su objetivo y escribir un programa que las use y
pruebe su respuesta.
Funcin 1.
int funcion_x(char *s)
{
int i;
for(i=0;*s;i++,s++);
return (i);
}

Funcin 2.
int funcion_y(char *s1, char *s2)
{
int i,j;
while(*s1) s1++;
while(*s1=*s2)
{
s1++;
s2++;
}
}

2. Dada la siguiente funcin, reescribirla usando punteros.


int funcion_y(char s1[], char s2[])
{
int i,j;
i=0;
j=0;
while(s1[i]) i++;
while(s1[i]=s2[j])
{
i++;
j++;
}
}
3. El programa que se muestra genera un vector de 20 elementos y busca/muestra el elemento
mayor del vector. Reescribir el programa usando punteros y funciones para procesar los datos del
vector.
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
void main(void)
{
int vect[20];
int i,j,n,MAX;
cout<<"n: ";
cin>>n;
if(n<20)
{
for(i=0;i<n;i++)

// Aqu
vect[i]=random(100);
cout<<vect[i]<<endl;
}
MAX=vect[0];
for(i=0;i<n;i++)
{
if(vect[i]>MAX)
MAX=vect[i];
}
cout<<"MAX = "<<MAX;
}

{
";
// Contina

cout<<"V["<<i+1<<"] =

getch();
}

4. Crear un programa que permite al usuario introducir un nmero determinado de palabras y da


como resultado la impresin de las palabras por consola ordenadas de forma descendente.
Utilizar la funcin strcmp (char*, char*) de la librera estndar del C++ que permite comparar dos
cadenas de caracteres (librera string.h). Rehacerlo usando archivos.
5. Crear un programa capaz de leer desde el teclado un conjunto de frases y almacenarlas en un
"vector de punteros a caracteres".
6. Escriba un programa que invierte el orden de los elementos de un arreglo tipo entero.
7. Escriba usando punteros un programa que lee del teclado dos arreglos de enteros A y B de
dimensin N y despus los une en un arreglo C bidimensional (matriz).
8. Disee un programa que permita determinar si una frase es palndromo.
9. Complete las siguientes tablas con los valores correspondientes de cada variable. Tome como
referencia las primeras lneas de cdigo que ya estn llenas.
Variables /
direccin
int A = 1;
int B = 2;
int C = 3;
int *P1, *P2;
P1 = &A;
P2 = &C;
*P1=(*P2)++;
P1=P2;
P2=&B;
*P1-=*P2;
++*P2;
*P1*=*P2;
A=++*P2**P1;
P1=&A;
*P2=*P1/=*P2;

A
102
1
1
1
1

B
104

C
106

2
2
2

3
3

P1
100

P2
108

1
2
3
4
5
6
7
8

void main() {
int A, B, C;
int *p1, *p2;
A= 5; B= 2; C= 4;
p1= &A; p2= &C;
*p2 = *p1*3;
p1 += 1;
*p1 = A * C;
p2 = p2 - 2;
*p1 += *p2;
C = *p1 + *p2;
}

Direccin

Variables

100

102

104

106

p1

108

p2

10. Escribe un programa que invierta el orden de los elementos de un arreglo tipo int. Se aconseja
usar dos punteros y una variable para las permutaciones.
11. Escribe un programa que lee 4 cadenas de texto de menos de 4 caracteres, las almacena en un
arreglo de cadenas, despus invierte el orden en cada cadena y saca por pantalla resultado de
dicha inversin. Deben usarse punteros en lo posible.
12. Dado un arreglo que contiene la informacin de los alumnos de una clase de 100 alumnos, y
teniendo en cuenta que de cada uno de ellos almacenamos su nmero de expediente, nombre y
nota media. Hallar la media de todos los alumnos de esa clase y dar otra opcin que pida el
nombre de un alumno y muestre su nota si este alumno existe. Con punteros y funciones
13. Tenemos un arreglo de registro con la informacin de nuestros productos, por cada producto
almacenamos su cdigo, descripcin, stock actual y stock mnimo. Se trata de obtener otro
arreglo de registro que contenga los productos de los que haya que hacer pedidos porque su
stock sea inferior al mnimo, tal que al proveedor le tenemos que dar como datos la identificacin
del producto y la cantidad que pedimos, que coincidir con el stock mnimo. Implementar el
cdigo utilizando punteros y funciones, normalmente trabajamos con 100 productos.
14. Disear un algoritmo que permita controlar el proceso de una agenda de telfonos. Mostrar un
men de opciones que permita elegir la ejecucin de los siguientes procedimientos:
(a) Registrar la informacin en un archivo llamado AGENDA (Nombre, Cdigo rea, Telfono)
(b) Consultar un nmero telefnico.
(c) Eliminar nmero especfico.
(d) Modificar Nmero.
(e) Salir.
Si se desea Consultar/Eliminar/Modificar se debe pedir el nombre y el programa buscar en el
archivo y proceder a realizar el proceso deseado.
15. Se dispone de un archivo aleatorio de entrada llamado INGRESOS compuesto de 100 registros,
donde cada registro contiene los campos Cdigo y Cantidad de los artculos adquiridos y de otro
archivo de salida llamado RESUMEN cuyos registros contienen los mismos campos del archivo
INGRESOS. Se pide un algoritmo que realice el siguiente proceso:
(a) Sumar las cantidades de artculos que tengan el mismo cdigo, en el archivo INGRESOS y
guardar esta informacin en archivo RESUMEN.
(b) Si no existen cdigos repetidos en INGRESOS se escribe en RESUMEN solo el cdigo y la
cantidad que aparece en INGRESOS.
Ejemplo:

Codigo Cantidad
101
5
102
10
103
15
101
10
103
5

Codigo Cantidad
101
15
102
10
103
20

Ingresos

Resumen

16. En una Universidad se efecta un examen de admisin que consta de dos pruebas: Aptitud
Matemtica (AM) y Aptitud Verbal (AV). Cada prueba consta de 50 preguntas de seleccin
mltiple con tres opciones numeradas de 1 a 3. Si la informacin se tiene registrada de la
siguiente manera:
Cedula

Respuestas AM

Respuestas AV

Estudiantes.txt

Cedula

Respuestas AM

Respuestas AV

Respuestas.txt

Se pide:
(a) Calcular el puntaje obtenido por cada estudiante
(b) El nmero de estudiantes que ingresaran, sabiendo que son aceptados aquellos estudiantes
cuya nota sea mayor que el promedio.
17. Disear un algoritmo usando un men de opciones para:
(a) Crear un archivo con la siguiente informacin: nombre, cdula y 4 notas correspondientes a
las evaluaciones de un curso de 20 estudiantes.
(b) Leer el archivo creado y calcular el promedio por estudiante. Esta informacin debe ser
guardada en un vector.
(c) Buscar el estudiante con menor promedio y mostrarlo con su nombre y su cdula.
18. Disear un algoritmo usando un men de opciones que permita:
(a) Crear un archivo con los registros de n clientes de una institucin bancaria donde se guarda
la siguiente informacin: nombre, cdula, cuenta, saldo
(b) Insertar un nuevo cliente, sabiendo que los registros se encuentran guardados en orden
creciente por nmero de cdula.
(c) Buscar el cliente registrado que presente el mayor saldo.
19. Disear un algoritmo para crear y cargar un archivo de un BANCO con los datos: cuenta,
nombre, saldo. El programa debe permitir tambin consultar el archivo y verificar si un nmero de
cuenta existe. Si existe, debe mostrar los datos asociados a la cuenta.
20. Tenemos un archivo de empleados clasificado por el nmero de empleado y un archivo de bajas
no clasificado que contiene los nmeros de los empleados que se han dado de baja. Obtener un
tercer archivo que contenga a los empleados que realmente hay en la empresa.

21. Escribir un programa que lea el contenido de un archivo de texto facilitado por el usuario y
genere un nuevo archivo de texto llamado "INVERSO.TXT" que tenga las mismas lneas que el
archivo original pero en orden inverso.
Lnea 1
Lnea 2
Lnea 3
Lnea 4
Lnea 5

Lnea 1
Lnea 2
Lnea 3
Lnea 4
Lnea 5

Entrada.txt

Inverso.txt

22. Crear un programa que abra un archivo y escriba nmeros enteros y otro programa calcule el
valor mximo (si hay varios basta con uno de ellos) y la media de todos los nmeros contenidos
en el fichero anterior.