Primer Parcial Programación

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

1/80

flashcard set

Earn XP

Description and Tags

Notas de Primer Examen Parcial Programación UAQ

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No study sessions yet.

81 Terms

1
New cards
term image

Imprime la “n“ porque como no se trata de una cadena de caracteres solamente imprime el bit menos significativo (el final)

2
New cards

Impresiones entre distintos tipos de variable

knowt flashcard image
3
New cards

Signed o Unsigned en variables

Al declarar una variable cualquiera, por defecto es “signed” si no se especifica lo contrario, lo que significa que puede representar números negativos y positivos. “

4
New cards

Rango de Signed en char

-128 a 127

5
New cards

Rango de Unsigned en char

0 a 255

6
New cards

Longitud de los distintos tipos de variables

knowt flashcard image
7
New cards
term image

Aqui imprime -128 dado que el rango de char (signed) es de -128 a 127, por lo que se desborda al -128. Esto ocurre porque se imprime en formato %i

8
New cards
term image

Aqui imprime el caracter correspondiente a su valor en ASCII dado que se imprime en formato %c

9
New cards

Comandos de la libreria “iostream“

Son instrucciones utilizadas en C++ para entrada y salida de datos.
- std::cin : Entrada de datos.

- std::cout : Salida de datos

10
New cards

Comandos de la librería “stdlib.h“

Instrucciones utilizadas en C++ que proporcionan funciones de utilidad, como manejo de memoria, conversión de tipos y generación de números aleatorios.
- atoi : Convierte una cadena de caracteres a entero
- atof : Convierte una cadena de caracteres a flotante

11
New cards

Comandos de la librería “stdio.h“

Instrucciones utilizadas en C++ para realizar operaciones de entrada y salida estándar, como manejo de archivos y comunicación por consola.

- printf : Imprime datos en la consola

- scanf : Lee datos de entrada estándar

- gets() : Captura una cadena de caracteres desde la entrada estándar

- getchar() : Captura un carácter desde la entrada estándar

- fflush(stdin) : Permite congelar el buffer

- puts () : Escribe una cadena de caracteres en la salida estándar

12
New cards

Comandos de la librería “conio.h“

Mejora la entrada y salida de datos por medio de la consola.
- kbhit() : Determina si una tecla del teclado ha sido presionada

- getch() : Lee un carácter directamente de la consola sin hacer uso del buffer, y sin mostrar salida

13
New cards
14
New cards
term image

En operaciones con flotantes es necesario hacer un casting (float) cuando trabajamos conn números enteros.

15
New cards
term image

Printf no modifica la variable en los casos de x + 1, sin embrago, sí la modifica en ++x, por lo mismo, ambas se desbordan pero solo en ++x se modifica la variable.

16
New cards
term image

No ocurre desbordamiento porque aquí el printf solo modifica el valor, no modifica la variable, por lo que sigue con el siguiente carácter del ASCII.

Imprime 128
Imprime 127

17
New cards

%u

Indica “unsigned“, es decir, imprime una variable sin signo, sin embrago, esto no aplica para float

18
New cards

Desbordamiento de la variable float

Si bien la variable float e int tienen la misma longitud de 4 bytes, dado que la variable float trabaja con exponentes no ocurre desbordamiento en números muy grandes. (1.2E-38 a 3.4E+38)

19
New cards
term image

Marca error de compilación debido a que “a“ no está definida.

20
New cards
term image

Imprime 97 por el codigo ASCII

21
New cards

Tablas de verdad de operadores lógicos

knowt flashcard image
22
New cards

Función de operadores lógicos

Realizan operaciones bit a bit en función a su tabla de verdad

23
New cards

Función de dobles operadores lógicos (&&, ||) y !

Realizan comparaciones de datos

24
New cards
term image

Realiza la función de repetirse hasta que se llene el espacio de la memoria RAM

25
New cards
term image

El operador coma “,“ que se usa dentro del ciclo while no significa que se realicen ambas condiciones, en este caso se descarta x>0, lo que sería igual a tener “while(n--)“.
Aquí se imprime 0 porque realiza la operación hasta llegar a 0, pero NO porque se indique anteriormente (antes del operador coma).

26
New cards
term image

El punto y coma después del while indica que se va quedar atrapado en ese ciclo while, y es hasta después de que sale que continúa con el resto del código, en este caso, imprimir el resultado

27
New cards
term image

Permanece en el ciclo do - while mientras el valor de x sea mayor que 0 y menor que 10.

Es necesario usar punto y coma al final de la restricción del while.
El do - while garantiza que se entre por lo menos una vez al código.

28
New cards
term image

De flotante a carácter no se imprime nada, espacio vacío

29
New cards
term image

Estructura básica del switch case.
El argumento a evaluar puede ser entero o carácter.
Los casos evalúan si el argumento coincide con el número o letra.
Es necesario colocar break; pues de lo contrario se ejecutan los casos seguidos del primer caso seleccionado.

30
New cards

Definición de variable

Representación alfanumérica de una dirección de memoria

31
New cards

Característias de la variable

  • - Tipo de dato (Longitud)

  • - Identificador (Nombre)

  • - Dirección (Espacio en la memoria RAM)

32
New cards

Característica de la variable - Tipo de dato

int, float, char, bool, short, double, long

33
New cards

Reglas de la característica de la variable - Identificador

  1. - No iniciar con números

  2. - No palabras reservadas (cout,cin,getch)

  3. - No caracteres especiales

34
New cards
term image

Imprimirá “Esto es falso “, debido a que la magnitud de float no es exacta, solamente aproximada, aun cuando nosotros lo hayamos declarado como un número exacto

35
New cards

La función principal (main) es signed o unsigned?

La función principal es forzosamente unsigned, es decir, solo puede devolver números positivos

36
New cards
term image

Dado que la función principal es forzosamente unsigned, al retornar un -1, la variable entera se desborda hacia el número más alto.

Aunque coloquemos
“signed int main(){
return -1;
}“
La variable entera se seguirá desbordando

37
New cards
term image

Estas son formas de declarar las variables, llamada “constructor de inicialización “

38
New cards
term image

Aquí se muestra la diferencia que existen en el desbordamiento de las variables con las distintas formas de impresión.
printf no desborda la variable e imprime el -45.
cout sí desborda la variable hasta el valor máximo de unsigned int.

Esto se debe a que cout imprime según el tipo de variable (siempre la respeta), mientras printf lee los bits como si fuera un entero con signo (4294967251 = -45 en signed int)

39
New cards
term image

Se imprimirá “Falso“, esto se debe a el “if“ está evaluando si la variable existe, y cuando es 0, se considera que no existe, y por lo tanto, es falso.

Cualquier otro valor lo retornará como verdadero, incluso valores negativos. Únicamente el “0“ es falso en una evaluación

40
New cards

NOT lógico y NOT de comparación

NOT de comparación:
! → Niega como relación y comparación

NOT lógico:
~ → Modifica los bits

41
New cards
term image

Imprime “Verdadero“, el operador condicional ? evalúa si la condición se cumple, si es así realiza la primera opción seguida del operador, de lo contrario (:), realiza la instrucción seguida de (:)

42
New cards
term image

En los ciclos while, ya sea que se use cin o scanf para guardar un carácter en una variable entera el buffer se ciclará hasta que se termine el espacio en la memoria RAM; y si se quiere guardar un flotante, solo se tomará la parte entera y el resto quedará en el buffer por lo que también se ciclará hasta que se termine el espacio en la memoria RAM.

43
New cards
term image

El parámetro de la inicialización de la variable puede ser opcional si ya se inicializó con anterioridad.

44
New cards
term image

Pueden realizarse operaciones en el parámetro de inicialización de la variable, sin embargo, tenemos que inicializar antes “i“. Esta operación se efectuará al iniciar el ciclo y la variable comenzará por ahí.

45
New cards
term image

Al no colocarse una condición el bucle se ciclará repetidamente hasta que termine con el espacio de la memoria RAM.

46
New cards
term image

Al no colocarse parámetros el bucle se cicla repetidamente hasta que termine con el espacio de la memoria RAM.

47
New cards
term image

Pueden combinarse multiples expresiones de incializacion mediante el operador coma

48
New cards
term image

Es posible no incluir operaciones y realizarlas dentro del ciclo

49
New cards
term image

Marca error de compilación, esto se debe a que en un ciclo for con punto y coma (;), la variable debe declarase fuera del ciclo pues de lo contrario la toma como variable local del ciclo for y no será posible imprimirla al terminar el ciclo pues la toma como no declarada.

50
New cards
term image

Se imprime: 10
El ; asegura que se realicen todos los procedimientos del ciclo for, es hasta que termina que continúa con el resto del código.

51
New cards
term image

En el primer for se imprime 10 y en el segundo de 0 a 9.

Esto se debe a que primero se realiza la operación y luego se evalúa la condición, por lo que en el primero termina siendo 10 y lo imprime al final el bucle, sin embrago, en el segundo el proceso de impresión se encuentra en el bloque de código del ciclo for, por lo que imprimirá hasta el 9 y después se restringirá el paso al bloque de código por la condición n < 10.

52
New cards
term image

Esto es un error de compilación, lo que pasa es que la variable “i“ solo está disponible en el entorno del for, por lo que no podemos imprimirla al terminar el ciclo.
Para solucionarlo debemos declarar “i“ antes del for (como global)

53
New cards

Dato importante del uso del for

El ciclo for primero realiza la operación y luego evalúa la restricción

54
New cards

Dato importante sobre fflush

fflush no limpia el buffer, sino, lo congela, es decir, ya no cicla el dato si lo congela, pero se sigue quedando ahi.
Por lo tanto, se considera que fflsuh no es indicado para borra el buffer.

fflush entonces se queda con el ultimo valor congelado.

55
New cards
term image

Este código muestra cómo las etiquetas pueden hacernos retroceder en el código mientras se cumple determinado valor almacenado en x

56
New cards
term image

Dado que la programación es secuencial, se supone que no se pueden mandar a llamar etiquetas si no han sido declaradas con anterioridad, sin embrago, Dev C no tiene problema con mandar a una etiqueta que se declara después.

57
New cards
term image

Este ciclo for actúa como un contador desde el valor asignando en “x“ hasta 0, sin embrago, el continue; hace que cuando la variable “x“ sea igual a 5 el ciclo continúe sin incluir el 5 en el contador.

Básicamente el continue; salta el resto del bloque en un bucle. (usualmente utilizados en bucles)

58
New cards
term image

Este código guardará todo lo que se teclee en la variable “op“ gracias al comando getch() y, lo imprimirá en formato entero, es decir su homologación al ASCII.

El código termina cuando el ciclo termina, es decir, cuando se tecla “0“.

59
New cards
term image

Este código guardará lo que se teclea durante el contador y acabará con el ciclo cuando se teclea el carácter “ESC“.

60
New cards

Características fundamentales de los vectores

  • Es un apuntador.

  • Empiezan a guardarse desde la posición 0.

  • Al declarar un vector todas sus posiciones se guardarán consecutivamente en la memoria RAM

  • No es posible hacer recorrimientos de bits en sus direcciones de memoria, dado que como se guardan consecutivamente, afectarían a todas las posiciones.

61
New cards
term image

Marca error de compilación debido a que A funciona como un puntero a la dirección de memoria de la primera dirección del vector, por lo que no es posible hacer operaciones de recorrimiento de bits.

62
New cards
term image

Aquí, sin embargo, sí es posible hacer operaciones puesto que al nombrar la posición del vector o al utilizar el puntero * ya estamos apuntando a su valor dentro de la dirección de memoria.

63
New cards
term image

Se respeta la jerarquía de operaciones, en el primer ejemplo primero se recorre dos posiciones del vector y luego se apunta a su valor, por lo que imprime 30.
En el segundo ejemplo primero se apunta al valor de la dirección de memoria de la primera posición y luego se le suma dos al valor, por lo que imprime 12.

64
New cards

Características de inicialización de vectores

knowt flashcard image
65
New cards
term image

Si no se declara una posición del vector, se imprimirá la dirección de memoria de la primera posicion.

66
New cards

Definiciones de & y *

& reference op = La dirección de…

* dereference op = El valor apuntado por…

67
New cards

Definición de apuntador

Variable que almacena una dirección de memeoria

68
New cards
term image

Estas son las distintas formas de imprimir la dirección de memoria de la primer posición del vector.
Es importante recalcar que en la operación &*, se cancelan debido a que son operaciones contrarias.

69
New cards
term image

Se imprimen las direcciones de memoria, aquí nos damos cuenta de que al sumar direcciones de memoria se moverán los bytes correspondientes al tipo de variable, es decir, char se moverá un byte, pero int se moverá 4 bytes.

70
New cards

Definición de string

Es un vector de caracteres que finaliza con un fin de linea \0

71
New cards
term image

Aquí se imprimirá la dirección de memoria de v[0] mas 1, es decir, en este caso la dirección de memoria de la segunda posición

72
New cards
term image

Aquí por jerarquía primero se especifica la posición v[0] y después se le suma 1. Entonces es 11

73
New cards
term image

Aquí se le suma una posición y luego se apunta a ella. Por lo tanto es 20

74
New cards
term image

Es posible declarar un string de caracteres por medio de un vector (pues son lo mismo) y imprimirlo por completo con %s.

En este caso puede o no incluirse en el vector el salto de línea ‘\0‘

75
New cards
term image

Es posible imprimir una cadena de caracteres de estas dos formas, sin embargo, si se usan comillas dobles o se incluye ‘\0‘ en el vector debe tomarse en cuenta que el fin de línea forme parte de la longitud del vector.

76
New cards
term image

Cuando declaramos matrices, la primera dimension corresponde a los renglones y la segunda a las columnas

77
New cards
term image

En matrices de dos o más dimensiones es necesario definir la longitud de todas las dimensiones menos la primera, y además, declarar por lo menos una posición

78
New cards

Uso de apuntadores en matrices

<p></p>
79
New cards

Operaciones con apuntadores en matrices

knowt flashcard image
80
New cards

Operaciones con apuntadores en matrices parte 2

knowt flashcard image
81
New cards
term image

Las operaciones a las variables en un ciclo while se realizan desde el primer instante que se entra al código.