Anda di halaman 1dari 12

Algoritmia - programacin

Taller de Gua F08-6060-002 GUIA DE APRENDIZAJE 2


(1196553) - 14-08-2016) Algoritmia

Actividad
1. Realizar 5 ejercicios donde se evidencie:
a. Manejo de mientras b. Repetir
hasta que c. Para
d. Si (simple y anidado)
e. Segn (caso)
2. Investigar sobre parmetros de referencia y de valor.
3. Investigar sobre el concepto de subprograma o funcin.
4. Realizar un ejemplo manejando el tem 4 y 5.
5. Analizar los siguientes ejercicios, pasarlos a LPP y modificarlos segn su creatividad:

Victor Rincn

Pgina 2

Algoritmia - programacin

c. Ventas, analizar

Ejercicio Programa Ventas de Almacen

Victor Rincn

Pgina 3

Algoritmia - programacin

d. Jugadores

EJERCICIO PROGRAMA PERMUTACIONES EQUIPO DE FUTBOL


Encontrar el nmero de posibilidades que se puede alinear un equipo de futbol
con 23 jugadores en 11 posiciones diferentes (permutacin sin repeticin en
que el orden importa) UN EQUIPO OFICAL. Y luego proponer la solucin del
nmero de posibilidades para la misma situacin en los lo que el orden no
importa (UN PICADO de futbol).
ANALISIS
Se toma como base 23 jugadores(n)
de los cuales pueden jugar 11(r)
jugadores en el primer caso se escoge el primero por lo tanto hay ( n=23)
opciones, luego se escoge el segundo jugador aqu ya se tiene 22 opciones(
n-1), luego el tercero se tiene
(n-2) opciones as sucesivamente
hasta
escoger 11 de los 23 en el paso 11(r) =(n-r+1) .
La solucin es la multiplicacin de todas las posibilidades
Aqu los tendramos en orden
Victor Rincn

Pgina 4

Algoritmia - programacin

SOLUCIN
1) Establecemos el subproceso Ingreso con todas sus variables:
Ingreso (equipo Por Referencia, alineacion Por Referencia)
Para establecer el nmero de jugadores del equipo(n=equipo), en este caso
del equipo de futbol 23=n y los que pueden estar jugando en la cancha
11(r.=alineacin)
2) Establecemos el subproceso

equipo_oficial con todas las variables

Equipo_oficial(equipo, alineacin, pot, ordenados);


En donde debemos tener en cuenta el orden de escogencia entonces

n=23 sera el arquero


n=22 el primer defensa central
n=21 el otro central
n=20 el defensa lateral y asi sucesivamente hasta que
n =12 el delantero de rea.
Debemos definir todas las variables e inicializarlas
El proceso matemtico es:
pot= nx (n-1)x(n-2)xx(n-r+1)
con el siguiente cdigo:
Para I <- equipo Hasta alineacion+1 Con Paso -1 Hacer pot <- pot * (i);
FinPara
3) Establecemos el proceso principal e invocamos todos los subprocesos como:
Victor Rincn
Pgina 5

Algoritmia - programacin

Ingreso (equipo Por Referencia, alineacion Por Referencia);


equipo_oficial(equipo, alineacion, pot, ordenados);
Quitamos la posibilidades que nos da el ordenar los jugadores en sus
posiciones dividiendo el ltimo pot <- pot * (i)= ordenados por:
11! =11x10xx1
Con el siguiente cdigo:
Para I <- 1 Hasta alineacion Con Paso 1 Hacer factorial <-factorial * (i);
FinPara
Luego se escriben los resultados. Codigo en LPP del Proceso principal

Victor Rincn

Pgina 6

Algoritmia - programacin

Matemticamente se comprueba con la siguiente frmula:

Victor Rincn

Pgina 7

Algoritmia - programacin

e. EJERCICIO PROGRAMA SOLICITUD DE DATOS


Pedir_datos subproceso o funcin

F. De cuantas maneras se pueden escoger 3 de 16 bolas de billar sin


repeticin con orden y sin orden.
g. Realizar un programa de las operaciones bsicas (+,-,/.*) mediante
subprocesos o funciones.
h. Pasar los pseudocdigos que manejan parmetros y subprogramas y
modificarlos de acuerdo a su creatividad.

Sub-programas o funciones
Una funcin o subprograma es un bloque de cdigo con un determinado fin o
propsito, permitiendo reducir lneas de cdigo en programas extensos y
redundancia de cdigo, obteniendo modularidad y usabilidad.
En Pseint se maneja de la siguiente estructura:
Funcion
Terminan con
FinFuncion.

SubProceso
Terminan con
FinSubProceso
Victor Rincn

Pgina 8

Algoritmia - programacin

Se declaran afuera del proceso principal para ser llamados o invocados en


ste, tambin opcionalmente pueden retornar un valor o recibir cierta cantidad
de argumentos (parmetros).

El programa principal se llama sin parmetros ni retorno

Llama al subprograma exito()


Imprime el contenido y luego finaliza el proceso.

En la lnea 1 se define funcin llamada exito, cuyo objetivo es imprimir en


pantalla el mensaje Les deseo lo mejor para el ao 2015 a nivel personal y
profesional (lnea 2). Se encuentra declarada fuera del proceso principal,
para ser llamada para ejecutarse en la lnea 6. Esta funcin no tiene
argumentos, porque no hay nada dentro de los parntesis y no devuelve un
valor.

Programa principal sin parmetros con retorno


Se crea una funcin llamada sumar, que suma dos nmeros y el resultado se
le asigna a la variable result. sta entonces contendr un valor y lo va a
retornar. En la lnea 12 se le hace el llamado a la funcin e imprime un
mensaje para visualizar el resultado. La salida que imprime es: "La suma de
los dos nmeros es: 30.

Victor Rincn

Pgina 9

Algoritmia - programacin

Con parmetros con retorno


La funcin sumar recibe dos parmetros, en este caso dos nmeros que se
van a sumar y guardar el resultado en la variable result. En la lnea 8 se le
hace el llamado a la funcin con dos valores (3 y 2). Finalmente la salida La
suma de los dos nmeros es: 5 .

Parmetro por valor


En la lnea 1 se declara la funcin llamada parvalor,
recibe un argumento.
Esta funcin suma 2 al valor que reciba en el argumento (lnea 3) e imprime
(lnea 4).
En el proceso principal se est declarando una variable llamada num2,
inicializada en 13. En la lnea 11 se llama o se invoca a la funcin parvalor y le
pasa como parmetro la variable num2. La lnea 12 imprime el valor
de num2.

Victor Rincn

Pgina 10

Algoritmia - programacin

Cuando ejecutamos el programa, la salida que produce es:

16
El valor de num2 es: 13
El primer valor 16, se le est pasando una variable con valor 13:
suma=13+3
e
imprime
16.
En la otra salida ("El valor de num2 es: 13"), se est imprimiendo el
valor de num2 para observar que conserva el mismo valor a pesar de
que la funcion parvalor haya modificado a 16,
Las funciones que reciben argumentos o parmetros por valor, los
cambios que ocurren dentro de ella no afectan al resto del programa. La
variable num2 le est pasando una copia de su valor a la variable
num, para que num2 no se vea afectada en las operaciones que se
hagan con num, de manera que num2 siempre conservar su valor
original.

Parmetros por referencia


La salida
16
El valor de num2 es: 16
El

primer

valor

16:

num=13+3

imprime

16.

En la otra salida ("El valor de num2 es: 16"), se est imprimiendo el


valor de num2 para poder observar que el valor ya no es el mismo
porque la funcin paref lo ha modificado a 16.
Victor Rincn

Pgina 11

Algoritmia - programacin

Las funciones que reciben argumentos por referencia los cambios que
ocurren dentro de ella afectan al resto del programa. De manera que
num2 pierde su valor original.

EJERCICIO POTENCIACIN
Es una operacin matemtica en donde se maneja un nmero llamado base,
que esta elevado a una determinada cantidad llamada exponente, ejemplo:
5^2
Es decir que el nmero base se multiplica las veces que el exponente indique:
5x5=25, sera 5 la base, 2 el exponente y 25 la potencia
1. El contenedor es el programa principal, es decir donde se administra el
programa con sus respectivos procesos o funciones.
Principal
Se define las tres variables de tipo entero
Hace el llamado al subproceso o funcin
base, expo)

Ingreso enviando dos parmetros(

Ingreso
Recibe los dos parmetros base, expo
Solicita la base y el exponente
Vuelve al programa principal
Hace el llamado al subproceso o funcin potencia enviando tres parmetros
(base, expo, pot);
Potencia
Recibe los parmetros base, expo, pot
Realiza el respectivo clculo
Y finalmente vuelve al programa principal
potencia.
Victor Rincn

imprimiendo el resultado de la
Pgina 12

Algoritmia - programacin

Codigo en PSeInt

ACA LES DEJO UNAS DE LAS FRASES MS UTILIZADOS POR LOS PROGRAMADORES:
20. Pues es raro
19. Nunca haba pasado antes.
18. Pues ayer funcionaba
17. Cmo es posible?
16. Tiene que ser un problema de tu hardware.
15. Qu hiciste mal para lograr que fallara?
14. Algo debe de estar mal en tus datos.
13. Si no he tocado ese mdulo en meses!
12. Debes de estar usando una versin anterior.
11. Es slo una desafortunada coincidencia.
10. Es que no lo puedo probar todo!
9. ESTO, no puede ser la causa de ESO.
8. Funciona, pero no lo he probado.
7. Alguien debe de haber cambiado mi cdigo!
6. Has comprobado que no haya algn virus en tu sistema?
5. Ya se que no funciona, pero te gusta?
4. No puedes utilizar esa versin en tu sistema
3. Por qu quieres hacer eso?
2. Y t dnde estabas cuando se colg el programa?
Y la respuesta nmero uno de los programadores con programas que no funcionan es:
1. EN MI MQUINA SI FUNCIONA!
Victor Rincn

Pgina 13