Manual Metodologia de La Programacion
Manual Metodologia de La Programacion
Manual Metodologia de La Programacion
P ROGRAMACIÓ N
MANUAL DE ASIGNATURA
1. Conceptos Básicos
2. Expresiones
3. Algoritmos y Diagramas de Flujo
“Receta de Cocina”
Entrada: ingredientes y utensilios empleados
Proceso: elaboración de la receta de cocina
Salida: terminación del plato (por ejemplo cordero)
Ejemplo:
1. Inicio
2. Leer pedido
3. Examinar ficha del cliente
4. Si el cliente es solvente, aceptar pedido, en caso contrario, rechazar pedido.
5. Fin
ALGORITMO
start
//calculo de impuesto y salarios
read nombre, horas, precio_horas
salario_bruto horas * precio_horas
tasas 0,25 * salario_bruto
salario_neto salario_bruto – tasas
write nombre, salario_bruto, salario_neto
end
inicio
//calculo de impuesto y salarios
Leer nombre, horas, precio_horas
salario_bruto horas * precio_horas
tasas 0,25 * salario_bruto
salario_neto salario_bruto – tasas
Escribir nombre, salario_bruto, salario_neto
fin
DIAGRAMAS DE FLUJO
Es un diagrama que utiliza los símbolos (cajas) estándar y que tiene los pasos del
algoritmo escritos en esas cajas unidas por flechas, denominadas líneas de flujo, que
indican la secuencia en que se deben ejecutar.
Un dato es la expresión general que describe los objetos con los cuales opera una
computadora.
DATOS NUMERICOS
Enteros: el tipo entero es un subconjunto finito de los números enteros. Los enteros
son números completos, no tienen componentes fraccionarios o decimales y pueden
ser negativos o positivos.
Reales: el tipo real es un subconjunto de los números reales. Los números reales
siempre tienen un punto decimal y pueden ser positivos o negativos. Un número real
consta de un entero y una parte decimal.
Los caracteres que reconocen las diferentes computadoras no son estándar, sin
embargo la mayoría reconoce los siguientes caracteres alfabéticos y numéricos:
El tipo de dato lógico, también denominado booleano, es aquel dato que solo puede
tomar uno de dos valores:
Identificadores
Los nombres de las variables a veces son conocidos como identificadores, suelen
constar de varios caracteres alfanuméricos, de los cuales el primero normalmente es
una letra, no se deben utilizar como nombre de identificadores palabras reservadas del
lenguaje de programación.
Variables y Constantes
Una variable es un objeto o partida de datos cuyo valor puede cambiar durante del
desarrollo del algoritmo o ejecución del programa.
Hay diferentes tipos de variables, tales como enteras, reales, carácter, lógicas y de
cadena. Una variable que es de cierto tipo puede tomar únicamente valores de ese
tipo.
Una variable se identifica por los siguiente atributos: nombre que lo asigna y tipo que
describe el uso de la variable.
Una Constante es una partida de datos (objetos) que permanecen sin cambios
durante todo el desarrollo del algoritmo o durante la ejecución del programa.
Especificaciones de
Definición del problema Especificaciones de salida
entrada
El análisis del problema exige una lectura previa del problema a fin de obtener una
idea general de lo que se solicita. La segunda lectura deberá servir para responder
a las preguntas:
Ejemplo:
Leer el radio de un círculo y calcular e imprimir su superficie y circunferencia.
Análisis.
Las entradas de datos en este problema se concentran en el radio del círculo. Dado
que el radio puede tomar cualquier valor dentro del rango de los números reales,
el tipo de datos radio debe ser real.
Las salidas serán dos variables: superficie y circunferencia que también serán de
tipo real.
2. Diseño del Algoritmo: una computadora no tiene capacidad para solucionar más
que cuando se le proporcionan los sucesivos pasos a realizar. Estos pasos sucesivos
que indican las instrucciones a ejecutar por la máquina constituyen, como ya
conocemos el algoritmo.
Tras los pasos anteriores (diseño descendente y refinamiento por pasos) es preciso
representar el algoritmo mediante una determinada herramienta de programación,
diagrama de flujo, pseudocódigo o diagrama N-S.
Diseño de un
algoritmo
Herramientas de
programación:
Diseño Refinamiento Diagrama del Flujo
Descendente por pasos Pseudocódigo
Diagrama N-S
INICIO
Donde:
MAT es una variable de tipo entero que representa la
matrícula del alumno.
CAL1, CAL2, CAL3, son variables de tipo real que representan las calificaciones
CAL4 Y CAL5 del alumno.
ENTRADA:
Leer MAT, CAL1, CAL2, CAL3, CAL4, CAL5
PROCESO:
Hacer PRO← (CAL1+CAL2+CAL3+CAL4+CAL5)/5
SALIDA:
Escribir MAT, PRO
FIN
2.1 OPERADORES
Son elementos que relacionan de forma diferente, los valores de una o más variables
y/o constantes. Es decir los operadores nos permiten manipular valores.
ARITMÉTICOS
TIPOS DE OPERADORES RELACIONALES
LÓGICOS
Valor
OPERADORES ARITMÉTICOS
+ Suma
- Resta
* Multiplicación
/ División
mod Modulo (residuo de la
división entera)
Los operadores en una misma expresión con igual nivel de prioridad se evalúan
de izquierda a derecha.
Ejemplos:
Ejemplos:
a+b>c falso
a-b<c verdadero
a-b=c Falso
a*b<>c verdadero
No lógicos:
a<b<c
10<20<30
T<30 No es lógico porque tiene diferentes operando
AND Y
OR O
NOT NEGACIÓN
OPERADOR AND, OR
OPERANDOS AND OR
V V V V
V F F V
F V F V
F F F F
OPERADOR NOT
OPERANDO NOT
V F
F V
Ejemplos:
1. ()
2. ^
3. *,/,Mod, Not
4. +,-,and
5. >,<,>=,<=,<>,=,Or
2.3 Expresiones
a + (b+3) + c
Aritméticas
Lógicas
Carácter
a. 5 (x+y)
b. A2 + b2
c. x + y
u+w
a
d. x . (z + w)
y
Los lenguajes algorítmicos son una serie de símbolos y reglas que se utilizan para
describir de manera explícita un proceso. Se pueden clasificar como:
DIAGRAMAS DE FLUJO
SIMBOLOGIA
SÍMBOLO DESCRIPCIÓN
Indica el Inicio y el Final de nuestro Diagrama de
Flujo.
Indica la entrada y salida de datos.
Ejemplo
1. Inicio.
2. Traer gato.
3. Aflojar tornillos de las llantas.
4. Levantar el coche con el gato.
5. Sacar los tornillos de las llantas.
6. Quitar la llanta.
7. Poner la llanta de repuesto.
8. Poner los tornillos.
9. Apretar los tornillos.
10. Bajar el gato.
11. Fin
Ejercicios
Ir Al Cine
Comprar una entrada para los toros
Colocar la mesa para comer
Hacer una tasa de te
Buscar el número de teléfono de un amigo
Cambiar el cristal roto de una ventana
Cambiar un foco
Ejemplo:
INICIO
MAT, CAL1,
CAL2,
CAL3,
CAL4, CAL5
PRO (CAL1+CAL2+CAL3+CAL4+CAL5)/5
MAT, PRO
FIN
Se recomienda dar diferentes datos de entrada y considerar todos los posibles casos,
aun los de excepción o no esperados, para asegurarnos de que el programa no
producirá errores en ejecución cuando se presenten estos casos.
Contador: Consiste en usarla como un verificador del número de veces que se realiza
un proceso.
c= c+1 ó c=+1
resultado = resultado+1 ó resultado=+1
a=a + b ó a=+b
suma = suma+num1 ó suma=+num1
Una sentencia puede ser una proposición o ninguna proposición (si hablamos de una
sentencia vacía) o un conjunto de proposiciones (cuando se encuentran agrupadas
entre llaves).
Condicionales
o Si-Entonces
o Si-Entonces-Sino
Ciclos
o Para-Hasta
o Repite
o Mientras
ESTRUCTURAS ALGORÍTMICAS:
Asignación
Secuenciales Entrada
Salida
Estructuras Simples
Condicionales
Algorítmicas Dobles
Hacer parar
Cíclicas Hacer mientras
Repetir hasta
ESTRUCTURAS SECUENCIALES
Inicio
Acción1
Acción2
.
.
Acción N
Fin
a=15
suma=26
a=a+b
suma=suma+num1
a=c+b*2/4
Leer a,b
Datos de Entrada:
Cm
Diagrama de Flujo
Datos de Salida:
Pulg Inicio
Proceso:
pulg<-cm/2.54
cm
pulg<-cm/2.54
Pseudocódigo
Inicio
pulg
Leer cm
pulg<-cm/2.54
Imprimir pulg
Fin Fin
ACTIVIDAD INTEGRADORA:
5. Un vendedor recibe un sueldo base más un 10% extra por comisión de sus ventas,
el vendedor desea saber cuánto dinero obtendrá por concepto de comisiones que
realiza en el mes y el total que recibirá en el mes tomando en cuenta su sueldo
base y comisiones.
6. Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente
desea saber cuánto deberá pagar finalmente en su compra.
9. Calcular el número de pulsaciones que una persona debe tener por cada 10
segundos de ejercicio, si la formula es: núm. pulsaciones=(220-edad)/10
10. Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre
salario anterior.
12. Suponga que un individuo desea invertir su capital en un banco y desea saber
cuánto dinero ganara después de un mes si el banco paga a razón de 2% mensual
13. Un alumno desea saber cuál será su calificación final en la materia de Algoritmos.
Dicha calificación se compone de los siguientes porcentajes:
55% del promedio de sus tres calificaciones parciales.
30% de la calificación del examen final.
15% de la calificación de un trabajo final.
Obtener la cantidad de dinero que recibirá cada área, para cualquier monto
presupuestal.
17. Todos los lunes, miércoles y viernes, una persona corre la misma ruta y
cronometra los tiempos obtenidos. Determinar el tiempo promedio que la persona
tarda en recorrer la ruta en una semana cualquiera.
18. Tres personas deciden invertir su dinero para fundar una empresa. Cada una de
ellas invierte una cantidad distinta. Obtener el porcentaje que cada quien invierte
con respecto a la cantidad total invertida.
19. Un alumno desea saber cuál será su promedio general en las dos materias más
difíciles que cursa y cuál será el promedio que obtendrá en cada una de ellas. Estas
materias se evalúan como se muestra a continuación :
La calificación de Matemáticas se obtiene de la sig. manera:
Examen 90%
Promedio de tareas 10%
En esta materia se pidió un total de tres tareas.
La calificación de Física se obtiene de la sig. manera:
Examen 80%
Promedio de tareas 20%
En esta materia se pidió un total de dos tareas
Las estructuras condicionales comparan una variable contra otro(s) valor(es) para que
en base al resultado de esta comparación, se siga un curso de acción dentro del
programa. Cabe mencionar que la comparación se puede hacer contra otra variable o
contra una constante, según se necesite. Existen dos tipos básicos, las simples y las
dobles.
Si (expresión)
Sentencia
Si no
Sentencia
Fin Si
Sentencia
Expresión
Sentencia
ACTIVIDAD INTEGRADORA:
Datos de Entrada:
Nombre
C1, C2, C3
Datos de Salida:
Aprobado o Reprobado
Proceso:
prom= (C1 + C2 + C3)/3
Diagrama de Flujo
Pseudocódigo.
Inicio
Inicio
Leer nombre
Leer C1, C2, C3
prom= (C1 + C2 + C3)/3 nombre
Si prom>=7 entonces
Imprimir “Aprobado”
Si no C1, C2, C3
Imprimir “Reprobado”
Fin Sin
Fin prom<-(C1 + C2 + C3)/3
Aprobado
prom>=7
Reprobado
Fin
3. Elaborar un algoritmo que lea tres numero enteros, si el primer número es menor
que cero, que determine e imprima la suma de los tres y en caso contrario el
producto de los tres.
4. Un hombre desea saber cuánto dinero se genera por concepto de intereses sobre la
cantidad que tiene en inversión en el banco, sabiendo que les pagan por los
intereses 13% del monto mensuales. El decidirá reinvertir los intereses siempre y
cuando estos excedan a $ 7,000.00 y en ese caso desea saber cuánto dinero
tendrá finalmente en su cuenta.
5. En un almacén se hace un 20% de descuento a los clientes cuya compra supere los
$ 1,000.00 pesos. ¿Cuál será la cantidad que pagara una persona por su compra.
7. Una persona enferma, que pesa 70 kg. Se encuentra en reposo y desea saber
cuántas calorías consume su cuerpo durante todo el tiempo que realice una misma
actividad. Las actividades que tiene permitido realizar son únicamente dormir o
estar sentado en reposo. Los datos que tiene son que estando dormido consume
1.08 calorías por minuto y estando sentado en reposo consume 1.66 calorías por
minuto.
10. Calcular el total que una persona debe pagar en una llantera, si el precio de cada
llanta es de $ 800.00 pesos, si se compran menos de 5 llantas y de $ 700.00 pesos
si se compran 5 o más.
12. Calcular el número de pulsaciones que debe tener una persona por cada 10
segundos de ejercicio aeróbico; la formula que se aplica
Cuando el sexo es femenino es:
num.pulsaciones=(220-edad)/10
Cuando el sexo es masculino es:
num.pulsaciones=(210-edad)/10
14. Una empresa quiere hacer una compra de varias piezas de la misma clase a una
fábrica de refacciones. La empresa, dependiendo del monto total de la compra,
decidirá qué hacer para pagar al fabricante.
Si el monto total de la compra excede de $25,000.00 la empresa tendrá la
capacidad de invertir de su propio dinero un 55% del monto de la compra, pedir
prestado al banco un 30% y el resto lo pagara solicitando un crédito al fabricante.
Si el monto total de la compra no excede de $25, 000 la empresa tendrá capacidad
de invertir de su propio dinero un 70% y el restante 30% lo pagara solicitando
crédito al fabricante.
El fabricante cobra por concepto de intereses un 20% sobre la cantidad que se le
pague a crédito.
16. Una empresa de bienes raíces ofrece casas de interés social, bajo las siguientes
condiciones: Si los ingresos del comprador son menores de $8,000 el enganche
será del 15% del costo de la casa y el resto se distribuirá en pagos mensuales,
apagar en diez años. Si los ingresos del comprador son de $8,000 o más el
enganche será del 30% del costo de la casa y el resto se distribuirá en pagos
mensuales apagar en 7 años. La empresa quiere obtener cuanto debe pagar un
comprador por concepto de enganche y cuanto por cada pago parcial.
17. El gobierno ha establecido el programa SAR (Sistema de Ahorro para el Retiro) que
consiste en que los dueños de la empresa deben obligatoriamente depositar en una
cuenta bancaria un porcentaje del salario de los trabajadores; adicionalmente los
trabajadores pueden solicitar a la empresa que deposite directamente una cuota
fija o un porcentaje de su salario en la cuenta del SAR, la cual le será descontada
de su pago.
18. Una persona desea iniciar un negocio, para lo cual piensa verificar cuánto dinero le
prestara el banco por hipotecar su casa. Tiene una cuenta bancaria, pero no quiere
disponer de ella a menos que el monto por hipotecar su casa sea muy pequeño. Si
el monto de la hipoteca es menor que $10,000 entonces invertirá el 50% de la
inversión total y un socio invertirá el otro 50%. Si el monto de la hipoteca es de $
10 000 o más, entonces invertirá el monto total de la hipoteca y el resto del dinero
que se necesite para cubrir la inversión total se repartirá a partes iguales entre el
socio y el.
19. El gobierno del estado de México desea reforestar un bosque que mide
determinado número de hectáreas. Si la superficie del terreno excede al millón de
metros cuadrados, entonces decidirá sembrar de la sig. manera:
22. Leer 2 números si son iguales que los multiplique, si el primero es mayor que el
segundo que los reste y si no que los sume.
24. Determinar la cantidad de dinero que recibirá un trabajador por concepto de las
horas extras trabajadas en una empresa, sabiendo que cuando las horas de trabajo
exceden de 40, el resto se consideran horas extras y que estas se pagan al doble
de una hora normal cuando no exceden de 8; si las horas extras exceden de 8 se
pagan las primeras 8 al doble de lo que se pagan las horas normales y el resto al
triple.
25. Calcular la utilidad que un trabajador recibe en el reparto anual de utilidades si este
se le asigna como un porcentaje de su salario mensual que depende de su
antigüedad en la empresa de acuerdo con la sig. tabla:
Tiempo Utilidad
Menos de 1 año 5 % del salario
1 año o más y menos de 2 años 7% del salario
2 años o más y menos de 5 años 10% del salario
5 años o más y menos de 10 años 15% del salario
10 años o mas 20% del salario
27. El IMSS requiere clasificar a las personas que se jubilaran en el año de 1997.
Existen tres tipos de jubilaciones: por edad, por antigüedad joven y por antigüedad
adulta. Las personas adscritas a la jubilación por edad deben tener 60 años o más
y una antigüedad en su empleo de menos de 25 años. Las personas adscritas a la
jubilación por antigüedad joven deben tener menos de 60 años y una antigüedad
en su empleo de 25 años o más. Las personas adscritas a la jubilación por
antigüedad adulta deben tener 60 años o más y una antigüedad en su empleo de
25 años o más. Determinar en qué tipo de jubilación, quedara adscrita una
persona.
28. En una fábrica de computadoras se planea ofrecer a los clientes un descuento que
dependerá del número de computadoras que compre. Si las computadoras son
menos de cinco se les dará un 10% de descuento sobre el total de la compra; si el
número de computadoras es mayor o igual a cinco pero menos de diez se le otorga
un 20% de descuento; y si son 10 o más se les da un 40% de descuento. El precio
de cada computadora es de $11,000
29. En una llantera se ha establecido una promoción de las llantas marca "Ponchadas",
dicha promoción consiste en lo siguiente: Si se compran menos de cinco llantas el
precio es de $300 cada una, de $250 si se compran de cinco a 10 y de $200 si se
compran más de 10. Obtener la cantidad de dinero que una persona tiene que
pagar por cada una de las llantas que compra y la que tiene que pagar por el total
de la compra.
31. Un proveedor de estéreos ofrece un descuento del 10% sobre el precio sin IVA, de
algún aparato si este cuesta $2000 o más. Además, independientemente de esto,
ofrece un 5% de descuento si la marca es "NOSY". Determinar cuánto pagara, con
IVA incluido, un cliente cualquiera por la compra de su aparato.
32. Una frutería ofrece las manzanas con descuento según la siguiente tabla :
Determinar cuánto pagara una persona que compre manzanas es esa frutería.
33. El dueño de una empresa desea planificar las decisiones financieras que tomara en
el siguiente año. La manera de planificarlas depende de lo siguiente:
Si actualmente su capital se encuentra con saldo negativo, pedirá un préstamo
bancario para que su nuevo saldo sea de $10 000. Si su capital tiene actualmente
un saldo positivo pedirá un préstamo bancario para tener un nuevo saldo de
$20000, pero si su capital tiene actualmente un saldo superior a los $20 000 no
pedirá ningún préstamo.
Posteriormente repartirá su presupuesto de la siguiente manera.
$5 000 para equipo de computo
$2 000 para mobiliario
y el resto la mitad será para la compra de insumos y la otra para otorgar incentivos
al personal. Desplegar que cantidades se destinaran para la compra de insumos e
incentivos al personal y, en caso de que fuera necesario, a cuánto ascendería la
cantidad que se pediría al banco.
34. Tomando como base los resultados obtenidos en un laboratorio de análisis clínicos,
un medico determina si una persona tiene anemia O no, lo cual depende de su
nivel de hemoglobina en la sangre, de su edad y de su sexo. Si el nivel de
hemoglobina que tiene una persona es menor que el rango que le corresponde, se
determina su resultado como positivo y en caso contrario como negativo. La tabla
en la que el médico se basa para obtener el resultado es la siguiente:
Acciones o cuerpo
del ciclo
En este ciclo la variable toma el valor inicial del ciclo y el ciclo se repite hasta que
la variable llegue al valor final
ACTIVIDAD INTEGRADORA:
CATEGORÍA EDAD
Niños 0 –12
Jóvenes 13- 29
Adultos 30 –59
Viejos 60 en adelante
condición
Cuerpo del
ciclo
ACTIVIDAD INTEGRADORA:
1. Una compañía de seguros tiene contratados a n vendedores. Cada uno hace tres
ventas a la semana. Su política de pagos es que un vendedor recibe un sueldo
base, y un 10% extra por comisiones de sus ventas. El gerente de su compañía
desea saber cuánto dinero obtendrá en la semana cada vendedor por concepto de
comisiones por las tres ventas realizadas, y cuanto tomando en cuenta su sueldo
base y sus comisiones.
4. El Depto. de Seguridad Publica y Transito del D.F. desea saber, de los n autos que
entran a la ciudad de México, cuantos entran con calcomanía de cada color.
Conociendo el último dígito de la placa de cada automóvil se puede determinar el
color de la calcomanía utilizando la sig. relación:
DÍGITO COLOR
1 o2 amarilla
3 o4 rosa
5 o6 roja
7 o8 verde
9 o0 azul
10. En un supermercado un cajero captura los precios de los artículos que los clientes
compran e indica a cada cliente cual es el monto de lo que deben pagar. Al final del
día le indica a su supervisor cuanto fue lo que cobro en total a todos los clientes
que pasaron por su caja.
12. Se desea obtener el promedio de 9 grupos que están en un mismo año escolar;
siendo que cada grupo puede tener n alumnos que cada alumno puede llevar m
materias y que en todas las materias se promedian tres calificaciones para obtener
el promedio de la materia. Lo que se desea desplegar es el promedio de los grupos,
el promedio de cada grupo y el promedio de cada alumno.
Repetir
Acción 1
Acción 2
Acción 3
.
.
Acción N
Hasta (condición)
Cuerpo del
ciclo
condición SI
NO
EJERCICIOS:
1. En una tienda de descuento las personas que van a pagar el importe de su compra
llegan a la caja y sacan una bolita de color, que les dirá que descuento tendrán
sobre el total de su compra. Determinar la cantidad que pagara cada cliente desde
que la tienda abre hasta que cierra. Se sabe que si el color de la bolita es roja el
cliente obtendrá un 40% de descuento; si es amarilla un 25% y si es blanca no
obtendrá descuento.
Edad Descuento
Categoría 1 5 –14 35 %
Categoría 2 15- 19 25 %
Categoría 3 20- 45 10 %
Categoría 4 46 –65 25 %
Categoría 5 66 en adelante 35 %
5. Determinar la cantidad semanal de dinero que recibirá cada uno de los n obreros
de una empresa. Se sabe que cuando las horas que trabajo un obrero exceden de
40, el resto se convierte en horas extras que se pagan al doble de una hora
normal, cuando no exceden de 8; cuando las horas extras exceden de 8 se pagan
las primeras 8 al doble de lo que se paga por una hora normal y el resto al triple.
7. En la Cámara de Diputados se levanta una encuesta con todos los integrantes con
el fin de determinar qué porcentaje de los n diputados está a favor del Tratado de
Libre Comercio, que porcentaje está en contra y que porcentaje se abstiene de
opinar.
10. Un jefe de casilla desea determinar cuantas personas de cada una de las
secciones que componen su zona asisten el día de las votaciones. Las secciones
son: norte, sur y centro. También desea determinar cual es la sección con mayor
número de votantes.
15. El profesor de una materia desea conocer la cantidad de sus alumnos que no
tienen derecho al examen de nivelación. Diseñe un algoritmo que lea las
calificaciones obtenidas en las 5 unidades por cada uno de los 40 alumnos y escriba
la cantidad de ellos que no tienen derecho al examen de nivelación.
16. Leer los 250,000 votos otorgados a los 3 candidatos a gobernador e imprimir el
número del candidato ganador y su cantidad de votos.
17. Suponga que tiene usted una tienda y desea registrar las ventas en su
computadora. Diseñe un algoritmo que lea por cada cliente, el monto total de su
compra. Al final del día que escriba la cantidad total de ventas y el numero de
clientes atendidos.