Escolar Documentos
Profissional Documentos
Cultura Documentos
Contenido
INTRODUCCION................................................................................................... 4
CAPITULO I.......................................................................................................... 5
CONCEPTOS BSICOS Y METODOLOGA PARA LA SOLUCIN DE PROBLEMS
POR MEDIO DE COMPUTADORAS.........................................................................5
1.1 Introduccin............................................................................................... 6
1.2 Definicin de Lenguaje.............................................................................. 9
1.3
Definicin de Algoritmo........................................................................10
1.6.3
1.6.4 Codificacin....................................................................................... 12
1.6.5 Prueba y Depuracin.........................................................................12
1.6.6 Documentacin................................................................................. 13
1.6.7 Mantenimiento.................................................................................. 14
CAPITULO II....................................................................................................... 15
ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS.....................15
2.1 Tipos De Datos......................................................................................... 15
2.2 Expresiones............................................................................................. 17
2.3 Operadores y Operandos.........................................................................17
2.4 Identificadores......................................................................................... 24
CAPITULO III...................................................................................................... 27
TCNICAS DE DISEO....................................................................................... 27
3.1 Top Down................................................................................................. 27
3.2 Bottom Up................................................................................................ 28
CAPITULO IV...................................................................................................... 28
TCNICAS PARA LA FRMULACIN DE ALGORITMOS........................................28
4.1 Diagrama de Flujo.................................................................................... 29
4.2 Pseudocdigo........................................................................................... 31
4.3 Diagrams estructurados (Nassi-Schneiderman).....................................31
CAPITULO V....................................................................................................... 33
ESTRUCTURAS ALGORITMICAS..........................................................................33
5.1. Estructuras Secuenciales........................................................................34
5.1.1 Problemas Secuenciales...................................................................35
5.1.2
INTRODUCCION
CAPITULO I.
CONCEPTOS
SOLUCIN
BSICOS
DE
METODOLOGA
PROBLEMS
POR
PARA
MEDIO
COMPUTADORAS.
1.1 Introduccin
-
LA
DE
OBJETIVO EDUCACIONAL:
El alumno:
Conocer la terminologa
1.1 Introduccin
Para
poder
realizar
programs,
adems
de
conocer
la
metodologa
Computadora:
Es
un
dispositivo
electrnico
utilizado
para
procesar
Unidad de control
Unidad Aritmtico - Lgica
Lenguajes de Programacin
Es un conjunto de smbolos, caracteres y reglas (programs) que les permiten a
las personas comunicarse con la computadora.
Los lenguajes de programacin tienen un conjunto de instrucciones que nos
permiten realizar operaciones de entrada/salida, calculo, manipulacin de
textos, lgica/comparacin y almacenamiento/recuperacin.
Lenguaje
Maquina:
Son
aquellos
cuyas
instrucciones
son
palabras.
Cuantitativos: Son aquellos en los que se utilizan clculos numricos
para definir los pasos del proceso.
Esta fase est dada por el enunciado del problema, el cul requiere una
definicin clara y precisa. Es importante que se conozca lo que se desea que
realice la computadora; mientras esto no se conozca del todo no tiene mucho
caso continuar con la siguiente etapa.
1.6.4 Codificacin
al
realizar una
1.6.6 Documentacin
proceso.
Documentacin Externa: Se define en un documento escrito los
siguientes puntos:
Descripcin del Problema
Nombre del Autor
Algoritmo (diagrama de flujo o pseudocdigo)
Diccionario de Datos
Cdigo Fuente (programa)
1.6.7 Mantenimiento
CAPITULO II.
ENTIDADES
PRIMITIVAS
PARA
EL
DESARROLLO
DE
ALGORITMOS
OBJETIVO EDUCACIONAL:
El alumno:
vlidas
para
la
computadora,
adems
de
diferenciar
constantes
Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple
carcter, tal como b, un valor entero tal como 35. El tipo de dato determina la
naturaleza del conjunto de valores que puede tomar una variable.
Datos Lgicos: Son aquellos que solo pueden tener dos valores (cierto
o falso) ya que representan el resultado de una comparacin entre otros
datos (numricos o alfanumricos).
Ejemplo:
2.2 Expresiones
Aritmticas
Relacinales
Lgicas
Operadores Aritmticos
Suma
Resta
Multiplicacin
Divisin
Mod
Modulo
Ejemplos:
Expresin
7/2
Resultado
= 3.5
12 mod 7
=5
4 +2*5
= 14
1.- ^ Exponenciacin
2.- *, /, mod Multiplicacin, divisin, mdulo.
3.- +, - Suma y resta.
Los operadores en una misma expresin con igual nivel de
prioridad se evalan de izquierda a derecha.
Ejemplos:
4 + 2 * 5 = 14
23 * 2 / 5 = 9.2
3 + 5 * (10 - (2 + 4)) = 23
+ 20 = 23
46 / 5 = 9.2
3 + 5 * (10 - 6) = 3 + 5 * 4 = 3
5.09
= 28.98
Operadores Relacinales:
operadores
relacinales
aritmticos.
Operadores Relacinales
>
Mayor que
<
Menor que
Igual
tiene
menor
prioridad
que
los
Ejemplos:
Si a = 10
a
a
a
a
b = 20
c = 30
+ b > c Falso
-b<c
Verdadero
-b=c
Falso
* b < > c Verdadero
Ejemplos no lgicos:
a<b<c
10 < 20 < 30
T < 30
(no es lgico porque tiene diferentes operandos)
Operadores Lgicos:
Operadores Lgicos
And
Or
Not
Negacin
Operador And
Operando1 Operador
T
Operando2 Resultado
AND
Operador Or
Operando1 Operador
T
Operando2 Resultado
OR
Operador Not
Operando Resultado
T
Ejemplos:
(a < b) and (b < c)
(10<20) and (20<30)
T
and
Ejemplos:
a = 10
b = 12
c = 13
d =10
2.4 Identificadores
Nombre
Num_hrs
Calif2
Constantes y Variables
Ejemplo:
pi = 3.1416
Ejemplo:
area = pi * radio ^ 2
Las variables son: el radio, el rea y la constate es pi
Por su Contenido
pi=3.1416
costo=2500
Variables Lgicas: Son aquellas que solo pueden tener dos valores
(cierto o falso) estos representan el resultado de una comparacin entre
otros datos.
Variables Alfanumricas: Esta formada por caracteres alfanumricos
(letras, nmeros y caracteres especiales). Ejemplo:
letra=a
apellido=lopez
Por su Uso
CAPITULO III.
TCNICAS DE DISEO
3.1 Top down
3.2 Bottom up
OBJETIVO EDUCACIONAL:
El alumno:
Simplificacin
del
problema
de
los
subprograms
de
cada
descomposicin.
- Las diferentes partes del problema pueden ser programadas de modo
independiente e incluso por diferentes personas.
3.2 Bottom Up
CAPITULO IV.
TCNICAS PARA LA FRMULACIN DE ALGORITMOS
OBJETIVO EDUCACIONAL:
El alumno:
SMBOLO
DESCRIPCIN
Indica el inicio y el final de nuestro
diagrama de flujo.
Indica la entrada y salida de datos.
decisin
indica
la
para
representar
los
subprograms.
Conector
Representa
dentro
la
de
pgina.
continuidad
del
4.2 Pseudocdigo
programacin.
Si se siguen las reglas se puede observar claramente los niveles que
tiene cada operacin.
CAPITULO V.
ESTRUCTURAS ALGORITMICAS
5.1 Secuenciales
- Asignacin
- Entrada
- Salida
5.2 Condicionales
- Simples
- Mltiples
5.3 Repeticin fila condicional
OBJETIVO EDUCACIONAL:
El alumno:
ESTRUCTURAS ALGORITMICAS
Leer a, b
Inicio
Leer cap_inv
gan = cap_inv * 0.02
Imprimir gan
Fin
4) Calcular el nmero de pulsaciones que una persona debe tener por cada 10
segundos de ejercicio, si la frmula es:
num. pulsaciones = (220 - edad)/10
5) Calcular el nuevo salario de un obrero si obtuvo un incremento del 25%
sobre su salario anterior.
rea
Ginecologa
Traumatologa
Pediatra
30%
30%
Obtener la cantidad de dinero que recibir cada rea, para cualquier monto
presupuestal.
7)
El dueo de una tienda compra un artculo a un precio determinado.
Obtener el precio en que lo debe vender para obtener una ganancia del 30%.
8)
Todos los lunes, mircoles 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.
9)
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.
10)
Un alumno desea saber cul ser su promedio general en las tres
materias ms difciles que cursa y cul ser el promedio que obtendr en cada
una de ellas. Estas materias se evalan como se muestra a continuacin:
Si <condicin> entonces
Accin(es)
Fin-si
Si <condicin> entonces
Accin(es)
si no
Accin(es)
Fin-si
Donde:
Si
Forma General
Casos Variable
Op1: Accin(es)
Op2: Accin(es)
.
.
OpN: accin
Fin-casos
si no
Imprimir alumno reprobado
Fin-si
Fin
Inicio
Leer ht
Si ht > 40 entonces
he = ht - 40
ss = he * 20 + 40 * 16
si no
ss = ht * 16
Fin-si
Imprimir ss
Fin
si no
prec_desc = prec_orig - prec_orig * 0.20
fin-si
Imprimir nomb, cve, prec_orig, prec_desc
fin
Inicio
Leer costopza, numpza
totcomp = costopza * numpza
Si totcomp > 500 000 entonces
3) Calcular el nmero de pulsaciones que debe tener una persona por cada 10
segundos de ejercicio aerbico; la frmula que se aplica cuando el sexo es
femenino es:
num. pulsaciones = (220 - edad)/10
y si el sexo es msculino:
8) Una persona desea iniciar un negocio, para lo cual piensa verificar cunto
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 pequeo. Si el monto de la hipoteca es menor que $1 000 000
entonces invertir el 50% de la inversin total y un socio invertir el otro 50%.
Si el monto de la hipoteca es de $ 1 000 000 o ms, entonces invertir el
monto total de la hipoteca y el resto del dinero que se necesite para cubrir la
inversin total se repartir a partes iguales entre el socio y el.
Tipo de rbol
70%
pino
20%
oyamel
10%
cedro
Tipo de rbol
50%
pino
30%
oyamel
20%
cedro
fin-si
fin-si
fin
Utilidad
Menos de 1 ao
5 % del salario
1 ao o ms y menos de 2 aos
7% del salario
10 aos o ms
Inicio
Leer sm, antig
Si antig < 1 entonces
util = sm * 0.05
si no
Si (antig > = 1) and (antig < 2) entonces
util = sm * 0.07
si no
Si (antig > = 2) and (antig < 5) entonces
util = sm * 0.10
si no
Si (antig > = 5) and (antig < 10) entonces
util = sm * 0.15
si no
util = sm * 0.20
fin-si
fin-si
fin-si
fin-si
Imprimir util
fin
d=tc*0.25
si no
si b$ = azul entonces
d=tc*0.50
si no
d=tc
fin-si
fin-si
fin-si
fin-si
fin
si no
si edad < 60 and ant > 25 entonces
imprimir la jubilacin es por antigedad joven
si no
imprimir no tiene por qu jubilarse
fin-si
fin-si
fin-si
fin
5) Una frutera ofrece las manzanas con descuento segn la siguiente tabla:
NUM. DE KILOS COMPRADOS
0
% DESCUENTO
- 2
0%
2.01 - 5
10%
5.01 - 10
15%
10.01 en adelante
20%
EDAD
NIVEL HEMOGLOBINA
0 - 1 mes
13
- 26 g%
10
- 18 g%
11
- 15 g%
11.5 - 15 g%
12.6 - 15.5 g%
13
12
- 15.5 g%
- 16 g%
14
- 18 g%
9) Que lea tres nmeros diferentes y determine el nmero medio del conjunto
de los tres nmeros (el nmero medio es aquel nmero que no es ni mayor, ni
menor).
5.3.1 Hacer-Para
Ciclos con un Nmero Determinado de Iteraciones.
Son aquellos en que el nmero de iteraciones se conoce antes de ejecutarse el
ciclo. La forma de esta estructura es la siguiente:
Donde:
V.C
L.I
Lmite inferir
L.S
Lmite superior
En este ciclo la variable de control toma el valor inicial del ciclo y el ciclo se
repite hasta que la variable de control llegue al lmite superior.
Fin.
Inicio
cn = 0
cp = 0
cneg = 0
Hacer para x = 1 a 20
Leer num
Sin num = 0 entonces
cn = cn + 1
si no
Si num > 0 entonces
cp = cp + 1
si no
cneg = cneg + 1
Fin-si
Fin-si
Fin-para
Imprimir cn, cp, cneg
Fin.
Fin.
EDAD
Nios
0 - 12
Jvenes
13 - 29
Adultos
30 - 59
Viejos
60 en adelante
4) El Depto. de Seguridad Publica y Transito del D.F. desea saber, de los n autos
que entran a la ciudad de Mxico, cuantos entran con calcomana de cada
color. Conociendo el ultimo dgito de la placa de cada automvil se puede
determinar el color de la calcomana utilizando la sig. relacin:
DGITO
COLOR
1o2
amarilla
3o4
rosa
5o6
roja
7o8
verde
9o0
azul
10) En un supermercado un cajero captura los precios de los artculos que los
clientes compran e indica a cada cliente cul es el monto de lo que deben
pagar. Al final del da le indica a su supervisor cuanto fue lo que cobro en total
a todos los clientes que pasaron por su caja.
11) Cinco miembros de un club contra la obesidad desean saber cunto han
bajado o subido de peso desde la ltima vez que se reunieron. Para esto se
debe realizar un ritual de pesaje en donde cada uno se pesa en diez bsculas
distintas para as tener el promedio ms exacto de su peso. Si existe diferencia
positiva entre este promedio de peso y el peso de la ltima vez que se
reunieron, significa que subieron de peso. Pero si la diferencia es negativa,
significa que bajaron. Lo que el problema requiere es que por cada persona se
imprima un letrero que diga: SUBIO o BAJO y la cantidad de kilos que subi
o bajo de peso.
5.3.3 Repetir-Hasta
Esta es una estructura similar en algunas caractersticas, a la anterior. Repite
un proceso una cantidad de veces, pero a diferencia del Hacer-Mientras, el
Repetir-Hasta lo hace hasta que la condicin se cumple y no mientras, como en
el Hacer-Mientras. Por otra parte, esta estructura permite realizar el proceso
cuando menos una vez, ya que la condicin se evala al final del proceso,
mientras que en el Hacer-Mientras puede ser que nunca llegue a entrar si la
condicin no se cumple desde un principio. La forma de esta estructura es la
siguiente:
categoras. Tomar en cuenta que los nios menores de 5 aos no pueden entrar
al teatro y que existe un precio nico en los asientos. Los descuentos se hacen
tomando en cuenta el siguiente cuadro:
Edad
Descuento
Categora 1
5 - 14
35 %
Categora 2
15 - 19
25 %
Categora 3
20 - 45
10 %
Categora 4
46 - 65
25 %
Categora 5
66 en adelante
35 %
1) Suponga que tiene una tienda y desea registrar sus ventas por medio de una
computadora. Disee un pseudocdigo que lea por cada cliente:
a) El monto de la venta,
b) Calcule e imprima el IVA ,
c) Calcule e imprima el total a pagar,
d) Lea la cantidad con que paga el cliente,
e) Calcule e imprime el cambio.
Al final del da deber imprimir la cantidad de dinero que debe haber en la caja.
Nmero de censo,
Sexo
Edad
Estado civil (a.- soltero, b. Casado, c. Viudo, d. Divorciado)
a los
VI ARREGLOS
Un arreglo (array) es una coleccin de datos del mismo tipo, que se almacenan
en posiciones consecutivas de memoria y reciben un nombre comn. Para
referirse a un determinado elemento de un array se deber utilizar un ndice,
que especifique su posicin relativa en el array. Un arreglo es una coleccin
finita, homognea y ordenada de elementos. Finita: Todo arreglo tiene un
lmite; es decir, debe determinarse cul ser el nmero mximo de elementos
que podrn formar parte del arreglo. Homognea: Todos los elementos del
arreglo deben ser del mismo tipo. Ordenada: Se puede determinar cul es el
primer elemento, el segundo, el tercero,.... y el n-simo elemento.Los arreglos
se clasifican de acuerdo con el nmero de dimensiones que tienen. As se
tienen los:
- Unidimensionales (vectores)
- Bidimensionales (tablas o matrices)
- Multidimensionales (tres o ms dimensiones)
PROBLEMA.
Suponga que se desea desarrollar un programa para:
1. Leer una lista de calificaciones de un examen
2.Encontrar su media
3.Escribir una lista de las calificaciones mayores que la media
4.Ordenar la lista de las calificaciones en orden ascendente.
Supongamos tambin que hay 100 calificaciones. Debemos utilizar 100
variables diferentes nota1, nota2, ...., nota100, de ese modo son 100
direcciones diferentes de memoria para almacenar las calificaciones del
examen. Se imagina declarar las 100 variables, cuntas instrucciones
involucra?
nota1, nota2, nota3,.........nota100
(En la declaracin real de un programa no pueden usarse puntos suspensivos,
por lo tanto sern 100 veces). En la fase de lectura de datos, sern tambin
100 veces las instrucciones para ir leyendo cada valor. Leer (nota1, nota2,
nota3,........., nota100)
Para calcular la media:
Media = (nota1+nota2+.......+nota100)/100
Para la lista de calificaciones mayores que la media, deber tambin irse
comparando una por una:
nombres [60]
Para acceder a valores especficos del arreglo, use un valor de ndice que
apunte al elemento deseado. Por ejemplo, para acceder al primer elemento del
arreglo calificaciones debe utilizar el valor de ndice 0 (calificaciones[0]). Los
programas en C++ siempre indizan el primer elemento de un arreglo con 0 y el
ltimo con un valor menor en una unidad al tamao del arreglo.
Para inicializar todos los elementos de una vez, se colocan dentro de una
estructura for que va del primer elemento al ltimo que contiene el arreglo.
Para asignar un valor a un elemento del arreglo se hace por ejemplo:
Calificaciones[0] = 100
Cuando se usan arreglos, una operacin comn es usar una variable ndice
para acceder a los elementos de un arreglo. Suponiendo que la variable ndice i
contiene el valor 3, la siguiente instruccin asigna el valor 400 a valores[3]:
valores[i] = 400
Partes de un arreglo:
Los componentes. Hacen referencia a los elementos que forman el arreglo, es
decir, a los valores que se almacenan en cada una de las casillas del mismo.
Los ndices. Permiten hacer referencia a los componentes del arreglo en forma
individual, especifican cuntos elementos tendr el arreglo y adems, de qu
modo podrn accesarse esos componentes.
Definicin de Arreglos
identArreglo [Limsup];
Operaciones con Vectores:
Las operaciones que se pueden realizar con vectores durante el proceso de
resolucin de un problema son:
Lectura/ escritura
Asignacin
Actualizacin (insercin, eliminacin, modificacin)
Recorrido (acceso secuencial)
Ordenacin
Bsqueda
Ejemplos:
Sea arre un arreglo de 70 elementos enteros con ndices enteros. Su
representacin nos queda:
Arre[70];
Lectura
El proceso de lectura de un arreglo consiste en leer y asignar un valor a cada
uno de sus elementos. Normalmente se realizan con estructuras repetitivas,
aunque pueden usarse estructuras selectivas. Usamos los ndices para recorrer
los elementos del arreglo:
Hacer para i = 1 a 70
Leer arre[i]
Fin-para
Escritura
Es similar al caso de lectura, slo que en vez de leer el componente del arreglo,
lo escribimos.
Leer (N)
Hacer para i = 1 a n
Imprimir arre[i]
Fin-para
Asignacin
No es posible asignar directamente un valor a todo el arreglo; sino que se debe
asignar el valor deseado en cada componente. Con una estructura repetitiva se
puede asignar un valor a todos los elementos del vector.
Por ejemplo:
arre[1] = 120 (asignacin de un valor constante nico a una casilla del vector)
arre[3] = arre[1] / 4 (asignar una operacin)
Se puede asignar un valor constante a todos los elementos del vector:
Hacer para i = 1 a 5
arre[i] = 3
Fin-para
nmero de datos mayores que el promedio y una lista de valores mayores que
el promedio.
11) Capturar 4 sueldos y desplegarlos aumentados en un 25%
12) Llenar dos vectores A y B de 45 elementos cada uno, sumar el elemento
uno del vector A con el elemento uno del vector B y as sucesivamente hasta
45, almacenar el resultado en un vector C, e imprimir el vector resultante.
13) Las claves de respuesta de 5 preguntas estn guardadas en un arreglo :
res[0]="A";
res[1]="C";
res[2]="A";
res[3]="B";
res[4]="A";
y las respuestas del usuario deben almacenaren en otro arreglo, indicar
cuantos respuestas fueron contestadas correctamente, incorrectamente e
indicar si pas la prueba donde 3 es la cantidad de preguntas mnimas que
debe contestar bien para pasar la prueba.
14) Llenar un vector de 20 elementos, imprimir la posicin y el valor del
elemento mayor almacenado en el vector. Suponga que todos los elementos
del vector son diferentes.
15) Almacenar 500 nmeros en un vector, elevar al cuadrado cada valor
almacenado en el vector, almacenar el resultado en otro vector. Imprimir el
vector original y el vector resultante.
16) Almacenar 300 nmeros en un vector, imprimir cuantos son ceros, cuantos
son negativos, cuantos positivos. Imprimir adems la suma de los negativos y
la suma de los positivos.
17) Almacenar 150 nmeros en un vector, almacenarlos en otro vector en
orden inverso al vector original e imprimir el vector resultante.
18) Se tienen almacenados en la memoria dos vectores M y N de cien
elementos cada uno. Hacer un algoritmo que escriba la palabra Iguales si
ambos vectores son iguales y Diferentes si no lo son.
Sern iguales cuando en la misma posicin de ambos vectores se tenga el
mismo valor para todos los elementos.
Algoritmo
Inicio
Matriz [4,4]
Hacer para i = 0 a 3
Hacer para j = 0 a 3
Si i=j entonces
Matriz[i,j] =1
Si-no
Matriz[i,j] =0
Fin-si
Fin-para
Fin-para
Fin
6.2.1 PROBLEMAS PROPUESTOS
1. Hacer un algoritmo que almacene nmeros en una matriz de 5 * 6.
Imprimir la suma de los nmeros almacenados en la matriz.
2. Hacer un algoritmo que llene una matriz de 10 * 10 y determine la
posicin [rengln, columna] del nmero mayor almacenado en la matriz.
Los nmeros son diferentes.
3. Hacer un algoritmo que llene una matriz de 7 * 7. Calcular la suma de
cada rengln y almacenarla en un vector, la suma de cada columna y
almacenarla en otro vector.
4. Hacer un algoritmo que llene una matriz de 20 * 20. Sumar las columnas
e imprimir que columna tuvo la mxima suma y la suma de esa
columna.
5. Hacer un algoritmo que llene una matriz de 5 * 5 y que almacene la
diagonal principal en un vector. Imprimir el vector resultante.
6. Hacer un algoritmo que llene una matriz de 10 * 10 y que almacene en
la diagonal principal unos y en las dems posiciones ceros.
7. Hacer un algoritmo que llene una matriz de 6 * 8 y que almacene toda la
matriz en un vector. Imprimir el vector resultante.
Velocidad
Velocidad
Multa
El (o los) numero (s) de control de lo(s) alumno(s) que haya (n) obtenido
la mxima calificacin final
VII FUNCIONES
Habamos visto la programacin estructurada que permite la escritura de
programas fciles de leer y modificar. En esta programacin, el flujo lgico se
gobierna por las estructuras de control bsicas vista hasta hoy: secuenciales,
repetitivas y de seleccin. La programacin modular permite la descomposicin
de un problema en un conjunto de subproblemas independientes entre s, ms
sencillos de resolver y que pueden ser tratados separadamente unos de otros.
Gracias a la modularidad se pueden probar los subprogramas o mdulos de
manera independiente, depurndose sus errores antes de su inclusin en el
programa principal y almacenarse para su posterior utilizacin cuantas veces
se precise.
7.1 Mdulo
Uno de los elementos principales de programacin utilizados en la
representacin de cada mdulo es la subrutina. Una subrutina es un conjunto
de instrucciones de cmputo que realizan una tarea. Un programa principal
llama a estos mdulos a medida que se necesitan. Un mdulo es un segmento,
rutina, subrutina, sub-algoritmo o procedimiento, que puede definirse dentro
de un algoritmo con el fin de ejecutar una tarea especfica y puede ser llamada
o invocada desde el algoritmo principal cuando sea necesario. os mdulos son
independientes en el sentido de que ningn mdulo puede tener acceso directo
a cualquier otro mdulo, con excepcin del mdulo al que llama y sus propios
submdulos. Sin embargo, los resultados producidos por un mdulo pueden ser
utilizados por cualquier otro mdulo cuando se transfiera a ellos el control. Los
mdulos tienen una entrada y una salida. Se pueden tomar decisiones dentro
de un mdulo que tenga repercusin en todo el flujo, pero el salto debe ser
nicamente hacia el programa principal. Al descomponer un programa en
mdulos independientes ms simples se conoce tambin como el mtodo de
"Divide
y
vencers".
Cundo
es
til
la
modularizacin?
Este enfoque de segmentacin o modularizacin es til en dos casos:
1. Cuando existe un grupo de instrucciones o una tarea especfica que deba
ejecutarse
en
ms
de
una
ocasin.
2. Cuando un problema es complejo o extenso, la solucin se divide o
segmenta en mdulos que ejecutan partes o tareas especficas.
Funciones en C, C++
Subrutinas en Basic
Procedimientos y funciones en Pascal
Subrutinas en Fortran y
Secciones en Cobol.
Parmetros Formales
Ejemplos:
Modulo Cambiar()
Inicio
x <-1;
Fin
7.1.4 PARMETROS
Un parmetro es un tipo de variable que es recibida por una funcin,
procedimiento o subrutina.
7.1.4.1 Parmetro Por valor
Significa que la funcin (o subrutina) recibe slo una copia del valor que tiene
la variable, o sea que no la puede modificar.
Ejemplo:
Inicio
Entero x <- 0;
Cambiar(x);
Escribir(X);
Fin
Salida 0
7.1.4.2 Parmetro Por referencia
Significa que se pasa la posicin de memoria donde esta guardada la variable,
por lo que la funcin puede saber cunto vale, pero adems puede modificarla
de cualquier manera.G
Ejemplo:
Algoritmo parmetro referencia.
Inicio
Entero x <-0;
Cambiar (x);
Escribir (x);
Fin
Salida: x =1
7.1.5 FUNCIONES
Fin-funcion
Evaluar la funcin f = x! / (y!(x-y)!)
Algoritmo hallar f
Inicio
Entero x,y;
Real f;
Leer x,y;
f <-- factorial (x)/(factorial (y)* factorial (x-y));
Escribir "El valor de f es:", f;
Fin
7.1.6 PROBLEMAS PROPUESTOS
1) Realizar una calculadora.
2) Solicitar 2 nmeros hallar la sumatoria de los nmero primos de cada uno de
ellos y finalmente multiplicar las dos sumatorias y el resultado elevarlo al
cuadrado.