Funciones en Programación

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

¿Cuál de las siguientes NO es una ventaja principal del uso de funciones en la programación?

  • Reducción de la complejidad general del programa.
  • Mejora de la legibilidad del código.
  • Aumento en la cantidad de errores en el código. (correct)
  • Disminución en la cantidad de líneas de código necesarias.

Cuando se pasa un parámetro 'por valor' a una función, ¿qué ocurre con el valor original de la variable?

  • Se crea una copia de la variable, y la función trabaja sobre esa copia. (correct)
  • Se crea un puntero a la variable original dentro de la función.
  • La función modifica directamente la variable original.
  • La variable original se elimina al finalizar la función.

Si una función está diseñada para modificar directamente el valor de una variable pasada como argumento, ¿qué tipo de paso de parámetro debería utilizarse?

  • Paso por valor constante.
  • Paso por puntero constante.
  • Paso por valor (o copia).
  • Paso por referencia. (correct)

¿Cuál de las siguientes afirmaciones describe mejor el concepto de una pila (stack) en la programación?

<p>Una estructura de datos LIFO (Last In, First Out) para almacenar y recuperar datos. (B)</p> Signup and view all the answers

¿Cuál de las siguientes opciones describe la acción de 'apilar' en una estructura de datos tipo pila?

<p>Agregar un nuevo elemento a la cima de la pila. (A)</p> Signup and view all the answers

En el contexto de las pilas, ¿qué indica la operación 'pilavacia'?

<p>Verificar si la pila está completamente vacía. (A)</p> Signup and view all the answers

¿Qué característica define a un arreglo como 'homogéneo'?

<p>Que todos sus elementos son del mismo tipo de dato. (A)</p> Signup and view all the answers

Al declarar un arreglo, ¿cuál de los siguientes elementos es opcional?

<p>El tamaño del arreglo. (B)</p> Signup and view all the answers

En el contexto de los arreglos, ¿qué representa el término 'dimensión'?

<p>La cantidad máxima de elementos que puede almacenar el arreglo. (D)</p> Signup and view all the answers

¿Qué es un arreglo paralelo?

<p>Dos o más arreglos con el mismo subíndice refiriéndose a términos homólogos. (A)</p> Signup and view all the answers

¿Cuál de las siguientes operaciones NO es común en el manejo de vectores (arreglos)?

<p>Sustracción. (C)</p> Signup and view all the answers

¿Qué estructura de datos se define como un 'Conjunto de Arreglos Bidimensionales'?

<p>Una matriz. (C)</p> Signup and view all the answers

En una matriz, ¿cuál es la función de los 'subíndices'?

<p>Identificar un elemento específico dentro de la matriz. (A)</p> Signup and view all the answers

¿Cuál de las siguientes funciones de cadenas en C compara dos cadenas sin distinguir entre mayúsculas y minúsculas?

<p><code>strcmpi()</code> (A)</p> Signup and view all the answers

¿Qué hace la función strcpy()?

<p>Copia una cadena en otra. (D)</p> Signup and view all the answers

¿Cuál es el propósito de la función strcat() en el manejo de cadenas?

<p>Unir dos cadenas, agregando una al final de la otra. (A)</p> Signup and view all the answers

¿Qué devuelve la función strstr() si la subcadena buscada no se encuentra dentro de la cadena principal?

<p><code>NULL</code> (B)</p> Signup and view all the answers

¿Cuál es la principal diferencia entre las funciones tolower() y toupper()?

<p><code>tolower()</code> convierte un carácter a minúscula, mientras que <code>toupper()</code> convierte un carácter a mayúscula. (B)</p> Signup and view all the answers

¿Qué valor retorna la función strlen()?

<p>La longitud de la cadena, sin incluir el carácter nulo de terminación. (B)</p> Signup and view all the answers

Considerando el algoritmo 'Selection Sort', ¿cuál es su principal estrategia para ordenar un arreglo?

<p>Seleccionar repetidamente el elemento mínimo del arreglo y colocarlo en su posición correcta. (D)</p> Signup and view all the answers

¿Que tipos de pasajes por parametro existen?

<p>Por valor y referencia (A)</p> Signup and view all the answers

Flashcards

¿Qué es una función?

Un sub-algoritmo compuesto de instrucciones para resolver tareas específicas dentro de un algoritmo principal.

Tipo de retorno

Tipo de valor que devuelve una función tras su ejecución.

Parámetros

Valores pasados a una función para que opere con ellos.

Pasaje por valor (o copia)

Copia de la variable original. Los cambios no afectan la original.

Signup and view all the flashcards

Pasaje por referencia

Se trabaja con punteros. Los cambios sí afectan la variable original.

Signup and view all the flashcards

¿Qué es una pila (stack)?

Estructura de datos LIFO que almacena y recupera datos.

Signup and view all the flashcards

Operaciones básicas de una pila

Crear: Se crea la pila. Inicpila: Se inicializa. Leer: Se muestran los datos. Mostrar: Se muestra la pila por pantalla. Apilar: Se agregan datos.

Signup and view all the flashcards

¿Qué es un arreglo?

Colección finita, homogénea y ordenada de elementos.

Signup and view all the flashcards

Dimensión (de un arreglo)

Cantidad máxima de elementos que puede contener un arreglo.

Signup and view all the flashcards

Validos (de un arreglo)

Cantidad de elementos actualmente almacenados en un arreglo.

Signup and view all the flashcards

Asignación (en arreglos)

Asignar un valor específico a una posición dentro de un vector (arreglo).

Signup and view all the flashcards

Arreglos paralelos

Arreglos que se relacionan a través del mismo subíndice.

Signup and view all the flashcards

¿Qué es una matriz?

Conjunto de arreglos bidimensionales (filas y columnas).

Signup and view all the flashcards

strcmp()

Compara dos cadenas (strings) para determinar si son iguales (sensible a mayúsculas/minúsculas).

Signup and view all the flashcards

strcmpi()

Compara dos cadenas (strings) para determinar si son iguales (sin diferenciar mayúsculas/minúsculas).

Signup and view all the flashcards

strcpy()

Copia una cadena de caracteres a otra (destino <- origen).

Signup and view all the flashcards

strcat()

Concatena (une) dos o más cadenas de caracteres.

Signup and view all the flashcards

strstr()

Busca si una cadena está contenida dentro de otra cadena.

Signup and view all the flashcards

toupper(), tolower()

Transforma una letra o palabra a mayúsculas (toupper()) o minúsculas (tolower()).

Signup and view all the flashcards

Study Notes

Funciones

  • Una función es un subalgoritmo con un conjunto de instrucciones para resolver una tarea específica dentro de un algoritmo principal.
  • El algoritmo principal plantea un problema que se soluciona con códigos, dividiéndose en problemas pequeños.

Ventajas de usar funciones

  • Disminuye la cantidad de líneas de código
  • Disminuye la cantidad de errores
  • Reduce la complejidad del programa
  • Elimina código duplicado
  • Reutiliza código
  • Mejora la legibilidad
  • Facilita la portabilidad

Tipos de retorno

  • Void
  • Char
  • Float
  • Int
  • El cuerpo de la función incluye el identificador y los parámetros
  • La función se llama en el main para que se compile y se muestre.

Parámetros

  • Prototipado.
  • Parámetros actuales y reales (valores).
  • Parámetros formales (variables).

Pasaje por parámetros

  • Direcciones de memoria: copias de las variables.
  • Referencia de la copia: & (no afecta los datos originales).
  • Por valor (o copia): Se trabaja con una copia, no afectando la variable original.
  • Por referencia: Se trabaja con punteros del mismo tipo de dato, apuntando a la dirección de memoria que se busca modificar, usando el operador * para acceder a la información de la variable original.

Ordenamiento

  • Selection sort: Ordena un arreglo desordenado desde la posición actual y retorna la posición del menor elemento con la función externa.
  • Inserción sort: Algoritmo para ordenar una lista recorriéndola, seleccionando un valor clave en cada iteración y comparándolo para insertarlo en el lugar correspondiente.

Pilas

  • Una pila (stack) es una estructura de datos LIFO (Last In, First Out) que almacena y recupera hasta 50 datos, pudiendo ser por referencia o por copia.
  • Pila: Se crea la pila.
  • Inicpila: Se inicializa.
  • Leer: Se muestran los datos.
  • Mostrar: Se muestra la pila por pantalla.
  • Apilar: Se agregan datos.
  • Desapilar: Se eliminan datos.
  • Pilavacia: Verifica si la pila está vacía.
  • Tope: El último dato ingresado.

Arreglos

  • Un arreglo es una colección finita, homogénea y ordenada de elementos.
  • Finita: Tiene un límite de elementos.
  • Homogénea: Todos los elementos son del mismo tipo de dato.
  • Ordenada: Se puede determinar el orden de cada elemento.

Tipos de arreglos

  • Unidimensionales:
    • Lista de variables que ocupan posiciones secuenciales en memoria, del mismo tipo de datos, y accesibles individualmente por un subíndice.
  • Dimensión: Cantidad máxima de elementos del arreglo.
  • Validos: Cantidad de elementos cargados en el arreglo.
  • Declaración:
    • Se debe definir el tipo de datos, el nombre y los corchetes (para el tamaño del arreglo, opcional).
    • Tipo de dato, identificador, dimensión.
  • El compilador asigna un lugar en memoria para la variable.
  • Se puede asignar un valor a la vez, pero al declarar la dimensión, se asigna espacio para múltiples valores del mismo tipo, accesibles por índices.

Operaciones con vectores

  • Asignación
  • Lectura
  • Escritura
  • Recorrido
  • Ordenamiento
  • Búsqueda
  • Asignación: Se agrega un valor al espacio del subíndice dentro del vector.

Arreglos paralelos

  • Dos arreglos con el mismo subíndice, refiriéndose a términos homólogos.
  • Dimensión, tipo de arreglo y longitud.

Matrices

  • Conjunto de arreglos bidimensionales.
  • Mismo tipo de dato.
  • Orden de componentes significativo.
  • Se identifican los elementos del arreglo con dos subíndices.
    • Rows: Filas (int i)
    • Cols: Columnas (int j)

Strings (Cadenas de caracteres)

  • Strcmp(): Compara dos cadenas, devuelve 0 si son iguales.
  • strcmpi(): Compara dos cadenas sin distinguir mayúsculas y minúsculas.
  • Strcpy(): Copia una cadena a otra, sobrescribiendo la primera con la segunda.
  • Strcat(): Une dos o más cadenas, copiando la segunda al final de la primera.
  • Strstr(): Busca una cadena dentro de otra, devuelve un puntero a la posición donde comienza la cadena buscada o "NULL" si no la encuentra.
  • Tolower(), toupper(): Transforma una letra o palabra a mayúsculas o minúsculas.
  • strlen(): Compara dos cadenas, devuelve cero si son iguales.
  • Strcoll(): Compara dos strings, devuelve un int, cero (0) si son iguales, menor que cero (0) si el primero es menor que el segundo y mayor que cero (0) si el primero es mayor que el segundo.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser