Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
'
<
0 x x
0 x x
) x ( abs
Programacin de la Voyage 200 pag. 11 M. en C. Jos Luis Hernndez Gonzlez
Instituto Tecnolgico de Apizaco Departamento de Ciencias Bsicas
SUBPROGRAMAS
Un programa puede llamar a otro como un subprograma que pueden ser:
Externos
Programas separados en diferentes archivos. Se crea un programa llamado producto,
Se llama en otro programa con ese nombre y los parmetros especificados.
Se ejecuta el programa que hace uso del subprograma externo.
Internos
Se define un programa, dentro de otro mediante la palabra Define nombre()=prgm, se termina con
la palabra EndPrgm. A continuacin de definen o ms programas o el programa principal.
Programacin de la Voyage 200 pag. 12 M. en C. Jos Luis Hernndez Gonzlez
Instituto Tecnolgico de Apizaco Departamento de Ciencias Bsicas
El siguiente programa calcula la media de un conjunto de datos por medio de un subprograma
interno.
media()
Prgm
Local calcula
Define calcula()=Prgm
0suma
Prompt n
For i,1,n
Input "De x"&string(i),temp
suma+tempsuma
EndFor
suma/npromedio
Disp "prom = "&string(promedio)
EndPrgm
calcula()
EndPrgm
CAJAS DE DILOGOS
El resultado es.
Request lee una cadena y una variable.
Programacin de la Voyage 200 pag. 13 M. en C. Jos Luis Hernndez Gonzlez
Instituto Tecnolgico de Apizaco Departamento de Ciencias Bsicas
El resultado es:
El valor de la variable con request es una cadena por lo que si queremos usarla es necesario
convertirla a una expresin con expr(cadena)
MATRICES
Una matriz es una arreglo de elementos del mismo tipo en filas y columnas.
1
]
1
4 3
2 1
Las operaciones con matrices son:
Suma
Resta
Multiplicacin
Ejemplo: Lea una matriz y mustrela en la pantalla, en este caso se presentan el programa para una
matriz cuadrada de nxn
El resultado es.
Programacin de la Voyage 200 pag. 14 M. en C. Jos Luis Hernndez Gonzlez
cadena
expresin
Instituto Tecnolgico de Apizaco Departamento de Ciencias Bsicas
Ejemplo: Realizar un programa que sume dos matrices.
Nota
Se muestra el programa usando la forma tradicional de la lectura de cada uno de los elementos de la
matriz, as como la operacin de la suma, pero no es necesario ya que las matrices se pueden leer
directamente.
sumamat()
Prgm
Define lee()=Prgm
Prompt m,n
newMat(m,n)matriz
For i,1,m
For j,1,n
Input temp
tempmatriz[i,j]
EndFor
EndFor
Disp matriz
EndPrgm
Define sumamatr(a,b)=Prgm
dim(a)size
newMat(size[1],size[2])c
For i,1,m
For j,1,n
a[i,j]+b[i,j]c[i,j]
EndFor
EndFor
EndPrgm
lee():matriza
lee():matrizb
sumamatr(a,b)
Disp c
EndPrgm
El programa anterior puede simplificarse as:
Programacin de la Voyage 200 pag. 15 M. en C. Jos Luis Hernndez Gonzlez
Instituto Tecnolgico de Apizaco Departamento de Ciencias Bsicas
Escribir las dos matrices como en home.
La suma es
MENUS
menus()
Prgm
Calcula el rea de diferentes figuras geomtricas por medio de un men de cascada
{"Cuadrado","Crculo","Tringulo rectngulo","Rectngulo","Salir"}menu
Local opcion,base,altura,radio
ClrIO
Loop
ClrHome
PopUp menu,opcion
If opcion=1 Then
Prompt altura
Disp "El rea es ",altura^2
Pause
ElseIf opcion=2 Then
Prompt radio
Disp "El rea es ",*radio^2
Pause
ElseIf opcion=3 Then
Prompt base,altura
Disp "El rea es ",base*altura/2
Pause
Programacin de la Voyage 200 pag. 16 M. en C. Jos Luis Hernndez Gonzlez
Instituto Tecnolgico de Apizaco Departamento de Ciencias Bsicas
ElseIf opcion=4 Then
Prompt base,altura
Disp "El rea es ",base*altura
Pause
ElseIf opcion=5 Then
Exit
EndIf
EndLoop
EndPrgm
Menus en cascada
opmult()
Prgm
Calcula el rea de diferentes figuras geomtricas por medio de un men de cascada
{"Cuadrado","Crculo","Tringulo rectngulo","Rectngulo","Salir"}menu
Local opcion,base,altura,radio
ClrIO
Loop
ClrHome
Dialog
Title "Calcular el rea de:"
DropDown "Seleccione",menu,opcion
EndDlog
If opcion=1 Then
Prompt altura
Disp "El rea es ",altura^2
Pause
ElseIf opcion=2 Then
Prompt radio
Disp "El rea es ",*radio^2
Pause
ElseIf opcion=3 Then
Prompt base,altura
Disp "El rea es ",base*altura/2
Pause
ElseIf opcion=4 Then
Prompt base,altura
Programacin de la Voyage 200 pag. 17 M. en C. Jos Luis Hernndez Gonzlez
Instituto Tecnolgico de Apizaco Departamento de Ciencias Bsicas
Disp "El rea es ",base*altura
Pause
ElseIf opcion=5 Then
Exit
EndIf
EndLoop
Disp "Fin de programa"
EndPrgm
mcascada()
Prgm
Figuras geomtricas
Local cuadrado,circulo,triangul,rectangu
Local cubo,esfera,piramide,prisma
Define cuadrado()=Prgm
Prompt lado
Disp "El rea es: "&string(lado^2)
Pause
EndPrgm
Define circulo()=Prgm
Prompt radio
Disp "el rea es: "&string(*radio^2)
Pause
EndPrgm
Define triangul()=Prgm
Prompt base,altura
Disp "El rea es: "&string(base*altura/2)
Pause
EndPrgm
Define rectangu()=Prgm
Prompt base,altura
Disp "El rea es : "&string(base*altura)
Pause
EndPrgm
Define cubo()=Prgm
Prompt lado
Disp "El volumen es: "&string(lado^3)
Pause
EndPrgm
Programacin de la Voyage 200 pag. 18 M. en C. Jos Luis Hernndez Gonzlez
Instituto Tecnolgico de Apizaco Departamento de Ciencias Bsicas
Define esfera()=Prgm
Prompt radio
Disp "el volumen es: "&string(4*radio^3/3)
Pause
EndPrgm
Define piramide()=Prgm
Prompt lado,ancho,altura
Disp "El volumen es : "&string(lado*ancho*altura/3)
Pause
EndPrgm
Define prisma()=Prgm
Prompt lado,ancho,altura
Disp "El volumen es: "&string(lado*ancho*altura)
Pause
EndPrgm
Lbl inicio
Toolbar
Title "rea"
Item "Cuadrado",op1
Item "Crculo",op2
Item "Tringulo",op3
Item "Rectngulo",op4
Title "volumen"
Item "Cubo",op5
Item "Esfera",op6
Item "Pirmide",op7
Item "Prisma",op8
Item "salir",salir
EndTBar
Lbl op1:cuadrado()
Goto inicio
Lbl op2:circulo()
Goto inicio
Lbl op3:triangul()
Goto inicio
Lbl op4:rectangu()
Goto inicio
Lbl op5:cubo()
Goto inicio
Lbl op6:esfera()
Goto inicio
Lbl op7:piramide()
Goto inicio
Lbl op8:prisma()
Goto inicio
Lbl salir
Programacin de la Voyage 200 pag. 19 M. en C. Jos Luis Hernndez Gonzlez
Instituto Tecnolgico de Apizaco Departamento de Ciencias Bsicas
EndPrgm
Programacin de la Voyage 200 pag. 20 M. en C. Jos Luis Hernndez Gonzlez