Ok - Syllabus Programacion Gest Ii - 2006
Ok - Syllabus Programacion Gest Ii - 2006
Ok - Syllabus Programacion Gest Ii - 2006
Facultad de Ingeniería
Ingeniería de Sistemas
PRIMER SEMESTRE
SYLLABUS DE LA ASIGNATURA
PROGRAMACION I
U N I V E R S I D A D D E A Q U I N O B O L I V I A
1
FACULTAD DE INGENIERIA
VISION DE LA UNIVERSIDAD
MISION DE LA UNIVERSIDAD
U N I V E R S I D A D D E A Q U I N O B O L I V I A
2
FACULTAD DE INGENIERIA
U N I V E R S I D A D D E A Q U I N O B O L I V I A
3
FACULTAD DE INGENIERIA
U N I V E R S I D A D D E A Q U I N O B O L I V I A
4
FACULTAD DE INGENIERIA
U N I V E R S I D A D D E A Q U I N O B O L I V I A
5
FACULTAD DE INGENIERIA
U N I V E R S I D A D D E A Q U I N O B O L I V I A
6
FACULTAD DE INGENIERIA
Nota
2° evaluación parcial
Fecha
Nota
Examen final
Fecha
Nota
APUNTES
U N I V E R S I D A D D E A Q U I N O B O L I V I A
7
FACULTAD DE INGENIERIA
1 TEMA 1
2 TEMA 2
3 TEMA 2
4 TEMA 3.1.1, 3.1.2, 3.1.3
5 TEMA 3.1.3
6 TEMA 3.2
7 TEMA 3.2 EVAL PARC. I Presentación de notas
8 TEMA 3.3.2
9 TEMA 3.3.2
10 TEMA 3.3.3
11 TEMA 3.3.4
12 TEMA 3.3.4
13 TEMA 3.3 EVAL PARC. II
14 TEMA 4 Presentación de notas
15 TEMA 4
16 TEMA 4
17 TEMA 4
18 TEMA 5
19 EVALUACION FINAL
Presentación de notas /
20 SEGUNDA INSTANCIA
informe final
U N I V E R S I D A D D E A Q U I N O B O L I V I A
8
FACULTAD DE INGENIERIA
WORK PAPER # 1
FECHA DE ENTREGA:
Introducción Computadora
Con la computadora podemos diseñar Una computadora es un dispositivo capaz de
soluciones de problemas específicos que se realizar cálculos y tomar decisiones lógicas a
nos presenten y más aún, si estos involucran velocidades hasta miles de millones de veces
operaciones matemáticas complejas y/o más altas que las alcanzables por los seres
repetitivas, o requieren del manejo de un humanos.
volumen muy grande de datos. Es un dispositivo electrónico utilizado para
A las soluciones creadas por computadora se procesar información y obtener resultados.
les conoce como programas y no son mas Los datos y la información se pueden
que una serie de operaciones que realiza la introducir en la computadora como entrada
computadora para llegar a un objetivo o (input) y a continuación se procesan para
resultado. producir una salida (output).
Para poder realizar programas, debemos de
conocer de manera especifica las funciones Definición de un algoritmo.
que puede realizar la computadora y las Un algoritmo es una serie de pasos
formas en que se pueden manejar los organizados que describe el proceso que se
elementos que hay en la misma. debe seguir, para resolver un problema
especifico ó realizar una tarea determinada.
Dos conceptos Importantes:
Un algoritmo es un método para resolver un
problema, debe presentarse como una
secuencia ordenada de instrucciones que
siempre se ejecutan en un tiempo finito y con
una cantidad de esfuerzo también finito, cada
o HARDWARE : Grupo de componentes
instrucción tiene un significado preciso.
físicos de la computadora (equipo físico),
La principal razón para que las personas
y esta compuesto de:
aprendan lenguajes y técnicas de
Unidad Central de Proceso, UCP programación es utilizar el computador como
(Central Processing Unit, CPU) una herramienta para resolver problemas.
Memoria Central
Dispositivo de Almacenamiento
Secundario (memoria auxiliar)
Periféricos o Dispositivos de
Entrada/Salida E/S
U N I V E R S I D A D D E A Q U I N O B O L I V I A
9
FACULTAD DE INGENIERIA
U N I V E R S I D A D D E A Q U I N O B O L I V I A
10
FACULTAD DE INGENIERIA
La prueba resulta una tarea tan creativa 4. Dar dos ejemplos de Dispositivos de
como el mismo desarrollo de la solución, Salida y describir su funcionamiento.
por ello se debe considerar con el mismo
interés y entusiasmo. 5. Describe paso a paso un algoritmo
Resulta conveniente observar los cotidiano que realices en tus actividades
siguientes principios al realizar una diarias.
prueba, ya que de este trabajo depende el
éxito de nuestra solución. 6. Diseñar un algoritmo cotidiano para asistir
a clases.
WORK PAPER # 2
FECHA DE ENTREGA:
U N I V E R S I D A D D E A Q U I N O B O L I V I A
11
FACULTAD DE INGENIERIA
U N I V E R S I D A D D E A Q U I N O B O L I V I A
12
FACULTAD DE INGENIERIA
U N I V E R S I D A D D E A Q U I N O B O L I V I A
13
FACULTAD DE INGENIERIA
7. em@il 24. 4 + 2 * 5
8. calle# 25. 23 * 2 / 5
9. x_23_ 26. 3 + 5 * (10 - (2 + 4))
10. nombre____23 27. 3.5 + 5.09 - 14.0 / 40
11. 3_3ddd44 28. 2.1 * (1.5 + 3.0 * 4.1)
12. _dde33 29. (3*2^5 mod 1 + 8*(3-5) < (2+8-1 mod 1)
13. d_44txxx5 30. (3*32 mod 2 + (-16)) < 10 and -16 < 10
14. x_1 31. 3*2 or (3+5*8) < 3 and ((-6/3 div 4)*2 < 2)
15. 1x 32. V or 43 < 3 and (0*2 < 2) or V or F and V
16. x-1 33. 3 mod 2 div 3 + 3*2/2 + 4-2*3
17. suma 34. (-B*2 <> 8*3 mod 4) and not (12*2>=24)
18. SUMA 35. (0 <> 24 mod 4) y F
19. %cambio 36. 3+2 or not (3=5) and (8 <> 3*2) and not F
20. primer.pas
21. abc1234 c Sean a = 10 b = 12 c = 13 d =10
22. ant_al 37. ((a > b)or(a < c)) and ((a = c) or (a > = b
23. program 38. ((a > = b) or (a < d)) and (( a > = d) and (c
> d))
Resolver las siguientes expresiones: 39. not (a = c) and (c > b)
WORK PAPER # 3
FECHA DE ENTREGA:
U N I V E R S I D A D D E A Q U I N O B O L I V I A
14
FACULTAD DE INGENIERIA
U N I V E R S I D A D D E A Q U I N O B O L I V I A
15
FACULTAD DE INGENIERIA
2. x#y= 5 + 5
Indica la salida de información por
impresora.
3. 1_=x = 2
6. Num1=x+5
U N I V E R S I D A D D E A Q U I N O B O L I V I A
16
FACULTAD DE INGENIERIA
20. 23.
‘el resultado’, x, que tal Introduzca su email
21. 24.
‘ email, nombre’, , x ‘el nro es’, ((x+2)*3)/2, z
WORK PAPER # 4
FECHA DE ENTREGA:
U N I V E R S I D A D D E A Q U I N O B O L I V I A
17
FACULTAD DE INGENIERIA
U N I V E R S I D A D D E A Q U I N O B O L I V I A
18
FACULTAD DE INGENIERIA
U N I V E R S I D A D D E A Q U I N O B O L I V I A
19
FACULTAD DE INGENIERIA
WORK PAPER # 5
FECHA DE ENTREGA:
U N I V E R S I D A D D E A Q U I N O B O L I V I A
20
FACULTAD DE INGENIERIA
U N I V E R S I D A D D E A Q U I N O B O L I V I A
21
FACULTAD DE INGENIERIA
11. Un obrero necesita calcular su salario computadoras son menos de cinco se les
semanal, el cual se obtiene de la sig. dará un 10% de descuento sobre el total
manera: de la compra; si el número de
Si trabaja 40 horas o menos se le computadoras es mayor o igual a cinco
paga $16 por hora pero menos de diez se le otorga un 20%
Si trabaja más de 40 horas se le paga de descuento; y si son 10 o más se les da
$16 por cada una de las primeras 40 un 40% de descuento. El precio de cada
horas y $20 por cada hora extra. computadora es de $11,000
12. Que lea dos números y los imprima en 17. Una frutería ofrece las manzanas con
forma ascendente descuento según la siguiente tabla:
NUM. DE KILOS % DESCUENTO
13. En un supermercado se hace una 0 - 2 0%
promoción, mediante la cual el cliente 2.01 - 5 10%
obtiene un descuento dependiendo de un 5.01 - 10 15%
número que se escoge al azar. Si el 10.01 en adelante 20%
numero escogido es menor que 74 el Determinar cuanto pagara una persona
descuento es del 15% sobre el total de la que compre manzanas es esa frutería.
compra, si es mayor o igual a 74 el
descuento es del 20%. Obtener cuanto 18. Realice un algoritmo, donde el usuario
dinero se le descuenta. introduzca una calificación de la materia
de programación I (nota<=0 y nota>=100).
14. Leer 2 números; si son iguales que los Si la nota introducida es:
multiplique, si el primero es mayor que el Nota Imprimir
segundo que los reste y si no que los 0- 20 Alumno Pésimo
sume. 21 – 50 Alumno Malo
51 – 60 Alumno Regular
15. Determinar la cantidad de dinero que 61 – 70 Alumno Bueno
recibirá un trabajador por concepto de las 71 – 85 Alumno Muy Bueno
horas extras trabajadas en una empresa, 86 – 100 Alumno Excelente
sabiendo que cuando las horas de trabajo
exceden de 40, el resto se consideran 19. Leer dos números del teclado y
horas extras y que estas se pagan al realizar las cuatro operaciones aritméticas
doble de una hora normal cuando no básicas entre ellos (+, -, *, /, div, mod).
exceden de 8; si las horas extras exceden Considere que los números pueden ser
de 8 se pagan las primeras 8 al doble de positivos, negativos o cero. Validar la
lo que se pagan las horas normales y el división entre cero.
resto al triple.
20. Que lea tres números diferentes y
16. En una fábrica de computadoras se determine el numero medio del conjunto
planea ofrecer a los clientes un descuento de los tres números (el numero medio es
que dependerá del numero de aquel numero que no es ni mayor, ni
computadoras que compre. Si las menor).
U N I V E R S I D A D D E A Q U I N O B O L I V I A
22
FACULTAD DE INGENIERIA
WORK PAPER # 6
FECHA DE ENTREGA:
U N I V E R S I D A D D E A Q U I N O B O L I V I A
23
FACULTAD DE INGENIERIA
Donde:
El bucle puede que se ejecute 0 veces, por Es decir que cuando un bucle se tenga que
tanto usaremos obligatoriamente este tipo de ejecutar como mínimo una vez, podremos
bucle en el caso de que exista la posibilidad usar una estructura repetir o mientras, la
de que el bucle pueda ejecutarse 0 veces. única diferencia que habrá entre las dos, es
que para hacer lo mismo, las condiciones
Estructura Iterativa REPETIR - HASTA tienen que ser contrarias.
Esta es una estructura similar en algunas
características, a la anterior. Repite un CUESTIONARIO WORK PAPER No. 6
proceso una cantidad de veces, pero a
diferencia del Hacer-Mientras, el Repetir- 1. Elabore un algoritmo que despliegue la
Hasta lo hace hasta que la condición se tabla de multiplicar del 5, por pantalla.
U N I V E R S I D A D D E A Q U I N O B O L I V I A
24
FACULTAD DE INGENIERIA
U N I V E R S I D A D D E A Q U I N O B O L I V I A
25
FACULTAD DE INGENIERIA
25. Elabore un algoritmo para convertir un 31. Hacer un algoritmo que dado un
número Decimal a su equivalente a numero cualquiera n, generar el siguiente
Hexadecimal, imprimir. triangulo:
Si n = 5
26. Elabore un algoritmo para invertir un Si n = 3 1
numero Ej. 524 425, imprimir. 1 12
12 123
27. Elabore un algoritmo que determine si 123 1234
un número es perfecto o no. Un número 12345
es perfecto cuando la suma de todos sus
divisores da el mismo número. Ej. 32. Elabore un algoritmo para determinar
(El 6 es perfecto ya que, 1+2+3 = 6). cuantos dígitos primos tiene un numero N.
Ej.
28. Elabore un algoritmo que muestre los 195 el 1 y 5 son primos entonces
N primeros elementos de la siguiente muestra 2.
serie:
1 2 3 4 3 2 1 2 3 4 3 2……. 33. Elabore un algoritmo para determinar si
los dígitos de un numero N están
Ejemplos: ordenado de forma ascendente.
N=8 muestra: 1 2 3 4 3 2 1 4 236 muestra ORDENADO
N=5 muestra: 1 2 3 4 3 326 muestra DESORDENADO
29. Elabore un algoritmo que muestre el 34. Elabore un algoritmo para separar los
N elemento de la siguiente serie: 1, 2, 6, dígitos pares e impares de un numero N.
12, 20, 30, 42…… Ej.
Ejemplos: N = 12654 resultado N1= 264 y N2= 5
N=3 muestra: 6 N = 8670 resultado N1= 86 y N2= 7
N=6 muestra: 30
WORK PAPER # 7
U N I V E R S I D A D D E A Q U I N O B O L I V I A
26
FACULTAD DE INGENIERIA
FECHA DE ENTREGA:
U N I V E R S I D A D D E A Q U I N O B O L I V I A
27
FACULTAD DE INGENIERIA
Un procedimiento es un subprograma o un
A través de los parámetros reales de la subalgoritmo que ejecuta una determinada
llamada se proporciona a la función la tarea, pero que tras ejecutar esa tarea no
información que necesita, para ello, al hacer tienen ningún valor asociado a su nombre
la llamada lo que se produce es una como en las funciones, sino que si devuelve
asociación automática entre parámetros información, lo hace a través de parámetros.
reales y parámetros formales. Esta asociación
se realiza según el orden de la aparición y de Al llamar a un procedimiento, se le cede el
izquierda y derecha. control, comienza a ejecutarse y cuando
termina devuelve el control a la siguiente
Si el parámetro formal y real no son del instrucción a la de llamada.
mismo tipo, se produce un error.
Diferencias entre funciones y
Pasos para hacer la llamada a una función: procedimientos:
o Al hacer la llamada y ceder el control a la o Una función devuelve un único valor y un
función, se asocia (asigna el valor) de procedimiento puede devolver 0,1 o N.
cada parámetro real a cada parámetro o Ninguno de los resultados devueltos por el
formal asociado, siempre por orden de procedimiento se asocian a su nombre
aparición y de izquierda a derecha, por lo como ocurría con la función.
que siempre que no coincidan los tipos y o Mientras que la llamada a una función
el número de parámetros formales y forma siempre parte de una expresión, la
reales, se produce un error. llamada a un procedimiento es una
o Si todo ha ido bien, se ejecutan las instrucción que por sí sola no necesita
acciones de la función hasta que instrucciones.
lleguemos a una de tipo retorno <valor> o Esta llamada consiste en el nombre del
que pondrá fin a la ejecución. Pueden procedimiento y va entre paréntesis van
existir varias sentencias de retorno en la los parámetros que se le pasan.
misma función, pero en cada llamada solo
se podrá ejecutar uno. Declaración de un procedimiento
o Se le asocia al nombre de la función el Sintaxis:
valor retornado y se devuelve el control al Procedimiento <nombre_proc>
subprograma que hizo la llamada pero (<tipo_paso_par> <nombre_par>: tipo_par,...)
sustituyendo el nombre de la función por Var <variables locales>: tipo
el valor devuelto. Inicio
<sentencias>
Otra forma de especificar el retorno de una fin
función: Se le asigna el valor devuelto al
nombre de la función. La cabecera va a estar formada por el nombre
N_funcion valor del procedimiento que será un identificador y
que debe de ser significativo, y luego entre
* La función solo puede ser llamada desde paréntesis los parámetros o la información
una expresión. que se le pasa al procedimiento. Para cada
parámetro hay que indicar el tipo de paso de
PROCEDIMIENTOS parámetro. Hay dos tipos fundamentales de
El inconveniente de una función es que solo paso de parámetros, por valor y por
puede devolver un único valor, por lo que sí referencia, si no ponemos tipo de paso de
nos interesa devolver 0 o N valores, aunque parámetros, se toma el tipo de paso de
puedo usarlo para devolver un solo valor, parámetros por valor.
debo usar un procedimiento. El procedimiento devuelve resultados a través
de sus parámetros, cosa que solo podrá
U N I V E R S I D A D D E A Q U I N O B O L I V I A
28
FACULTAD DE INGENIERIA
hacer a través de los parámetros que se Esto quiere decir que la variable no tiene
pasan por referencia, tendrán que existir ningún significado, no se conoce y no se
sentencias de asignación de valores a estos puede acceder a ella desde fuera del
parámetros pasados por referencia, a través subprograma y que tiene una posición de
de los cuales se van a devolver los memoria distinta a la de cualquier otra.
resultados. Las variables locales a un subprograma
se definen en la parte de la definición de
Como se llama a un procedimiento variables del mismo. Los parámetros
nombre_proc (par_reales); formales que se le ponen a un
subprograma se comportan dentro de él
Pasos para hacer la llamada a un como si fueran también variables locales a
procedimiento él.
1. Se cede el control al procedimiento al que 2. Globales: Son las que están definidas a
se llama y lo primero que se hace al nivel del programa, es decir, su ámbito es
cederle el control es sustituir cada el programa o algoritmo principal y todos
parámetro formal de la definición por el los subprogramas que van junto con él.
parámetro actual o real de la llamada A esta variable podemos acceder desde
asociado a él. cualquiera de los subprogramas y el
2. Si la asociación ha sido correcta programa principal, salvo que alguno de
comienzan a ejecutarse las instrucciones esos subprogramas tenga definida una
del procedimiento hasta llegar a la última variable local con el mismo nombre que la
instrucción. Al llegar a la instrucción se variable global, en este caso si utilizo el
vuelven a asociar los parámetros formales nombre de esa variable me referiré a la
que devuelven los resultados a los local, nunca a la global(ya que tienen 2
parámetros formales asociados en la zonas de memoria distintas).
llamada, es decir, de esta manera algunos
de los parámetros reales de la llamada ya
contendrán los resultados del
procedimiento. COMUNICACIÓN ENTRE
3. Finalmente se cede el control a la SUBPROGRAMAS: PASO DE
siguiente instrucción a la que se hace la PARÁMETROS
llamada, pero teniendo en cuenta que en La mejor forma para llevar a cabo la
esta instrucción y en las siguientes puedo comunicación ente subprogramas, es el paso
usar ya los parámetros reales en los que de parámetros. Trataremos de evitar siempre
se devolvieron los resultados del que sea posible el uso de variables globales.
procedimiento para trabajar con ellos. Cuando llamamos a una función o
procedimiento, le pasamos a través de los
ÁMBITOS: VARIABLES LOCALES Y parámetros la información que necesita, y en
GLOBALES el caso de un procedimiento también
¿Qué es el ámbito de un identificador? devolvemos a través de sus parámetros los
El ámbito de un identificador (variables, resultados. Para ello definiremos el tipo del
constantes, funciones,...) es la parte del parámetro a principio del subprograma, que
programa en la que se conoce y por tanto se es lo que conocemos como parámetros
puede usar un identificador. formales, y al hacer la llamada pasamos la
información a través de los parámetros reales.
Según el ámbito hay 2 tipos de variables, ¿Cómo se efectúa la correspondencia entre
locales y globales: parámetros formales y reales?:
1. Local: Aquella que está declarada y o Correspondencia posicional: En este caso
definida dentro de un subprograma luego se emparejan los parámetros formales y
su ámbito coincidirá con el ámbito del reales por la posición que ocupan (orden
subprograma en la que este definida. de declaración) y de izquierda a derecha.
U N I V E R S I D A D D E A Q U I N O B O L I V I A
29
FACULTAD DE INGENIERIA
Para que se pueda realizar esta esta modificación, es decir, esa variable
asociación, tiene que haber el mismo serviría valiendo lo mismo en el programa
número de parámetros formales y reales, desde el que se hace la llamada después y
y con el mismo tipo. antes de hacerla.
U N I V E R S I D A D D E A Q U I N O B O L I V I A
30
FACULTAD DE INGENIERIA
Por valor el parámetro actual no cambia de 2. Escribir una función que dados a y b
valor. enteros devuelva a*b.
Por referencia el parámetro actual puede
cambiar. 3. Escribir una función que dado un número
entero, devuelva una señal que indique si
Por valor: Solo lo usamos cuando un dicho número es primo o no.
parámetro solo sirve para información de
entrada, no devolvemos nada con él. Por eso 4. Escribir una función que dados 2
este paso puede ser una constante, variable o números, calcule el porcentaje que el
expresión. Para simbolizarlo en la declaración primero representa respecto del segundo.
de variables no ponemos nada.
5. Escribir una función que dados a y b
Por referencia: Lo usamos cuando un devuelva el cociente de la división entera,
parámetro lo usamos como entrada de sin utilizar el operador correspondiente del
información y como salida o solo como salida. lenguaje. Validar los tipos de datos de
Por esta razón ahora sí que se va a variar el entrada.
parámetro formal y por lo tanto no podemos
usar constantes ni expresiones, solo 6. Escribir una función que dados a y b
variables. Lo simbolizamos con la palabra devuelva el resto de la división entera, sin
Var. utilizar el operador correspondiente de
lenguaje. Validar los tipos de datos de
EFECTOS LATERALES entrada.
Un efecto lateral es cualquier modificación que
un subprograma (sea función o 7. Escribir una función que dado un código
procedimiento), realiza en elementos situados numérico de m dígitos, separe un sub-
fuera de él pero sin hacer esas modificaciones código consistente en una cantidad n<m
a través del paso de parámetros. de dígitos a partir del k-ésimo lugar a
contar del dígito menos significativo.
Los efectos laterales siempre hay que Utilizarla en un programa que ingrese un
evitarlos porque no somos conscientes o no listado de códigos numéricos junto con
controlamos que se han producido. sus correspondientes parámetros m,n y k
y liste dichos códigos de entrada junto con
Para realizar comunicación entre el sub-código deseado.
subprogramas solo se hará a través del paso
de parámetro para evitar los efectos laterales. 8. Un número entero positivo se dice
perfecto si es igual a la suma de todos sus
Los efectos laterales normalmente se divisores, excepto el mismo.
producen por el uso de variables globales o Ejemplo: los números 6 (1+2+3), 28
variables locales que abarcan varios (1+2+4+7+14) y 496
procedimientos (esto solo es posible si hay (1+2+4+8+16+31+62+124 +248) son
anidación de subprogramas). Por lo tanto perfectos.
evitaremos su uso excepto que sea Se pide:
imprescindible.
U N I V E R S I D A D D E A Q U I N O B O L I V I A
31
FACULTAD DE INGENIERIA
Escribir una función booleana que llamada 15. Escribir un programa que descomponga a
desde un programa, permita discernir si un número en sus factores primos.
un número (único parámetro) es perfecto.
9. Dar un ejemplo de cómo se hace 16. Escribir un programa que determine el
referencia a dicha función desde un máximo común divisor entre dos números.
programa o desde otro subprograma.
Nota: no usar variables globales. 17. Escribir un programa para cambiar un
número binario de cuatro cifras a un
10. Dos números se dicen amigos cuando uno número de base 10
de ellos es igual a la suma de todos los
divisores del otro excepto el mismo. 18. Diseñar un algoritmo que calcule la
Ejemplo: los números 220 aproximación del seno:
(1+2+4+5+10+11+20+22+44+55+110=284) sen(x)= 1 - (x^3)/3! + (x^5)/5 - (x^7)/7! + …
y 284 Nota: Una buena aproximación está dada
(1+2+4+71+142=220) por el desarrollo de 10 términos como
son amigos. mínimo.
Se pide:
Escribir una función booleana que llamada 19. Escribir un subprograma que dadas 2
desde un programa, permita discernir si coordenadas rectangulares (x,y) devuelva
dos números (parámetros) son amigos. las correspondientes coordenadas polares
r = ( x2 + y2 )½ y á = arctg ( y / x ) .
11. Escribir un programa que ingrese un
listado de números e informe la cantidad 20. Escribir un subprograma que dada una
de múltiplos de 2, 3, 5 y utilizar una fecha en formato aaaammdd la convierta
función que dados 2 números devuelva en los parámetros numéricos aaaa, mm y
una señal que indique si el primero es o dd.
no múltiplo del segundo.
21. Escribir un subprograma que dado un
12. Dadas 2 fechas, informar cuál es la fecha tiempo expresado en segundos, devuelva
anterior. Los datos se dan según los los parámetros numéricos horas, minutos
siguientes casos: y segundos.
Cada fecha consiste en 3 números, día,
mes y año. 22. Realizar un subprograma que dada una
Cada fecha consiste en un único número cadena de caracteres, la devuelva
en formato aammdd. invertida.
Cada fecha consiste en un único número
en formato ddmmaa. 23. En una competencia de salto en largo, se
Puede darse el caso que las fechas sean presentaron 20 participantes. De cada uno
iguales. se ingresa: nombre, fecha de nacimiento
(dd/mm/aaaa) y los alcances de sus 3
13. Dada una fecha en formato aammdd, saltos expresados en metros. El mejor de
verificar si es correcta. Si lo es, informarla los 3 saltos se considera como la mejor
según dd de cccc de 19aa. Si no lo es, marca obtenida. Se pide:
informar un mensaje de error. cccc es la o Para cada participante mostrar por
cadena de caracteres correspondiente al pantalla el nombre, la edad y la marca
mes mm. obtenida
o Informar el nombre del atleta que
14. Dado un listado de números enteros obtuvo la mejor marca
informar aquellos que sean primos, la
cantidad y la sumatoria de los mismos.
U N I V E R S I D A D D E A Q U I N O B O L I V I A
32
FACULTAD DE INGENIERIA
29. Hacer un programa que lea por 31. Escriba un programa que permita
teclado un número n entero positivo e calcular el número combinatorio C
imprimir en pantalla una pirámide de n utilizando la ecuación.
filas que responda al siguiente esquema:
1
232
U N I V E R S I D A D D E A Q U I N O B O L I V I A
33
FACULTAD DE INGENIERIA
WORK PAPER # 8
FECHA DE ENTREGA:
U N I V E R S I D A D D E A Q U I N O B O L I V I A
34
FACULTAD DE INGENIERIA
U N I V E R S I D A D D E A Q U I N O B O L I V I A
35
FACULTAD DE INGENIERIA
U N I V E R S I D A D D E A Q U I N O B O L I V I A
36
FACULTAD DE INGENIERIA
15. Diseñar una función llamada Existe 23. Se tienen almacenados en dos
que determine si un carácter car de tipo vectores M y N de N elementos cada
char se encuentra en un vector V de uno. Hacer un algoritmo que escriba la
dimensión N que almacena caracteres palabra “Iguales” si ambos vectores son
alfanuméricos. iguales y “Diferentes” si no lo son.
Serán iguales cuando en la misma
16. Realice un procedimiento par insertar posición de ambos vectores se tenga el
un elemento Elem en la posición K del mismo valor para todos los elementos.
vector V de dimensión N.
24. Diseñe un algoritmo que lea dos
17. Realice un procedimiento para vectores A y B de N elementos cada uno
eliminar el elemento de la posición k de y multiplique el primer elemento de A con
un vector V de dimensión N. el ultimo elemento de B y luego el
segundo elemento de A por el N-
18. Realice un procedimiento para realizar 1elemento de B y así sucesivamente
la unión de dos vectores A y B de hasta llegar al enesimo elemento de A
dimensión n1 y n2 respectivamente en por el primer elemento de B. El resultado
un vector C de dimensión n3. Tomar en de la multiplicación almacenarlo en un
cuenta que el vector C no debe tener vector C.
elementos repetidos
25. Elabore un algoritmo que encuentre la
19. Realice un procedimiento para realizar mayor diferencia entre 2 números
la intersección de dos vectores A y B de consecutivos y las posiciones de éstos,
dimensión n1 y n2, respectivamente en en un vector de N números enteros.
un vector C de dimensión n3. Tomar en
cuenta que el vector C no debe tener 10 8 5 2 15 7
elementos repetidos
Resultado:
Mayor Diferencia : 13
20. Dados un vector V con n elementos y Elementos : 4 y 5
dos números X, Y, realizar un
procedimiento que reemplace todos los 26. Dado un vector V de N números
números X del vector V por el número enteros, cambie cada elemento menor
Y. que 10 por 0 y cada elemento mayor que
20 por 1. Encuentre cuántos elementos
21. Realizar un procedimiento que quedaron sin cambiar.
muestre los elementos que coincidan con
su posición en el vector. Ej. V 5 54 15 2 19 8 13
2
U N I V E R S I D A D D E A Q U I N O B O L I V I A
V 0 1 15 1 19 0 13
37
FACULTAD DE INGENIERIA
WORK PAPER # 9
FECHA DE ENTREGA:
U N I V E R S I D A D D E A Q U I N O B O L I V I A
38
FACULTAD DE INGENIERIA
Arrays Bidimensionales ó Matrices: 10. Índice.- Siempre que vamos a usar una
En un array unidimensional o vector cada matriz es natural pensar que
elemento se referencia por un índice, en un necesitaremos dos variables (i, j) de tipo
array bidimensional cada elemento se va a entero que serán utilizadas como índices,
referenciar por 2 índices, y ahora la donde i representara una determinada fila
representación lógica ya no va a ser un dentro de una matriz, y j representara una
vector, sino una matriz. determinada columna dentro de una
Un array bidimensional de M*N elementos es matriz. Dichas variables solo tienen que
un conjunto de M*N elementos, todos del cumplir con el requisito de ser variables
mismo tipo, cada uno de los cuales se enteras.
referencia a través de 2 subíndices. El primer
subíndice podrá variar entre 1 y M si hemos Para hacer referencia a un elemento de la
empezado a numerar los índices por 1, y el matriz MAT, se usa el nombre del mismo,
segundo índice variará entre 1 y N, si hemos seguido de los índices (entre corchetes), el
empezado a numerar los índices por el 1. cual indica una posición en particular de la
Col1 Col2 Col3 Col4
matriz. Por ejemplo:
MAT [i, j]
Donde:
Fil1
MAT Nombre de la matriz
i Representa la fila
Fil2
j Representa la columna.
Operaciones
Fil3 Las operaciones sobre los elementos de una
matriz son:
U N I V E R S I D A D D E A Q U I N O B O L I V I A
39
FACULTAD DE INGENIERIA
13 14 15 16
Procedure CargarPorColumnas(Var matriz M, A = m * p elementos
int m, int n); B = p * n elementos
Matriz producto: C = m * n elementos
2. Realizar una función que realice la suma
de los elementos de una matriz A de 9. realizar una función Existe que devuelva
dimensión M x N . true o false para buscar un elemento X
dentro de una matriz.
3. Una matriz cuadrada A se dice que es Function Existe (Var A:TMatriz ; m, n:
simétrica si A (i , j) = A(j , i) para todo i, j Integer);
dentro de los limites de la matriz. Escribir
una función que determine si una matriz 10. Utilizando una Matriz, diseñar un algoritmo
dad M de dimensión N x N es o no que visualice un cuadrado mágico de
simétrica. orden impar N, comprendido entre 3 y 11,
el usuario debe elegir el valor de n.
4. Realizar un procedimiento que inicialice
una matriz cuadrada de la siguiente Un cuadrado mágico se compone de
manera. números enteros comprendidos entre 1 y
Ejemplo n. La suma de los números que figuran en
1 0 0 1 cada fila, columna y diagonal son iguales.
0 1 1 0 Ejemplo:
0 1 1 0 8 1 6
1 0 0 1 3 5 7
Procedure Inicializar (Var Matriz A , int 4 9 2
Dim) ;
Un método de generación consiste en
5. Realizar un procedimiento para realizar situar el numero 1 en el centro de la
una matriz cuadrada de la siguiente primera fila, el números siguiente en la
manera: casilla por encima y ala derecha y así
Ejemplo: sucesivamente. El cuadrado es cíclico, la
línea encima de la primera es de hecho la
1 2 2 2 última y la columna a la derecha de la
3 1 2 2 última es la primera. En el caso de que el
3 3 1 2 número generado caiga en una casilla
3 3 3 1 ocupada, se elija la casilla que se
encuentra debajo del numero que acaba
6. Realizar un procedimiento para inicializar de ser situado.
una matriz cuadrada de la siguiente
manera. 11. Una empresa de ventas a domicilio
Ejemplo. maneja 10 artículos diferentes y cuenta
0 1 2 3 con 50 vendedores. En un arreglo de
1 2 3 4 50x10 se tienen almacenadas las
2 3 4 5 cantidades de cada artículo vendidas por
3 4 5 6 cada vendedor. Además, los precios de
cada artículo están almacenados en un
7. Realizar un programa que realice la suma vector de tamaño 10. Se desea elaborar
de dos matrices. Ambas matrices tienen un algoritmo para imprimir lo siguiente :
las mismas dimensiones. a. La cantidad de dinero recopilado por
cada vendedor.
8. Diseñar un algoritmo que efectué la b. El número del vendedor que recopiló
multiplicación de dos matrices A y B. la mayor cantidad de dinero.
U N I V E R S I D A D D E A Q U I N O B O L I V I A
40
FACULTAD DE INGENIERIA
c. El número del artículo más vendido c. Imprima una matriz igual pero
(entre todos los vendedores). con las diagonales intercambiadas.
d. El total de vendedores que no d. Imprima el número mayor de la
vendieron ningún artículo número matriz
ocho.
14. Elabore un algoritmo que lea los datos de
12. Elabore un algoritmo y que lea una matriz una matriz cuadrada de tamaño N, y que
cuadrada de tamaño N de números intercambie los elementos de la matriz
enteros, calcule la suma de los elementos triangular superior con los elementos
de las diagonales (principal e inversa y correspondientes simétricamente de la
guarde estos elementos en dos vectores matriz triangular inferior.
(DP y DI).
0 1 2 3 0 4 8 2
Ejemplo para N=4 :
Suma DP = 20 Suma DI = 23 4 5 6 7 1 5 9 3
8 9 0 1 2 6 0 4
2 3 4 5 3 7 1 5
DIF´S # 1
U N I V E R S I D A D D E A Q U I N O B O L I V I A
41
FACULTAD DE INGENIERIA
U N I V E R S I D A D D E A Q U I N O B O L I V I A
42
FACULTAD DE INGENIERIA
U N I V E R S I D A D D E A Q U I N O B O L I V I A
43