jueves, 17 de septiembre de 2020

MIEMBROS:

BYRON ALEXANDER PEREZ ARAUZ.

CORREO:

perezbyron2019@gmail.com


DEXY MAYERLY REYES CONTRERAS.

CORREO:

reyesdexy94@gmail.com


ARTEAGA CABRERA ALEXANDRA KATHERINE

CORREO:

alexandraarteaga70@gmail.com 



JOSEPH ALBERTO OLVERA ESPINOZA

CORREO:

Josueovera@gmail.com


KARELIS FABIOLA PACHECO FARFAN

CORREO:

Karefabiola2002@gmail.com


 EJERCICIOS DE PROGRAMACIÓN

DE FUNCIONES.

Ejercicio 1: Crear un procedimiento EscribirCentrado, que reciba como parámetro un texto y lo escriba centrado en pantalla (suponiendo una anchura de 80 columnas; pista: deberás escribir 40 - longitud/2 espacios antes del texto).









Ejercicio 2: Crear una función CantidadDeDivisores, que reciba un número entero y devuelva la cantidad de divisores (por ejemplo, para el número 16, sus divisores son 1, 2, 4, 8, 16, por lo que la respuesta debería ser 5).








Ejercicio 3: Crear un programa que pida dos números enteros al usuario y diga si alguno de ellos es múltiplo del otro. Crea una función EsMultiplo que te ayude a que el proceso principal sea legible.






Ejercicio 4: Crear un procedimiento EscribirEspaciado, que reciba como parámetro un texto y lo escriba con un espacio adicional tras cada letra. Por ejemplo, "Hola, tú" se escribiría "H o l a , t ú ".





Ejercicio 5: Crea una función MayorDeTres, que reciba tres números enteros y devuelva el valor del mayor de ellos. Por ejemplo, para los números 5, 7 y 5, devolvería el valor 7.






Ejercicio 6: Crea una función EsPar que devuelva el valor lógico "verdadero" o "falso" según si el número que se indique como parámetro es par o no lo es.








Ejercicio 7: Crea una función Cubo, que reciba un número y lo devuelva elevado al cubo.








Ejercicio 8: Crea una función Iniciales, que devuelva una cadena formada por las iniciales de la frase que se indique como parámetro (primera letra y la letra que haya tras cada espacio; por ejemplo, para "Nacho Cabanes" devolvería "NC").









Ejercicio 9: Crea una función Contiene, que reciba una cadena y una (posible) subcadena, y devuelva "verdadero" o "falso", según si la primera contiene a la segunda (como "Nacho" contiene "ac") o no la contiene, (como "Aurora" no contiene "sol").








Ejercicio 10: Creado por el autor o autora de las tareas




EJERCICIOS DE PROGRAMACIÓN
CON ARREGLOS:

Arreglos

En numerosas ocasiones, cuando se intenta resolver un problema mediante la programación, surge la necesidad de contar con la posibilidad de almacenar un conjunto de datos. Algunas de esas veces los datos tienen características en común, por ejemplo que sean del mismo tipo y representen una misma cosa.

Por ejemplo, en una lista de calificaciones de cierto profesor hay datos en común y representan una misma cosa. Un dato sería una palabra, que representa el nombre del alumno; mientras otro dato sería un número que representa la calificación. Siguiendo el ejemplo, sería impráctico y muy complicado declarar en un programa tantas variables como alumnos haya en un grupo.

La forma de almacenar esto es en una estructura llamada Arreglo.

Arreglos Unidimensionales

Un arreglo unidimensional es un tipo de dato que permite almacenar un conjunto de datos homogeneos, es decir, del mismo tipo de dato. Al declararse el arreglo debe indicarse el tamaño, en ese momento el compilador reserva la memoria que se necesite para almacenar los datos solicitados por el programador.

El límite en la dimensión de los arreglos varía dependiendo del lenguaje de programación que se utilice, siendo el límite natural la memoria de la computadora.

          Dim nombre As New tipoDato[tamaño]

Imaginese que un arreglo es como un conjunto de lockers. Cada locker tiene cierto tamaño para guardar objetos en él y todos son de las mismas dimensiones. Para diferenciar entre ellos e identificar uno en particular, cada locker posee un número único con el cual puede ser encontrado.

Locker

Un arreglo funciona de la misma forma. Al declararse se debe especificar el tamaño, es decir el número de localidades de memoria. Es como si se declararan muchas variables del mismo tipo al al mismo tiempo y asociadas todas ellas a un nombre en común.

Por ejemplo, considere el caso de un profesor que desea tener una lista de calificaciones de cierto grupo. En ese grupo tiene 8 alumnos y las calificaciones son numéricas no necesariamente enteras. Esta es la lista de calificaciones.

Numero de ListaNombreCalificación

1

Hugo

6.8

2

Luis

8.3

3

Veronica

10.0

4

Claudia

9.5

5

Mario

4.5

6

Octavio

7.7

7

Victoria

9.4

8

Artemio

10.0

En este caso, podrían declararse 8 variables donde cada una contendría la calificación de cada alumno, pero esto resulta impráctico de muchas formas. Una de ellas ocurre si el grupo tuviera más alumnos habría que hacer muchas declaraciones y ademas la forma de acceder a los datos sería poco práctico. Por otro lado, si hubiera alumnos que se dan de baja entonces la lista disminuiría y habría que hacer cambios funcionales en el código que hayamos escrito. Este problema y otros más se pueden resolver con un arreglo.

Para este ejemplo declaremos un arreglo que se llame calificaciones, de tipo Single y de 8 localidades. Esto se haría con la siguiente línea de código.

          Dim calificaciones As New Single[8]

Como puede obervar, el arreglo fue declarado como Single lo que significa que todas los contenedores dentro de el son del mismo tipo, es decir, son homogéneas. Para diferenciar las calificaciones, cada alumno debe tener un número de lista.

Observe que la numeración de las localidades del arreglo comienza en 0, quizá lo más natural para un humano sería comenzar la numeración de las lo calidades de memoria desde 1 hasta 8, pero se comienza en 0 debido a la manera como están numeradas las localidades de memoria en las computadoras y se hace de esta forma en la gran mayoría de los lenguajes de programación.


Cada una de las localidades actúa entonces como una variable independiente de las demás, por esa razón puede ser leída y/o modificada sin afectar a las demás. Lo que tienen en común las variables en los contenedores, es que son del mismo tipo y que pertenecen al mismo arreglo, en este caso el arreglo calificaciones.

Por ejemplo, observe el programa a continuación y trate de entender como funciona.

          Public Sub Main()
            Dim calificaciones As New Single[8]

            calificaciones[0] = 6.8
            calificaciones[1] = 8.3
            calificaciones[2] = 10.0
            calificaciones[3] = 9.5
            calificaciones[4] = 4.5
            calificaciones[5] = 7.7
            calificaciones[6] = 9.4
            calificaciones[7] = 10.0

          End

En este programa declaramos un arreglo llamado calificaciones tipo Single de 8 posiciones. Luego se le asignan a todas las lolcalidades todos los valores de la tabla mostrada anteriormente.

Si por alguna razón se intentara hacer referencia a una localidad que no exista en el arreglo, el compilador mandará un mensaje de error. Por ejemplo, si ignoraramos el hecho de que la numeración de las localidades comienzan en 0, el código incorrecto sería el siguiente:

          Public Sub Main()
            Dim calificaciones As New Single[8]

            calificaciones[1] = 6.8
            calificaciones[2] = 8.3
            calificaciones[3] = 10.0
            calificaciones[4] = 9.5
            calificaciones[5] = 4.5
            calificaciones[6] = 7.7
            calificaciones[7] = 9.4
            calificaciones[8] = 10.0

          End

Este programa envía un mensaje de error "Fuera de los límites" que indica que se rebasaron los límites del arreglo, debido a que solo existen 8 posiciones en memoria que comienzan en 0 y terminan en 7. El programa hace una referencia a la posición 8, la novena, que no existe. Es muy importante que tenga esto en mente siempre que desarrolle un programa en cualquier lenguaje de programación.


Existen varias cosas importantes que mencionar en este ejemplo.

  • Observe que las asignaciones a las localidades del arreglo se hacen a través de un ciclo y no una a la vez como en los primeros ejemplos. Utilizar un ciclo resulta muy práctico debido a que sin importar el tamaño del arreglo, este código es idéntico, tan solo basta con cambiar la condición final del ciclo para que coincida con el tamaño del arreglo.

  • Debido a que el ingreso de calificaciones es un proceso repetitivo, se utiliza un ciclo. Esto es muy conveniente por la razón descrita en el punto anterior y además los procesadores de las computadoras están optimizados para este tipo de estructuras.

  • El ciclo se debe ajustar a las dimensiones del arreglo. Por esta razón es que en los dos ciclos que utilizamos en este programa la condición inicial es 0, la condición final es 7 y el incremento es 1.

  • Se hace una referencia a la localidad del arreglo a través el valor de la variable de control i, tanto en el caso del Print y el Input. Debido a esto el acceso a las localidades se hace secuencialmente de acuerdo al valor de la variable de control i.

  • El pimer ciclo se encarga de solicitar al usuario los valores de las calificaciones, se utiliza un Print para mostrar información al usuario y un Input para almacenar el valor en la localidad correspondiente. El segundo ciclo se encarga de imprimir el contenido del arreglo en la pantalla mediante el Print.

  • Finalmente, el en caso del Print se hace una combinación de los valores de la variable de control i y el contenido de las localidades del arreglo calificaciones.

Arreglos Multidimensionales

Un arreglo puede tener tantas dimensiones como el usuario lo requiera. El camino más natural para comprenderlos es comenzar con los arreglos de dos dimensiones e ir aumentando la cantidad de dimensiones.

Formalmente definimos un arreglo bidimensional de la siguiente manera:

"Un arreglo bidimensional es una colección finita, homogénea y ordenada de datos, en la que se hace referencia a cada elemento del arreglo por medio de dos índices. El primero de los índices se utiliza para indicar la fila y el segundo para indicar la columna."

Para el caso de dos dimensiones es natural asociarlo con una matriz, y por tanto en filas y columnas. Cuando son tres o más dimensiones es complicado pensar en una asociación sencilla sin embargo en general se debe tener un índice para cada dimensión que se haya declarado en el arreglo.

Si continuamos con la analogía de los lockers, podemos asociar un arreglo de dos dimensiones con un conjunto de lockers del mismo tamaño acomodados en forma filas y columnas.

En este caso considere que para identificar un locker en específico se puede utilizar su posición en la fila y en la columna. En este caso se puede incrementar la cantidad de lockers si aumenta el número de filas y/o columnas.

Por esta razón es que en un arreglo multidimensional se necesita de un índice por cada dimensión. Entonces, para el caso de una matriz dimensional se necesitan dos índices, uno para los renglones y otro para las columnas.

La sintaxis para declarar un arreglo multidimensional es la siguiente:

          Dim nombre As New tipoDato[tamañoDimensión1, tamañoDimensión2, ..., tamañoDimensiónN]

El espacio que los arreglos ocupan en memoria se reserva en el momento de realizar la declaración de los mismos. A continuación se presentan diferentes ejemplos de declaración de arreglos multidimensionales, con su explicación correspondiente.

        Public Sub Main()
          Dim a As New Integer[5, 10]       'Arreglo bidimensional tipo Integer: 5 filas y 10 columnas
          Dim b As New Float[5, 5]          'Arreglo bidimensional tipo Float: 5 filas y 5 columnas
          Dim c As New Byte[3, 5, 7]        'Arreglo de tridimensional tipo Byte
          Dim d As New String[10, 10, 2, 9]   'Arreglo 4 dimensiones tipo String
        End

Una vez que se definen los arreglos, sus elementos pueden recibir los valores a través de múltiples asignaciones, o bien, como ocurre frecuentemente en la práctica, por medio de ciclos y la lectura correspondiente de los valores.


Ejemplo 1. Se guarda una matriz de 5x5 en un arreglo bidimensional. Desarrolle un programa que solicite al usuario el contenido de la matriz e imprima el contenido de dicha matriz.

        Public Sub Main()
          Dim arreglo As New Integer[5, 5]
          Dim i, j As Byte

          Print "Introduzca el contenido de la matriz"
          For i = 0 To 4
            For j = 0 To 4
              Print "("; i; ", "; j; ") = ";
              Input arreglo[i, j]
            Next
          Next
          Print "Se ingresaron todos los datos, ahora se imprime el contenido"

          For i = 0 To 4
            For j = 0 To 4
              Print arreglo[i, j],
            Next
            Print ""
          Next
        End

Ahora se explicarán algunos puntos importantes acerca de este programa.

  • Tal como se mencionó anteriormente, en los arreglos se necesita de un índice por cada dimensión que este posea. De esta forma, y debido a que el ingreso de datos del arreglo es una operación repetitiva, se necesitan ciclos.

  • Se utilizarán dos ciclos, uno por dimensión del arreglo. Se hará el recorrido de la matriz por renglones y columnas, se recorren todas las columnas del primer renglón, luego todas las columnas del segundo renglón y así sucesivamente. Por esta razón es que se necesita de ciclos anidados.

  • El ciclo exterior se encarga de recorrer los renglones, cuya variable de control i indicará el renglón. El ciclo interior recorrerá las columnas, y su variable de control j indicará la columna. Será necesario entonces que las condiciones inicial y final del ciclo exterior coincidan con la primera dimensión del arreglo (en este ejemplo 0 y 4) y las condiciones inicial y final del ciclo interior coincidan con la segunda dimensión del arreglo (en este ejemplo 0 y 4).

  • Así, en la primera iteración del ciclo exterior cuando i=0, se ingresa al ciclo interior con la variable j=0 hasta que llega a j=4, y para cada valor de j se solicita el valor correspondiente al arreglo en su posición (i,j). Con esto se llena el primer renglón (con i=0) y este procedimiento se repite hasta que i=4, llenando así toda la matriz de valores ingresados por el usuario.

  • Los últimos dos ciclos funcionan de la misma forma, sólo que en este caso de imprime el contenido de la matriz. Observe que en el Print más interior se agrega una , que ocasiona que se imprima el contenido de la localidad del arreglo y posteriormente se deje un tabulador de espacio. El segundo Print solo hace un salto de línea cuando se termina de imprimir un renglón. Por esta razón es que el resultado de la impresión se ve como en forma rectangular.



EJERCICIOS CON ARREGLOS
A CONTINUACIÓN:
61.-ELABORAR UN PROGRAMA QUE ME PERMITA CALCULAR EL TAMAÑO DE NUMERO CALCULAR.

 






62.-HACER UN ALGORITMO QUE CALCULE EL NUMERO Y EL TAMAÑO DE 5 NÚMEROS.












63.-CREAR UN PROGRAMA QUE NOS PERMITA INGRESAR TAMAÑO DEL ARREGLO
Y DESPUÉS INGRESA LAS POSICIONES DEL ARREGLO.






64.-PROGRAMA CON ARREGLO QUE SOLICITE UN N NUMERO DE PUNTUACIONES, MUESTRE TODAS LAS PUNTUACIONES INGRESADOS Y CALCULE EL TOTAL Y EL PROMEDIO DE LA CALIFICACIONES.














65.-PROGRAMA CON ARREGLOS QUE PIDA UN NUMERO HASTA QUE LLEGARA  EN LA SERIE DE FIBONACCI.






 ALGORITMO DE FUNCIONES:

Funciones

En programación, una función es una sección de un programa que calcula un valor de manera independiente al resto del programa.

Una función tiene tres componentes importantes:

  • los parámetros, que son los valores que recibe la función como entrada;
  • el código de la función, que son las operaciones que hace la función; y
  • el resultado (o valor de retorno), que es el valor final que entrega la función.

En esencia, una función es un mini programa. Sus tres componentes son análogos a la entrada, el proceso y la salida de un programa.

En el ejemplo del factorial, el parámetro es el entero al que queremos calcularle el factorial, el código es el ciclo que hace las multiplicaciones, y el resultado es el valor calculado.






58.-CREAR UN ALGORITMO QUE NO PERMITA SABER CUAL ES MÁXIMO DE UN NUMERO INGRESADO POR MÉTODO DE FUNCIÓN.










59.-CREAR UN PROGRAMA QUE INGRESEMOS UN NUMERO HASTA QUE  PERMITAMOS Y NOS MUESTRO LOS NÚMEROS PRIMOS.









60.-ELABORAR UN PROGRAMA QUE INGRESEMOS UN NUMERO Y NOS MUESTRO SU FACTORIAL CON MÉTODO DE FUNCIÓN.





 EJERCICIO DE SUB_PROCESOS:

Creación De Funciones Y Procedimientos (Subprocesos)

En muchos casos, nos encontraremos con tareas que tenemos que repetir varias veces en distintos puntos de nuestro programa. Si tecleamos varias veces el mismo fragmento de programa no sólo tardaremos más en escribir: además el programa final resultará menos legible, será más también será más fácil que cometamos algún error alguna de las veces que volvemos a teclear el fragmento repetitivo, o que decidamos hacer una modificación y olvidemos hacerla en alguno de los fragmentos. Por eso, conviene evitar que nuestro programa contenga código repetitivo. Una de las formas de evitarlo es usar "subrutinas", una posibilidad que la mayoría de lenguajes de programación permiten, y que en ocasiones recibe el nombre de "procedimientos" o de "funciones" (existe algún matiz que hace que esas palabras no sean realmente sinónimas y que comentaremos más adelante).







54.-CREAR UN SUB_PROCESOS QUE DIGAS LOS SIGUIENTE:01
1.-primer ejemplo.
2.-segundo ejemplo.
3.-tercer ejemplo.













55.-CREAR UN SUB_PROCESOS QUE DIGAS LOS SIGUIENTE:02
1.-primer ejemplo.
2.-segundo ejemplo.
3.-tercer ejemplo.









56.-CREAR UN SUB_PROCESOS QUE DIGAS LOS SIGUIENTE:03
1.-primer ejemplo.
2.-segundo ejemplo.
3.-tercer ejemplo.










57.-CREAR UN SUB_PROCESOS QUE DIGAS LOS SIGUIENTE:04
1.-primer ejemplo.
2.-segundo ejemplo.
3.-tercer ejemplo.





MIEMBROS: BYRON ALEXANDER PEREZ ARAUZ. CORREO: perezbyron2019 @gmail.com DEXY MAYERLY REYES CONTRERAS. CORREO: reyesdexy94 @gmail.com ARTEAG...