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

FACULTAD DE INGENIERIA

UNIDAD ACADEMICA SANTA CRUZ

Facultad de Ingeniería

Ingeniería de Sistemas
PRIMER SEMESTRE

SYLLABUS DE LA ASIGNATURA
PROGRAMACION I

Elaborado por: Ing. Ana Brida Lima Loayza


Gestión Académica II / 2006

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

UNIDAD ACADEMICA SANTA CRUZ

VISION DE LA UNIVERSIDAD

Ser la Universidad líder en calidad educativa.

MISION DE LA UNIVERSIDAD

Desarrollar la Educación Superior Universitaria con calidad y


competitividad al servicio de la sociedad.

Estimado (a) alumno (a):


La Universidad de Aquino Bolivia te brinda a través del Syllabus, la
oportunidad de contar con una compilación de materiales que te
serán de mucha utilidad en el desarrollo de la asignatura. Consérvalo
y aplícalo según las instrucciones del docente.

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

SYLLABUS 2.1.3. Identificadores


2.1.4. Constantes y Variables
Asignatura: Programación I 2.1.5. Expresiones.
2.1.6. Operadores y operandos.
Código: CMP - 117
2.2. Técnicas de diseño.
Requisito: Ninguno 2.3. Técnicas para la formulación de
80 horas Teórico algoritmos.
Carga Horaria:
Prácticas 2.3.1. Diagramas de flujo.
Créditos: 4 2.3.2. Pseudo código.

I. OBJETIVOS GENERALES DE LA UNIDAD II: ESTRUCTURAS


ASIGNATURA. ALGORITMICAS.

 Identificar las características, ventajas y TEMA 3. Estructuras algorítmicas.


desventajas de las diferentes estructuras
algorítmicas. 3.1. Estructuras secuenciales.
3.1.1. Asignación.
 Diferenciar las estructuras de control
3.1.2. Entrada.
algorítmicas a través de ejemplos de
3.1.3. Salida.
aplicación.
3.2. Estructuras condicionales.
 Utilizar, apropiadamente, la técnica de 3.2.1. Simples.
programación modular y estructuras de 3.2.2. Múltiples.
datos en la solución de problemas 3.3. Estructuras iterativas.
algorítmicos. 3.3.1. Contadores y acumuladores.
3.3.2. Para.
 Aplicar las diferentes estructuras de
3.3.3. Mientras.
archivos en la solución de problemas
3.3.4. Repetir hasta.
algorítmicos.
3.3.5. Aplicaciones.

II. PROGRAMA ANALITICO DE LA UNIDAD III: PROGRAMACION MODULAR.


ASIGNATURA.
TEMA 4. Programación Modular.
UNIDAD I: CONCEPTOS BASICOS E
INTRODUCCION A LA PROGRAMACION. 4.1. Definición de un módulo.
4.2. Ámbito de variables.
TEMA 1. Conceptos básicos. 4.2.1. Variable local.
4.2.2. Variable global.
1.1. Conceptos Básicos. 4.3. Sub algoritmos.
1.1.1. Introducción. 4.3.1. Procedimientos.
1.1.2. El Computador. 4.3.1.1. Sintaxis.
1.1.3. Definición de un algoritmo. 4.3.1.2. Llamada.
1.1.4. Características de un algoritmo. 4.3.2. Funciones.
1.2. Metodología. 4.3.2.1. Sintaxis.
4.3.2.2. Llamada.
TEMA 2. Introducción a la programación. 4.4. Tipos de parámetros.
4.5. Diferencias esenciales entre funciones y
2.1. Entidades primitivas para el desarrollo procedimientos.
de algoritmos. 4.6. Aplicaciones.
2.1.1. Dato
2.1.2. Tipos de datos.

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

interdisciplinarios o multidisciplinarios como


corresponde al desarrollo alcanzado por la
UNIDAD IV: ESTRUCTURAS DE DATOS ciencia y la tecnología en los tiempos
BASICAS. actuales.

TEMA 5. Arreglos. La ejecución de diferentes programas de


interacción social y la elaboración e
5.1. Definición de un arreglo. implementación de proyectos de desarrollo
5.2. Tipos de arreglos. comunitario derivados de dichos programas
5.3. Vectores. confiere a los estudiantes, quienes son, sin
5.4.1. Definición. dudas, los más beneficiados con esta
5.4.2. Operaciones. iniciativa, la posibilidad de:
5.4.3. Aplicaciones.
5.5. Matrices. - Desarrollar sus prácticas pre-
5.5.1. Definición. profesionales en condiciones reales y
5.5.2. Operaciones. tutorados por sus docentes con procesos
5.5.3. Aplicaciones. académicos de enseñanza y aprendizaje
5.6. Manejo de cadenas. de verdadera “aula abierta”-
5.6.1. Definición.
5.6.2. Código ASCII. - Trabajar en equipos, habituándose a ser
5.6.3. Operaciones. parte integral de un todo que funciona
5.6.4. Aplicaciones. como unidad, desarrollando un lenguaje
5.7. Métodos de búsqueda y común, criterios y opiniones comunes y
ordenamiento. planteándose metas y objetivos comunes
5.7.1. Búsqueda lineal. para dar soluciones en común a los
5.7.2. Ordenamiento por intercambio. problemas.

III. ACTIVIDADES PROPUESTAS PARA LAS - Realizar investigaciones multidisciplinarias


BRIGADAS UDABOL. en un momento histórico en que la ciencia
atraviesa una etapa de diferenciación y en
Las Brigadas están destinadas a incidir de que los avances tecnológicos conllevan la
manera significativa en la formación aparición de nuevas y más delimitadas
profesional integral de nuestros estudiantes y especialidades.
revelan las enormes potencialidades que
presenta esta modalidad de la educación - Desarrollar una mentalidad, crítica y
superior no solamente para que conozcan a solidaria, con plena conciencia de nuestra
fondo la realidad del país y se formen de realidad nacional.
manera integral, sino, además, para que
incorporen a su preparación académica los
problemas de la vida real a los que resulta  Emprender proyectos con los alumnos de
imperativo encontrar soluciones desde el forma que puedan exponerlos en
campo profesional en el que cada uno se actividades programadas a sus ex
desempeñará. compañeros de colegio que en este
momento son de la promoción de
El trabajo de las Brigadas permite que diferentes colegios.
nuestros estudiantes se conviertan a mediano  Los temas de proyectos de la materia de
plazo en verdaderos investigadores, capaces laboratorio de programación I, será la
de elaborar y acometer proyectos de aplicación de la programación a los
desarrollo comunitario a la vez que se diferentes temas de interés en los colegios
acostumbren a trabajar en equipos

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

como ser programas - tutoriales de


matemáticas, física, biología, etc.
 Coordinar encuentros o charlas abiertas
entre universitarios de primer semestre de
la carrera y estudiantes de las
promociones de los colegios de forma que
pueda servir a los colegiales como una
ayuda a tomar en cuenta a la hora de
elegir sus futuras aptitudes vocacionales.
ACTIVIDADES A REALIZAR VINCULADAS
CON LOS CONTENIDOS DE LA MATERIA
TAREAS TEMA(S) CON LOS LUGAR DE ACCIÓN FECHA
PROPUESTAS QUE PREVISTA
SE RELACIONA
Descripción del tema elegido y Todas Laboratorios de 19/08/06
su aplicación a la programación computación.
y los participantes
Presentación del diseño de la Todas Laboratorios de 15/09/06
Interfaz computación.
Presentación de las estructuras Todas Laboratorios de 19/10/06
a emplear en su aplicación computación.
Primera presentación preliminar Todas Laboratorios de 30/10/06
computación.
Revisión final previa Todas Laboratorios de 13/11/06
presentación en la feria de computación.
computación
Presentación y defensa en la Todos Feria de Ing. De 01/12/06
feria a sus compañeros, sistemas del semestre.
docentes y público en general
realizaran para las Brigadas UDABOL.
ACTIVIDADES DE INCURSIÓN Estas evaluaciones tendrán una
MASIVA EN LA COMUNIDAD. calificación entre 0 y 50 puntos.

A lo largo del semestre se realizarán dos  PROCESO DE APRENDIZAJE O


incursiones masivas en la comunidad, SUMATIVA.
comprendida la primera entre el 2 y el 8 de
octubre y la segunda entre el 13 y el 19 de Se realizarán dos evaluaciones parciales
noviembre. Con la finalidad de realizar con contenidos teóricos y prácticos.
trabajos ya sean de recojo de información, En la etapa final se presentará un
extensión o relacionada con los proyectos a proyecto que se realizará a lo largo de
desarrollar en la asignatura o la carrera. todo el semestre y un examen final de
todo lo avanzado en el semestre.
IV. EVALUACIÓN DE LA ASIGNATURA. Cada uno de estos exámenes tendrá una
calificación entre 0 y 50 puntos.
 PROCESUAL O FORMATIVA.
V. BIBLIOGRAFIA
En todo el semestre se realizarán
preguntas escritas, trabajos prácticos, BASICA.
trabajos de investigación, Work Papers,
DIF’s, además de las actividades que se

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

 Luis, “Programación en Turbo/ Fecha


Borland Pascal 7”. Ed. McGraw-Hill, Nota
España.1998.( 005.133 J84)
 ROFFMAN, Elliot. “Pascal:
Introducción al lenguaje”.Mexico. 1985.
( 005.133 R62)
 JOYANES Aguilar Luis,
“Fundamentos de la Programación”, Ed.
McGraw-Hill, España. 1996-2003.( 005
J84 - 005 J84f)

COMPLEMENTARIA

 AGUILAR RAMIRO, “Programación


I/ Algoritmos, Métodos y Técnicas ” 1999.
( 005.1 Ag93 t.1)

 www.lawebdelprogramador.com

VI. CONTROL DE EVALUACIONES.

1° evaluación parcial
Fecha
Nota

2° evaluación parcial
Fecha
Nota

Examen final

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

6
FACULTAD DE INGENIERIA

VII. PLAN CALENDARIO

SEMANA ACTIVIDADES OBSERVAC.

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

7
FACULTAD DE INGENIERIA

PROGRAMA DE CONTROL DE CALIDAD

WORK PAPER # 1

UNIDAD O TEMA: CONCEPTOS BÁSICOS

TITULO: Conceptos Básicos

FECHA DE ENTREGA:

PERIODO DE EVALUACION: Primera etapa

Introducción  Unidad Central de Proceso, UCP


Con la computadora podemos diseñar (Central Processing Unit, CPU)
soluciones de problemas específicos que se  Memoria Central
nos presenten y más aún, si estos involucran  Dispositivo de Almacenamiento
operaciones matemáticas complejas y/o Secundario (memoria auxiliar)
repetitivas, o requieren del manejo de un  Periféricos o Dispositivos de
volumen muy grande de datos. Entrada/Salida E/S
A las soluciones creadas por computadora se
les conoce como programas y no son mas o SOFTWARE : Grupo de programas
que una serie de operaciones que realiza la que controlan el funcionamiento de la
computadora para llegar a un objetivo o computadora (equipo lógico).
resultado.
Para poder realizar programas, debemos de Computadora
conocer de manera especifica las funciones Una computadora es un dispositivo capaz de
que puede realizar la computadora y las realizar cálculos y tomar decisiones lógicas a
formas en que se pueden manejar los velocidades hasta miles de millones de veces
elementos que hay en la misma. más altas que las alcanzables por los seres
humanos.
Dos conceptos Importantes: Es un dispositivo electrónico utilizado para
procesar información y obtener resultados.
Los datos y la información se pueden
introducir en la computadora como entrada
(input) y a continuación se procesan para
o HARDWARE : Grupo de componentes producir una salida (output).
físicos de la computadora (equipo físico),
y esta compuesto de: Definición de un algoritmo.
Un algoritmo es una serie de pasos
organizados que describe el proceso que se

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

debe seguir, para resolver un problema que estamos siguiendo una metodología para
especifico ó realizar una tarea determinada. resolverlos.

Un algoritmo es un método para resolver un Metodología resolución de problemas por


problema, debe presentarse como una medio de computadora:
secuencia ordenada de instrucciones que El proceso de resolución de problemas con
siempre se ejecutan en un tiempo finito y con computadoras conduce a la escritura de un
una cantidad de esfuerzo también finito, cada programa y su ejecución en la misma. Aunque
instrucción tiene un significado preciso. el proceso de diseñar programas es
La principal razón para que las personas esencialmente un proceso creativo, se puede
aprendan lenguajes y técnicas de considerar una serie de fases o pasos
programación es utilizar el computador como comunes que generalmente deben seguir los
una herramienta para resolver problemas. programadores. Estas fases son las
siguientes:
La mayoría de los algoritmos de utilidad al
o Definición del Problema
Entrada de Datos Esta fase está dada por el enunciado del
problema, el cual requiere una definición
clara y precisa. Es importante que se
Algoritmo Procesamiento de Datos conozca lo que se desea que realice la
computadora; mientras esto no se
conozca del todo no tiene mucho caso
Salida de Resultados continuar con la siguiente etapa.

programador poseen 3 partes principales: o Análisis del Problema


Los algoritmos pueden representarse a través Una vez que se ha comprendido lo que se
de un conjunto de palabras por medio de las desea de la computadora, es necesario
cuales se puede representar la lógica de un definir: Los datos de entrada.
programa. Este conjunto de palabras Cual es la información que se desea
constituyen lo que se conoce como producir (salida)
pseudocódigo. Además, los algoritmos se Los métodos y fórmulas que se
pueden representar gráficamente a través de necesitan para procesar los datos.
un diagrama de flujo. Ambas herramientas
se describen en el Work Paper # 3. Una recomendación muy practica es el
que nos pongamos en el lugar de la
Características de un algoritmo. computadora y analicemos que es lo que
o Debe ser preciso: Indicar el orden de necesitamos que nos ordenen y en que
realización de cada paso. secuencia para producir los resultados
o Debe ser definido: Si se sigue un esperados.
algoritmo mas de una veces, se debe
obtener el mismo resultado cada vez. o Diseño del Algoritmo
o Debe ser finito. Si se sigue un Las características de un buen algoritmo
algoritmo, se debe terminar en algún son:
momento ; o sea debe tener un número Debe tener un punto particular de inicio.
finito de pasos. Debe ser definido, no debe permitir dobles
interpretaciones.
Algoritmos Cotidianos Debe ser general, es decir, soportar la
Se refiere a todos aquellos algoritmos que mayoría de las variantes que se puedan
nos ayudan a resolver problemas diarios, y presentar en la definición del problema.
que los hacemos casi sin darnos cuenta de Debe ser finito en tamaño y tiempo de
ejecución.

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

2. Nombrar 2 Dispositivo de Almacenamiento


o Codificación y describir cada uno de ellos.
La codificación es la operación de escribir
la solución del problema (de acuerdo a la
lógica del diagrama de flujo o
pseudocodigo), en una serie de 3. Dar dos ejemplos de Dispositivos de
instrucciones detalladas, en un código Entrada y describir su funcionamiento
reconocible por la computadora, la serie
de instrucciones detalladas se le conoce 4. Dar dos ejemplos de Dispositivos de
como código fuente, el cual se escribe en Salida y describir su funcionamiento.
un lenguaje de programación o lenguaje
de alto nivel. 5. Describe paso a paso un algoritmo
cotidiano que realices en tus actividades
o Prueba diarias.
La prueba resulta una tarea tan creativa
como el mismo desarrollo de la solución, 6. Diseñar un algoritmo cotidiano para asistir
por ello se debe considerar con el mismo a clases.
interés y entusiasmo.
Resulta conveniente observar los 7. Diseña un algoritmo que realice la suma
siguientes principios al realizar una de dos números.
prueba, ya que de este trabajo depende el
éxito de nuestra solución. 8. Describa cuales son los programas que
más utiliza en un computador, y su
utilidad.
CUESTIONARIO WORK PAPER No. 1.
9. ¿Qué es programa?
1. Describir la Unidad Central de Proceso,
UCP. 10. ¿Qué es dato?

11. ¿Qué es información?

PROGRAMA DE CONTROL DE CALIDAD

WORK PAPER # 2

UNIDAD O TEMA: INTRODUCCION A LA PROGRAMACION

TITULO: Entidades primitivas para el desarrollo de Algoritmos

FECHA DE ENTREGA:

PERIODO DE EVALUACION: Primera etapa

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

El motivo principal de la computadora es, Identificadores


primordialmente, el manejo de los datos o de Los identificadores representan los datos de
la información ingresada para luego ser un programa y nos permite hacer referencia a
procesada y arrojar resultados. La estos datos (constantes, variables, tipos de
computadora opera con objetos, los cuales datos). Un identificador es una secuencia de
son descritos por expresiones denominados caracteres que sirve para identificar una
datos. posición en la memoria de la computadora,
que nos permite acceder a su contenido.

Reglas para formar un Identificador


o Debe comenzar con una letra (A .. Z, a ..
Dato z) y no deben contener espacios en
Es un objeto o elemento que tratamos a lo blanco.
largo de diversas operaciones. Tienen 3 o Letras, dígitos y caracteres como la
características: subraya ( _ ) están permitidos después del
o Un nombre que los diferencia del resto. primer carácter.
o Un tipo que nos determina las
operaciones que podemos hacer con ese Constantes y Variables
dato. o Constante: Las constantes son
o Un valor que puede variar o no a lo largo identificadores cuyos valores no cambian.
de la operación. Una constante es un dato numérico o
Existen diferentes tipos de datos. alfanumérico que no cambia durante la
ejecución del programa.
Tipos de datos
Todos los datos tienen un tipo asociado con o Variable: Las variables son identificadores
ellos. Un dato puede ser un simple carácter, cuyo valor puede cambiar.
tal como ‘b’, un valor entero tal como 35.
Pueden ser: Clasificación de las Variables
o Simples: Numéricos, Lógicos, Por su Contenido: Numéricas, Lógicas,
Alfanuméricos (string) Alfanuméricas (String).
o Compuestos ó definidos por el Usuario: Por su Uso: De Trabajo, Contadores,
Arreglos (Vectores, Matrices), Registros, Acumuladores.
Archivos, Apuntadores.
Expresiones
Tipos de Datos Simples: Una expresión puede ser: Un valor simple,
Datos Numéricos: Pueden ser los números una constante ó variables, la combinación de
enteros y los reales. Este tipo de datos valores, constantes, variables, símbolos de
permiten realizar operaciones aritméticas operación, paréntesis.
comunes. Cada expresión toma un valor que se
encuentra con el cálculo que se determina
Datos Lógicos: Son aquellos que solo pueden tomando los valores de las variables,
tener dos valores (cierto o falso). constantes, y la ejecución de las operaciones
indicadas.
Datos Alfanuméricos (String): Es una Se clasifican las expresiones en: Aritméticas,
secuencia de caracteres alfanuméricos que Relaciónales, Lógicas
permiten representar nombres de personas,
direcciones, etc. Este tipo de datos se Operadores y operandos.
representan encerrados entre comillas Operando: Es representado por un valor,
simples. constantes ó variables.

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

Operadores: Son elementos que relacionan  Compara estos valores entre si y esta
de forma diferente, los valores de una o mas comparación produce un resultado de
variables y/o constantes. Es decir, los certeza o falsedad (verdadero o falso).
operadores nos permiten manipular valores.  Los operadores relaciónales comparan
Tipos de Operadores: Aritméticos, valores del mismo tipo (numéricos o
Relaciónales y Lógicos cadenas)
 Tienen el mismo nivel de prioridad en
o Operadores Aritméticos: Los operadores su evaluación.
aritméticos permiten la realización de  Los operadores relaciónales tiene
operaciones matemáticas con los valores menor prioridad que los aritméticos.
(variables y constantes).
Los operadores aritméticos pueden ser
utilizados con tipos de datos enteros o Operadores Relaciónales
reales. Si ambos son enteros, el resultado
Operador Descripción Ejemplo Resul.
es entero; si alguno de ellos es real, el
resultado es real. > Mayor que 3>4 Falso
< Menor que 5<2 Falso
Operando (Operador) Operando >= Mayor igual que 4 >= 2 Verdadero
<= Menor igual que 5 <= 2 Falso
Valor <> Diferente que 5 <> 2 Verdadero
(constante o variable) = Igual que 5=5 Verdadero

Operadores Aritméticos o Operadores Lógicos:


Operador Descripción Ejemplo Resul.  Estos operadores se utilizan para
+ Suma 3+4 7 establecer relaciones entre valores
- Resta 5-2 3 lógicos.
* Multiplicación 3*4 12  Estos valores pueden ser resultado de
/ División Real 5/2 2.5 una expresión relacional.
div División Entera 5 div 2 2 Operador And( y)
mod Residuo 5 mod 2 1 Operando1 Operador Operando2 Resultado
T AND T T
Prioridad de los Operadores Aritméticos T F F
 Todas las expresiones entre F T F
F F F
paréntesis se evalúan primero. Las
expresiones con paréntesis anidados
Operador Or( ó)
se evalúan de dentro a fuera. Operando1 Operador Operando2 Resultado
 Dentro de una misma expresión los
operadores se evalúan en el siguiente T OR T T
orden. T F T
1.- ^ Exponenciación F T T
F F F
2.- *, /, mod Multiplicación, división,
modulo ó residuo.
Operador Not( no)
3.- +, - Suma y resta. Operando Resultado
T F
 Los operadores en una misma F T
expresión con igual nivel de prioridad
se evalúan de izquierda a derecha. Prioridad de los Operadores Lógicos
 Not
o Operadores Relaciónales:  And
 Se utilizan para establecer una  Or
relación entre dos valores.
Prioridad de los Operadores en General

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

 () 17. suma
 ^ 18. SUMA
 *, /, Mod, Not 19. %cambio
 +, -, And 20. primer.pas
 >, <, > =, < =, < >, =, Or 21. abc1234 c
22. ant_al
CUESTIONARIO WORK PAPER No. 2. 23. program

Dado los siguientes datos, definir su tipo. Resolver las siguientes expresiones:
1. X = 5.2 24. 4 + 2 * 5
2. Y = 1254 25. 23 * 2 / 5
3. Direccion = ‘Calle Los pinos #125’ 26. 3 + 5 * (10 - (2 + 4))
4. Nombre = ‘Pepito Peres’ + 5 27. 3.5 + 5.09 - 14.0 / 40
5. Suma = 2.5 + 12 28. 2.1 * (1.5 + 3.0 * 4.1)
29. (3*2^5 mod 1 + 8*(3-5) < (2+8-1 mod 1)
Indicar cual de los siguientes 30. (3*32 mod 2 + (-16)) < 10 and -16 < 10
identificadores no son validos y ¿porque ? 31. 3*2 or (3+5*8) < 3 and ((-6/3 div 4)*2 < 2)
6. Nombre_completo 32. V or 43 < 3 and (0*2 < 2) or V or F and V
7. em@il 33. 3 mod 2 div 3 + 3*2/2 + 4-2*3
8. calle# 34. (-B*2 <> 8*3 mod 4) and not (12*2>=24)
9. x_23_ 35. (0 <> 24 mod 4) y F
10. nombre____23 36. 3+2 or not (3=5) and (8 <> 3*2) and not F
11. 3_3ddd44
12. _dde33 Sean a = 10 b = 12 c = 13 d =10
13. d_44txxx5 37. ((a > b)or(a < c)) and ((a = c) or (a > = b
14. x_1 38. ((a > = b) or (a < d)) and (( a > = d) and (c
15. 1x > d))
16. x-1 39. not (a = c) and (c > b)

PROGRAMA DE CONTROL DE CALIDAD

WORK PAPER # 3

UNIDAD O TEMA: INTRODUCCION A LA PROGRAMACION

TITULO: Técnicas de diseño y formulación de algoritmos

FECHA DE ENTREGA:

PERIODO DE EVALUACION: Primera etapa


Técnicas de diseño o Con cada descomposición, se simplifican
los subproblemas.
Top Down: Se descompone sucesivamente el
problema inicial en inicial en subproblemas.

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

o Las diferentes partes del problema pseudocodigo utiliza palabras que indican el
pueden ser programadas de forma proceso a realizar.
independiente.
o El programa final queda estructurado en
forma de bloques o módulos. PALABRA UTILIZACIÓN
CASO Selección entre múltiples alternativas
Bottom Up: Se programa cada proceso según Complemento de la selección SI -
ENTONCES
vaya apareciendo. ENTONCES
o Difícil llegar a una integración tal que el ESCRIBE Visualiza un dato en pantalla
desempeño global fluido. FIN Finaliza un bloque de instrucciones
o Proclive a la duplicación de esfuerzos. HASTA Cierra la iteración HAZ - HASTA
o Pueden no satisfacerse los requisitos HAZ Inicia la iteración HAZ - HASTA
globales de la aplicación INICIO Inicia un bloque de instrucciones
o La creación de algoritmos se basa en la
LEER Leer un dato del teclado
técnica descendente.
MIENTRAS Inicia la iteración mientras

Técnicas para la formulación de NO Niega la condición que le sigue


algoritmos O Disyunción lógica
Complemento opcional de la
O - BIEN
La representación de un algoritmo se logra selección SI - ENTONCES
mediante la independización de éste, del PARA Inicia un número fijo de iteraciones
lenguaje de programación elegido. Con esto SI Inicia la selección SI-ENTONCES
se logra que pueda ser representado en Y Conjunción lógica
cualquier lenguaje. Para ello debe ser { Inicio de comentario
representado gráfica y numéricamente, así } Fin de comentario
cualquier lenguaje de programación será <= Asignación
capaz de interpretar su codificación.
Un algoritmo se representa tomando las
siguientes consideraciones: Diagrama de Flujo
o Lenguaje de especificación de
Un diagrama de flujo es la representación
algoritmos: pseudocódigo.
gráfica de un algoritmo. También se puede
o Diagrama de flujo.
decir que es la representación detallada en
forma gráfica de como deben realizarse los
Pseudocódigo
pasos en la computadora para producir
A continuación se muestran algunos ejemplos
resultados.
de palabras utilizadas para construir
Esta representación gráfica se da cuando
algoritmos en pseudocódigo.
varios símbolos (que indican diferentes
procesos en la computadora), se relacionan
Mezcla de lenguaje de programación y
entre si mediante líneas que indican el orden
español (o ingles o cualquier otro idioma) que
en que se deben ejecutar los procesos.
se emplea, dentro de la programación
Los símbolos utilizados han sido
estructurada, para realizar el diseño de un
normalizados por el instituto norteamericano
programa. En esencial, el pseudocodigo se
de normalización (ANSI).
puede definir como un lenguaje de
especificaciones de algoritmos. SÍMBOLO DESCRIPCIÓN

Es la representación narrativa de los pasos Indica el inicio y el final de nuestro


que debe seguir un algoritmo para dar diagrama de flujo.
solución a un problema determinado. El

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

Indica la entrada y salida de datos. o Todo texto escrito dentro de un símbolo


deberá ser escrito claramente, evitando el
Símbolo de proceso y nos indica la uso de muchas palabras.
asignación de un valor en la memoria
y/o la ejecución de una operación Ventajas de utilizar un Pseudo código a un
aritmética. Diagrama de Flujo
Símbolo de decisión indica la o Ocupa menos espacio en una hoja de
realización de una comparación de papel
valores. o Permite representar en forma fácil
operaciones repetitivas complejas
o Es muy fácil pasar de pseudo código a un
Se utiliza para representar los programa en algún lenguaje de
subprogramas. programación.
o Si se siguen las reglas se puede observar
Se utiliza para representar ciclo claramente los niveles que tiene cada
iterativo Hacer Para. operación.

Conector dentro de página.


Representa la continuidad del CUESTIONARIO WORK PAPER No. 3
diagrama dentro de la misma página.
Indicar cual de las sentencias siguientes
son incorrectas, justifique su respuesta.
Conector fuera de pagina. Representa
la continuidad del diagrama en otra
pagina.
1. 1=5

Indica la salida de información por 2.


impresora. x#y= 5 + 5

3.
1_=x = 2
4.
Líneas de flujo o dirección. Indican la X+ 2 =3
secuencia en que se realizan las
operaciones.
5.
Nombre ‘pepito’
6.
Num1=x+5
7.
em@il=’pepi@mi.com’
Recomendaciones para el diseño de
Diagramas de Flujo 8.
Dir = ‘Calle # 125’
o Se deben se usar solamente líneas de
flujo horizontales y/o verticales.
9. x
o Se debe evitar el cruce de líneas
utilizando los conectores.
o Se deben usar conectores solo cuando 10. x = x+2
sea necesario.
o No deben quedar líneas de flujo son 11. Nombre, em@il, dia
conectar.
o Se deben trazar los símbolos de manera 12. x+2, nombre, ‘hola ‘ x
que se puedan leer de arriba hacia abajo y
de izquierda a derecha. 13. Nombre , 15

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

14. 2006, día 19. x+2, nombre, ‘hola ‘ x

15. 20.
Mes, día año
16. X+2, x, nombre 21.
‘el‘ email,
resultado’, x, que
nombre’, , xtal
‘introducir un dato’, x, ‘ nombre
22.
x+1,
17. 23.
Introduzca su email
18. 24.
x = x+2

‘el nro es’, ((x+2)*3)/2, z

PROGRAMA DE CONTROL DE CALIDAD

WORK PAPER # 4

UNIDAD O TEMA: ESTRUCTURAS ALGORITMICAS

TITULO: Estructuras algorítmicas – Estructuras secuenciales

FECHA DE ENTREGA:

PERIODO DE EVALUACION: Primera etapa


Programación Estructurada Instrucción
La programación estructurada es un estilo con Una instrucción es cada paso de un algoritmo,
el cual el programador elabora programas, pero que lo ejecuta el ordenador. Un
cuya estructura es la más clara posible. Para programa es un conjunto de instrucciones que
ello, la programación estructurada hace uso ejecutadas ordenadamente resuelven un
de tres estructuras básicas de control. Éstas problema.
son:
- Asignación Tipos de instrucciones:
Secuenciales - Entrada - E/S: Pasar información del exterior al interior
- Salida
del ordenador y al revés.
Estructuras - Simples
Algorítmicas Condicionales - Múltiples - Aritmético-lógicas: Aritméticas: +,-,*,... ;
Lógicas: or, and, <, >, ...
Iterativas o - Hacer para
Cíclicas - Hacer mientras
- Repetir hasta - Selectivas: Permiten la selección de una
alternativa en función de una condición.
La programación estructurada se basa un
teorema fundamental, el cual afirma que - Repetitivas: Repetición de un número de
cualquier programa, no importa el tipo de instrucciones un número finito de veces.
trabajo que ejecute, puede ser elaborado Las instrucciones se agrupan formando
utilizando únicamente las tres estructuras bloques de instrucciones, que son listas de
básicas (secuencia, selección, iteración). instrucciones que se ejecutan una tras otra.

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

Las operaciones contador y acumulador son


Estructuras secuenciales. de gran utilidad en programación
Indica que las instrucciones de un programa
Operaciones Entrada
se ejecutan una después de la otra, en el
mismo orden en el cual aparecen en el Los datos se pueden almacenar en memoria
programa. Se representa gráficamente como de tres formas diferentes: asociados con
una caja después de otra, ambas con una constantes, asignados a una variable con una
sola entrada y una única salida. sentencia de asignación o una sentencia de
lectura. Ya se han examinado las dos
primeras.
La lectura es equivalente a la asignación en
Instrucción 1 cuanto que va a haber una variable que
recibe un valor, pero este valor no resulta de
evaluar ninguna expresión, sino que el valor
Instrucción 2 lo vamos a leer de un dispositivo externo de
entrada.
Instrucción N
Formato
nombre
Las estructuras secuenciales se clasifican en
tres: Asignación, Entrada y Salida.
Operaciones Salida
nombre es la variable a la que se le asignara
algún valor leído desde teclado. A medida que se realizan cálculos en un
programa, se necesitan visualizar los
La sentencia de asignación resultados. Esta operación se conoce como
La asignación consiste, en el paso de valores operación de salida o de escritura. Consiste
o resultados a una zona de la memoria. Dicha en mandar por un dispositivo de salida (p.ej.
zona será reconocida con el nombre de la monitor o impresora) un resultado o mensaje.
variable que recibe el valor. La operación de Formato
asignación se demuestra en diagramas de
flujo con el símbolo de proceso y con el ‘Hola como estas’, x
símbolo '', para denotar que el valor situado
a su derecha se almacena en la variable
situada a la izquierda.
Formato
Esta instrucción ó sentencia de salida
Variable = expresión muestra en pantalla el mensaje Hola como
estas, y además muestra el valor que tiene
asignado la variable x.
variable identificador válido declarado
anteriormente expresión variable, constante
o una expresión o fórmula a evaluar
En los algoritmos las instrucciones de
entrada/salida escritas en pseudocódigo son:
Operaciones especiales de asignación
Contador Un contador es una variable que se CUESTIONARIO WORK PAPER No. 4
incrementa, cuando se ejecuta, en una unidad
o en una cantidad constante. 1. Realice un programa para leer un
Acumulador Es una variable que se numero e imprimir : ‘El numero
incrementa en una cantidad variable.

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

introducido es XXX’ (Donde XXX es el 9. Realizar un algoritmo para encontrar el


numero introducido). valor de X en la siguiente ecuación:
Ejemplo. x=(a+2)*c + 3-a2 , donde las variables a,
Si el usuario introdujo N= 2 que imprima: c son introducidas por el usuario.
El número introducido es 2
10. Elabore un algoritmo convertir un
Si el usuario introdujo N=12 que numero positivo a negativo y viceversa
imprima:
El número introducido es 12 11. Un vendedor recibe un sueldo base
mas un 10% extra por comisión de sus
2. Realice un algoritmo para leer un ventas, el vendedor desea saber cuanto
número, elevar el número al cuadrado y dinero obtendrá por concepto de
al cubo e imprimir el número junto con su comisiones por las tres ventas que
cuadrado y su cubo. realiza en el mes y el total que recibirá
en el mes tomando en cuenta su sueldo
3. Leer un número y escribir el valor base y comisiones.
absoluto del mismo.
12. Un maestro desea saber que
4. Modifique el programa anterior de
porcentaje de hombres y que porcentaje
manera que se solicite el nombre a dos
de mujeres hay en un grupo de
personas y aparezca un cartel que diga
estudiantes.
"Buenos días XXXXX y YYYYY ....
¿Comenzamos a trabajar?
13. Un maestro desea saber que
porcentaje de hombres y que porcentaje
5. Diseñe un algoritmo para mostrar los 5
de mujeres hay en un grupo de
primeros números naturales.
estudiantes.
6. Una tienda ofrece un descuento del
14. Dada un cantidad en pesos, obtener la
15% sobre el total de la compra y un
equivalencia en dólares, asumiendo que
cliente desea saber cuanto deberá pagar
la unidad cambiaría es un dato
finalmente por su compra.
desconocido
7. Realizar un algoritmo que calcule la
15. Un alumno desea saber cual será su
edad de una persona tomando como
calificación final en la materia de
referencia El año de nacimiento y el año
Algoritmos. Dicha calificación se
actual.
compone de los siguientes porcentajes:
55% del promedio de sus tres
8. Realizar un algoritmo para encontrar el
calificaciones parciales.
valor de X en la siguiente ecuación:
30% de la calificación del examen
x= y2 + 1, donde la y es introducida por el
final.
usuario.
15% de la calificación de un trabajo
final.

PROGRAMA DE CONTROL DE CALIDAD

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

WORK PAPER # 5

UNIDAD O TEMA: ESTRUCTURAS ALGORITMICAS

TITULO: Estructuras algorítmicas – Estructuras Condicionales

FECHA DE ENTREGA:

PERIODO DE EVALUACION: Primera etapa

Introducción al concepto de condición.


Una instrucción condicional es aquella que
nos permite "preguntar" sobre el entorno que
nos rodea, pudiendo así actuar según la
respuesta obtenida. Estas respuestas siempre
serán Verdadero o Falso, pudiendo así tomar,
en un principio, dos caminos diferentes.
Donde:
Pongamos un pequeño ejemplo. Imagina que´ Este símbolo Indica
tenemos nuestro robot subiendo las comparación
escaleras y le indicamos lo siguiente: Si estás
en el escalón 200 entonces no continúes Cond Indica la condición a
subiendo, sino continua tu ascensión. Como evaluar
puedes ver aquí se nos presenta una
condición y según en el punto de la escalera V Indica el camino que se
en la que se encuentre nuestro robot se debe tomar si se cumple la
parará o continuará subiendo. condición.

Estructuras condicionales. F Indica el camino que se


Las estructuras condicionales comparan una debe tomar si NO se
variable contra otro(s) valor(es), para que en cumple la condición.
base al resultado de esta comparación, se Bloque de Son las acciones a realizar
siga un curso de acción dentro del programa. instrucciones cuando se cumple o no la
Cabe mencionar que la comparación se condición.
puede hacer contra otra variable o contra una Dependiendo de si la comparación es cierta o
constante, según se necesite. Existen dos falsa, se pueden realizar una o mas acciones.
tipos básicos, las simples y las múltiples. Múltiples: Generalmente es necesario que
existan más de dos alternativas de las cuales
Simples: Las estructuras condicionales poder elegir. Esta opción podría solucionar
simples permiten elegir entre dos opciones o problemas que requieren de decisiones no
alternativas posibles en función del usuales, por estructuras alternativas simples o
cumplimiento o no de una determinada dobles, anidadas o en cascada. Sin embargo,
condición. Se les conoce como “Tomas de se pueden plantear serios problemas de
decisión”. escritura del algoritmo y naturalmente de
Formato legibilidad, si el número de alternativas es
F V grande.
Con
d
Las estructuras de comparación múltiples,
son tomas de decisión especializadas que
permiten comparar una variable contra
Bloque de Bloque de distintos posibles resultados, ejecutando para
Instrucciones A Instrucciones B

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

cada caso una serie de instrucciones CUESTIONARIO WORK PAPER No. 5


específicas y su principal ventaja es que es
facil de plantear con menos posibilidad de 1. La presión, el volumen y la
cometer errores de diseño. La forma común temperatura de una masa de aire se
es la siguiente: relacionan por la formula:
Formato Masa = (presión * volumen)/(0.37 *
(temperatura + 460))

2. Realice un programa para leer un


número e identifique e imprima si este
número es nulo, positivo o negativo.

3. Diseñe un Algoritmo para imprimir el


menor de 2 números leídos por teclado.

4. Diseñe un Algoritmo para imprimir el


mayor de 3 números leídos por teclado.

5. Realice un algoritmo que lea cuatro


números y determine si alguno de ellos es
cero, si uno de los números es cero que
imprima “Cero”, caso contrario imprima
“No existe Cero”
Donde:
6. Realizar un algoritmo para encontrar el
En este símbolo se encontrara valor de X en la siguiente ecuación:
la variable que se analizara x=(a*2)/c + 3-a2 , donde las variables a, c
son introducidas por el usuario.
Valor1, valor2, valor3
Indica el camino que se debe tomar si la 7. Realizar un algoritmo para resolver
variable analizada toma uno de los valores. una ecuación de 2do. Grado. (Ax2 + Bx +
C). Donde las variables A, B, C son
valorX .. valorY Representa el camino que introducidas por el usuario.
se debe tomar si la
variable se encuentra en 8. Diseñe un algoritmo para mostrar los N
el rango de valores de números naturales (N es introducido por
valorX .. valorY. teclado).

Caso contrario Indica el camino que se 9. Determinar si un alumno aprueba a


debe tomar si la variable reprueba un curso, sabiendo que aprobara
analizada no toma si su promedio de tres calificaciones es
ninguna de los valores mayor o igual a 70; reprueba en caso
propuestos (Valor1, contrario.
valor2, valor3, valorX ..
valorY). 10. En un almacén se hace un 20% de
descuento a los clientes cuya compra
Indica el conjunto de supere los $1000 ¿Cual será la cantidad
instrucciones que serán que pagara una persona por su compra?
ejecutados en un
determinado camino.

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

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).

PROGRAMA DE CONTROL DE CALIDAD

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

WORK PAPER # 6

UNIDAD O TEMA: ESTRUCTURAS ALGORITMICAS

TITULO: Estructuras algorítmicas – Estructuras Iterativas

FECHA DE ENTREGA:

PERIODO DE EVALUACION: Primera etapa – Segunda etapa

Introducción al concepto de Bucles e cada iteración, sino que va a ser una


iteración. operación implícita (lo hace por defecto).
El diseño de las computadoras está hecho
especialmente para aquellas aplicaciones en Por tanto en cada iteración del bucle, la
las que una operación o conjunto de variable índice se actualiza automáticamente
operaciones deben repetirse muchas veces. y cuando alcanza el valor que hemos puesto
como final se termina la ejecución del bucle.
Para ello es importante la estructura del
algoritmo, necesario para repetir una o varias Formato:
acciones, un número determinado de veces.

Las estructuras que repiten una secuencia de


instrucciones un número determinado de
veces se denominan bucles y, al hecho de
repetir la ejecución de una secuencia de
acciones se denomina iteración.

Todo bucle tiene que llevar asociada una


condición, que es la que va a determinar
cuando se repite el bucle y cuando debe de
terminar.
- Hacer para
Iterativas o - Hacer mientras Donde:
Cíclicas - Repetir hasta
VC Variable de control del ciclo
Estructura Iterativa HACER PARA VI Valor Inicial
Este tipo de bucles se utiliza cuando se sabe VF Valor Final
ya antes de ejecutar el bucle el número En este ciclo la variable de control (VC) toma
exacto de veces que hay que ejecutarlo. Para el valor inicial (VI) del ciclo y el ciclo se repite
ello el bucle llevara asociado una variable que hasta que la variable de control llegue al valor
denominamos variable índice, a la que le final (VF). El ciclo HACER PARA tiene
asignamos un valor inicial y determinamos implicito una condicion la cual es (VC <= VF).
El Bloque Int. A se ejecuta siempre y cuando
cual va a ser su valor final y además se va a la condicion implicita sea verdadera V, cuando
incrementar o decrementar en cada iteración la condicion es falsa F continua con la
de bucle en un valor constante, pero esto se ejecución del Bloque Inst. B.
va a hacer de manera automática, el
programador no se tiene que ocupar de En se incrementa o decrementa
incrementar o decrementar esta variable en automáticamente la variable de control.

Estructura Iterativa HACER - MIENTRAS

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

Esta es una estructura que repetira un cumple y no mientras, como en el Hacer-


proceso durante “N” veces. Para esto, la Mientras.
instrucción se vale de una condición (Cond)
que es la que debe cumplirse para que se Por otra parte, esta estructura permite realizar
siga ejecutando. Cuando la condición ya no el proceso cuando menos una vez, ya que la
se cumple, entonces ya no se ejecuta el condición se evalúa al final del proceso,
proceso. mientras que en el Hacer-Mientras puede ser
Formato: que nunca llegue a entrar si la condición no
se cumple desde un principio.
Formato:

Donde:

Cond. Es la condición que controla el bucle, y


solo puede tener dos posibles valores
V ó F.
En esta estructura primero se ejecuta el
La condición del bucle se evalúa al principio, Bloque Inst. A, luego evalúa la Cond, si esta
antes de entrar en él. Si la condición es es falsa F se repite el bucle hasta que la
verdadera V, comenzamos a ejecutar el condición sea verdadera V
Bloque Inst. A, después de la ultima
instrucción del Bloque volvemos a preguntar La condición se evalúa siempre al final del
por la condición. En el momento en el que la bucle, si es falsa F volvemos a ejecutar el
condición sea falsa F nos salimos del bucle Bloque Inst. A, si es verdad se sale del bucle
continuamos con el Bloque Inst. B. y continua y ejecuta el Bloque Inst. B.

Al evaluarse la condición antes de entrar en el Como la condición se evalúa al final, incluso


bucle al principio, si la condición al ser aunque la primera vez ya sea verdadera,
evaluada la primera vez es falsa, no habremos pasado al menos una vez por el
entraremos nunca en el bucle. bucle.

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

23
FACULTAD DE INGENIERIA

2. Elabore un algoritmo que despliegue la 14. Elabore un algoritmo para ver si un


tabla de multiplicar del 1..9, por pantalla. número es capicúa o no. Un número es
capicúa cuando es igual a su inverso.
3. Elabore un algoritmo que resuelva el Ejemplo.
problema de elevar un número a cualquier 212 es capicúa porque su inverso es 212.
potencia (xn donde x y n son introducidos 215 no es capicúa porque su inverso es
por el usuario) mediante productos 512
sucesivos.
15. Elabore un algoritmo para generar e
4. Elabore un algoritmo para leer N imprimir los primeros N elementos de la
números por teclado y determinar cual es siguiente serie:
el mayor y el menor de los números 1, 3, 5, 7, 9, 11, 13, 15, 17……..
leídos.
16. Elabore un algoritmo para generar e
5. Realice un algoritmo que pida un imprimir los primeros N elementos de la
número por teclado y determine cuantos siguiente serie:
dígitos tiene dicho número. 1, 4, 4, 6, 7, 8, 10,10, 13, 12, 16, 14, 19,
16……..
6. Realice un algoritmo que pida un
número por teclado y determine cuantos 17. Elabore un algoritmo para generar e
dígitos pares tiene dicho número. imprimir los primeros N elementos de la
siguiente serie:
7. Realice un algoritmo que pida un 5, 12, 15, 14, 25, 16, 35, 18,……..
número por teclado e imprima cual es el
valor del digito menor de dicho número 18. Elabore un algoritmo para generar e
Ejm. N=4257 el digito menor es 2. imprimir los primeros N elementos de la
siguiente serie:
8. Realice un algoritmo que pida un 1, 4, 9, 16, 25….
número por teclado e imprima si es primo
o no. 19. Elabore un algoritmo para generar e
imprimir los primeros N elementos de la
9. Realice un algoritmo que pida un siguiente serie:
número N por teclado y calcule el 1, 4, 3, 16, 5, 36………
promedio de los dígitos del número y lo
muestre en pantalla. 20. Elabore un algoritmo para generar e
imprimir los primeros N elementos de la
10. Realice un algoritmo que pida un siguiente serie de Fibonacci:
número por teclado y determine si existe 1, 1,2, 3, 5, 8, 13………..
algún digito impar en dicho número.
21. Elabore un programa para generar los
11. Leer una secuencia de números, hasta primeros N números naturales que al
que se introduce un número negativo y menos tengan un digito cero(0).
mostrar la suma de dichos números. 10, 20, 30, 40, 50, 60, 70, 80, 90, 100,
101, 102,……..
12. Leer dos números y realizar el
producto median sumas. 22. Elabore un programa para generar los
primeros N números primos.
13. Leer dos números y realizar la división 1, 2, 3, 5, 7……
mediante restas mostrando el cociente y
el resto. 23. Elabore un programa para generar los
primeros N numero capicuas.

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

1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33…..


30. Elabore un algoritmo para mostrar la
suma de todos los dígitos pares que tiene
24. Elabore un algoritmo para convertir un el numero N introducido por teclado.
numero Decimal a su equivalente en Ejemplo N= 564 la suma que muestra es
Binario y viceversa. 10.

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
1
26. Elabore un algoritmo para invertir un Si n = 3
12
numero Ej. 524  425, imprimir. 1
123
12
1234
27. Elabore un algoritmo que determine si 123
12345
un número es perfecto o no. Un número
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

PROGRAMA DE CONTROL DE CALIDAD

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

25
FACULTAD DE INGENIERIA

UNIDAD O TEMA: PROGRAMACIÓN MODULAR


un
TITULO: Programación modular

FECHA DE ENTREGA:

PERIODO DE EVALUACION: Primera etapa


Programación modular cuerpo(con la declaración de los parámetros
La programación modular es una de las de la función y las instrucciones).
técnicas fundamentales de la programación. Sintaxis:
Se apoya en el diseño descendente y en la
filosofía de “divide y vencerás”, es decir se Funcion <nombre_funcion> (n_parametro:
trata de dividir el problema dado, en tipo, n_parametro: tipo): tipo funcion
problemas más simples en que cada uno de Var <variables locales funcion>
los cuales lo implementaremos en un módulo Inicio
independiente. A cada uno de estos módulos <acciones>
es a lo que llamamos subalgoritmos o retorno <valor>
subprogramas. fin

Siempre existirá un módulo o programa La lista de parámetros


principal que es con el que comienza la Es la información que se le tiene que pasar a
ejecución de todo el programa, y a partir de él la función. Los parámetros luego dentro de la
iremos llamando al resto. función los podemos utilizar igual que si
fueran variables locales definidas en la
Hay dos tipos fundamentales de función y para cada parámetro hay que poner
subprogramas: Funciones y procedimientos. su nombre y tipo.
o El nombre de la función lo da al usuario y
FUNCIONES: tiene que ser significativo.
Desde el punto de vista matemático, una o En las variables locales se declaran las
función es una operación que toma uno o variables que se pueden usar dentro de la
varios operandos, y devuelve un resultado. Y función.
desde el punto de vista algorítmico, es un o Entre las acciones tendrá que existir entre
subprograma que toma uno o varios ellas una del tipo retorno <valor>.
parámetros como entrada y devuelve a la
salida un único resultado. No se permiten funciones que no devuelvan
nada. Los parámetros que aparecen en la
Este único resultado irá asociado al nombre declaración de la función se denominan
de la función. parámetros formales, y los parámetros que yo
Hay dos tipos de funciones: utilizo cuando llamo a la función se
- Internas: Son las que vienen denominan parámetros actuales o reales.
definidas por defecto en el
lenguaje. Invocación de una función
- Externas: Las define el usuario y Para llamar a una función se pone el nombre
les da un nombre o identificador. de la función, y entre paréntesis los
parámetros reales, que podrán ser variables,
Declaración de una función: expresiones, constantes,... pero siempre del
La estructura de una función es semejante a mismo tipo que los parámetros normales
la de cualquier subprograma. Tendrá una asociados
cabecera (con el nombre y los parámetros) y <nombre_funcion> (parámetros reales)

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

A través de los parámetros reales de la tarea, pero que tras ejecutar esa tarea no
llamada se proporciona a la función la tienen ningún valor asociado a su nombre
información que necesita, para ello, al hacer como en las funciones, sino que si devuelve
la llamada lo que se produce es una información, lo hace a través de parámetros.
asociación automática entre parámetros
reales y parámetros formales. Esta asociación Al llamar a un procedimiento, se le cede el
se realiza según el orden de la aparición y de control, comienza a ejecutarse y cuando
izquierda y derecha. termina devuelve el control a la siguiente
instrucción a la de llamada.
Si el parámetro formal y real no son del
mismo tipo, se produce un error. Diferencias entre funciones y
procedimientos:
Pasos para hacer la llamada a una función: o Una función devuelve un único valor y un
o Al hacer la llamada y ceder el control a la procedimiento puede devolver 0,1 o N.
función, se asocia (asigna el valor) de o Ninguno de los resultados devueltos por el
cada parámetro real a cada parámetro procedimiento se asocian a su nombre
formal asociado, siempre por orden de como ocurría con la función.
aparición y de izquierda a derecha, por lo o Mientras que la llamada a una función
que siempre que no coincidan los tipos y forma siempre parte de una expresión, la
el número de parámetros formales y llamada a un procedimiento es una
reales, se produce un error. instrucción que por sí sola no necesita
o Si todo ha ido bien, se ejecutan las instrucciones.
acciones de la función hasta que o Esta llamada consiste en el nombre del
lleguemos a una de tipo retorno <valor> procedimiento y va entre paréntesis van
que pondrá fin a la ejecución. Pueden los parámetros que se le pasan.
existir varias sentencias de retorno en la
misma función, pero en cada llamada solo Declaración de un procedimiento
se podrá ejecutar uno. Sintaxis:
o Se le asocia al nombre de la función el Procedimiento <nombre_proc>
valor retornado y se devuelve el control al (<tipo_paso_par> <nombre_par>: tipo_par,...)
subprograma que hizo la llamada pero Var <variables locales>: tipo
sustituyendo el nombre de la función por Inicio
el valor devuelto. <sentencias>
fin
Otra forma de especificar el retorno de una
función: Se le asigna el valor devuelto al La cabecera va a estar formada por el nombre
nombre de la función. del procedimiento que será un identificador y
N_funcion  valor que debe de ser significativo, y luego entre
paréntesis los parámetros o la información
* La función solo puede ser llamada desde que se le pasa al procedimiento. Para cada
una expresión. parámetro hay que indicar el tipo de paso de
parámetro. Hay dos tipos fundamentales de
PROCEDIMIENTOS paso de parámetros, por valor y por
El inconveniente de una función es que solo referencia, si no ponemos tipo de paso de
puede devolver un único valor, por lo que sí parámetros, se toma el tipo de paso de
nos interesa devolver 0 o N valores, aunque parámetros por valor.
puedo usarlo para devolver un solo valor, El procedimiento devuelve resultados a través
debo usar un procedimiento. de sus parámetros, cosa que solo podrá
hacer a través de los parámetros que se
Un procedimiento es un subprograma o un pasan por referencia, tendrán que existir
subalgoritmo que ejecuta una determinada

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

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.
Esto quiere decir que la variable no tiene Para que se pueda realizar esta
ningún significado, no se conoce y no se asociación, tiene que haber el mismo

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

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.

Paso de parámetros: El funcionamiento sería el siguiente:


Del modo de paso de parámetros va a o Al hacer la llamada al subprograma se
depender el resultado que se obtenga. evalúa el valor del parámetro real, y ese
Según se usen para meter datos o para es el que se asocia, es decir, el que se
obtener resultados. Existen 2 tipos: guarda o asigna al parámetro formal
o De entrada: Son parámetros que solo asociado.
aportan información de entrada al o Comenzamos a ejecutar el subprograma y
subprogama en el que pertenecen como si por casualidad se produce algún cambio
parámetros. Aporta el valor que tienen en el parámetro formal, el parámetro
como entrada al subprograma. En el caso actual no se verá afectado, es decir, su
de una función, todos sus parámetros son valor seguirá siendo el mismo en el
de este tipo. Como solo sirven como subprograma desde donde se llama que
entrada, solo pueden ser leídos, pero no antes de hacer la llamada al subprograma.
modificados, y aunque se modificasen
dentro de un subprograma, fuera no va a Paso de parámetros por referencia, ahora la
tener efecto esa modificación. característica principal de este tipo de paso
o De salida: Se usan solo y exclusivamente de parámetros es que el parámetro formal va
para devolver resultados a través de ellos. a tener también asignada una dirección de
Su valor al hacer la llamada al memoria en la que se almacena, pero en esa
subprograma no nos importa, sino que dirección NO SE GUARDA SU VALOR, sino
ese valor solo va a tener importancia que se almacena la dirección de su parámetro
cuando termina la ejecución del programa. real asociado, es decir, el parámetro formal
Un parámetro de este tipo teóricamente apunta al parámetro real que tiene asociado y
nunca se puede leer, solo se va actualizar. cualquier modificación que se efectúe sobre el
parámetro formal tendrá una repercusión
Métodos de paso de parámetros directa en el parámetro real asociado ya que
o Paso de parámetros por valor. lo que modificará será el valor almacenado en
o Paso de parámetros por referencia. la dirección que indica el parámetro formal
que es la de su parámetro formal asociado.
Paso de parámetros por valor, nos interesa el
valor del parámetro actual a la entrada, para El proceso será por tanto el siguiente:
ello este valor se copia en la dirección de o Al hacer la llamada al procedimiento en el
memoria del parámetro formal asociado. En parámetro formal que se pasa por
este caso el parámetro real puede se una referencia, se va a guardar la dirección del
constante, expresión o variable, y nunca se va parámetro real asociado para que apunte
a usar para devolver resultado a través de él, a él.
por esa razón precisamente puede ser una o Durante la ejecución cualquier referencia
constante o una expresión, porque al no al parámetro formal se hará accediendo a
devolver resultados a través de él no necesita la dirección apuntada por dicho
tomar ninguna zona de memoria en la que parámetro, es decir, accediendo
este almacenado, es más, incluso si el directamente al parámetro real asociado,
parámetro actual fuera una variable y la por lo que cualquier cambio en el
modificásemos dentro del subprograma (algo parámetro formal afectará directamente al
que no deberíamos hacer), fuera del parámetro real asociado.
subprograma no tendría ninguna repercusión
esta modificación, es decir, esa variable De esta manera habremos pasado el
serviría valiendo lo mismo en el programa resultado.

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

CUESTIONARIO WORK PAPER No. 7


A estos parámetros también se les llama
parámetros variables (porque su valor varía), 1. Escribir las siguientes funciones que
por eso en Pascal se usa la palabra clave Var retornan un valor
para indicarlo.
2. Escribir una función que dados a y b
Por valor el parámetro actual no cambia de enteros devuelva a*b.
valor.
Por referencia el parámetro actual puede 3. Escribir una función que dado un número
cambiar. entero, devuelva una señal que indique si
dicho número es primo o no.
Por valor: Solo lo usamos cuando un
parámetro solo sirve para información de 4. Escribir una función que dados 2
entrada, no devolvemos nada con él. Por eso números, calcule el porcentaje que el
este paso puede ser una constante, variable o primero representa respecto del segundo.
expresión. Para simbolizarlo en la declaración
de variables no ponemos nada. 5. Escribir una función que dados a y b
devuelva el cociente de la división entera,
Por referencia: Lo usamos cuando un sin utilizar el operador correspondiente del
parámetro lo usamos como entrada de lenguaje. Validar los tipos de datos de
información y como salida o solo como salida. entrada.
Por esta razón ahora sí que se va a variar el
parámetro formal y por lo tanto no podemos 6. Escribir una función que dados a y b
usar constantes ni expresiones, solo devuelva el resto de la división entera, sin
variables. Lo simbolizamos con la palabra 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. Escribir una función booleana que llamada
desde un programa, permita discernir si
un número (único parámetro) es perfecto.

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

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. 24. Leer un número y una letra si la letra es B
mostrar el valor en binario, si es O en
15. Escribir un programa que descomponga a octal y si es H en hexadecimal.
un número en sus factores primos.

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

25. Hacer un programa para encontrar y 90123456765432109


mostrar todas las parejas de números 0123456789876543210
amigos menores o iguales a uno dado.
Dos números se dice que son amigos si 30. La multiplicación ``a la rusa'' permite
cada uno de ellos es igual a la suma de realizar el producto de dos números
los divisores propios del otro. enteros utilizando solo sumas y divisiones
Por ejemplo, los números 220 y 284 son o productos por dos. El método consiste
amigos, ya que: en realizar sucesivamente las siguientes
Suma de divisores de 284: operaciones: multiplicar uno de los
1 + 2 + 4 + 71 + 142 = 220 números por dos y obtener la división
Suma de divisores de 220: entera del otro, también por dos. Se
1 + 2 + 4 + 5 + 10 + 11 + 20 + 22 + 44 + detiene el proceso al obtener como
55 + 110 = 284 cociente de la división un uno. Por
ejemplo, para multiplicar 22 por 64 se
26. Hacer un programa que dado tres obtienen las dos columnas siguientes:
números validos n, x, pos, insertar al
numero n el numero x en la posición pos
determinada. 22 64
27. Elabore un programa para imprimir el n- 11 128
ésimo número triangular. Se definen los
números triangulares como los obtenidos 5 256
por la suma de los números naturales 2 512
sucesivos 1, 2, 3, .... Es decir, los primeros
números triangulares son 1, 3, 6, 10, etc. 1 1024
22 x 64 = 1408
28. Elabore un programa que imprima el
triángulo de Floyd hasta un valor dado. El
triángulo contiene los números naturales A continuación sumamos los números de la
correlativos, uno en la primera línea, dos columna de la derecha que corresponden a
en la segunda, etc.; es decir, en la fila n- números impares en la columna de la
esima aparecen n valores. Ejemplo: izquierda, esto es en nuestro caso:
1 128+256+1.024=1.408 y el resultado de la
1 2 suma es el producto de los números iniciales.
1 2 3 Elaborar un programa en Pascal que
1 2 3 4 multiplique mediante este método dos
1 2 3 45 números enteros introducidos por pantalla

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
34543 32. Hacer un programa que simule tirar un
4567654 dado, contar la cantidad de veces que se
567898765 debe tirar un dado hasta que salga un
67890109876 número introducido por el usuario
7890123210987
890123454321098

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

33. Hacer un programa que permita


determinar la cantidad de cifras ****
significativas, de un numero n entero. **
Considerar: ****
o número en base 10 **
o ignorar el signo ****
o para el caso en que el número **
ingresado sea igual a 0 el número de ****
cifras determinado debe ser igual a 1. **
37. Hay que leer un x1, un x2 y n
34. En un cine se cobran $10 a los números enteros y decir cuántos de esos
mayores y $4 a los menores. Un día se n números son menores o iguales a x1,
recaudaron $200 y asistieron menos cuántos son mayores o iguales a x2 y
adultos que menores. Hacer un programa cuántos están entre x1 y x2.
que permita determinar los posibles
números de asistentes. 38. Elaborar un programa que genere la
siguiente secuencia:
35. Imprima la figura: con n = 5
1 3 8 30 144 840 ...
*
*** 39. El programa debe ser diseñado para
***** generar 7 términos de esta secuencia:
*******
********* 1=1!+0!
******* 3=2!+1!
***** 8=3!+2!
*** 30=4!+3!
* 144=5!+4!
36. Imprima la figura: con n = 4 840=6!+5!
5760=7!+6!

PROGRAMA DE CONTROL DE CALIDAD

WORK PAPER # 8

UNIDAD O TEMA: ESTRUCTURA DE DATOS BASICAS


El
TITULO: Arreglos - Vectores

FECHA DE ENTREGA:

PERIODO DE EVALUACION: Tercera etapa

Concepto de Arreglo. arreglo es un tipo estructurado de datos. Sin


lugar a dudas, es la estructura de datos más
empleada por los programadores.

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

Se entiende por estructura de datos, la acción


de agrupar elementos primitivos en cierta Vectores
forma. La forma más simple es agrupar Un vector es un arreglo en donde la ubicación
componentes de igual tipo y asociarle un exacta de cada uno de sus elementos
número de orden a cada componente; éste es necesita solamente la utilización de un índice.
el caso del arreglo.
Un vector siempre tendrá:
Un arreglo es una estructura de datos que 1. Tipo .- Por lo que se ha dicho en un vector
almacena bajo el mismo nombre (variable) a los datos que se han de almacenar
una colección de datos del mismo tipo. En la siempre serán del mismo tipo por lo cual
siguiente figura se muestra un arreglo de es supremamente importante especificar
enteros con 5 elementos: de qué tipo van a ser los datos
almacenados en él.
En esta parte es importante anotar que el
conjunto de datos almacenado en un
vector siempre será homogéneo o sea
que todos los datos son del mismo tipo.
2. Nombre. - Sabiendo que todos los datos
almacenados en un vector van a
pertenecer a un mismo arreglo, entonces
dicho arreglo deberá tener un nombre
ajustado a las mismas reglas con que se
le colocan los nombres a las variables
convencionales. No ha de olvidarse que
un arreglo en el fondo es una variable
dividida en varios pedacitos donde cada
pedacito puede almacenar un dato
diferente en su contenido mas no es su
Los arreglos se caracterizan por: tipo.
3. Dimensión.- Se refiere a la cantidad de
 Almacenan los elementos en elementos que van a ser utilizados en el
posiciones contiguas de memoria vector. En este aspecto debemos conocer
 Tienen un mismo nombre de variable lo mejor posible el objetivo porque cuando
que representa a todos los elementos. el algoritmo se haya convertido en
Para hacer referencia a esos elementos programa y se encuentre en ejecución no
es necesario utilizar un índice que podremos cambiar la cantidad de
especifica el lugar que ocupa cada elementos de que consta dicho vector.
elemento dentro del archivo. 4. Tamaño.- El tamaño es la cantidad total
de campos de memoria que van a ser
Índices utilizados. En el caso de los vectores no
Se conocen como índices todas aquellas existe ninguna diferencia entre la
variables que nos sirven para ubicar dimensión y el tamaño, diferencia que se
perfectamente un elemento dentro de un hará muy clara cuando expliquemos las
arreglo. matrices.
Tenemos dos tipos de arreglos que son: 5. Índice.- Siempre que vamos a usar un
vector es natural pensar que
Unidimensionales (Vectores) necesitaremos una variable de tipo entero
Tipo de que será utilizada a manera de índice o
Arreglos sea que es la que nos va a almacenar
Bidimensionales (Matrices) cada una de las posiciones posibles que
tenga el vector. Dicha variable solo tiene

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

que cumplir con el requisito de ser una 3. Hacer una función que permita
variable entera. calcular el promedio de todos los
elementos de un vector T de dimensión
Para hacer referencia a un elemento del N.
vector se usa el nombre del mismo, seguido
del índice (entre corchetes), el cual indica una 4. Hacer una función para encontrar el
posición en particular del vector. Por ejemplo: elemento menor del vector V con n
elementos.
Vec[x]
5. Dado un vector V con n elementos,
Donde: hacer una función que determine cuantos
Vec………… Nombre del arreglo múltiplos de 3 se encuentran en el
x…………… Indice del arreglo vector.

Operaciones 6. Hacer una función que dado un


Las operaciones sobre los elementos de un vector numero X, y un vector V con n
son: elementos, determinar cuantos divisores
de X existe en el vector V.
o Escritura
o Lectura 7. Diseñar un Procedimiento que permita
calcular el promedio de todos los
ESCRITURA: elementos pares de un vector T de
Es la acción de introducir un elemento a una dimensión N.
posición específica del vector. Así pues, si
queremos que la posición 6 del vector tenga un 8. Dado un vector y su dimensión diseñar
valor de -8, la operación a realizar es la siguiente:
un procedimiento que calcule el número
A[6]=-8
de elementos negativos, positivos y
LECTURA: nulos de un vector de N elementos.
Es la operación o acción de obtener un valor de
una posición del vector: 9. Dado un vector V con n elementos,
x = A[6] // x tendrá el valor de -8 realizar un procedimiento para encontrar
el elemento mayor y la posición que
ocupa dentro del vector.
CUESTIONARIO WORK PAPER No. 8
10. Realice un procedimiento para invertir
1. Realizar un Procedimiento para un vector V de dimensión N, sin utilizar
inicializar un vector V con los cuadrados un vector auxiliar.
de los N primeros números enteros, por
ejemplo: 11. Dado dos vectores A, B con n1 y n2
Ejm. Si N = 10 elementos, determinar de cual de los
V[1] =1*1 =1 vectores la suma de sus elementos es
V[2] =2*2=4 mayor.
V[3] =3*3 =9
12. Realice un procedimiento para sumar
V [10] = 10 * 10 = 100 dos vectores A y B de dimensión n1 y n2
respectivamente; Almacenar los
2. Dado un vector V con n elementos, resultados en un vector C de dimensión
realizar una función que encuentre la n3.
suma de los n elementos del vector V.
13. Realice una función para calcular la
cantidad de números primos

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

almacenados en un vector V de N 22. Calcular el promedio de N valores


elementos. almacenados en un vector. Determinar
además cuantos son mayores que el
14. Realice una función para calcular la promedio, imprimir el promedio, el
cantidad de números perfectos numero de datos mayores que el
almacenados en un vector V de N promedio y una lista de valores mayores
elementos. que el promedio

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
1 2 3 4 5 2

V 3 2 0 2 5
V 0 1 15 1 19 0 13
Resultado seria el numero : 2 y 5 Elementos sin cambiar = 3

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

27. Escribir un subprograma que dado un tipo Persona (Registro) cuyos datos son:
vector y su longitud, devuelva el carnet de identidad (ci), nombre, edad,
elemento máximo, la cantidad de veces teléfono.
que se repite y la/s posición/es que
ocupa. 31. Realice un procedimiento para ordenar
el anterior vector, por el campo edad.
28. Leer una secuencia de 20 números
almacenarlos en un vector A[1..20] y
Mostar la suma de los elementos que
ocupan posiciones pares y el mayor de
los que ocupan posiciones impares.

29. Dado un bolillero que contiene una o


más bolillas blancas y/o negras, contar e
informar la cantidad de bolillas de cada
color.
30. Realice dos procedimientos para
cargar y mostrar un vector V de
dimensión N cuyos elementos son de

PROGRAMA DE CONTROL DE CALIDAD

WORK PAPER # 9

UNIDAD O TEMA: ESTRUCTURA DE DATOS BASICAS

TITULO: Arreglos - Matrices

FECHA DE ENTREGA:

PERIODO DE EVALUACION: Tercera etapa


Arrays Bidimensionales ó Matrices: referenciar por 2 índices, y ahora la
En un array unidimensional o vector cada representación lógica ya no va a ser un
elemento se referencia por un índice, en un vector, sino una matriz.
array bidimensional cada elemento se va a

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

37
FACULTAD DE INGENIERIA

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:

Una matriz es un arreglo en donde la o Escritura


ubicación exacta de cada uno de sus o Lectura
elementos necesita de dos índices, para
indicar la fila y la columna del elemento dentro ESCRITURA:
de la matriz. Es la acción de introducir un elemento a una
posición específica de la matriz. Así pues, si
Una matriz siempre tendrá: queremos que la fila 1 y columna 6 de la matriz
tenga un valor de -8, la operación a realizar es la
6. Tipo .- Al igual que en vectores en una
siguiente:
matriz los datos que se han de almacenar M[1,6]=-8
siempre serán del mismo tipo
7. Nombre. - Sabiendo que todos los datos LECTURA:
almacenados en una matriz van a Es la operación o acción de obtener un valor de
pertenecer a un mismo arreglo, entonces una posición de la matriz, de una fila y columna
dicho arreglo deberá tener un nombre especifica:
ajustado a las mismas reglas con que se
le colocan los nombres a las variables x = M[1,6] // x tendrá el valor de -8
convencionales.
8. Dimensión.- Se refiere a la cantidad de CUESTIONARIO WORK PAPER No. 9
filas y columnas que van a ser utilizados
en la matriz. 1. Realice un procedimiento para cargar una
9. Tamaño.- El tamaño es la cantidad total de matriz F de dimensión m*n, por columnas
campos de memoria que van a ser de la siguiente manera:
utilizados. Por lo que el tamaño de la
matriz será igual a la cantidad de filas 1 2 3 4
multiplicado por la cantidad de 5 6 7 8
columnas( Filas x Columnas). 9 10 11 12
10. Índice.- Siempre que vamos a usar una 13 14 15 16
matriz es natural pensar que Procedure CargarPorColumnas(Var matriz M,
necesitaremos dos variables (i, j) de tipo int m, int n);
entero que serán utilizadas como índices,
donde i representara una determinada fila 2. Realizar una función que realice la suma
dentro de una matriz, y j representara una de los elementos de una matriz A de
determinada columna dentro de una dimensión M x N .

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

9. realizar una función Existe que devuelva


3. Una matriz cuadrada A se dice que es true o false para buscar un elemento X
simétrica si A (i , j) = A(j , i) para todo i, j dentro de una matriz.
dentro de los limites de la matriz. Escribir Function Existe (Var A:TMatriz ; m, n:
una función que determine si una matriz Integer);
dad M de dimensión N x N es o no
simétrica. 10. Utilizando una Matriz, diseñar un algoritmo
que visualice un cuadrado mágico de
4. Realizar un procedimiento que inicialice orden impar N, comprendido entre 3 y 11,
una matriz cuadrada de la siguiente el usuario debe elegir el valor de n.
manera.
Ejemplo Un cuadrado mágico se compone de
1 0 0 1 números enteros comprendidos entre 1 y
0 1 1 0 n. La suma de los números que figuran en
0 1 1 0 cada fila, columna y diagonal son iguales.
1 0 0 1 Ejemplo:
Procedure Inicializar (Var Matriz A , int 8 1 6
Dim) ; 3 5 7
4 9 2
5. Realizar un procedimiento para realizar
una matriz cuadrada de la siguiente Un método de generación consiste en
manera: situar el numero 1 en el centro de la
Ejemplo: primera fila, el números siguiente en la
casilla por encima y ala derecha y así
1 2 2 2 sucesivamente. El cuadrado es cíclico, la
3 1 2 2 línea encima de la primera es de hecho la
3 3 1 2 última y la columna a la derecha de la
3 3 3 1 última es la primera. En el caso de que el
número generado caiga en una casilla
6. Realizar un procedimiento para inicializar ocupada, se elija la casilla que se
una matriz cuadrada de la siguiente encuentra debajo del numero que acaba
manera. de ser situado.
Ejemplo.
0 1 2 3 11. Una empresa de ventas a domicilio
1 2 3 4 maneja 10 artículos diferentes y cuenta
2 3 4 5 con 50 vendedores. En un arreglo de
3 4 5 6 50x10 se tienen almacenadas las
cantidades de cada artículo vendidas por
7. Realizar un programa que realice la suma cada vendedor. Además, los precios de
de dos matrices. Ambas matrices tienen cada artículo están almacenados en un
las mismas dimensiones. vector de tamaño 10. Se desea elaborar
un algoritmo para imprimir lo siguiente :
8. Diseñar un algoritmo que efectué la a. La cantidad de dinero recopilado por
multiplicación de dos matrices A y B. cada vendedor.
b. El número del vendedor que recopiló
A = m * p elementos la mayor cantidad de dinero.
B = p * n elementos c. El número del artículo más vendido
Matriz producto: C = m * n elementos (entre todos los vendedores).
d. El total de vendedores que no
vendieron ningún artículo número
ocho.

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

d. Imprima el número mayor de la


12. Elabore un algoritmo y que lea una matriz matriz
cuadrada de tamaño N de números
enteros, calcule la suma de los elementos 14. Elabore un algoritmo que lea los datos de
de las diagonales (principal e inversa y una matriz cuadrada de tamaño N, y que
guarde estos elementos en dos vectores intercambie los elementos de la matriz
(DP y DI). triangular superior con los elementos
Ejemplo para N=4 : correspondientes simétricamente de la
Suma DP = 20 Suma DI = 23 matriz triangular inferior.
0 1 2 3 0 4 8 2

4 5 6 7 1 5 9 3

8 9 0 1 2 6 0 4

2 3 4 5 3 7 1 5

15. Dada una matriz cuadrada de tamaño N,


encuentre la suma de todos los elementos
que no son de la "periferia" de la matriz.
3 5 8 9 2
1 4 2 1 0
13. Elabore
un 8 5 4 8 1
programa 9 8 1 0 4
que lea los datos de una matriz cuadrada 2 2 1 1 7
de tamaño N y realice las sig.
operaciones: 16.4Escribir
+ 2 + 1 + un
5+ 4subprograma
+ 8 + 8 + 1 + 0 que
= 33 dada una
a. Imprima la suma de los matriz de números reales, de n x m,
elementos de la diagonal principal devuelva un vector que en cada posición i
b. Imprima cuántos "0" hay en la almacene el elemento mínimo de cada fila
matriz i de la matriz.
c. Imprima una matriz igual pero
con las diagonales intercambiadas. 17. Dada una matriz A[1..4][1..5] realiza el
proceso de ordenar solo por filas.

PROGRAMA DE CONTROL DE CALIDAD

DIF´S # 1

UNIDAD OTEMA: 3.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

40
FACULTAD DE INGENIERIA

TITULO: LENGUAJES DE PROGRAMACION


FECHA DE ENTREGA:
PERIODO EVALUACION: Etapa final

Investigue los lenguajes de programación Consultar en internet:


delphi, c++ builder, java, Visual basic.net
adjuntando una breve descripción de las http://www.samsistemas.com.ar/borland/gacetil
bondades del lenguaje y el costo de la licencia las.htm
y una descripción de las tendencias de las
últimas versiones.

CONCLUSIONES (deberán sintetizar la opinión del grupo):

COMENTARIOS (deberán sintetizar la opinión del grupo):

GRUPO (máximo cinco integrantes):


AP. PATERNO AP. MATERNO NOMBRES FIRMA

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

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