Programacion
Programacion
A menudo nos hacemos la pregunta del por qué los programadores escriben un
programa. Esto es para resolver un problema por lo que el propósito de nuestro
estudio será el enseñar y aprender un método de solución de problemas con
programas de computadora mediante el estudio de la programación.
Lenguajes de programación
Permite expresar un algoritmo comprensible para un ordenador
¿Qué es un algoritmo?
• Fórmula para resolver un problema
• Consta de una serie de pasos
• Se aplica de forma mecánica
• Se aplica en un tiempo finito
DISTINTAS TECNOLOGÍAS
Lenguaje de programación: refleja un paradigma
1
PROYECTO INFORMÁTICO
Ordenadores e informática son términos que van unidos y se complementan. La
informática estudia el tratamiento automático de la información a través de
medios electrónicos. Y estos son los ordenadores.
1. Comprender el problema
Primero debemos analizar cuidadosamente los requerimientos del problema.
Debemos insistir en que los requerimientos del problema sean claramente
especificados en términos de los resultados esperados. Se debe de determinar:
• La fuente y el tipo de datos para la entrada: la interacción de los datos
y su transformación
• El destino y el formato de la salida
ImprimirEncabezado ProcesarNumeros
3. Probar el diseño
Debemos estar convencidos de que la lógica descrita en el diseño resuelve de
hecho el problema planteado. ¿Sí realizamos la secuenciación obtendremos la
salida que esperamos a partir de la entrada suministrada? Si no, debemos
regresar al paso 2, corregir el diseño y luego probar otra vez.
2
4. Traducir el diseño a un lenguaje de programación
Este paso también se lo llama codificación, o sea traducir un diseño a un lenguaje
de programación. Ahora debemos considerar todas las reglas de organización y
puntuación del lenguaje de programación.
ALGORITMOS
INTRODUCCIÓN
A menudo nos hacemos la pregunta del por qué los programadores escriben un
programa. Esto es para resolver un problema por lo que el propósito de nuestro
estudio será el enseñar y aprender un método de solución de problemas con
programas de computadora mediante el uso de algoritmos y diagramas que
faciliten la programación estructurada.
3
DISEÑO DE UN PROGRAMA
Normalmente para la construcción de un programa los ingenieros de sistemas
o de software siguen una secuencia de pasos descritos como metodologías
de desarrollo de software, cada una de las cuales contempla una serie de
pasos y productos hasta la misma prueba y verificación de que el software
resuelve el problema planteado en un inicio, pero en resumen las etapas son
las siguientes:
1. Análisis
2. Diseño
3. Implementación y
4. Evaluación
4
Metodología scrum
5
CONCEPTO DE ALGORITMO
• Como algoritmo denominamos un conjunto ordenado y finito de
operaciones simples a través del cual podemos hallar la solución a un
problema. La palabra algoritmo proviene del latín tardío alborarismus,
y este a su vez es una abreviación del árabe clásico ḥisābu lḡubār, que
significa ‘cálculo mediante cifras arábigas’.
6
• Un algoritmo es una secuencia finita de instrucciones, cada una de
ellas con un claro significado, que puede ser realizada con un esfuerzo
y un tiempo finitos. Por ejemplo, una asignación como x= y+z es una
instrucción con estas características
¿Qué es un algoritmo?
• Fórmula para resolver un problema
• Consta de una serie de pasos
• Se aplica de forma mecánica
• Se aplica en un tiempo finito
7
CONDICIONES CON LAS QUE DEBE DE CUMPLIR UN ALGORITMO
Estructura de un algoritmo
Aunque no existe una única forma de representar un algoritmo, la estructura
general de un algoritmo debería ser como la mostrada a continuación:
8
Definición del problema
Construir un modelo de solución que resuelva el problema de calcular el área
de un triángulo con la fórmula área igual a base por altura sobre dos.
9
Pruebas de algoritmos
Una vez que se ha generado un algoritmo que parece correcto, una de las
partes más importantes dentro de su diseño es la referente a las pruebas. La
parte de la validación de los datos de entrada al algoritmo es también un
aspecto importante.
IDENTIFICADORES
Los identificadores son nombres creados para designar constantes, variables,
tipos, funciones, procedimientos etc., que forman parte de un programa.
10
Ejemplo: Algoritmo Nombre_del_del_algoritmo.
Fin_algoritmo.
Dígito
Subrayado
VARIABLES
Una variable es el elemento de almacenamiento de los datos que se van a
utilizar en el desarrollo del algoritmo. Estos resultados se corresponden con
los datos iniciales como los resultados de operaciones efectuadas durante la
ejecución de un algoritmo. Las variables representan un lugar de
almacenamiento, cuyo contenido podrá variar durante el proceso y
finalmente se obtendrán los resultados con los datos contenidos en las
variables.
ASIGNACIÓN DE DATOS
• Asignaciones
Una variable puede tomar valores de dos formas:
• Por operación de asignación: (a= b+1);
• Por lectura (Leer a).
11
Está operación de asignación es de carácter destructiva porque el valor
anterior de la asignación se pierde y es reemplazado por el nuevo valor.
• Contadores
Son variables cuyo objetivo es ir contando cuántas veces se ha realizado un
proceso, se las utiliza como elemento ordenador que da como resultado el
número de veces que se ha realizado una acción. Es una variable entera.
Ejemplo:
Contador = Contador +1;
• Acumuladores
También son variables las cuales tienen como objeto sumarizar un conjunto
de valores en una variable. Son fundamentales en problemas que requieren
totalizar un dato para obtener un resultado.
Ejemplo:
Suma= Suma+2;
Total= salario + beneficios_de_ley;
Una variable se define como un identificador que se utiliza para almacenar todos los
datos generados durante la ejecución de un programa.
Existen ciertas reglas en cuanto a variables:
• Claras y con referencia directa al problema
• No espacios en blanco, ni símbolos extraños en ellas
• Se pueden usar abreviaturas, pero solo de carácter general
• No deben ser palabras reservadas del lenguaje
OPERADORES ARITMETICOS
Un operador es un símbolo especial que indica al compilador que debe
efectuar una operación matemática o lógica.
Se reconoce los siguientes operadores aritméticos:
12
Operador Operación
+ Suma
- Resta
* Multiplicación
/ División
OPERADORES LÓGICOS
Los resultados se ven en la tabla:
OPERADORES RELACIONALES
Se utilizan siempre en operaciones de comparación, su resultado siempre es
un valor lógico (Verdadero o Falso), requiere de dos operados y pueden
trabajar cualquier tipo de dato.
Operador Significado
= Igual que
IN Pertenece A
13
Ejemplo:
5>10 Falso
-15.3<6 Verdadero.
'D'>'M' Falso
EXPRESIONES
Pueden estar compuestas por una variable (numérica o de caracter),
constantes, una cadena de caracteres encerrada entre comillas dobles
("cadena") o una expresión matemática.
JERARQUIA DE OPERACIONES
El problema de no tomar en cuenta la jerarquía de los operadores al plantear
y resolver una operación casi siempre conduce a resultados muchas veces
equivocados como estos:
Ejemplos:
2+ 3* 4 = 20(incorrecto)
Variable = 14 (correcto)
Orden de operaciones:
1. Paréntesis
2. Potencias y raíces
3. Multiplicaciones y divisiones
4. Sumas y restas
5. Dos o más de la misma jerarquía u orden, entonces resolver de
izquierda a derecha
Ejemplos de algoritmos:
1. Algoritmo para lavar la ropa blanca
14
2. Algoritmo para decidir si coger el paraguas
15
Elementos de un lenguaje
• Palabras reservadas: si – entonces, Algoritmo – finalgoritmo,
mientras
• Identificadores
• Caracteres especiales: ‘=‘, ‘;’, ‘{‘
• Constantes
• Variables
• Expresiones: a = b * 5 – c
Datos numéricos:
Enteros: -10, 6, 291
Reales: 1.5, -0.63, 54.4E-10
Datos lógicos:
• Booleano
✓ Verdadero / Falso
Constantes y variables
• Constantes: valores que no cambian
✓ Numéricas: 1.234, -10, 8
✓ Carácter: ‘B’, ‘ñ’, ‘4’
✓ Cadena: ‘Mesa’
✓ Lógicas: verdadero, falso
• Variable: datos cuyo valor puede cambiar
✓ Posee un nombre y un tipo
✓ Enteras, reales, carácter, lógicas, cadenas
✓ Ejemplos: A124, k, Nombre
Tipos de expresiones:
• Aritméticas: +, -, *, /, div, mod, ^
(4 + A) * 7 / B
• Lógicas: no, y, o, =, <, >, <=, >=, ≠
no (A > B) o (B ≠ 10)
16
• Funciones: raíz_cuadrada, cos, sen
Expresiones
Ejemplos
Leer (a, b, c) {Lectura de teclado}
Leer (idFichero, a, b, c) {Lectura de fichero}
Ejemplos
Escribir (a, b, c) {Mostrar por pantalla}
Escribir (idFichero, a, b, c) {Escritura en fichero}
APLICACIÓN PRÁCTICA
• Aplicación de las herramientas y de los pasos para la solución de problemas
computacionales
• Ejemplo: Dados los 3 lados de un triángulo: L1, L2 y L3 verificar si el
triángulo es Isósceles (dos lados iguales), Equilátero (tres lados iguales) o
Escaleno (tres lados distintos).
• Deber:
1. Probar si los tres lados L1, L2, L3 pertenecen o no a un triángulo: es un
triángulo si la suma de sus dos lados menores es mayor al lado mayor. Si es
triángulo identificar qué tipo de triángulo
2. Verificar si un número ingresado por teclado es o no un número primo
3. Verificar si un número ingresado por teclado es o no un número perfecto
4. ¿Cómo se realiza un cobro de una planilla eléctrica?
5. Cómo se realiza la compra de distintos productos en un almacén
17
PROGRAMACIÓN ESTRUCTURADA
Introducción. Teorema de la programación estructurada
El principio fundamental de la programación estructurada es que en todo
momento el programador pueda mantener el programa “dentro” de la cabeza.
Entre sus ventajas está el que: hace más fácil la escritura y verificación de
programas. Se adapta perfectamente al diseño descendente.
INSTRUCCIÓN DE DECISIÓN
La gran mayoría de problemas de la vida real tiene una serie de condiciones
que determinan cuál es la solución requerida. Esta solución está
condicionada a diferentes posibilidades dependiendo de una u otra
particularidad. Para poder resolver estos problemas los algoritmos ofrecen
las siguientes instrucciones.
18
SI (CONDICIÓN) ENTONCES
Instrucciones1
SI – NO
Instrucciones2
EJEMPLOS DE ALGORITMOS
Algoritmo controlador
1. Inicio
2. Escribir(‘Ingrese la hora de entrada’)
3. Leer(HE)
4. SA = he+4
5. LLA = SA+1
6. HS = LLA +4
7. Escribir(‘Hora de salir a almorzar’, SA)
8. Escribir(‘Hora de entrada de almorzar’, LLA)
9. Escribir(‘Hora de salida’, HS)
10.Fin
Ejemplo: En el caso del primer ejemplo se informa que existen dos tipos de
empleados, los obreros y los ejecutivos, cuyas características son que los
primeros trabajan 8 horas en dos turnos de 4 con 1 hora de almuerzo y los
ejecutivos 10 horas en dos turnos, también con una hora de almuerzo.
Algoritmo controlador
1. Inicio
2. Escribir(‘Ingrese la hora de entrada’)
3. Leer(HE)
4. Escribir (‘Escoja el tipo de empleado OBRERO o EJECUTIVO’)
5. Leer(TE)
6. SI (¿TE = "Obrero"?) ENTONCES
6.1 Si. Ir a 7
6.2 No. Ir a 11
7. SA = HE + 4
8. LLA = SA+1
9. HS = LLA + 4
10.Ir a 14
11.SA = HE + 5
12.LLA = SA+1
19
13.HS = LLA + 5
14.Escribir(‘El empleado del Tipo’, TE)
15.Escribir(‘Hora de salir a almorzar’, SA)
16.Escribir(‘Hora de entrada de almorzar’, LLA)
17.Escribir(‘Hora de salida’, HS)
18.Fin.
Ejemplo: Sí llegó entre las 8 y las 8:15 trabaja 8 horas y tiene dos de
almuerzo, si llegó después de las 8:15 debe trabajar 9 horas y solo una de
almuerzo.
Si llegó antes de las 8 se le define llegada a las 8.
Algoritmo controlador
1. Inicio
2. Escribir(‘Ingrese la hora de entrada’)
3. Leer(HE)
4. SI ¿(HE >= 8 ) AND (HE <= 8.15)? ENTONCES
4.1 Sí. Ir a 5
4.2 No. Ir a 9
5. SA = HE +4
6. LLA = SA+2
7. HS = LLA +4
8. Ir a 12
9. SA = HE + 5
10.LLA = SA+1
11.HS = LLA +4
12. Escribir(‘Hora de salir a almorzar’, SA)
13. Escribir(‘Hora de entrada de almorzar’, LLA)
14. Escribir(‘Hora de salida’, HS)
15. Fin
Ejemplo: Hacer un algoritmo que pida los tres lados de un triángulo, y diga
si el triángulo es Equilátero, Isósceles o Escaleno.
Escaleno= tres lados desiguales.
Isósceles = dos lados iguales
Equilátero = tres lados iguales.
Algoritmo tipo_triángulo.
1. Inicio.
2. Escribir(‘Ingrese los lados del triángulo’))
3. Leer(L1)
4. Leer(L2)
5. Leer(L3)
6. SI ¿(L1 = L2) AND (L2 = L3)? ENTONCES
6.1 Si Ir a 7
6.2 No a 9
7. Escribir(‘Equilátero’)
8. Ir a 14
20
9. SI ¿(L1=L2)OR(L2=L3)OR(L1=L3)? ENTONCES
9.1 Sí. Ir a 10
9.2 No. Ir a 12
10. Escribir (‘Isósceles’)
11. Ir a 14
12. SI ¿(L1<>L2)AND(L2<>L3)AND(L1<>L3)? ENTONCES
12.1 Si. Ir a 13
12.2 No. Ir a 14
13. Escribir (‘Escaleno’)
14. Fin.
Algoritmo tipo_triángulo.
1. Inicio.
2. Escribir(‘Ingrese los lados del triángulo’))
3. Leer(L1)
4. Leer(L2)
5. Leer(L3)
6. SI ¿(L1 = L2) AND (L2 = L3)? ENTONCES
6.1 Si Ir a 7
6.2 No a 9
7. Escribir(‘Equilátero’)
8. Ir a 13
9. SI ¿(L1=L2)OR(L2=L3)OR(L1=L3)? ENTONCES
9.1 Sí. Ir a 10
9.2 No. Ir a 12
10. Escribir (‘Isósceles’)
11. Ir a 13
12. Escribir (‘Escaleno’)
13. Fin.
Algoritmo_sumar
1. Inicio
2. Escribir (‘Ingrese 2 números’)
3. Leer(S1, S2)
4. Total =0
5. Total = S1+S2
6. Total= Total+S1+S2
7 Total= Total+S1+S2
8. Escribir(‘El total es = ‘, Total)
9. Fin.
• Deber:
1. Realizar un algoritmo que lea dos números y realice el cálculo de suma,
resta multiplicación y división entre dichos números
21
2. Diseñar un algoritmo que permita obtener el promedio de 4 notas
3. Diseñar un algoritmo que permita determinar si un año es bisiesto. Un
año es bisiesto si es múltiplo de 4. Los años múltiplos de 100 no son
bisiestos salvo si ellos son también múltiplos de 400 (Ejemplo: 2000
es bisiesto, 1800 no lo es)
4. Diseñar un algoritmo que permita ingresar una letra y decir si es no
vocal
5. Diseñar un algoritmo que permita encontrar el mayor de 3 números
6. Diseñar un algoritmo que permita encontrar el mayor, menor y el
número intermedio entre 3 números considere también los casos en
los que exista más de un número igual
7. Diseñar un algoritmo en el que dada la siguiente ecuación:
AX 2 + BX + C = 0
Encontrar:
DEFINICIÓN
Un bucle no es más que una serie de instrucciones que se repiten.
Podemos tener 3 tipos de bucles según lo que nos interese comprobar.
Tenemos un bucle que se repite mientras se cumple una condición
determinada, otro que se realiza hasta que se cumple la condición que
marcamos y un tercero para cuantas veces ya definidas hay que repetir.
22
RESUMEN:
ESTRUCTURAS DE REPETICIÓN:
• Mientras- hacer
• Repetir- hasta
• Desde/Para (for)
A la hora de utilizar un bucle, sea del tipo que sea, debemos ir con cuidado
y pensar cuando debe acabar ya que si no tuviéramos en cuenta esto
podríamos entrar en un bucle sin fin, o sea que iríamos repitiendo las mismas
líneas teniendo que abortar la aplicación, para poderla finalizar.
Por esto es de suma importancia que pensemos, antes de hacer nada, en qué
momento, como, donde y porque debe acabar el bucle.
ESTRUCTURA MIENTRAS-HACER
En nuestro curso esta estructura básica de un bucle Mientras se
representará de la siguiente manera:
De aquí se pasa a la primera línea del bucle para volver a mirar la condición.
Algoritmo_area_triángulo
1. Inicio
2. Escribir(‘Ingrese el número de triángulos a realizar el cálculo’)
3. Leer (N)
4. I = 1
5. Mientras (I <= N) hacer
5.1 Escribir(‘Ingrese la base y la altura de triángulo’, I)
5.2 Leer (base, altura)
23
5.3 Area = (base * altura)/2
5.4 Escribir(‘El Área del triángulo’, I, ‘es: ‘,Area)
5.5 I = I+1
5.6 Fin de MIENTRAS
6. Fin
Algoritmo_MCD
1. Inicio
2. Escribir (‘Ingrese los dos números’)
3. Leer(a,b)
4. c= a mod b
5. Mientras (c!= 0) hacer
5.1 a=b
5.2 b= c
5.3 c= a mod b
5.4 fin del mientras
6. Escribir(b)
7. Fin
• Deber
1. Escriba el algoritmo que permita obtener los n primeros números impares y
su suma
2. Algoritmo de la multiplicación
3. Algoritmo de la multiplicación por sumas sucesivas
4. Algoritmo que permita imprimir el nombre de 2 personas
5. Algoritmo que permita imprimir el nombre de N personas
24
6. Algoritmo para calcular Y como una función de X de acuerdo a la expresión
2 3
Y= 1.5x+2.5x -9.8x para cada paso imprimir X y Y para valores entre 1 y
9.9 con un incremento de 0.1.
Repetir
Instrucción 1
Instrucción 2
HASTA (condición)
Algoritmo_area_triángulo
1. Inicio
2. Escribir(‘Ingrese el número de triángulos a realizar el cálculo’)
3. Leer (N)
4. I = 1
5. REPETIR
5.1 Escribir(‘Ingrese la base y la altura de triángulo ’,I)
5.2 Leer(base, altura)
5.3 Area = (base * altura)/2
5.4 Escribir(‘El Área del triángulo: ‘,I,’ es: ‘, Area)
5.5 I = I+1
6. HASTA (I > N)
7. Fin
• Deber:
1. Diseñar un algoritmo que permita encontrar la sumatoria de los n primeros
números primos
2. Diseñar un algoritmo que permita encontrar la sumatoria de los n primeros
números perfectos. Un número es perfecto cuando es igual a la suma de
todos los números para los cuales es divisible excepto el mismo número. (6
= 1+2+3)
3. Diseñar un algoritmo que permita realizar la operación de multiplicación de
dos números utilizando sumas sucesivas
25
4. Diseñar un algoritmo que permita realizar la operación de potenciación
utilizando sumas sucesivas
5. Diseñar un algoritmo que permita encontrar el factorial de un número
• Entre las reglas básicas de su funcionamiento hay que tener en cuenta que
el for requiere de una variable de control que actuará como un contador, su
primera interacción se realiza cuando la variable de control toma el valor
inicial, y la última interacción del bucle es cuando la variable de control toma
el valor final. Además, en cada interacción la variable de control se
decrementa o incrementa de acuerdo con el valor señalado en la declaración.
• Tanto la variable de control, como el valor inicial y el valor final deben ser del
mismo tipo y el for solo admite trabajar con valores ordinales tales como
enteros o caracter, los números reales no son ordinales.
Algoritmo_Sumar
1. Inicio
2. Total =0
3. For I,1,100, +1
3.1 Total = Total +I
3.2 Fin de FOR
4. Escribir(‘El total es ’,Total)
5. Fin.
26
Ejemplo: Sumar todos los números múltiplos de 3 que existen en el rango
del 1 al 50
Algoritmo_Sumar_rango
1. Inicio
2. Total =0
3. For I,1,50, +1
3.1 SI ¿I mod 3 = 0? ENTONCES
3.1.1 Si. Total = Total +I
3.2 Fin de FOR
4. Escribir(‘El total es ’,Total)
5. Fin.
Algoritmo_Sumar_multiplos
1. Inicio
2. Total =0
3. For I,50,1, -1
3.1 SI ¿I mod 3 = 0? ENTONCES
3.1.1 Si. Total = Total +I
3.2 Fin de FOR
4. Escribir(‘El total es ’,Total)
5. Fin.
Deber
1. Construir un algoritmo que despliegue los números del 20 al 30
2. Desplegar los enteros entre 30 y 50 acompañados de su potencia
cuadrada y raíz cúbica respectiva
3. Desplegar una tabla de multiplicar que el usuario indique
DIAGRAMAS DE FLUJO
TÉCNICAS PARA LA FORMULACIÓN DE ALGORITMOS
Las dos herramientas utilizadas comúnmente para diseñar algoritmos son:
• Diagrama de Flujo
• Pseuducodigo
27
• Es un gráfico que muestra el orden en el que se van ejecutando las diferentes
instrucciones
SIMBOLOGÍA BÁSICA
Aunque existe en la literatura una amplia variedad de representaciones para los
símbolos utilizados en los diagramas de flujo, en este texto se adoptaran los
mismos que se presentan en la ilustración:
28
Esta representación gráfica se da cuando varios símbolos (que indican diferentes
procesos en la computadora), se relacionan entre sí mediante líneas que indican
el orden en que se deben ejecutar los procesos.
29
RECOMENDACIONES PARA EL DISEÑO DE DIAGRAMAS DE FLUJO
• Se deben de usar solamente líneas de flujo horizontales y/o verticales
• Se debe evitar el cruce de líneas utilizando los conectores
• No deben quedar líneas de flujo sin conectar
• Se deben usar conectores solo cuando sea necesario
• Se deben trazar los símbolos de manera que se puedan leer de arriba hacia abajo
y de izquierda a derecha
• Todo texto escrito dentro de un símbolo deberá ser escrito claramente, evitando el
uso de muchas palabras
Estructura secuencial
La ilustración muestra el diagrama de flujo que representa a la estructura de
control secuencial.
30
Ejemplo: Calculo de la suma y producto de dos números. Hallar su algoritmo:
Estructuras de selección
La ilustración muestra los diagramas de flujo de las estructuras de selección.
31
Puede observarse en la figura anterior que en la estructura de selección simple
se evalúa la condición, y si ésta es verdadera, se ejecuta un determinado grupo
de sentencias; en caso contrario, las sentencias son ignoradas.
32
CONDICIONES SIMPLES
En general todas las condiciones simples se forman con; variables,
operadores relaciónales, y constantes.
sexo = m
sueldo > 300,000
Operador Significado
= Igual que
33
CONDICIONES COMPUESTAS
En muchas ocasiones es necesario presentar más de una condición para su
evaluación al computador.
OPERADOR SIGNIFICADO
AND "Y" LOGICO
OR "O" LOGICO
NOT "NO"
NEGACION
Para que el computador evalúe como CIERTA una condición compuesta que
contiene el operador lógico "and", las dos condiciones simples deben ser
ciertas.
Para que el computador evalúe como CIERTA una condición compuesta que
contiene el operador lógico "or", basta con que una de las condiciones simples
sea cierta.
Alternativa doble:
34
Alternativa múltiple:
También existen ocasiones o programas donde se exige evaluar muchas
condiciones a la vez, en estos casos, o se usan una condición compuesta muy
35
grande o se debe intentar convertir el problema a uno que se pueda resolver
usando la instrucción de selección múltiple o case o switch.
Pseudocódigo:
36
Conviene tener presente que esta estructura puede contener también una
sección opcional o parte si- no
Reglas:
1. La expresión <selector> se evalúa y se compara con las constantes;
las constantes son listas de uno o más posibles valores de <selector>
que en algunos casos pueden ir separados por comas. Ejecutadas la(s)
<instrucciones>, el control se pasa a la primera instrucción a
continuación del case
2. La cláusula si-no es opcional
3. Si el valor de <selector> no está comprendido en ninguna lista de
constantes y no existe la cláusula si-no, no sucede nada y sigue el flujo
del programa; si existe la cláusula si-no se ejecutan la(s)
<instrucciones> a continuación de la cláusula si-no
4. El selector debe ser un tipo ordinal (entero, caracter, booleano). Los
números reales no pueden ser utilizados ya que no son ordinales
5. Todas las constantes del case deben ser únicas y de un tipo ordinal
compatible con el tipo del selector
Deber:
1. Diseñar un diagrama de flujo que permita ingresar 5 notas valoradas cada
una de ellas sobre una nota de 20 puntos. Obtener su promedio e imprimir
uno de los siguientes mensajes:
20-19 Sobresaliente
37
18-16 Muy buena
15-13 Buena
12-10 Regular
09-0 Insuficiente
2. Diseñar un diagrama de flujo que permita ingresar un caracter e imprimir un
mensaje que diga si es vocal, consonante, cifra o carácter especial
3. Diseñar un diagrama de flujo que permita ingresar un número que se
encuentre entre 1 y 31 y decir si es un número primo o no primo
4. Diseñar un diagrama de flujo que permita simular el trabajo de una
calculadora en la que se sume, reste, multiplique y divida siempre con un
número fijo cualesquiera
5. Diseñar un diagrama de flujo que permita calcular las funciones
trigonométricas
Estructuras de repetición
A continuación se muestran las estructuras de repetición básicas.
38
CARACTERÍSTICAS DEL BUCLE REPETIR HASTA
Se ejecutan siempre una vez, por lo menos, y la terminación del bucle se
produce cuando el valor de la expresión lógica o condición de salida es
verdadera. Se ejecuta hasta que la expresión es verdadera, es decir, se
ejecuta mientras la expresión sea falsa.
REGLAS DE FUNCIONAMIENTO DEL REPETIR HASTA
1. La condición se evalúa al final del bucle, después de ejecutarse todas las
sentencias
2. Si la condición es falsa, se vuelve a repetir el bucle y se ejecutan todas sus
instrucciones
3. Si la condición es verdadera, se sale del bucle y se ejecuta la siguiente
instrucción después de la estructura
SENTENCIA FOR
Repite la ejecución de una o varias sentencias un número fijo de veces.
Previamente establecido. Necesita una variable de control del bucle que es
necesariamente de tipo ordinal, ya que el bucle se ejecuta mientras la
variable de control toma una serie consecutiva de valores de tipo ordinal,
comprendidos entre dos valores extremos (inferior y superior).
INSTRUCCIONES
39
Ejemplo: Ingresar N notas y obtener su promedio
1. Inicio
INICIO
2. Escribir(‘Ingrese el número de notas: ’)
3. Leer(N)
4. Suma = 0
5. For i , 1, N,+1 ESCRIBIR (‘INGRESE EL
5.1 Escribir(‘Ingrese la nota: ’, i) NÚMERO DE NOTAS’)
5.2 Leer (Nota)
5.3 Suma = Suma + Nota
5.4 Fin del For LEER(N
6. Promedio = Suma/N )
7. Escribir(‘La respuesta es = ’, Promedio)
8. Fin SUMA =0
FOR I, 1, N, +1
ESCRIBIR(‘INGRESE LA NOTA: ’, I)
LEER (NOTA)
PROMEDIO = SUMA/N
ESCRIBIR(‘LA RESPUESTA ES =
’, PROMEDIO)
FIN
40
El número de iteraciones de un bucle FOR siempre es fijo y se conoce de
antemano:
Bucles anidados
Los bucles, al igual que las sentencias condicionales, también se pueden
anidar. Esto es especialmente útil para el manejo de matrices, como veremos
en los temas posteriores
• Deber:
1. Diseñar un diagrama de flujo que permita generar la sumatoria de la serie:
a (a−1)! − a (a−2)! + a (a−3)! − .......
2. Diseñar un diagrama de flujo que permita generar la sumatoria de la serie:
2 4 4 6 6
+2+ − − + + ......
3 3 5 5 7
3. Diseñar un diagrama de flujo que permita generar las tablas de
multiplicación
4. Imprimir todos los caracteres en minúsculas que existen entre un
intervalo de mayúsculas ejemplo: A b c d e f g H
APLICACIÓN PRÁCTICA
• Uso del MIENTRAS HACER/ REPETIR HASTA / For
Ejemplo:
• Diseñar un diagrama de flujo que permita calcular cuántas palabras
existen en una frase
• Probar si una palabra ingresada por el usuario es o no palíndromo.
Una palabra es palíndroma cuando se lee igual de derecha a izquierda
que de izquierda a derecha ejemplo Ana, Radar, Oso
41
Ejemplo: Diseñar un diagrama de flujo para cambiar a mayúsculas todas las
letras de una frase
INICIO
Escribir(‘ingrese la frase’)
Leer(cad)
cad=concatenar(cad, ‘ ‘)
n= longitud(cad)
For i,o,(n-1),+1
Cad[i]= mayuscula(cad[i])
Escribir(cad)
FIN
42
Ejemplo: Diseñar un diagrama de flujo para contar las palabras en una frase
INICIO
Escribir(‘ingrese la frase’)
Leer(cad)
Cad= concatenar(cad, ‘ ‘)
n= longitud(cad)
cont= 0
For i,o,(n-1),+1
V F
cad[i]=’ ‘
Cont=cont+1
Escribir(cont,’palabras’)
FIN
43
Deber:
1. Diseñar un diagrama de flujo que permita calcular cuántas vocales existen
en una frase
2. Contar la incidencia de las letras, en una palabra. Es decir, cuántas veces
se repiten
3. En una frase contar palabras de longitud par y las de longitud impar que
existan en ella
4. Reemplazar las palabras de longitud par en una frase por asteriscos
5. Visualizar las palabras de longitud impar en una frase al revés
DIAGRAMAS DE CAJA
Estos diagramas son también llamados diagramas de técnicas horizontales,
ya que se los realizan en renglón seguido y no necesitan flechas.
ESTRUCTURA SECUENCIAL
Estas estructuras vienen dadas a reglón seguido y el diagrama de caja de
esta estructura es la siguiente:
Ejemplo:
INICIO
INSTRUCCIÓN
INSTRUCCION
INSTRUCCION
FIN
INICIO
LEER(B,C)
A= B+C
ESCRIBIR(A)
FIN
Pseudocodigo
44
< acción s 12 >
Fin _ si
Acciones:
• Si la condición es verdadera entonces se ejecuta la acción SI (o acciones
caso de ser SI una acción compuesta y constar de varias acciones).
• Si la condición es falsa, entonces se pasará a la acción sino (else o falsa).
Pseudocodigo
Si < Condición> entonces
< Acción SI >
Si_no
< Acción S2 >
Fin _ si
45
INICIO
ESCRIBIR(‘INGRESE TRES VALORES’)
LEER(A,B,C)
Diagrama de Flujo
CASO (EXPRESIÓN) DE
VALOR 1:
VALOR N:
POR DEFECTO:
FIN CASE
46
Ejemplo: Diseñar un diagrama de caja para identificar si un carácter ingresado
por el usuario es o no una vocal.
INICIO
ESCRIBIR( ‘Ingresar un caracter’)
LEER(op)
op=mayúscula(op)
CASO op DE
VALOR ‘A’:
Cad=’Es una A’
VALOR ‘E’:
Cad=’Es una E’
VALOR ‘I’:
Cad=’Es una I’
VALOR ‘O’:
Cad=’Es una O’
VALOR ‘U’:
Cad=’Es una U’
POR DEFECTO:
Cad=’no es vocal’
FIN CASE
Escribir(cad)
FIN
Estructura repetitiva
Son aquellas en las que especialmente se diseña para todas aquellas aplicaciones
en las cuales una operación o conjunto de ellas deben repetirse muchas veces.
47
Interacción: Es el hecho de repetir la ejecución de una secuencia de acciones;
en otras palabras, el algoritmo repite muchas veces las acciones.
Al utilizar un bucle para sumar una lista de números, se necesita saber cuántos
números se han de sumar, para poder detenerlo en el momento preciso; las dos
principales preguntas a realizarse en el diseño de un bucle son: ¿Qué contiene
el bucle? y ¿Cuántas veces se debe repetir?
Casos generales de estructuras repetitivas
1. La condición de salida del bucle se realiza al principio del bucle (estructura
mientras)
2. La condición de salida se origina al final del bucle; el bucle se verifica hasta
que se verifique una cierta condición
3. La condición de salida se realiza con un contador que cuente el numero d
interacciones. ( i es un contador que cuenta desde el valor inicial (vi.) hasta
el valor final (vf) con los incrementos que se consideran.)
Esta expresión booleana se repite una y otra vez mientras la expresión booleana
(condición) sea verdadera.
48
Bucles infinitos
En algunos bucles no existen fin y otros no encuentran el fin por error en su
diseño, el bucle corre siempre; en otras ocasiones el bucle no se termina nunca
porque nunca se cumple la condición.
Regla práctica
Las pruebas o tesis en las expresiones booleanas es conveniente que sean mayor
o menor que en lugar de pruebas de igualdad o desigualdad. En el caso de la
codificación en un lenguaje de programación, esta regla debe seguirse
rígidamente el caso de comparación de números reales.
INICIO
NUM = 0
I =1
Mientras (I < = 5) hacer
NUM = NUM + 2
ESCRIBIR( NUM )
I = I+1
FIN
INICIO
ESCRIBIR(‘Ingrese el valor de N’)
LEER(N)
NUM = 0
I =1
Mientras (I < = N) hacer
NUM = NUM + 2
ESCRIBIR( NUM )
I = I+1
FIN
49
Estructura repetir (“repeat”).
Si el valor de la expresión booleana es inicialmente falso, el cuerpo del bucle no
se ejecutara, por ello se necesitan de otros tipos de estructuras dicha estructura
se ejecuta hasta que cumpla una condición determinada que se comprueba hasta
el final del bucle.
Hacer
Sentencia(s)
INICIO
NUM = 0
I=1
HACER
NUM = NUM +2
ESCRIBIR (NUM)
I = I +1
MIENTRAS ( I <= 5)
FIN
50
Ejemplo: Diseñe un diagrama de caja que permita generar los N primeros
números pares utilizando la estructura Repetir - Hasta
INICIO
ESCRIBIR(‘INGRESE EL VALOR DE N’)
LEER(N)
NUM = 0
I=1
REPETIR
NUM = NUM +2
ESCRIBIR (NUM)
I = I +1
HASTA ( I > N)
FIN
51
INICIO
ESCRIBIR(‘INGRESE CUÁNTOS NÚMEROS QUIERE GENERAR’)
LEER(N)
NUM = 0
FOR I, 1, N, +1
NUM = NUM +2
ESCRIBIR (NUM)
FIN
Ejemplo: Imprimir todos los números del 1 al 100 que sean múltiplos de 3 utilizando
la estructura MIENTRAS-HACER
INICIO
I=1
SI I MOD 3 = 0 NO
ESCRIBIR(I, ‘ES
DIVISIBLE PARA 3’)
I = I +1
FIN
Ejemplo: Imprimir todos los números del 1 al 100 que sean múltiplos de 3 utilizando la
estructura REPETIR – HASTA
INICIO
I=1
REPETIR
SI I MOD 3 = 0 NO
ESCRIBIR(I, ‘ES
DIVISIBLE PARA 3’)
I = I +1
FIN
52
Ejemplo: Imprimir todos los números del 1 al 100 que sean múltiplos de 3
utilizando la estructura FOR (Decrementos)
INICIO
FOR I, 100, 1, -1
SI I MOD 3 = 0 NO
ESCRIBIR(I, ‘ES
DIVISIBLE
PARA 3’)
FIN
53
VECTORES
DEFINCIONES: Arreglos
54
EJERCICIOS DE VECTORES
Ejemplo: Diseñar un diagrama de caja que permita llenar y visualizar los
datos almacenados en un vector
INICIO
ESCRIBIR(‘Cuántos números va a ingresar’)
LEER(N)
For i, 0, N-1, +1
ESCRIBIR(’Ingrese el valor de la posición ’, i)
LEER(A[i])
For i, 0, N-1, +1
ESCRIBIR(A[i])
FIN
INICIO
ESCRIBIR(‘Cuántos números va a ingresar’)
LEER(N)
For i, 0, N-1, +1
ESCRIBIR(’Ingrese el valor de la posición ’, i)
LEER(A[i])
Sum = 0
For i, 0, N-1, +1
Sum = Sum + A[i]
ESCRIBIR(’La suma total es: ’, Sum )
FIN
Ejemplo: Diseñar un diagrama de caja que permita imprimir cuantos valores
que pertenecen al vector están en el rango de A y B
55
INICIO
ESCRIBIR(‘Cuántos números va a ingresar’)
LEER(N)
HACER
ESCRIBIR(’ Ingrese los límites inferior y
superior’ )
LEER(A, B)
MIENTRAS(A >=B)
For i, 0, N-1, +1
ESCRIBIR(’Ingrese el valor de la
posición ’, i)
LEER(V[i])
C=0
For i, 0, N-1, +1
(V[i]>=A) Y (V[i]<=B)
SI NO
C= C+1
• Deber:
1. Diseñar un diagrama de caja que permita sumar dos vectores de igual
longitud
2. Diseñar un diagrama de caja que permita sumar dos vectores de
distinta longitud
3. Diseñar un diagrama de caja que permita buscar el mayor y menor
número que se encuentran almacenados en un vector
4. Diseñar un diagrama de caja que permita ordenar un vector de forma
ascendente y descendente
5. Diseñar un diagrama de caja que permita reemplazar en un vector
todos los números repetidos por un -5
56
• El término dimensión representa el número de índices utilizados para
referirse a un elemento particular en el arreglo. Los arreglos de más
de una dimensión se llaman arreglos multidimensionales
EJERCICIOS DE MATRICES
57
Ejemplo: Diseñar un diagrama de caja que permita ingresar datos de una
matriz
INICIO
ESCRIBIR(‘INGRESE EL NÚMERO DE FILAS Y COLUMNAS’)
LEER(F,C)
For i, 0, F -1, +1
For j, 0,C-1, +1
ESCRIBIR(’Ingrese el valor de la posición ’, i, j)
LEER(x[i] [j])
FIN
LEER(F,C)
For i, 0, F -1, +1
For j, 0,C-1, +1
ESCRIBIR(’Ingrese el valor de la posición ’, i, j)
LEER(x[i] [j])
SUM = 0
For i, 0, F -1, +1
For j, 0,C-1, +1
SUM = SUM +x[i] [j]
ESCRIBIR(’LA SUMA TOTAL ES DE : ’, SUM )
FIN
58
Ejemplo: Diseñar un diagrama de caja que permita generar una matriz
traspuesta
INICIO
ESCRIBIR(‘INGRESE EL NÚMERO DE FILAS Y COLUMNAS’)
LEER(F,C)
For i, 0, F -1, +1
For j, 0,C-1, +1
ESCRIBIR(’Ingrese el valor de la posición ’, i, j)
LEER(M[i] [j])
For i, 0, C -1, +1
For j, 0,F-1, +1
T[i] [j] = M[j] [i]
For i, 0, C -1, +1
For j, 0,F-1, +1
ESCRIBIR(T[i] [j] )
FIN
59
Ejemplo: Dada una matriz en la que guarden las notas de n estudiantes en
sus m asignaturas. Calcular:
• El promedio de notas de cada uno de los n estudiantes
• El promedio de notas de cada una de las m asignaturas
INICIO
ESCRIBIR(‘INGRESE EL NÚMERO DE ESTUDIANTES Y DE ASIGNATURAS’)
LEER(F,C)
For i, 0, F -1, +1
For j, 0,C-1, +1
ESCRIBIR(’Ingrese nota del estudiante ’, i,’ en la
asignatura’, j)
LEER(NOTAS[i][j])
For i, 0, F -1, +1
SUMF=0
For j, 0,C-1, +1
SUMF = SUMF + NOTAS[i][j]
ESCRIBIR(‘El ESTUDIANTE ’, i , (SUMF/C))
For j, 0, C -1, +1
SUMC=0
For i, 0,F-1, +1
SUMC = SUMC + NOTAS[i][j]
ESCRIBIR(‘LA ASIGNATURA ’, j ,(SUMC/F))
FIN
• Deber:
1. Diseñar un diagrama de caja que permita sumar dos matrices de igual
dimensión
2. Diseñar un diagrama de caja que permita sumar dos matrices de
distinta longitud
3. Diseñar un diagrama de caja que permita realizar la multiplicación de
matrices
60
TAREAS IF
1. Capturar un número cualesquiera e informar si es o no es mayor de 100
2. Capturar un número entero cualesquiera e informar si es o no es múltiplo
de 4 (recordar el operador mod, analizado en el tema de operadores
aritméticos)
3. Capturar los cinco datos más importantes de un Empleado, incluyendo el
sueldo diario y los días trabajados, desplegarle su cheque semanal solo si
ganó más de $500.00 en la semana, en caso contrario desplegarle un
bono de despensa semanal de $150.00
4. Capturar los datos más importantes de un estudiante incluyendo tres
calificaciones, que no deben ser mayores a 5
5. Capturar los datos más importantes de unos productos cualesquiera,
incluyendo cantidad, precio, etc., desplegar una orden de compra, solo si
el producto es de origen nacional, en caso contrario no hacer nada
TAREAS CASE
1. Construir un menú que contenga el siguiente menú
Conversión de pesos a dólares
Conversión de libras a kilogramos
Conversión de kilómetros a millas
Fin de menú
Seleccionar opción [ ]
2. Evaluar cualquier función vista para cuando x =3,-4, 5
TAREAS WHILE
1. Desplegar los números enteros entre 50 y 80
2. Desplegar múltiplos de 4 entre 60 y 20 acompañados de su logaritmos de
base 10 y base e respectivos
3. Construir la tabla de dividir que el usuario indique
61
TAREAS VARIOS
1. Convertir la edad en años de una persona a meses
2. Convertir pesos a dólares
3. Calcular el área de un círculo
4. Construir los modelos de solución de los siguientes problemas:
a. Convertir millas a kilómetros
b. Convertir 125 metros a centímetros
5. Se calcula que en promedio hay 4.7 nidos en cada árbol en la ESPOCH,
también se calcula que en cada nido existen un promedio de 5.8 pájaros,
se pide calcular la cantidad total de nidos y de pájaros en los 227 árboles
que existen en la ESPOCH
6. La Sra. López y sus 8 hijos solo compran una vez al mes su mandado en
conocido supermercado, en dicha tienda el kilogramo de fríjol cuesta
$8.75, el paquete de tortillas cuesta $3.55 y el frasco de café vale $14.25,
si solo compran de estos tres productos para su mandado, calcular su
gasto total
7. Capturar y desplegar los cinco datos más importantes de un automóvil
8. La distancia Tijuana - Ensenada es de 110 kilómetros. Si un automóvil la
recorre a una velocidad constante de 30 millas por hora, cuánto tiempo
tarda en llegar. ( 1 milla = 1.609 Km.)
9. Evaluar el factorial de cualquier numero usando la formula: n!=n!-1
10.La distancia que recorre un auto es de 50 kms y su velocidad es de 30
millas por hora ¿Cuánto tiempo tardara en llegar?
11.Encontrar la derivada de x para cualquier valor con la formula(d/dx(x)=1)
12.Calcular l interés que gana un capital de x pesos a una tasa de interés del
15% anual en un periodo de n años
13.Que aceleración tiene un tren que parte de Tijuana a 10 km/hr y pasa por
Ensenada una hora después a 50 km/hr
14.Calcular el número de aulas en una escuela que tiene 10 edificios y cada
edificio 3 pisos y cada piso 5 aulas, excepto un edificio que solo tiene dos
pisos
15.Si en una escuela hay 30 maestros y 15 son hombres que atienden a 10
alumnos cada uno. Cuantas maestras hay?
16.Calcular la corriente de un circuito con un voltaje de 15v y una resistencia
de 6 ohms. Formula (I= V/R)
17.Calcular la normal estándar(z) dados los datos por el usuario: X=dato,
µ=media, d=desviación. Formula (Z = X-M / d)
18.Dado un numero(N) cualesquiera obtener su raíz y potencia cuadrada
19.Determinar la media de 5 números diferentes
20.Determinar la velocidad v requerida para recorrer una distancia d en un
tiempo t . Formula (V = d * t)
21.Determinar la pendiente de una recta. Formula (y = m x + b)
22.Calcular la función de y= x² + 8x + 3 para cualquier x
23.Convertir minutos a horas
24.Aplicar la formula general para a=1, b=2, c=3
25.Se desea instalar un cable de red, el cliente pide 30 pies, considerando
que se venden en metros, cuantos deberá comprar
62
26.Un campesino siembra trigo en un área cuadrada de 25 mts., ¿ cual es el
largo del cerco frontal en cms.?
27.Resolver x² + 15x - 8 para cualquier variable (X)
28.Convertir °C a °F
29.Si cada salón de la escuela tiene 40 alumnos y son 30 salones ¿Cuantos
alumnos son en toda la escuela?
30.Si Juan trabaja 5 días a la semana y descansa 2 ¿Cuantos días trabajo en
4 años?
31.Si en una oficina se procesan 20 facturas cada 10 minutos cuantas se
procesaran si se trabajan 5 horas?
32.Si una empresa tiene _____ de activo y un pasivo de _____ ¿Cual es su
capital?. Formula (C = A-P)
33.Calcule el voltaje de un circuito dada una intensidad I y una resistencia R.
Formula (V=IR)
34.Calcule la frecuencia de una onda que circula con un tiempo t. Formula
(F=1/t)
35.Calcule la potencia de un circuito con un voltaje V y una intensidad I.
Formula (f = VI)
36.Calcule el total que tendrá que pagar una persona que va al cine
dependiendo del número de boletos a comprar y el precio
37.Calcule las anualidades que tendrá que pagar una persona que pidió un
préstamo. Dependiendo del tiempo que el elija y el interés por año.
Formula (Anualidad=(Prestamo/Tiempo)+interes)
38.Determinar cuánto ganará una persona en base a las horas trabajadas.
Tomando en cuenta el pago por hora.
39.Convertir horas a segundos
40.Calcular la fuerza. Formula (fuerza = trabajo / tiempo)
63
7. Elaborar un diagrama de caja que capture en un vector (T) la temperatura
de cada día de una semana y que realice lo siguiente :
• Imprimir la temperatura promedio.
• Formar un vector (D) que contenga las diferencias de cada
temperatura con respecto al promedio.
• Imprimir la menor temperatura y el número de día en que ocurrió.
8. Elabore un diagrama de caja que encuentre la mayor diferencia entre 2
números consecutivos y las posiciones de éstos, en un vector de N
números enteros.
10. Elaborar un diagrama de caja que capture en una matriz las calificaciones
obtenidas por un grupo de N estudiantes y que realice lo siguiente :
64
• Formar un vector de tamaño N que contenga los promedios de cada
estudiante.
• Calcular el promedio del grupo en el examen 3.
• Imprimir el mayor promedio y el número del estudiante que lo obtuvo.
• Imprimir el total de alumnos aprobados y reprobados (la calificación
mínima aprobatoria es 70)
• Imprimir el número de alumnos que reprobaron el examen 1.
11. Diseñe un diagrama de caja en que lea un vector desordenado A,
compuesto de n números enteros e imprímase este vector en la misma
secuencia, pero ignorando los valores duplicados que se encuentren en él.
También se necesita saber el número de elementos que permanecen (m);
por ejemplo, dado el siguiente vector
MATRICES
12. Realice la suma matricial. El programa debe pedir las dimensiones de las
matrices A y B, validar que se pueda ejecutar la operación, capturar los
valores de cada una de las matrices, efectuar la operación y mostrar el
resultado.
13. Desarrollar un diagrama de caja que lea una matriz cuadrada de tamaño
n y determine si se trata de una matriz simétrica o no. Una matriz es
simétrica si los valores de cada fila son iguales los de su columna
correspondiente; por ejemplo la siguiente matriz es simétrica:
65
• El total de vendedores que no vendieron ningún artículo número ocho.
16. Elabore un diagrama de caja y que lea una matriz cuadrada de tamaño
N de números enteros, calcule la suma de los elementos de las diagonales
(principal e inversa y guarde estos elementos en dos vectores (DP y DI).
17. Elabore un diagrama de caja que lea los datos de una matriz cuadrada
de tamaño N y realice las siguientes operaciones:
• Imprima la suma de los elementos de la diagonal principal
• Imprima cuántos "0" hay en la matriz
• Imprima una matriz igual pero con las diagonales intercambiadas.
• Imprima el número mayor de la matriz
18. Elabore un diagrama de caja que lea los datos de una matriz cuadrada
de tamaño N, y que intercambie los elementos de la matriz triangular
superior con los elementos correspondientes simétricamente de la matriz
triangular inferior.
EJEMPLO : RESULTADO :
19. Dada una matriz cuadrada de tamaño N, encuentre la suma de todos los
elementos que no son de la "periferia" de la matriz.
66
Elaborar un diagrama de caja que pueda proporcionar la siguiente información:
a) ¿En que mes (número) se registró el mayor costo de producción de dulces?
b) Promedio anual de los costos de producción de bebidas.
c) ¿En que mes se registró el menor costo de producción de bebidas?
d) ¿Cuál fue el departamento que tuvo el menor costo de producción en Agosto?
67
23. La Dirección General de Institutos Tecnológicos desea conocer una serie
de datos estadísticos referentes a la cantidad de Ingenieros, Masters y
Doctores que laboran en el sistema de tecnológicos. Entre otros datos se
desea saber:
a) Total de Doctores, Masters e Ingenieros por zona.
b) Sueldo promedio de un Dr. en el sistema de tecnológicos.
c) Total de Doctores en el tecnológico de Nuevo Laredo.
d) Total de Ingenieros con plaza #3 en la zona centro.
e) El monto total de los sueldos en los tecnológicos de la zona norte.
Suponga que se cuenta con 2 matrices con los siguientes datos:
NOTAS:
- La clave de empleado puede ser 1,2 o 3. (DR., MC., ING.)
- Las zonas son norte, centro y sur.
- Son 60 tecnológicos
- Existen 3 plazas (1,2,3) por cada clave de emp.
68