Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Untitled
Untitled
Plaza y Valdés, S. A. de C. V.
Manuel María Contreras 73. Colonia San Rafael
México, D. F. 06470. Teléfono: 5097 20 70
editorial@plazayvaldes.com
www.plazayvaldes.com
Plaza y Valdés, S. L.
Calle de Las Eras 30, B
28670, Villaviciosa de Odón
Madrid, España. Teléfono: 91 665 8959
madrid@plazayvaldes.com
www.plazayvaldes.es
Prólogo.......................................................................... 11
Introducción................................................................. 13
1.Conceptos básicos..................................................... 15
Proceso ......................................................................... 15
Algoritmo...................................................................... 16
Procedimiento................................................................ 16
Programa........................................................................ 16
Tipos de datos................................................................ 17
Numérico....................................................................... 17
Alfanumérico................................................................. 17
Memoria........................................................................ 18
Constante....................................................................... 18
Variable......................................................................... 18
Identificadores............................................................... 18
Expresiones................................................................... 19
Expresiones aritméticas................................................. 21
Expresiones relacionales............................................... 22
Expresiones lógicas....................................................... 23
Ejercicios propuestos..................................................... 24
2. Metodología para la
solución de problemas................................................. 27
Definición del problema................................................ 28
Planeación de la solución.............................................. 28
Algoritmo....................................................................... 28
Pedir datos..................................................................... 29
Desplegar datos............................................................. 29
Evaluar condiciones....................................................... 30
Ejecutar operaciones...................................................... 31
Diagrama de flujo.......................................................... 32
Bloques terminales........................................................ 32
Bloques de entrada/salida.............................................. 33
Bloques de proceso........................................................ 33
Bloques de decisión o condicionales............................. 34
Bloques de conexión...................................................... 34
Codificación y edición................................................... 36
Pruebas y depuración..................................................... 36
Documentación y mantenimiento.................................. 37
3. Problemas secuenciales........................................... 39
Definición...................................................................... 39
Características................................................................ 39
Ejemplos........................................................................ 40
Ejercicios propuestos..................................................... 42
4. Problemas condicionales......................................... 45
Definición...................................................................... 45
Problemas condicionales simples.................................. 45
Problemas condicionales compuestos........................... 46
Problemas condicionales múltiples............................... 47
Ejemplos........................................................................ 48
Ejercicios propuestos..................................................... 53
5. Problemas repetitivos.............................................. 59
Contador........................................................................ 60
Acumulador................................................................... 60
Interruptor...................................................................... 61
Ciclos............................................................................. 61
Ciclo de repetición por contador.............................. 61
Ciclo de repetición de prueba por arriba.................. 63
Ciclo de repetición de prueba por abajo.................. 63
Problemas repetitivos simples....................................... 64
Problemas repetitivos compuestos................................ 64
Ejemplos........................................................................ 65
Problemas propuestos.................................................... 73
6. Estructuras dimensionales...................................... 75
Vectores......................................................................... 76
Matrices......................................................................... 77
Ejemplos........................................................................ 78
Problemas propuestos.................................................... 81
7. Módulos.................................................................... 83
Parámetros..................................................................... 85
Representación de módulos........................................... 86
Ejemplo......................................................................... 87
8. Pseudocódigo............................................................ 91
Palabras reservadas........................................................ 91
Entrada/Salida................................................................ 92
Estructuras de control.................................................... 93
Ejemplo......................................................................... 94
Bibliografía................................................................... 97
Prólogo
11
Introducción
13
1
Conceptos básicos
Proceso
DATOS DE DATOS DE
ENTRADA SALIDA
15
Metodología de la programación
Algoritmo
Procedimiento
Programa
16
Conceptos básicos
Tipos de datos
Numérico
Alfanumérico
17
Metodología de la programación
Ejemplos:
Memoria
Constante
Variable
Identificadores
18
Conceptos básicos
Por ejemplo:
Expresiones
19
Metodología de la programación
20
Conceptos básicos
Expresiones aritméticas
21
I
Metodología de la programación
Expresiones relacionales
22
Conceptos básicos
Expresiones lógicas
Las reglas para resolver las expresiones lógicas son las si
guientes:
1. Se resuelven primero los paréntesis.
2. Se encuentran los valores de verdad de las expresiones
relacionales.
3. Se aplica la jerarquía de operadores lógicos. En caso de
haber dos operadores iguales se procede la operación de izquierda
a derecha.
Ejemplo 3. Resolver la siguiente expresión lógica relacional:
23
Metodología de la programación
Ejercicios propuestos
24
Conceptos básicos
25
2
Metodología para la
solución de problemas
27
Metodología de la programación
Planeación de la solución
Algoritmo
28
Metodología para la solución de problemas
Pedir datos
PEDIR variable
Ejemplos:
PEDIR costo
PEDIR edad
PEDIR nombre
Desplegar datos
29
Metodología de la programación
DESPLEGAR mensaje
DESPLEGAR variable
DESPLEGAR mensaje/variable
Ejemplos:
Evaluar condiciones
SI condición ENTONCES
accionesV
D E _ O T R A _ F ORMA
acciones_F
FIN_SI
30
Metodología para la solución de problemas
SI condición ENTONCES
acciones_V
FIN_SI
Ejemplo:
DE_OTRA_FORMA
DESPLEGAR “El precio es inaccesible”
Ejecutar operaciones
Ejemplos:
31
Metodología de la programación
“Alberto Jiménez”
Diagrama de flujo
Bloques terminales
32
Metodología para la solución de problemas
Bloques de entrada/salida
Bloques de proceso
33
Metodología de la programación
Bloques de conexión
34
Metodología para la solución de problemas
35
Metodología de la programación
Codificación y edición
Pruebas y depuración
36
Metodología para la solución de problemas
Documentación y mantenimiento
37
3
Problemas secuenciales
Definición
Características
39
Metodología de la programación
Ejemplos
area = ó * radio ^ 2
Planeación de la solución
Datos de entrada:
radio = 5
Datos de salida:
area
40
Problemas secuenciales
Algoritmo
Diagrama de flujo
Planeación de la solución
Datos de entrada:
capital
41
Metodología de la programación
Diagrama de flujo
Ejercicios propuestos
43
Metodología de la programación
44
4
Problemas condicionales
Definición
45
Metodología de la programación
SI condición ENTONCES
acciónV
FIN SI
SI condición ENTONCES
acción_V
46
Problemas condicionales
SI condiciónl ENTONCES
acciones 1
DEOTRAFORMA
SI condición2 ENTONCES
acciones 2
DE_OTRA_FORMA
SI condición3 ENTONCES
acciones3
DE_OTRA_FORMA
acciones X
FINSI
FINSI
FIN SI
47
Metodología de la programación
FIN SEGÚN
Ejemplos
48
Problemas condicionales
Planeación de la solución
Datos de entrada:
califl
calif2
calif3
Datos de salida:
“Aprobado” o “No Aprobado”
Proceso:
prom (califl + calif2 + calif3) / 3
49
Metodología de la programación
Diagrama de flujo
Planeación de la solución
Datos de entrada:
num
Datos de salida:
“Positivo”, “Negativo” o “Nulo”
50
Problemas condicionales
Algoritmo
1. PEDIR num
2. SI num > 0 ENTONCES
3. DESPLEGAR “Positivo”
4. DE OTRA FORMA
5. SI num < 0 ENTONCES
6. DESPLEGAR “Negativo”
7. DEOTRAFORMA
8. DESPLEGAR “Nulo”
9. FINSI
10. FIN SI
Diagrama de flujo
51
Metodología de la programación
Planeación de la solución
52
Problemas condicionales
Diagrama de flujo
Ejercicios propuestos
53
Metodología de la programación
54
Problemas condicionales
55
Metodología de la programación
Tiempo Utilidad
56
Problemas condicionales
57
5
Problemas repetitivos
59
Metodología de la programación
Contador
Acumulador
60
Problemas repetitivos
Interruptor
Ciclos
61
Metodología de la programación
Algoritmo
62
Problemas repetitivos
Algoritmo
Diagrama de flujo
63
Metodología de la programación
64
Problemas repetitivos
Ejemplos
Ejemplo 1
Planeación de la solución
Algoritmo
65
Metodología de la programación
66
Problemas repetitivos
Ejemplo 2
Planeación de la solución
Algoritmo
Metodología de la programación
68
Problemas repetitivos
Ejemplo 3
Planeación de la solución
ENTRADA: secuencia de números.
SALIDA: el número mayor y un mensaje si alguno de los
números fue negativo.
Se utiliza un ciclo REPETIR-HASTA, cuando el número
que capturemos sea igual a cero, entonces termina el ciclo.
Dentro del ciclo se captura un número, se compara contra una
variable que almacena el número más grande que se ha
capturado, si el número recién capturado es mayor, entonces
se le asigna a esta variable y se verificará si éste es negativo,
de ser así entonces se activa una bandera para indicar que se
leyó un número negativo.
Algoritmo
69
Metodología de la programación
70
Problemas repetitivos
Ejemplo 4
Planeación de la solución
ENTRADA: ninguna.
SALIDA: todos los números perfectos menores que 1 000.
Se utiliza un ciclo desde para recorrer todos los números
positivos menores que 1 000. Dentro de este ciclo se utiliza
otro ciclo para encontrar los divisores del número en tumo.
Cuando se encuentra un divisor se acumula en una variable,
una vez que se localizaron todos los divisores esta variable va
a tener la suma de los divisores. Se compara el acumulador
con el número analizado, si son iguales, se imprime el número,
si no es así continúa con el siguiente.
Algoritmo
71
Metodología de la programación
72
Problemas repetitivos
Problemas propuestos
73
Metodología de la programación
74
6
Estructuras dimensionales
75
Metodología de la programación
Vectores
76
Estructuras dimensionales
Ejemplos:
entero edades[20]
real X[10];
Matrices
77
Metodología de la programación
Ejemplos
Ejemplo 1
ENTRADA: ninguna.
SALIDA: ninguna.
Se necesita primeramente declarar un arreglo de 20
elementos. Después de la declaración se va a utilizar un ciclo
DESDE que inicie en 0 y termine en 19 para la operación de
inicialización. El contador del ciclo va a servir como índice
para los elementos del arreglo.
Algoritmo
78
Estructuras dimensionales
Diagrama de flujo
Ejemplo 2
79
Metodología de la programación
80
Estructuras dimensionales
Problemas propuestos
1. Obtener el valor mayor almacenado en una tabla de 5
columnas por 4 renglones.
2. En un vector se ha almacenado el número total de toneladas de
cereales cosechados durante cada mes del año anterior. Se
desea la siguiente información: a. El promedio anual de
toneladas cosechadas; b. ¿Cuántos meses tuvieron una cosecha
superior al promedio anual?; c. ¿Cuántos meses tuvieron una
cosecha inferior al promedio anual?
3. En un vector se almacenan las calificaciones finales de N
alumnos. Escribir: o. El promedio general del grupo; b.
Número de alumnos aprobados y número de alumnos repro
bados; c. Porcentaje de alumnos aprobados y porcentaje de
alumnos reprobados; d. Número de alumnos cuya calificación
fue mayor o igual a 8.
4. Dada una cadena de caracteres como dato, se desea saber el
número de veces que aparecen las letras ‘a’, ‘b’ y ‘c’ en dicha
cadena.
5. Se tienen registradas las calificaciones de 50 alumnos,
obtenidas en un examen. Los datos son cai l, cai 2, ..., cai50,
donde cali es un numero entero comprendido entre los valores
0 y 10. Calcular y visualizar la frecuencia de cada uno de los
posibles valores.
6. Calcular la suma de dos matrices de M x N, donde (0- M - 9)
y (0- N - 19) y visualizar su resultado.
7. Calcular la multiplicación de dos matrices. La matriz A es
de M x N y la matriz B es de N x P, donde (0- M - 9), (0- N - 9)
y (0- P - 4). La matriz resultante será de M x P.
8. Llenar con ceros una matriz de N x N, excepto en la diagonal
principal donde debe asignar 1.
Intercambiar por renglón los elementos de una matriz. Los
elementos del renglón 1 deben intercambiarse con los ele
mentos del renglón N, los del renglón 2 con los del N-l y así
sucesivamente.
81
7
Módulos
83
Metodología de la programación
Disminuir la complejidad.
Aumentar la claridad y fiabilidad.
Disminuir el costo.
Aumentar el control del proyecto.
Facilitar la ampliación del programa mediante nuevos
módulos.
Facilitar las modificaciones y correcciones al quedar
automáticamente localizadas en un módulo.
Un módulo está constituido por una o varias instrucciones
físicamente contiguas y lógicamente encadenadas, las cuales
se pueden referenciar mediante un nombre y pueden ser
llamadas desde diferentes puntos de un programa.
84
Módulos
Parámetros
85
Metodología de la programación
Representación de módulos
86
Módulos
Ejemplo:
Algoritmos
MÓDULO CrearVector(Vector,N,Número)
/*E1 algoritmo crea un vector de N elementos. N es el
número de elementos del vector. “Numero” es el número actual
de elementos*/
MODULO InsertaElemento(Vector,N,Numero,dato)
/*E1 algoritmo inserta un elemento en un vector. “Vector”
es un arreglo de N elementos. “Numero” es el número actual
de elementos, “dato” es el valor a insertar*/
87
Metodología de la programación
DEOTRAFORMA
DESPLEGAR “El elemento ” + dato + “ no se puede
insertar”
FINSI
FIN_MODULO
MODULO EliminaElemento(Vector,N,Numero,dato)
/*E1 algoritmo elimina un elemento en un vector. “Vector”
es un arreglo de N elementos. “Numero” es el número actual
de elementos, “dato” es el valor a eliminar*/
88
Módulos
FINMIENTRAS
SI band = falso ENTONCES
DESPLEGAR “El elemento “ + dato + “ no está en el
arreglo”
FIN SI
DEOTRAFORMA
DESPLEGAR “El arreglo está vacío”
FIN SI
FINMODULO
MODULO MostrarVector(Vector,N)
/*N es el número de elementos del vector*/
DESPLEGAR Vector[i]
FINDESDE
FINMODULO
MODULO Principal()
REPETIR
DESPLEGAR “1. Crear un vector”
DESPLEGAR “2. Insertar un elemento en el vector”
DESPLEGAR “3. Borrar un elemento del vector”
DESPLEGAR “4. Mostrar los elementos del vector”
DESPLEGAR “5. Salir”
DESPLEGAR “Elige una opcion:”
PEDIR opcion
SEGÚN_SEA opción
89
Metodología de la programación
90
8
Pseudocódigo
Palabras reservadas
91
Metodología de la programación
Entrada / Salida
entero
carácter
cadena
decimal
lógico
vacío
92
Pseudocódigo
Estructuras de control
si(condición) if(condición)
si(condición)-sino if(condición)-else
según(variable) switch(variable)
para(valorInicio; for(valorlnicio;
condición; condición;
incremento) incremento)
93
Metodología de la programación
hacer- do-
mientras(condición) while(condición)
mientras(condición) while(condición)
Ejemplo
Planeación de la solución
Algoritmo
1. PEDIR calif
94
Pseudocódigo
Pseudocódigo
1. entero calif;
2. limpiar ();
3. pedir (calif);
4. si (calif >= 7){
5. irxy (10,5);
6. escribir (“Aprobado”);
7.}
8. sino {
9. irxy (10,5);
10. escribir (“Reprobado”);
11. }
95
Bibliografía
97
Metodología de la programación
con pseudocódigo enfocado al lenguaje C
se terminó de imprimir en abril de 2008.
Tiraje: mil ejemplares.
ste libro proporciona una visión completa de la
metodología de la programación, enfocándose en
la fase analítica, considerándola como la parte sustan
cial en el proceso de solución de problemas por medio
de computadora.
Ciencia/tecnología