Вы находитесь на странице: 1из 21

UNIVERSIDAD SIMON BOLIVAR

SEDE DEL LITORAL


Dpto. de Tecnología Industrial
Algoritmos y Programación
TI-2314
Diseñado por: Prof. Angela S. Chikhani Coello
Septiembre-diciembre 2011

ALGORITMOS Y PROGRAMACIÓN
PRACTICAS
Algoritmos y Programación. TI-2314. Prof. A. S. Chikhani C. 2

NORMAS DE LA PRACTICA DE ALGORITMOS Y


PROGRAMACIÓN

Las prácticas han sido diseñadas de forma que al resolverlas, el


estudiante cubra los objetivos propuestos en teoría. De modo
que es responsabilidad del estudiante resolverlas y presentar al
profesor las dudas e interrogantes.

Si realizas todos los ejercicios dentro de la planificación


sugerida, te garantizo que entenderás mejor las clases, se te
hará más sencilla la materia y será muy probable que finalices
con una buena calificación.
La Profesora
Algoritmos y Programación. TI-2314. Prof. A. S. Chikhani C. 3

PRACTICA #1 REPASO
CONTENIDO:
• Sistema Computador
• Software
• Hardware
• Clasificación de los lenguajes de programación

TIEMPO: 2 horas/practicas.
SEMANA: 1

EJERCICIOS:

1.1 Defina que es un Sistema Computador.


1.2 Defina que se entiende por :
• Algoritmo
• Programa

1.3 Explique cual es la diferencia entre algoritmo y programa.


1.4 Explique en que consiste la clasificación de los lenguajes de programación,
semejanzas y diferencias entre cada una de ellas.
1.5 ¿Qué se entiende por portabilidad?
1.6 ¿Qué se entiende por nemotécnico?
1.7 ¿Qué se entiende por variables y por constantes?
1.8 ¿Cuáles son los tipos de datos simples? Explique cada uno de ellos.

Programación

P.1 Familiarícese con los laboratorios de Computación: Diríjase a los


laboratorios, solicite a los encargados de soporte técnico de la Sección, que le
reserven un bloque para trabajar. Pregunte por la ubicación de los manuales
de C (si existen).
P.2 Verifique que se encuentra instalado el lenguaje C o Borland C++ o Visual
C o el compilador Turbo C, en el PC que le asignaron, verifique la ruta de
acceso.

"Si piensas que estas adelante,


Ya lo estas"C. Barnard.
PRACTICA #2
CONTENIDO:
• Concepto de algoritmo • Expresiones
• Tipos de datos • Asignación
• Operaciones primitivas • Entrada y salida de
• Constantes y variables información.
TIEMPO: 2 horas/prácticas.
SEMANA: 2
HERRAMIENTAS:
• Tipos de Datos (Información Nominada): valores numéricos, lógicos y
caracteres.
• Identificación de un valor: abstracción, copia, acumulación, entrada y salida
simple.
EJERCICIOS:
2.1. Dada la siguiente lista, identificar cuales son variables y cuales constantes:
a. 111 f. 3.5 * 10
b. a g. 389*c + 345*5
c. 32,767*Z
d. ½
e. (x - r) + 5
2.2. En la lista siguiente, identificar valores numéricos, lógicos y caracteres:
a. “567” e. 57 * 234
b. 17 = 235 f. “constante”
c. 13 > 19 g. cos 60
d. “variable” h. "sen 30"
2.3. Identificar en los siguientes casos: entrada y salida, copia, acumulación y abstracción.
a. X  X + 1 d. CC 
b. Y  X e. CC 
c. X  X + Y

PROGRAMACION
P.1 En C se pueden dar valores a la mayoría de las variables a la vez que se declaran
poniendo un signo igual y una constante después del nombre de la variable. El formato
general de la inicialización es
tipo nombre_varible = constante;
P.2 Traduzca al lenguaje C las siguientes instrucciones:
SUMA  0 P.3 NOMBRE  “MARIA”
CONT  0
P.3 Investigue:
• Cuales son los tipos de datos que se consideran en el lenguaje C.
• Investigue en que consisten las barras invertidas (en lenguaje C)
a.\n b. \f

“Las matemáticas son el alfabeto con que Dios ha escrito el Universo” G.G.
Algoritmos y Programación. TI-2314. Prof. A. S. Chikhani C. 5

PRACTICA #3
CONTENIDO:
• Análisis y Resolución de Problemas.
• Diseño de algoritmos.
TIEMPO: 3 horas/practica.
SEMANA: 3
HERRAMIENTAS:
• Información Nominada o Tipos de datos: numéricos, lógicos y caracteres.
• Identificación de un valor: abstracción, copia, acumulación, entrada y salida
simple.
• Acción nominada
• Composición de las acciones. Secuenciamiento.

EJERCICIOS:

3.1.Deducir los resultados de las variables a, b y c, que se obtienen del siguiente algoritmo.
εo{Sean a, b, c ∈ N}
inicio
a 
b 
c  (a+ b)
a, b, c  { escribir a,b,c}
fin
3.2. Realizar el algoritmo que sume dos números dados leídos.
3.3. Escribir un algoritmo que calcule y escriba el producto de dos números reales.
3.4. Escribir un algoritmo que lea un número y escriba el producto de este por 10.
3.5. Escribir un algoritmo que lea dos datos de tipo numérico y los imprima en el orden
inverso como fueron leídos.
3.6. Realizar un algoritmo que intercambie los valores de dos variables numéricas.
3.7. Dados tres nombres A,B,C identificando tres valores numéricos a,b,c. Se quiere
permutar estas identificaciones de manera circular { A,B,C ∈ Z}.

PROGRAMACIÓN:
P.1 Codifique en lenguaje C el algoritmo desarrollado en la pregunta 3.1.
P.2 Investigue como se traduce los comentarios en lenguaje C
P.3 Investigue para que sirve la función main()
P.4 Corra el siguiente programa e interprete los resultados.
/* Muestra las diferencias entre enteros con signo y sin él */
main()
{
int i; /* Un entero con signo */
unsigned int j; /* un entero sin signo*/
j = 60000;
i = j;
Algoritmos y Programación. TI-2314. Prof. A. S. Chikhani C. 6

printf (“%d %u”, i, j);


}

P.5 Indique un contraejemplo con el cual quede demostrado que la siguiente sentencia
que intenta conviertir una temperatura dada en Celsius a Fahrenheit, es errónea.
#define CaF(t) 1.8 * (t) + 32;

“La distancia no es cuánto te separes, la distancia es si no vuelves”


Alejandro Sanz
Algoritmos y Programación. TI-2314. Prof. A. S. Chikhani C. 7

PRACTICA #4
CONTENIDO:
• Análisis y Resolución de Problemas
• Diseño de algoritmos
• Empleo de Herramientas de Partición
TIEMPO: 3 horas/practica.
SEMANA: 4
HERRAMIENTAS:
• Información Nominada o Tipos de datos: numéricos, lógicos y caracteres.
• Identificación de un valor: abstracción, copia, acumulación, entrada y salida
simple.
• Acción nominada
• Composición de las acciones. Secuenciamiento.
• Herramientas de Partición o Condicionales

EJERCICIOS:
4.1 Se desea que Usted realice el algoritmo que permita, dado un dato de valor numérico
perteneciente al conjunto de los números naturales, imprimir su valor en el caso que sea
igual a cien (100).
4.2 Se desea que Usted realice el algoritmo que permita dado un dato numérico
perteneciente al conjunto de los enteros, determinar si este dato es igual a cero (0).
4.3 Se desea que Usted realice el algoritmo que permita dado un dato de valor entero,
determinar si este dato es positivo o negativo (considere el cero como positivo).
4.4 Se desea que Usted realice el algoritmo que permita dado un dato de valor entero,
determinar si este dato es positivo o negativo o cero.
4.5 Realice el algoritmo más práctico para determinar dado tres valores su producto (si la
suma de los tres valores es positiva), y si es negativa imprimir los valores elevando al
cuadrado cada uno de ellos.
4.6 Dados los datos de dos personas, es decir, nombre y cédula de identidad. Imprima la
persona que tiene el número de cédula mayor.
4.7 Realice el algoritmo que dados dos números leídos, imprima el número mayor.
4.8 Determine si un entero dado pertenece a un intervalo dado.
4.9 Realice el algoritmo que resuelva una ecuación de segundo grado.
4.10 Realice el algoritmo que permita determinar el máximo de tres valores dados
4.11 Sean tres datos, referentes a las notas de tres estudiantes de algoritmos y
programación del primer parcial. Indique cual fue la mejor y la peor nota.
PROGRAMACIÓN:
P.1 Investigue como se traducen a lenguaje C las herramientas de Partición.
P.2 Realice en lenguaje C el ejercicio 4.2.
P.3 Sea el siguiente segmento de un programa:

Main ( )
{
float f=1.267587;
if ((f/9.1) * 9.1) == 1.267587)
Algoritmos y Programación. TI-2314. Prof. A. S. Chikhani C. 8

printf("Preciso");
else
printf(Ïmpresiso");
}

Explique por que al ejecutar este programa se puede obtener como salida Impreciso.

Cuando debas hacer algo que se te resista


dí simplemente: Debo hacerlo ahora mismo
y no puedo dejarlo para más tarde,
y empieza a actuar.
Anónimo
Algoritmos y Programación. TI-2314. Prof. A. S. Chikhani C. 9

PRACTICA #5
CONTENIDO:
• Secuenciamiento
• Herramientas de Partición
• Herramientas de iteración

TIEMPO: 3horas/practica.
SEMANA: 5
HERRAMIENTAS:
• Información Nominada: valores • Partición (Selección) y
numéricos, lógicos y Partición particular (Si α
caracteres. entonces A fsi)
• Identificación de un valor: • Herramientas de Iteración.
abstracción, copia,
acumulación, entrada y salida
simple.
• Composición de las acciones.
Secuenciamiento.

EJERCICIOS:

5.1.Se desea que Usted realice el algoritmo que permita sumar diez números
introducidos (leídos) e imprimir su valor.
5.2.Realice el algoritmo que permita sumar 100 números leídos e imprimir el
resultado.
5.3.Se desea que Usted realice el algoritmo que permita, dada una secuencia de N
números, sumarla e imprimir el resultado.
5.4.Calcular e imprimir la suma y el producto de los números pares comprendidos
entre 20 y 400 ambos inclusive.
5.5.Leer una serie de números distintos de cero (el último número de la serie es el -
99) y obtener el número mayor. Como resultado se debe visualizar el número
mayor y un mensaje de indicación de número negativo (en el caso que se lea un
número negativo).
5.6.Leer n números enteros y obtener cuantos son positivos {con n > 50 y n ∈ N}.
5.7.Calcular la suma de los cuadrados de los 100 primeros números naturales.
5.8.Sumar los números pares del 2 al 100 e imprimir su valor.
5.9.Calcular la media de 50 números e imprimir el resultado.
5.10. Calcular la suma, independientemente, de los números pares e impares
comprendidos entre 1 y 1000.
5.11. Dados 10 números enteros, imprimir la suma de los números pares de la
lista, cuántos números pares existen y cuál es la media aritmética de los números
impares.
5.12. Calcular el elemento de rango n de una serie de Fibonacci (n>=0)
F0 = 0
F1 = 1
Algoritmos y Programación. TI-2314. Prof. A. S. Chikhani C. 10

Fi = Fi-1 + Fi-2 V i > 1.


5.13. Dada una secuencia de números ordenados (orden creciente), determinar
cuantos elementos de la secuencia son más pequeños que un número dado n. {con n
∈ Z}.

PROGRAMACIÓN:

P.1. Investigue como se traducen a lenguaje C las herramientas de Iteración discutidas en


clase.
P.1. Sea el siguiente programa en lenguaje C. Se desea que usted lo corra en un
computador e interprete la salida.
/* Suma los números del 0 al 9 */
int sum;
main()
{
int contador
sum = 0; /*inicializa */
for (contador = 0; contador < 10; contador++){
total (contador);
display();
}
}
/* añade al total */
total (x)
int x;
{
sum = x +sum;
}

display()
{
int contador; /* este contador es diferente del de main()*/

for (contador=0; contador < 10; contador++) printf “.”);


printf(“la suma actual es %d\n”, sum);
}
P.3. Interpreta que hace el siguiente segmento de un programa realizado en lenguaje C.
int strlen (char* s)
{
int i=0;
while (s[i] != 0)
i++;
return i;
}
“Un hoy vale por dos mañanas”. Francis Quarles.
Algoritmos y Programación. TI-2314. Prof. A. S. Chikhani C. 11

PRACTICA #6
CONTENIDO:
• Tratamiento de una secuencia • Funciones y Acciones
• Herramientas de tratamiento • Parámetros locales y globales
para secuencias de caracteres
• Construcción de algoritmos
iterativos.
TIEMPO: 3horas/practicas.
SEMANA: 6
HERRAMIENTAS:
• Secuenciamiento. • Parámetros locales y
• Herramientas de Partición. globales
• Herramientas de Iteración.
EJERCICIOS:
6.1 Investigue en la guía de teoría suministrada por la profesora, en que consiste el pase
de parámetros por valor y referencia
6.2 Sea el siguiente segmento de un algoritmo. Realice el programa principal que llame
a la función que se describe a continuación.
Función tan (x)
{función tan(x) igual a sen(x)/cos(x)}
inicio
tan(x) <-- seno(x)/cos(x)
fin
Ffunción
6.3 Realice el algoritmo que permita encontrar el factorial de un número dado. Utilice
funciones y pase de parámetros.
6.4 Se desea que Usted realice el algoritmo que permita encontrar la potencia de un número
dado, donde la base y el exponente son datos leídos pertenecientes a los números
enteros. Sugerencia: Realice una función para encontrar el valor absoluto.
6.5 Explique detalladamente cuando emplear Funciones y cuando Procedimientos.
6.6 Explique cual es el alcance de las variables locales y globales.
6.7 Realice la función que permita determinar el signo de un dato X entero. (0 si X = 0, 1 si
X > 0 y -1 si X < 0)

PROGRAMACIÓN:
P.1 Investigue como se declaran en C los parámetros: globales y locales a un proceso.
P.2 Codifique y complete el siguiente segmento del algoritmo dado.
Función Multiplica (m,n)
Resultado <- 0
Repetir
Si m > 0 entonces
M <- M*10

Fsi
resultado <- resultado + m
Algoritmos y Programación. TI-2314. Prof. A. S. Chikhani C. 12

hasta m > 100


resultado -->
ffunción Multiplica

“Caminante, no hay camino, se hace camino al andar”


Antonio Machado.
Algoritmos y Programación. TI-2314. Prof. A. S. Chikhani C. 13

PRACTICA #7
CONTENIDO:
Introducción a los Arreglos.
Introducción a la utilización de los arreglos en un análisis.
TIEMPO: 3 horas/practicas.
SEMANAS: 7
HERRAMIENTAS:
• Iteración.
• Arreglo
EJERCICIOS:
7.1 Realice el algoritmo que permita leer una secuencia de 10 números y almacenarlos en
un arreglo de nombre NUM.
7.2 Se desea que Usted realice el algoritmo que permita almacenar en un arreglo de nombre
DATOS, M datos enteros leídos desde el teclado.
7.3 Realice el algoritmo que permita dado un arreglo de números naturales, de nombre
DATOS con dimensión N, buscar un número leído desde el teclado y enviar un mensaje
si este dato pertenece al arreglo.
7.4 Se desea que Usted realice un algoritmo que permita, dado un arreglo de M posiciones
que contiene datos numéricos, imprimir los datos cuyo valor sea mayor que 10.
7.5 Se desea que Usted realice un algoritmo que permita, dado un arreglo de M posiciones
que contiene datos numéricos, imprimir los datos que se encuentren almacenados en la
mitad superior de la estructura.
7.6 Calcular el valor mínimo de un arreglo de números enteros.
7.7 Realice el algoritmo que permita leer desde el teclado una secuencia de N números,
almacénelos e imprímalos en sentido contrario a como fueron dados.
7.8 Se da una fecha en forma de tres números:
• número del día
• número del mes
• número del año
Determinar el rango de esta fecha en su año.
7.9 Dada una secuencia de números, se quiere imprimir la monotonía creciente más larga.
PROGRAMACIÓN:
P.1 Investigue como se declara un arreglo de 100 posiciones de números enteros
P.2 Investigue como se traduce un arreglo de 1000 posiciones de caracteres.
P.3 Interprete la siguiente función y explique como opera.
int suma (int datos[ ], int longitud)
{
int i=0, total=0;
for (i=0; i<longitud; i++)
total = datos[i] + total;
return total;
}
P.4 "Corra" el programa e interprete la salida.
"...Si piensas que estas adelante, ya lo estas." C. Barnard.
Algoritmos y Programación. TI-2314. Prof. A. S. Chikhani C. 14

PRACTICA # 8
CONTENIDO:
Arreglos.
Manejo de Arreglos Bidimencionales.
TIEMPO: 3 horas/practicas.
SEMANAS: 8
HERRAMIENTAS:
• Herramientas de Iteración.
• Estructuras de almacenamiento estáticas: Arreglo
• Estructuras de almacenamiento estáticas multidimensionales: Matrices

EJERCICIOS:
8.1 Realice el algoritmo que permita almacenar los datos en una matriz cuadrada de
dimensión n x n, es decir, (aij), i=1, ....., n, j=1,......,n.
8.2 Realice el algoritmo que permita sumar dos matrices A y B, ambas de dimensión n x n.
8.3 Se desea que Usted realice el algoritmo que permite dada una matriz de dimensión nxn,
imprimir aquellos datos que se encuentren almacenados en la diagonal.
8.4 Realice el algoritmo que permita obtener la traspuesta de una matriz A de dimensión m
x n.
8.5 Se desea que Usted realice el algoritmo que permite dada una matriz de dimensión nxn,
imprimir aquellos datos que estén almacenados en la triangular superior.
8.6 Se desea que Usted realice el algoritmo que permite dada una matriz de dimensión nxn,
imprimir aquellos datos que estén almacenados en la triangular inferior.
8.7 Realice el algoritmo que determine si una matriz es Triangular Superior.
8.8 Realice el algoritmo que determine si una matriz A es Triangular Inferior.
8.9 Se desea que Usted realice el algoritmo que permite, dada una matriz de dimensión nxn,
reconocer si esta matriz se puede denominar Esparce.
8.10 Juego de la vieja. Realice un algoritmo que permita almacenar una estructura de la
siguiente forma:
A B C
Con A,B,C,D,F,G,H e I ∈ (X,0)
D E F

G H I
Luego determine el ganador de una jugada efectuada al azar.
8.11 Realice el algoritmo que calcule la matriz C, donde C=A x B.

PROGRAMACIÓN:
P.1 Investigue como se declara en lenguaje C, una matriz bidimensional.
P.2 Realice el programa que permita rellenar la estructura cuya declaración es como
sigue:
char x[3] [4] [2]
Algoritmos y Programación. TI-2314. Prof. A. S. Chikhani C. 15

PRACTICA # 09
CONTENIDO:
• Estudio de los algoritmos para:
a. Ordenamiento
b. Búsqueda e
c. Inserción
TIEMPO: 3 horas/practicas.
SEMANAS: 9
HERRAMIENTAS:
• Secuenciamiento.
• Partición.
• Iteración.
• Acumulación.
• Arreglo

EJERCICIOS:

9.1.Escribir un algoritmo que lea 10 nombres y los ponga en orden alfabético utilizando
el método de selección.
9.2.Clasificar el arreglo:
a. 1000 320 3 34
por los métodos:
• selección
• burbuja
Cada vez que se reorganice el arreglo, muestre el nuevo arreglo formado.
9.3.Suponga que tiene una secuencia de n números que deben ser clasificados,
utilizando el método de selección, cuantas comparaciones y cuantos intercambios se
requieren para clasificar la secuencia se supone que esta en orden inverso cuantas
comparaciones y cuantos intercambios se requieren para clasificar la secuencia
9.4.Escribir un algoritmo de búsqueda lineal para un vector ordenado.
9.5.Realice el algoritmo que permita leer una secuencia de 10.000 números enteros
positivos terminada por 0; y realizar las siguientes operaciones:
• Imprimir los número de la lista en orden creciente
• Calcular el promedio de los números menores que 1000
• Determinar el número que ocurre más frecuentemente.
• Imprimir:
o Cantidad de Números menores que 5
o Cantidad de números mayores de 100
• Encontrar e imprimir el entero más grande de la lista con su posición en la lista
antes de ordenarla.
9.6.Realizar algoritmos para la inserción de un nuevo valor en una secuencia de
números ordenadas crecientemente. (Algoritmo de Búsqueda Binaria)
Algoritmos y Programación. TI-2314. Prof. A. S. Chikhani C. 16

PROGRAMACIÓN:

P.1. Programar (traducir a lenguaje C) y medir el tiempo de tres métodos directos de


ordenación.
Sugerencia: Córralo para un ejemplo de por lo menos 100 posiciones. Es decir una
estructura que contenga mínimo 100 datos.

Piensa en grande
Y tus logros serán una realidad;
Piensa en pequeño
Y te quedaras atrás.
C. Barnard.
Algoritmos y Programación. TI-2314. Prof. A. S. Chikhani C. 17

PRACTICA # 10
CONTENIDO: Estructuras de datos Dinámicas y lineales.
• Estructura de lista
• Representación por Contiguidad
• Representación por enlace.
• Listas circulares
• Listas doblemente enlazada
TIEMPO: 3 horas/practicas.
SEMANA: 10
HERRAMIENTAS:
• Arreglos
• listas enlazadas
• Organización del espacio
• Apuntadores.

EJERCICIOS:
10.1. Dada una lista lineal cuya estructura de nodos consta de los campos INFO (Contiene
la información del nodo) y enlace que contiene el apuntador al siguiente nodo de la lista,
diseñe el algoritmo que cuente el número de nodos de la lista.
10.2. Realice el algoritmo que permite almacenar un arreglo de nombre NUM, que
contiene números naturales, en una lista lineal.
10.3. Se desea que Usted realice el algoritmo de búsqueda binaria asumiendo que los
datos se encuentran almacenados en una lista con disposición secuencial.
10.4. Realice el algoritmo que cambie el campo INFO del n-ésimo nodo de una lista
enlazada simple por un valor dado.
10.5. Dadas dos listas enlazadas, cuyos nodos frontales se indican por los apuntadores
PRIMERO y SEGUNDO, respectivamente. Realizar un algoritmo que una ambas listas.
10.6. Realice el algoritmo que dada una lista enlazada almacenada en memoria LISTA_1,
la copie en otra lista denominada LISTA _2.
10.7. Escriba el algoritmo que realice una inserción a la izquierda del n-ésimo nodo de la
lista.
10.8. Realizar el algoritmo que cuente el número de nodos de una lista circular que tiene
un apuntador a la cabecera.
10.9. Supóngase, que los registros de una lista enlazada tienen una clave de tipo entero.
Se pide escribir un programa que organice la lista en orden creciente de la claves y
construir un procedimiento que invierta el orden de la lista.
10.10. Realice el algoritmo que inserte un nodo al final de una lista circular.
10.11. En las listas circulares se utiliza normalmente una cabecera de lista. ¿Por qué se
utiliza esta cabecera? Escribir procedimientos que hagan la inserción, el borrado y la
búsqueda de un elemento identificado por una clave dada. Hacerlo primero suponiendo que
existe una cabecera y, después, que esta no existe.
10.12. Supóngase que, utilizando una lista enlazada, se implementa una cola Q de
elementos tipo To (estructura FIFO, es decir, primero en entrar primero en salir). Definir
Algoritmos y Programación. TI-2314. Prof. A. S. Chikhani C. 18

una estructura de datos apropiada, procedimientos para insertar y extraer un elemento, y


una función que compruebe si la cola está vacía o no.
10.13. Una lista bidireccional es una lista de elementos enlazados en ambas direcciones.
Ambas cadenas de enlaces parten de una cabecera. De forma análoga al ejercicio 10.9. Se
pide escribir un conjunto de procedimientos para buscar, insertar y eliminar elementos en
una lista de ese tipo.

PROGRAMACIÓN:

P.1. Verifique como se traducen los apuntadores y enlaces en lenguaje C.


P.2. Verifique como se declara una estructura dinámica en lenguaje C.
P.3. Realice el programa que permita rellenar una lista que contendrá los datos básicos
de los egresados de la USB-SDL que pasen por el peaje Caracas - La Guaira en una
fecha y a una hora determinada a priori.

Si piensas que estas adelante,


Ya lo estás.
C. Barnard
Algoritmos y Programación. TI-2314. Prof. A. S. Chikhani C. 19

PRACTICA # 11
CONTENIDO:
• Noción de archivos
• Conceptos y definiciones
• Operaciones sobre archivos.
TIEMPO: 3horas/practicas.
SEMANA: 11
HERRAMIENTAS:
• Iteración. • Acumulación.
• Secuenciamiento. • Registros
• Partición. • Archivos

EJERCICIOS:

11.1. ¿Cuáles son las razones para definir determinados conjuntos de datos como
archivos secuenciales en lugar de arreglos?
11.2. Diseñar un algoritmo que permita crear un archivo DATO-ESTUDIANTE
cuyos registros constan de los siguientes campos:
NOMBRES ESTADO_CIVIL
APELLIDOS DIRECCION
CEDULA_DE_IDENTIDAD CIUDAD
NACIONALIDAD CODIGO POSTAL
FECHA_NACIMIENTO TELEFONO

• Cual cree usted que debe ser el campo Clave.


• Realizar un algoritmo que lea el archivo e imprima los registros de todo el
archivo secuencialmente.
11.3. Realice el algoritmo que permita leer un registro determinado, suponiendo
que el archivo es indexado
11.4. Diseñe un algoritmo que genere un archivo secuencial MAT_UDELL cuyos
registros contienen los siguientes campos:
COD_MAT
SECCION
F_ADQ
F_ELLA
F_EXP
DESCRIPCION
CANTIDAD

• Diseñar el algoritmo que permita modificar el contenido de alguno de los


registros del archivo secuencial MAT_UDELL mediante datos
introducidos por teclado.
11.5. Realice el algoritmo que permita almacenar los datos en una estructura con
la siguiente característica:
Algoritmos y Programación. TI-2314. Prof. A. S. Chikhani C. 20

Inf-est: arreglo de [1..100] de Estudiantes


Estudiantes: Registro
Nombre: string(20)
Apellidos: string (50)
Cédula: numérico
Dir: string(50)
Teléfono: numérico
Cod-materias: arreglo de [1..20] de carácter
Fregistro
Sugerencia: Grafique la estructura.

PROGRAMACIÓN:

P.1 Investigue como se declaran los registros


P.2 Realice el programa que permita almacenar un arreglo de 100 posiciones en un
archivo ubicado en la unidad A.

“No basta saber, se debe también aplicar;


no es suficiente querer,
se debe también hacer”.Goethe
Algoritmos y Programación. TI-2314. Prof. A. S. Chikhani C. 21

PRACTICA # 12
CONTENIDO: Introducción a la Programación Orientada a Objeto
• Objetos
• Clases
• Pase de mensajes
TIEMPO: 3 horas/practicas.
SEMANA: 12
HERRAMIENTAS:
• Encapsulamiento
• Abstracción
• Herencia

EJERCICIOS:

12.1 ¿Cuál es la razón para no permitir añadir declaraciones de funciones miembro de una
clase fuera de la declaración de la clase?
12.2 Es posible obtener acceso a los miembros no públicos de una clase simplemente
declarando una función que sea amiga de esa clase, y usando entonces esa función para
acceder a los miembros no públicos de la clase?

PROGRAMACIÓN:
P.1. Discuta y explique a que miembros puede acceder los objetos de la clase primera y de la
clase segunda, del segmento del programa que se presenta a continuación?
Class primera {
private:
// miembros privados
public:
//miembros publicos
};
Class segunda {
Friend class primera;
Private:
//miembros privados
public:
//miembros publicos
};
No olvides nunca que Un trabajo o una situación difícil es la acumulación de cosas fáciles que
no se hicieron en el momento oportuno.
Anónimo.

Вам также может понравиться