Ok - Syllabus Programacion Gest Ii - 2006

Descargar como doc, pdf o txt
Descargar como doc, pdf o txt
Está en la página 1de 43

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.4. Constantes y Variables


2.1.5. Expresiones.
Asignatura: Programación I 2.1.6. Operadores y operandos.
2.2. Técnicas de diseño.
Código: CMP - 117
2.3. Técnicas para la formulación de
Requisito: Ninguno algoritmos.
80 horas Teórico 2.3.1. Diagramas de flujo.
Carga Horaria:
Prácticas 2.3.2. Pseudo código.
Créditos: 4
UNIDAD II: ESTRUCTURAS
I. OBJETIVOS GENERALES DE LA ALGORITMICAS.
ASIGNATURA.
TEMA 3. Estructuras algorítmicas.
 Identificar las características, ventajas y
desventajas de las diferentes estructuras 3.1. Estructuras secuenciales.
algorítmicas. 3.1.1. Asignación.
3.1.2. Entrada.
 Diferenciar las estructuras de control
3.1.3. Salida.
algorítmicas a través de ejemplos de
3.2. Estructuras condicionales.
aplicación.
3.2.1. Simples.
 Utilizar, apropiadamente, la técnica de 3.2.2. Múltiples.
programación modular y estructuras de 3.3. Estructuras iterativas.
datos en la solución de problemas 3.3.1. Contadores y acumuladores.
algorítmicos. 3.3.2. Para.
3.3.3. Mientras.
 Aplicar las diferentes estructuras de
3.3.4. Repetir hasta.
archivos en la solución de problemas
3.3.5. Aplicaciones.
algorítmicos.
UNIDAD III: PROGRAMACION MODULAR.
II. PROGRAMA ANALITICO DE LA
ASIGNATURA. TEMA 4. Programación Modular.

UNIDAD I: CONCEPTOS BASICOS E 4.1. Definición de un módulo.


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

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

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 - Realizar investigaciones multidisciplinarias


LAS 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 como ser programas - tutoriales de
interdisciplinarios o multidisciplinarios como matemáticas, física, biología, etc.
corresponde al desarrollo alcanzado por la

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

 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

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

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
todo el semestre y un examen final de
ACTIVIDADES DE INCURSIÓN todo lo avanzado en el semestre.
MASIVA EN LA COMUNIDAD. Cada uno de estos exámenes tendrá una
calificación entre 0 y 50 puntos.
A lo largo del semestre se realizarán dos
incursiones masivas en la comunidad, V. BIBLIOGRAFIA
comprendida la primera entre el 2 y el 8 de
octubre y la segunda entre el 13 y el 19 de BASICA.
noviembre. Con la finalidad de realizar
trabajos ya sean de recojo de información,  Luis, “Programación en Turbo/
extensión o relacionada con los proyectos a Borland Pascal 7”. Ed. McGraw-Hill,
desarrollar en la asignatura o la carrera. España.1998.( 005.133 J84)
 ROFFMAN, Elliot. “Pascal:
IV. EVALUACIÓN DE LA ASIGNATURA. Introducción al lenguaje”.Mexico. 1985.
( 005.133 R62)
 PROCESUAL O FORMATIVA.  JOYANES Aguilar Luis,
“Fundamentos de la Programación”, Ed.
En todo el semestre se realizarán McGraw-Hill, España. 1996-2003.( 005
preguntas escritas, trabajos prácticos, J84 - 005 J84f)
trabajos de investigación, Work Papers,
DIF’s, además de las actividades que se COMPLEMENTARIA
realizaran para las Brigadas UDABOL.
Estas evaluaciones tendrán una  AGUILAR RAMIRO, “Programación
calificación entre 0 y 50 puntos. I/ Algoritmos, Métodos y Técnicas ” 1999.
( 005.1 Ag93 t.1)
 PROCESO DE APRENDIZAJE O
SUMATIVA.  www.lawebdelprogramador.com

Se realizarán dos evaluaciones parciales VI. CONTROL DE EVALUACIONES.


con contenidos teóricos y prácticos.
En la etapa final se presentará un 1° evaluación parcial
proyecto que se realizará a lo largo de Fecha

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

VII. PLAN CALENDARIO

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

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

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

8
FACULTAD DE INGENIERIA

WORK PAPER # 1

UNIDAD O TEMA: CONCEPTOS BÁSICOS

TITULO: Conceptos Básicos

FECHA DE ENTREGA:

PERIODO DE EVALUACION: Primera etapa

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

o SOFTWARE : Grupo de programas


que controlan el funcionamiento de la
computadora (equipo lógico).

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

La mayoría de los algoritmos de utilidad al o Definición del Problema


Esta fase está dada por el enunciado del
Entrada de Datos problema, el cual requiere una definición
clara y precisa. Es importante que se
conozca lo que se desea que realice la
Algoritmo Procesamiento de Datos computadora; mientras esto no se
conozca del todo no tiene mucho caso
continuar con la siguiente etapa.
Salida de Resultados
o Análisis del Problema
programador poseen 3 partes principales: Una vez que se ha comprendido lo que se
Los algoritmos pueden representarse a través desea de la computadora, es necesario
de un conjunto de palabras por medio de las definir: Los datos de entrada.
cuales se puede representar la lógica de un Cual es la información que se desea
programa. Este conjunto de palabras producir (salida)
constituyen lo que se conoce como Los métodos y fórmulas que se
pseudocódigo. Además, los algoritmos se necesitan para procesar los datos.
pueden representar gráficamente a través de
un diagrama de flujo. Ambas herramientas Una recomendación muy practica es el
se describen en el Work Paper # 3. que nos pongamos en el lugar de la
computadora y analicemos que es lo que
Características de un algoritmo. necesitamos que nos ordenen y en que
o Debe ser preciso: Indicar el orden de secuencia para producir los resultados
realización de cada paso. esperados.
o Debe ser definido: Si se sigue un
algoritmo mas de una veces, se debe o Diseño del Algoritmo
obtener el mismo resultado cada vez. Las características de un buen algoritmo
o Debe ser finito. Si se sigue un son:
algoritmo, se debe terminar en algún Debe tener un punto particular de inicio.
momento ; o sea debe tener un número Debe ser definido, no debe permitir dobles
finito de pasos. interpretaciones.
Debe ser general, es decir, soportar la
Algoritmos Cotidianos mayoría de las variantes que se puedan
Se refiere a todos aquellos algoritmos que presentar en la definición del problema.
nos ayudan a resolver problemas diarios, y Debe ser finito en tamaño y tiempo de
que los hacemos casi sin darnos cuenta de ejecución.
que estamos siguiendo una metodología para
resolverlos. o Codificación
La codificación es la operación de escribir
Metodología resolución de problemas por la solución del problema (de acuerdo a la
medio de computadora: lógica del diagrama de flujo o
El proceso de resolución de problemas con pseudocodigo), en una serie de
computadoras conduce a la escritura de un instrucciones detalladas, en un código
programa y su ejecución en la misma. Aunque reconocible por la computadora, la serie
el proceso de diseñar programas es de instrucciones detalladas se le conoce
esencialmente un proceso creativo, se puede como código fuente, el cual se escribe en
considerar una serie de fases o pasos un lenguaje de programación o lenguaje
comunes que generalmente deben seguir los de alto nivel.
programadores. Estas fases son las
siguientes: o Prueba

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.

CUESTIONARIO WORK PAPER No. 1. 7. Diseña un algoritmo que realice la suma


de dos números.
1. Describir la Unidad Central de Proceso,
UCP. 8. Describa cuales son los programas que
más utiliza en un computador, y su
2. Nombrar 2 Dispositivo de Almacenamiento utilidad.
y describir cada uno de ellos.
9. ¿Qué es programa?

10. ¿Qué es dato?


3. Dar dos ejemplos de Dispositivos de
Entrada y describir su funcionamiento 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

El motivo principal de la computadora es,


primordialmente, el manejo de los datos o de
la información ingresada para luego ser Dato
procesada y arrojar resultados. La Es un objeto o elemento que tratamos a lo
computadora opera con objetos, los cuales largo de diversas operaciones. Tienen 3
son descritos por expresiones denominados características:
datos. o Un nombre que los diferencia del resto.

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

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.
Operadores: Son elementos que relacionan
Identificadores de forma diferente, los valores de una o mas
Los identificadores representan los datos de variables y/o constantes. Es decir, los
un programa y nos permite hacer referencia a operadores nos permiten manipular valores.
estos datos (constantes, variables, tipos de Tipos de Operadores: Aritméticos,
datos). Un identificador es una secuencia de Relaciónales y Lógicos
caracteres que sirve para identificar una
posición en la memoria de la computadora, o Operadores Aritméticos: Los operadores
que nos permite acceder a su contenido. aritméticos permiten la realización de
operaciones matemáticas con los valores
Reglas para formar un Identificador (variables y constantes).
o Debe comenzar con una letra (A .. Z, a .. Los operadores aritméticos pueden ser
z) y no deben contener espacios en utilizados con tipos de datos enteros o
blanco. reales. Si ambos son enteros, el resultado
o Letras, dígitos y caracteres como la es entero; si alguno de ellos es real, el
subraya ( _ ) están permitidos después del resultado es real.
primer carácter. Operando (Operador) Operando

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

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
establecer relaciones entre valores
+ Suma 3+4 7
- 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
F T F
 Todas las expresiones entre 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
T F T
orden. F T T
1.- ^ Exponenciación F F F
2.- *, /, mod Multiplicación, división,
modulo ó residuo. Operador Not( no)
3.- +, - Suma y resta. Operando Resultado
T F
F T
 Los operadores en una misma
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.
 Compara estos valores entre si y esta Prioridad de los Operadores en General
comparación produce un resultado de  ()
certeza o falsedad (verdadero o falso).  ^
 Los operadores relaciónales comparan  *, /, Mod, Not
valores del mismo tipo (numéricos o  +, -, And
cadenas)  >, <, > =, < =, < >, =, Or
 Tienen el mismo nivel de prioridad en
su evaluación. CUESTIONARIO WORK PAPER No. 2.
 Los operadores relaciónales tiene
menor prioridad que los aritméticos. Dado los siguientes datos, definir su tipo.
1. X = 5.2
2. Y = 1254
Operadores Relaciónales 3. Direccion = ‘Calle Los pinos #125’
4. Nombre = ‘Pepito Peres’ + 5
Operador Descripción Ejemplo Resul.
5. Suma = 2.5 + 12
> Mayor que 3>4 Falso
< Menor que 5<2 Falso Indicar cual de los siguientes
>= Mayor igual que 4 >= 2 Verdadero
<= Menor igual que 5 <= 2 Falso
identificadores no son validos y ¿porque ?
6. Nombre_completo

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)

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 Difícil llegar a una integración tal que el
desempeño global fluido.
Top Down: Se descompone sucesivamente el o Proclive a la duplicación de esfuerzos.
problema inicial en inicial en subproblemas. o Pueden no satisfacerse los requisitos
o Con cada descomposición, se simplifican globales de la aplicación
los subproblemas. o La creación de algoritmos se basa en la
o Las diferentes partes del problema técnica descendente.
pueden ser programadas de forma
independiente. Técnicas para la formulación de
o El programa final queda estructurado en algoritmos
forma de bloques o módulos.
La representación de un algoritmo se logra
Bottom Up: Se programa cada proceso según mediante la independización de éste, del
vaya apareciendo. lenguaje de programación elegido. Con esto

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

se logra que pueda ser representado en { Inicio de comentario


cualquier lenguaje. Para ello debe ser } Fin de comentario
representado gráfica y numéricamente, así <= Asignación
cualquier lenguaje de programación será
capaz de interpretar su codificación.  
Un algoritmo se representa tomando las Diagrama de Flujo
siguientes consideraciones:
o Lenguaje de especificación de Un diagrama de flujo es la representación
gráfica de un algoritmo. También se puede
algoritmos: pseudocódigo.
decir que es la representación detallada en
o Diagrama de flujo.
forma gráfica de como deben realizarse los
pasos en la computadora para producir
Pseudocódigo
resultados.
A continuación se muestran algunos ejemplos
Esta representación gráfica se da cuando
de palabras utilizadas para construir
varios símbolos (que indican diferentes
algoritmos en pseudocódigo.
procesos en la computadora), se relacionan
entre si mediante líneas que indican el orden
Mezcla de lenguaje de programación y
en que se deben ejecutar los procesos.
español (o ingles o cualquier otro idioma) que
Los símbolos utilizados han sido
se emplea, dentro de la programación
normalizados por el instituto norteamericano
estructurada, para realizar el diseño de un
de normalización (ANSI).
programa. En esencial, el pseudocodigo se
puede definir como un lenguaje de SÍMBOLO DESCRIPCIÓN
especificaciones de algoritmos.
Indica el inicio y el final de nuestro
Es la representación narrativa de los pasos diagrama de flujo.
que debe seguir un algoritmo para dar
solución a un problema determinado. El
pseudocodigo utiliza palabras que indican el Indica la entrada y salida de datos.
proceso a realizar.
Símbolo de proceso y nos indica la
asignación de un valor en la memoria
PALABRA UTILIZACIÓN y/o la ejecución de una operación
CASO Selección entre múltiples alternativas aritmética.
Complemento de la selección SI - Símbolo de decisión indica la
ENTONCES
ENTONCES realización de una comparación de
ESCRIBE Visualiza un dato en pantalla valores.
FIN Finaliza un bloque de instrucciones
HASTA Cierra la iteración HAZ - HASTA
HAZ Inicia la iteración HAZ - HASTA Se utiliza para representar los
INICIO Inicia un bloque de instrucciones subprogramas.

LEER Leer un dato del teclado


MIENTRAS Inicia la iteración mientras Se utiliza para representar ciclo
iterativo Hacer Para.
NO Niega la condición que le sigue
O Disyunción lógica
Complemento opcional de la Conector dentro de página.
O - BIEN Representa la continuidad del
selección SI - ENTONCES
diagrama dentro de la misma página.
PARA Inicia un número fijo de iteraciones
SI Inicia la selección SI-ENTONCES
Y Conjunción lógica

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

Conector fuera de pagina. Representa


la continuidad del diagrama en otra 1. 1=5
pagina.

2. x#y= 5 + 5
Indica la salida de información por
impresora.
3. 1_=x = 2

Líneas de flujo o dirección. Indican la 4. X+ 2 =3


secuencia en que se realizan las
operaciones.
5. Nombre ‘pepito’

6. Num1=x+5

Recomendaciones para el diseño de


Diagramas de Flujo 7. em@il=’[email protected]
o Se deben se usar solamente líneas de
flujo horizontales y/o verticales. 8. Dir = ‘Calle # 125’
o Se debe evitar el cruce de líneas
utilizando los conectores.
o Se deben usar conectores solo cuando x
sea necesario. 9.
o No deben quedar líneas de flujo son
conectar. 10. x = x+2
o Se deben trazar los símbolos de manera
que se puedan leer de arriba hacia abajo y
11. Nombre, em@il, dia
de izquierda a derecha.
o Todo texto escrito dentro de un símbolo
deberá ser escrito claramente, evitando el 12. x+2, nombre, ‘hola ‘ x
uso de muchas palabras.
13. Nombre , 15
Ventajas de utilizar un Pseudo código a un
Diagrama de Flujo
o Ocupa menos espacio en una hoja de 14. 2006, día
papel
o Permite representar en forma fácil 15. Mes, día año
operaciones repetitivas complejas
o Es muy fácil pasar de pseudo código a un
16. X+2, x, nombre
programa en algún lenguaje de
programación.
o Si se siguen las reglas se puede observar
claramente los niveles que tiene cada x+1,
operación. 17.

CUESTIONARIO WORK PAPER No. 3 x = x+2


18.
Indicar cual de las sentencias siguientes
son incorrectas, justifique su respuesta.

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

19. x+2, nombre, ‘hola ‘ x 22.


‘introducir un dato’, x, ‘ nombre

20. 23.
‘el resultado’, x, que tal Introduzca su email

21. 24.
‘ email, nombre’, , x ‘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

17
FACULTAD DE INGENIERIA

Estructuras secuenciales. Las operaciones contador y acumulador son


Indica que las instrucciones de un programa de gran utilidad en programación
se ejecutan una después de la otra, en el
Operaciones Entrada
mismo orden en el cual aparecen en el
programa. Se representa gráficamente como Los datos se pueden almacenar en memoria
una caja después de otra, ambas con una de tres formas diferentes: asociados con
sola entrada y una única salida. constantes, asignados a una variable con una
sentencia de asignación o una sentencia de
lectura. Ya se han examinado las dos
primeras.
Instrucción 1 La lectura es equivalente a la asignación en
cuanto que va a haber una variable que
recibe un valor, pero este valor no resulta de
Instrucción 2 evaluar ninguna expresión, sino que el valor
lo vamos a leer de un dispositivo externo de
entrada.
Instrucción N
Formato
Las estructuras secuenciales se clasifican en nombre
tres: Asignación, Entrada y Salida.

nombre es la variable a la que se le Operaciones Salida


asignara algún valor leído desde teclado. A medida que se realizan cálculos en un
La sentencia de asignación programa, se necesitan visualizar los
La asignación consiste, en el paso de valores resultados. Esta operación se conoce como
o resultados a una zona de la memoria. Dicha operación de salida o de escritura. Consiste
zona será reconocida con el nombre de la en mandar por un dispositivo de salida (p.ej.
variable que recibe el valor. La operación de monitor o impresora) un resultado o mensaje.
asignación se demuestra en diagramas de Formato
flujo con el símbolo de proceso y con el
símbolo '', para denotar que el valor situado ‘Hola como estas’, x
a su derecha se almacena en la variable
situada a la izquierda.
Formato
Variable = expresión
Esta instrucción ó sentencia de salida
muestra en pantalla el mensaje Hola
variable identificador válido declarado como estas, y además muestra el valor
anteriormente expresión variable, constante que tiene asignado la variable x.
o una expresión o fórmula a evaluar
En los algoritmos las instrucciones de
Operaciones especiales de asignación
entrada/salida escritas en pseudocódigo son:
Contador Un contador es una variable que se
incrementa, cuando se ejecuta, en una unidad CUESTIONARIO WORK PAPER No. 4
o en una cantidad constante.
Acumulador Es una variable que se 1. Realice un programa para leer un
incrementa en una cantidad variable. numero e imprimir : ‘El numero

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

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

19
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

20
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

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

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

22
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
cual va a ser su valor final y además se va a cuando la condicion implicita sea verdadera
incrementar o decrementar en cada iteración V, cuando la condicion es falsa F continua
de bucle en un valor constante, pero esto se con la 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

23
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

24
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

25
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
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

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

26
FACULTAD DE INGENIERIA

UNIDAD O TEMA: PROGRAMACIÓN MODULAR

TITULO: Programación modular

FECHA DE ENTREGA:

PERIODO DE EVALUACION: Primera etapa

Programación modular un cuerpo(con la declaración de los


La programación modular es una de las parámetros 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

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.

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

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

De esta manera habremos pasado el


resultado.

A estos parámetros también se les llama CUESTIONARIO WORK PAPER No. 7


parámetros variables (porque su valor varía),
por eso en Pascal se usa la palabra clave Var 1. Escribir las siguientes funciones que
para indicarlo. retornan un valor

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

24. Leer un número y una letra si la letra es B 34543


mostrar el valor en binario, si es O en 4567654
octal y si es H en hexadecimal. 567898765
67890109876
7890123210987
25. Hacer un programa para encontrar y 890123454321098
mostrar todas las parejas de números 90123456765432109
amigos menores o iguales a uno dado. 0123456789876543210
Dos números se dice que son amigos si
cada uno de ellos es igual a la suma de 30. La multiplicación ``a la rusa'' permite
los divisores propios del otro. realizar el producto de dos números
Por ejemplo, los números 220 y 284 son enteros utilizando solo sumas y divisiones
amigos, ya que: o productos por dos. El método consiste
Suma de divisores de 284: en realizar sucesivamente las siguientes
1 + 2 + 4 + 71 + 142 = 220 operaciones: multiplicar uno de los
Suma de divisores de 220: números por dos y obtener la división
1 + 2 + 4 + 5 + 10 + 11 + 20 + 22 + 44 + entera del otro, también por dos. Se
55 + 110 = 284 detiene el proceso al obtener como
cociente de la división un uno. Por
26. Hacer un programa que dado tres ejemplo, para multiplicar 22 por 64 se
números validos n, x, pos, insertar al obtienen las dos columnas siguientes:
numero n el numero x en la posición pos  
determinada.
22 64
27. Elabore un programa para imprimir el n-
ésimo número triangular. Se definen los 11 128
números triangulares como los obtenidos
por la suma de los números naturales 5 256
sucesivos 1, 2, 3, .... Es decir, los 2 512
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

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

32. Hacer un programa que simule tirar un *


dado, contar la cantidad de veces que se 36. Imprima la figura: con n = 4
debe tirar un dado hasta que salga un
número introducido por el usuario ****
**
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 37. Hay que leer un x1, un x2 y n
ingresado sea igual a 0 el número de números enteros y decir cuántos de esos
cifras determinado debe ser igual a 1. n números son menores o iguales a x1,
cuántos son mayores o iguales a x2 y
34. En un cine se cobran $10 a los cuántos están entre x1 y x2.
mayores y $4 a los menores. Un día se
recaudaron $200 y asistieron menos 38. Elaborar un programa que genere la
adultos que menores. Hacer un programa siguiente secuencia:
que permita determinar los posibles  
números de asistentes. 1 3 8 30 144 840 ...
 
35. Imprima la figura: con n = 5 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!
***** 840=6!+5!
*** 5760=7!+6!

PROGRAMA DE CONTROL DE CALIDAD

WORK PAPER # 8

UNIDAD O TEMA: ESTRUCTURA DE DATOS BASICAS

TITULO: Arreglos - Vectores

FECHA DE ENTREGA:

PERIODO DE EVALUACION: Tercera 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

34
FACULTAD DE INGENIERIA

Concepto de Arreglo. Tipo de


El arreglo es un tipo estructurado de datos. Arreglos
Bidimensionales (Matrices)
Sin lugar a dudas, es la estructura de datos
más empleada por los programadores.
Se entiende por estructura de datos, la acción
Vectores
de agrupar elementos primitivos en cierta
Un vector es un arreglo en donde la ubicación
forma. La forma más simple es agrupar
exacta de cada uno de sus elementos
componentes de igual tipo y asociarle un
necesita solamente la utilización de un índice.
número de orden a cada componente; éste es
el caso del arreglo.
Un vector siempre tendrá:
1. Tipo .- Por lo que se ha dicho en un vector
Un arreglo es una estructura de datos que los datos que se han de almacenar
almacena bajo el mismo nombre (variable) a siempre serán del mismo tipo por lo cual
una colección de datos del mismo tipo. En la es supremamente importante especificar
siguiente figura se muestra un arreglo de de qué tipo van a ser los datos
enteros con 5 elementos: 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
tipo.
Los arreglos se caracterizan por: 3. Dimensión.- Se refiere a la cantidad de
elementos que van a ser utilizados en el
 Almacenan los elementos en vector. En este aspecto debemos conocer
posiciones contiguas de memoria lo mejor posible el objetivo porque cuando
 Tienen un mismo nombre de variable el algoritmo se haya convertido en
que representa a todos los elementos. programa y se encuentre en ejecución no
Para hacer referencia a esos elementos podremos cambiar la cantidad de
es necesario utilizar un índice que elementos de que consta dicho vector.
especifica el lugar que ocupa cada 4. Tamaño.- El tamaño es la cantidad total
elemento dentro del archivo. de campos de memoria que van a ser
utilizados. En el caso de los vectores no
Índices existe ninguna diferencia entre la
Se conocen como índices todas aquellas dimensión y el tamaño, diferencia que se
variables que nos sirven para ubicar hará muy clara cuando expliquemos las
perfectamente un elemento dentro de un matrices.
arreglo. 5. Índice.- Siempre que vamos a usar un
Tenemos dos tipos de arreglos que son: vector es natural pensar que
necesitaremos una variable de tipo entero
Unidimensionales (Vectores)

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

que será utilizada a manera de índice o 2. Dado un vector V con n elementos,


sea que es la que nos va a almacenar realizar una función que encuentre la
cada una de las posiciones posibles que suma de los n elementos del vector V.
tenga el vector. Dicha variable solo tiene
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

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

resultados en un vector C de dimensión 1 2 3 4 5


n3. V 3 2 0 2 5
13. Realice una función para calcular la Resultado seria el numero : 2 y 5
cantidad de números primos
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
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

30. Realice dos procedimientos para


cargar y mostrar un vector V de
dimensión N cuyos elementos son de
Elementos sin cambiar = 3 tipo Persona (Registro) cuyos datos son:
carnet de identidad (ci), nombre, edad,
27. Escribir un subprograma que dado un teléfono.
vector y su longitud, devuelva el
elemento máximo, la cantidad de veces 31. Realice un procedimiento para ordenar
que se repite y la/s posición/es que el anterior vector, por el campo edad.
ocupa.

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.

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

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:

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 matriz F de dimensión m*n, por columnas
de 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

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

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

PROGRAMA DE CONTROL DE CALIDAD

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

UNIDAD OTEMA: 3.1.

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

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

También podría gustarte