Programación 3er Parcial

0.0(0)
studied byStudied by 5 people
0.0(0)
full-widthCall with Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/210

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No study sessions yet.

211 Terms

1
New cards

Array / Matriz

Una colección ordenada de cajitas (espacios) que guardan datos del mismo tipo; todas las cajitas tienen posiciones fijas y pertenecen a la misma caja grande. Es como una fila de manzanas dentro de una canasta donde todas son del mismo tipo.

2
New cards

Elemento

El contenido dentro de cada cajita del array; cada valor almacenado es un elemento.

3
New cards

Colección Homogénea

Propiedad del array donde todos los elementos deben ser del mismo tipo: solo números, o solo caracteres, etc., evitando mezclar tipos incompatibles.

4
New cards

Nombre / Identificador

La etiqueta que identifica al array completo; permite pedir o modificar elementos usando su nombre.

5
New cards

Índice

El número que indica la posición de una cajita dentro del array; en muchos lenguajes inicia desde 0.

6
New cards

Indexación desde 0

Sistema donde el primer elemento se encuentra en la posición 0 por razones de organización de memoria; primer elemento = índice 0.

7
New cards

Array Unidimensional

Un solo arreglo en forma de fila; también llamado vector o lista.

8
New cards

Array Bidimensional

Una tabla de filas y columnas; también llamada matriz, donde se accede con dos índices.

9
New cards

Array Multidimensional

Arreglos con más de dos dimensiones; son como cajas dentro de cajas, usados para datos complejos.

10
New cards

Acceder a un elemento

Operación para obtener el valor de una cajita usando su índice, como juguetes[0] para obtener "pelota".

11
New cards

Modificar un elemento

Cambiar el contenido de una cajita específica dentro del array asignando un nuevo valor.

12
New cards

Longitud del array

Cantidad total de elementos o cajitas en el array; en C normalmente debe calcularse manualmente.

13
New cards

Recorrer un array

Revisar elemento por elemento usando ciclos; útil para imprimir, comparar o copiar.

14
New cards

No copiar con "="

En C no se puede copiar un array completo usando "="; solo se copiaría la dirección, no el contenido.

15
New cards

No comparar con "=="

Comparar arrays con "==" solo compara direcciones de memoria, no los valores internos.

16
New cards

No imprimir con un solo print

No se puede imprimir un array completo con printf("%d", A); se debe imprimir elemento por elemento.

17
New cards

Copiar elemento por elemento

Forma correcta de copiar un array: recorrer todas sus posiciones y copiar cada cajita individualmente.

18
New cards

Comparar elemento por elemento

Manera correcta de revisar si dos arrays son iguales.

19
New cards

Imprimir elemento por elemento

Forma correcta de mostrar un array: imprimir cada cajita en un ciclo.

20
New cards

Cajitas separadas

Idea infantil que ayuda a entender que los arrays no están "pegados"; no se pueden manipular como un solo bloque.

21
New cards

Copiar paso por paso

Explicación infantil donde la copia se hace revisando cada cajita individualmente.

22
New cards

Comparar paso por paso

Comparación infantil que revisa cajita por cajita para ver si tienen lo mismo.

23
New cards

Imprimir paso por paso

Imprimir una cajita a la vez como si se observan juguetes uno por uno.

24
New cards

Ejemplo lista simple

juguetes = [pelota, muñeca, coche]; juguetes[0] devuelve "pelota".

25
New cards

Ejemplo tabla simple

int notas[2][2] = { {8, 9}, {7, 10} }; notas[0][1] devuelve 9.

26
New cards

Memoria contigua

Característica de los arrays donde las cajitas están almacenadas una junto a otra en memoria.

27
New cards

Tamaño fijo

En C los arrays deben declararse con un tamaño que no se puede cambiar después.

28
New cards

Dirección base

La dirección de memoria donde empieza el array; corresponde al índice 0.

29
New cards

Acceso aleatorio

Ventaja del array que permite acceder a cualquier elemento inmediatamente usando su índice.

30
New cards

Iteración

Proceso de recorrer un array desde el inicio hasta el final para hacer operaciones como imprimir o comparar.

31
New cards

Cadena de caracteres (string)

Una secuencia ordenada de letras números espacios o símbolos encerrados entre comillas dobles que representan texto como "Hola" o "123".

32
New cards

String como collar de cuentas

Analogía donde cada carácter es una cuentita dentro de un collar lo que ayuda a visualizar que una cadena es una serie ordenada de elementos.

33
New cards

Comillas dobles en cadenas

Las cadenas deben ir entre " " para que la computadora entienda que es texto y no código.

34
New cards

Contenido permitido en cadenas

Pueden incluir letras números símbolos y espacios sin restricciones generales.

35
New cards

Carácter especial

Un símbolo que no puede escribirse directamente en la cadena y requiere una secuencia de escape para funcionar correctamente.

36
New cards

Secuencias de escape

Combinaciones que empiezan con barra invertida \ y representan acciones especiales como saltos de línea o comillas internas.

37
New cards

Secuencia \n

Indica un salto de línea produciendo que el texto continúe desde un renglón abajo.

38
New cards

Secuencia "

Permite insertar comillas dentro de un string sin cerrar accidentalmente la cadena.

39
New cards

Barra invertida en cadenas

Caracter especial \ que inicia códigos de escape y permite representar caracteres que de otro modo confundirían al compilador.

40
New cards

Ejemplo salto de línea

"Hola\nMundo" imprime Hola en una línea y Mundo en la siguiente.

41
New cards

Ejemplo comillas internas

"Ella dijo: "Hola"" imprime comillas reales dentro del texto.

42
New cards

Cadena como collar de texto

Comparación donde cada letra número o espacio es una cuentita formando un mensaje completo.

43
New cards

Función de las comillas

Le dicen a la computadora que todo lo encerrado es texto literal y no instrucciones.

44
New cards

Necesidad de secuencias de escape

Permiten comunicar acciones especiales como bajar de renglón o incluir comillas sin romper la cadena.

45
New cards

Ejemplo bajando de renglón

"Hola\nMundo" demuestra que \n funciona como "baja aquí".

46
New cards

Cadena en C como array

Una cadena se almacena como un array de caracteres donde cada posición guarda un carácter.

47
New cards

Terminador nulo '\0'

Carácter especial que marca el final de la cadena para que las funciones sepan dónde detenerse.

48
New cards

Importancia del terminador nulo

Sin '\0' la computadora sigue leyendo basura en memoria causando errores o comportamientos indefinidos.

49
New cards

Representación interna de "hola"

Se guarda como 'h' 'o' 'l' 'a' '\0' con índices 0 a 4.

50
New cards

Declaración de cadena con array

char nombre[10]; crea espacio para 9 caracteres útiles más el terminador nulo.

51
New cards

Inicialización directa

char saludo[] = "hola"; permite que el compilador calcule automáticamente el tamaño correcto.

52
New cards

Puntero a literal

char *p = "hola"; crea un puntero que apunta a un texto en memoria de solo lectura.

53
New cards

Restricción de modificar literales

Las cadenas creadas con punteros no deben modificarse pues pueden causar fallos del programa.

54
New cards

Función strlen

Devuelve la cantidad de caracteres antes del terminador nulo contando solo letras y símbolos visibles.

55
New cards

strlen ignorando '\0'

Cuenta únicamente los caracteres visibles asegurando precisión en la longitud real del texto.

56
New cards

Prohibición de asignación directa en arrays

No se puede usar nombre = "hola" después de declarar char nombre[10] porque los arrays no aceptan reasignación con '='.

57
New cards

Inicialización correcta en declaración

char nombre[] = "Ana"; asignación válida porque ocurre al momento de crear el array.

58
New cards

Copiar cadena con strcpy

strcpy(nombre,"Ana"); copia cada carácter incluyendo '\0' del origen al destino.

59
New cards

Peligro de strcpy

No verifica tamaño del destino pudiendo provocar desbordamiento de memoria.

60
New cards

Lectura con fgets

Permite leer texto con espacios de forma segura controlando tamaño y añadiendo '\0' automáticamente.

61
New cards

Lectura con scanf

"%s" lee solo una palabra hasta espacio y puede causar overflow si no se limita el tamaño.

62
New cards

Formato %s en printf

Imprime cadenas completas recorriendo caracteres hasta encontrar '\0'.

63
New cards

Uso recomendado de fgets

Es más seguro que scanf pues permite incluir espacios y evita sobrepasar el tamaño del buffer.

64
New cards

strcpy(destino, origen)

Copia el contenido del string origen dentro del destino incluyendo terminador nulo.

65
New cards

strncpy seguro

Copia hasta un máximo de caracteres permitiendo evitar desbordamientos y garantizando añadir '\0'.

66
New cards

Diferencia entre array y puntero

char s1[] crea memoria propia mientras que char *s2 apunta a una zona de solo lectura.

67
New cards

strcmp para comparar cadenas

Devuelve 0 si son iguales y un valor negativo o positivo según el orden lexicográfico.

68
New cards

strcat para concatenar

Pega una cadena al final de otra siempre que haya espacio suficiente.

69
New cards

scanf con límite

scanf("%19s",s); limita la entrada a 19 caracteres evitando overflow.

70
New cards

Fallas por olvido de '\0'

Produce lectura de memoria basura creando comportamientos peligrosos o crash.

71
New cards

Overflow en Cadenas

Error grave donde se escribe más allá del límite del array modificando memoria que no pertenece a la cadena.

72
New cards

Salto de línea \n

Produce un cambio de renglón durante impresión.

73
New cards

Comilla interna "

Permite mostrar comillas sin confundir al compilador.

74
New cards

Barra invertida \

Representa una barra invertida literal dentro del texto.

75
New cards

Tabulador \t

Inserta un espacio grande equivalente a una tabulación.

76
New cards

Declaración básica

char s1[] = "hola"; crea un array con 5 posiciones incluyendo '\0'.

77
New cards

Declaración con espacio extra

char s2[10] = "adios"; permite añadir texto adicional si se desea.

78
New cards

Impresión de cadena

printf("Mensaje: %s",s1); muestra texto completo.

79
New cards

Lectura segura con fgets

fgets(linea,sizeof(linea),stdin); obtiene líneas con espacios sin riesgos de overflow.

80
New cards

Lectura de palabra con scanf

scanf("%19s",palabra); lee hasta el primer espacio.

81
New cards

Concatenar cadenas

strcat(a,b); une los textos de dos strings.

82
New cards

Comparación lexicográfica

strcmp("a","b") < 0 indica que "a" va antes que "b".

83
New cards

Eliminar salto con strcspn

nombre[strcspn(nombre,"\n")] = '\0' elimina el salto de línea que deja fgets.

84
New cards

Ejemplo completo de longitud

Programa que lee un nombre con fgets elimina '\n' e imprime cuántas letras tiene usando strlen.

85
New cards

Carácter nulo '\0'

Es un caracter especial cuyo valor ASCII es 0 y marca el final de una cadena en C; no es una letra ni símbolo visible y la computadora lo usa para saber exactamente dónde termina la palabra guardada en un array de chars.

86
New cards

Terminación automática de cadenas

Cuando escribes texto entre comillas en C como "Hola", el compilador agrega automáticamente el carácter '\0' al final, evitando que tengas que escribirlo manualmente.

87
New cards

Cadena en C

Es un array de caracteres que siempre termina con '\0'; contiene letras consecutivas en memoria y se interpreta como un texto legible mientras incluya el carácter nulo.

88
New cards

Representación interna de una cadena

Una palabra escrita como "Madrid" se guarda internamente como 'M','a','d','r','i','d','\0', sumando una posición extra más allá de las letras visibles.

89
New cards

Longitud de una cadena en C

Es la cantidad de caracteres visibles antes de '\0'; si una cadena tiene "Hola", su longitud es 4 aunque el array ocupe 5 posiciones.

90
New cards

Cadena vacía

Es una cadena que contiene solo el carácter '\0'; su longitud es 0, pero ocupa al menos una casilla en memoria.

91
New cards

Diferencia entre cadena y arreglo de letras sin '\0'

Un arreglo como {'H','o','l','a'} no es una cadena válida porque no tiene '\0'; la computadora no sabrá dónde termina, a diferencia de "Hola" o {'H','o','l','a','\0'}.

92
New cards

Cadena declarada con tamaño grande

Es cuando reservas más espacios de los necesarios, como char texto[1024] = "Hola"; el texto solo usa unas pocas casillas y las demás quedan disponibles para futuras operaciones.

93
New cards

Cálculo manual de la longitud

Proceso donde se revisa la cadena letra por letra hasta encontrar '\0', incrementando un contador durante el recorrido.

94
New cards

Algoritmo de conteo con while

Es el patrón: while(cadena[i] != '\0') i++; que sigue avanzando por cada posición hasta localizar el carácter nulo y así obtener la longitud.

95
New cards

Lectura de cadenas con scanf("%s")

Permite guardar texto en un array de char sin usar & porque el nombre del array ya representa su dirección; guarda texto solo hasta el primer espacio.

96
New cards

Limitación de scanf con espacios

scanf("%s") detiene la lectura al encontrar un espacio, por lo que una entrada como "hola mundo" solo guarda "hola".

97
New cards

Impresión de cadenas con printf("%s")

Es la forma estándar de mostrar cadenas completas; %s indica que debe imprimir todos los caracteres hasta encontrar '\0'.

98
New cards

Riesgo de scanf sin límite de tamaño

Al usar scanf("%s") sin especificar un máximo, el usuario podría escribir más caracteres que el arreglo soporta, causando sobreescritura en memoria.

99
New cards

Uso básico de strcpy

Es la función de la biblioteca string.h que copia una cadena completa desde un origen hacia un destino, incluyendo el '\0'.

100
New cards

strcpy(destino, origen)

Instrucción que copia todos los caracteres de origen a destino de manera segura y ordenada; es la forma correcta de duplicar cadenas en C sin compartir direcciones.