Sie sind auf Seite 1von 6

FUNCIONES CON PARAMETROS Utilizando funciones con parmetros, desarrollar los siguientes programas: 1.

Escribir un programa que copie los elementos de los bordes en sentido horario en una matriz de m x n en un vector resultante llamado v.

Imports System.console Module Module1 Sub ingresa(ByRef mat(,) As Integer, ByRef f As Integer, ByRef c As Integer) Dim i, j As Integer Write("Numero de filas (max 8) : ") f = ReadLine() Write("Numero de columnas (max 8) : ") c = ReadLine() For i = 0 To f - 1 For j = 0 To c - 1 Write("Ingrese elemento {0},{1} : ", i, j) mat(i, j) = ReadLine() Next Next End Sub Sub muestramat(ByVal mat(,) As Integer, ByVal f As Integer, ByVal c As Integer) Dim i, j As Integer For i = 0 To f - 1 For j = 0 To c - 1 Write(mat(i, j).ToString("00") & " ") Next WriteLine() Next End Sub Sub pasavector(ByVal mat(,) As Integer, ByVal f As Integer, ByVal c As Integer, ByRef vec() As Integer, ByRef n As Integer) Dim i, j As Integer n = 0 For i = 0 To c - 1 vec(n) = mat(0, i) n += 1 Next For i = 1 To f - 1 vec(n) = mat(i, c - 1) n += 1 Next For i = c - 2 To 0 Step -1 vec(n) = mat(f - 1, i) n += 1 Next For i = f - 2 To 1 Step -1 vec(n) = mat(i, 0) n += 1

Next End Sub Sub muestravector(ByVal vec() As Integer, ByVal n As Integer) Dim i As Integer For i = 0 To n - 1 Write(vec(i).ToString("00") & " ") Next End Sub Sub Main() Dim mat(10, 10), vec(40) As Integer Dim f, c, n As Integer ingresa(mat, f, c) Clear() WriteLine("La matriz es ") muestramat(mat, f, c) WriteLine() WriteLine() pasavector(mat, f, c, vec, n) WriteLine("El vector es ") muestravector(vec, n) ReadLine() End Sub End Module

2. Escribir un programa que sume e imprima cada elemento en una matriz de m x n, que forme en ella la letra N (como en el bingo).
Imports System.console Module Module1 Sub ingresa(ByRef mat(,) As Integer, ByRef f As Integer, ByRef c As Integer) Dim i, j As Integer Write("Numero de filas (max 8) : ") f = ReadLine() Write("Numero de columnas (max 8) : ") c = ReadLine() For i = 0 To f - 1 For j = 0 To c - 1 Write("Ingrese elemento {0},{1} : ", i, j) mat(i, j) = ReadLine() Next Next End Sub Sub muestramat(ByVal mat(,) As Integer, ByVal f As Integer, ByVal c As Integer) Dim i, j As Integer For i = 0 To f - 1 For j = 0 To c - 1 Write(mat(i, j).ToString("00") & " ") Next WriteLine()

Next End Sub Sub muestramat2(ByVal mat(,) As Integer, ByVal f As Integer, ByVal c As Integer) Dim i, j As Integer For i = 0 To f - 1 For j = 0 To c - 1 If j = 0 Or j = c - 1 Or i = j Then Write(mat(i, j).ToString("00") & " ") Else Write(" ") End If Next WriteLine() Next End Sub Sub Main() Dim mat(10, 10), vec(40) As Integer Dim f, c, n As Integer ingresa(mat, f, c) Clear() WriteLine("La matriz es ") WriteLine() muestramat(mat, f, c) WriteLine() WriteLine() WriteLine("Elementos solo de N son") WriteLine() muestramat2(mat, f, c) ReadLine() End Sub End Module

3. Algoritmo que dados tres nmeros los muestre ordenados de mayor a menor 4. Dado un vector no ordenado de nmeros y un nmero leido por teclado: a. Disear una solucin que busque en la lista el nmero leido. Si lo encuentra, debe informar de su posicin en la lista y las veces que se repite, sino debe devolver un mensaj de no haber coincidencia del nmero. b. Disear una solucin que busque el nmero mayor y devuelva cuantas veces aparece. c. Disear una solucin que calcule la media entre el mayor y el menor. 5. Disear un algoritmo que cuente el nmero de palabras de un texto y el tamao de la palabra ms grande. Una palabra puede venir separada de otra nicamente por un espacio. 6. En la asignatura de Matemticas hay 10 alumnos matriculados, pero acaba de llegar un alumno de intercambio que se incorporar a las clases en breve. El listado de alumnos se encuentra ordenado alfabticamente por apellido. Ahora hay que incluir al nuevo alumno en la lista de clase.

7. Dado un nmero entero, indicar el nmero de cifras de ese nmero (para el 432 debe indicar 3).
Imports System.Console Module Module1 Sub ingresa(ByRef n As Integer) Write("Ingrese numero: ") n = ReadLine() End Sub Sub calcula(ByVal n As Integer, ByRef z As Integer, ByRef c As Integer) z = n c = 0 Do z = z \ 10 c += 1 Loop While z > 10 End Sub Sub Main() Dim n, c, z As Integer ingresa(n) calcula(n, z, c) WriteLine("{0} tiene {1} digitos", n, c + 1) ReadLine() End Sub End Module

8. Cifrado de datos: dado un nmero de cuatro dgitos se reemplazar cada dgito por (dgito +7) mdulo 10. A continuacin se intercambiar el primer dgito por el tercero y el segundo por el cuarto, y ese ser el nmero cifrado.
Imports System.Console Module Module1 Sub ingresa(ByRef n As Integer, ByRef vec() As Integer, ByRef z As Integer, ByRef c As Integer) Dim i As Byte Dim aux As Integer Write("Ingrese numero: ") n = ReadLine() c = 0 z = n Do vec(c) = z Mod 10 z = z \ 10 c += 1 Loop While z > 10 vec(c) = z Clear() z = c For i = 0 To (c - 1) / 2 aux = vec(i) vec(i) = vec(z) vec(z) = aux z -= 1 Next WriteLine() WriteLine("El numero ingresado es ")

End Sub

End Sub

End

For i = 0 To c Write(vec(i)) Next Sub cifrado(ByVal vec() As Integer, ByVal c As Integer) Dim i, aux As Integer For i = 0 To c vec(i) = (vec(i) + 7) Mod 10 Next WriteLine() aux = vec(0) vec(0) = vec(2) vec(2) = aux aux = vec(1) vec(1) = vec(3) vec(3) = aux WriteLine() WriteLine("El numero cifrado 2 es ") For i = 0 To c Write(vec(i)) Next Sub Main() Dim vec(5) As Integer Dim n, c, z As Integer ingresa(n, vec, z, c) cifrado(vec, c) ReadLine() Sub

End Module

9. Descifrar un nmero cifrado con el algoritmo anterior.


Imports System.Console Module Module1 Sub ingresa(ByRef n As Integer, ByRef vec() As Integer, ByRef z As Integer, ByRef c As Integer) Dim i As Byte Dim aux As Integer Write("Ingrese numero: ") n = ReadLine() c = 0 z = n Do vec(c) = z Mod 10 z = z \ 10 c += 1 Loop While z > 10 vec(c) = z Clear() z = c For i = 0 To (c - 1) / 2 aux = vec(i) vec(i) = vec(z) vec(z) = aux z -= 1

Next WriteLine() WriteLine("El numero ingresado es ") For i = 0 To c Write(vec(i)) Next End Sub Sub cifrado(ByRef vec() As Integer, ByVal c As Integer) Dim i, aux As Integer WriteLine() For i = 0 To c aux = vec(i) + 3 If aux < 10 Then vec(i) = aux Else vec(i) = aux Mod 10 End If Next WriteLine() WriteLine("El numero cifrado 1 es ") For i = 0 To c Write(vec(i)) Next WriteLine() aux = vec(0) vec(0) = vec(2) vec(2) = aux aux = vec(1) vec(1) = vec(3) vec(3) = aux WriteLine() WriteLine("El numero cifrado 2 es ") For i = 0 To c Write(vec(i)) Next End Sub Sub Main() Dim vec(5) As Integer Dim n, c, z As Integer ingresa(n, vec, z, c) cifrado(vec, c) ReadLine() End Sub End Module

Das könnte Ihnen auch gefallen