Upload via hfc (batch)
Browse filesUploaded using hfc tool
This view is limited to 50 files because it contains too many changes.
See raw diff
- .gitattributes +11 -0
- subir/Curso de C Básico/01-Introducción/01-Historia y evolución del lenguaje C y C.mp4 +3 -0
- subir/Curso de C Básico/01-Introducción/01-Historia y evolución del lenguaje C y C.vtt +229 -0
- subir/Curso de C Básico/01-Introducción/01-Lecturas recomendadas.txt +1 -0
- subir/Curso de C Básico/01-Introducción/01-Resumen.html +0 -0
- subir/Curso de C Básico/01-Introducción/01-slides-del-curso-de-c-basico_b86bef99-5598-467a-9d40-36b44adfd1ae.pdf +3 -0
- subir/Curso de C Básico/02-Entorno de desarrollo/01-Lecturas recomendadas.txt +3 -0
- subir/Curso de C Básico/02-Entorno de desarrollo/01-Proceso de compilación en C paso a paso.mp4 +3 -0
- subir/Curso de C Básico/02-Entorno de desarrollo/01-Proceso de compilación en C paso a paso.vtt +259 -0
- subir/Curso de C Básico/02-Entorno de desarrollo/01-Resumen.html +0 -0
- subir/Curso de C Básico/02-Entorno de desarrollo/02-Instalación del compilador C en Windows usando MinGW.mhtml +0 -0
- subir/Curso de C Básico/02-Entorno de desarrollo/03-Instalación de C y configuración en Linux y Visual Studio Code.mhtml +0 -0
- subir/Curso de C Básico/02-Entorno de desarrollo/04-Instalación de Xcode y extensiones C en VSCode.mhtml +0 -0
- subir/Curso de C Básico/03-Conceptos básicos/01-Lecturas recomendadas.txt +3 -0
- subir/Curso de C Básico/03-Conceptos básicos/01-Primer Programa Hola Mundo en C Estructura y Ejecución Básica.mp4 +3 -0
- subir/Curso de C Básico/03-Conceptos básicos/01-Primer Programa Hola Mundo en C Estructura y Ejecución Básica.vtt +355 -0
- subir/Curso de C Básico/03-Conceptos básicos/01-Resumen.html +0 -0
- subir/Curso de C Básico/03-Conceptos básicos/01-estructura-base.zip +3 -0
- subir/Curso de C Básico/03-Conceptos básicos/02-Resumen.html +0 -0
- subir/Curso de C Básico/03-Conceptos básicos/02-Tipos de Datos en C Booleanos Enteros Flotantes y Caracteres.mp4 +3 -0
- subir/Curso de C Básico/03-Conceptos básicos/02-Tipos de Datos en C Booleanos Enteros Flotantes y Caracteres.vtt +403 -0
- subir/Curso de C Básico/03-Conceptos básicos/03-Creación y Uso de Variables en C.mp4 +3 -0
- subir/Curso de C Básico/03-Conceptos básicos/03-Creación y Uso de Variables en C.vtt +340 -0
- subir/Curso de C Básico/03-Conceptos básicos/03-Lecturas recomendadas.txt +1 -0
- subir/Curso de C Básico/03-Conceptos básicos/03-Resumen.html +0 -0
- subir/Curso de C Básico/03-Conceptos básicos/03-variables.zip +3 -0
- subir/Curso de C Básico/03-Conceptos básicos/04-Constantes y Listas en C Uso y Manipulación Básica.mp4 +3 -0
- subir/Curso de C Básico/03-Conceptos básicos/04-Constantes y Listas en C Uso y Manipulación Básica.vtt +676 -0
- subir/Curso de C Básico/03-Conceptos básicos/04-Lecturas recomendadas.txt +2 -0
- subir/Curso de C Básico/03-Conceptos básicos/04-Resumen.html +0 -0
- subir/Curso de C Básico/03-Conceptos básicos/04-constantes-listas.zip +3 -0
- subir/Curso de C Básico/03-Conceptos básicos/05-Lecturas recomendadas.txt +1 -0
- subir/Curso de C Básico/03-Conceptos básicos/05-Operadores en C Aritméticos Comparativos y Lógicos.mp4 +3 -0
- subir/Curso de C Básico/03-Conceptos básicos/05-Operadores en C Aritméticos Comparativos y Lógicos.vtt +799 -0
- subir/Curso de C Básico/03-Conceptos básicos/05-Resumen.html +0 -0
- subir/Curso de C Básico/03-Conceptos básicos/05-operadores.zip +3 -0
- subir/Curso de C Básico/03-Conceptos básicos/06-Manejo de Entrada y Salida de Datos con IOStream en C.mp4 +3 -0
- subir/Curso de C Básico/03-Conceptos básicos/06-Manejo de Entrada y Salida de Datos con IOStream en C.vtt +418 -0
- subir/Curso de C Básico/03-Conceptos básicos/06-entrada-salida-datos.zip +3 -0
- subir/Curso de C Básico/presentation.mhtml +0 -0
- subir/Curso de Funciones en C/03-Bibliotecas estándar de funciones/04-Lecturas recomendadas.txt +2 -0
- subir/Curso de Funciones en C/03-Bibliotecas estándar de funciones/04-Resumen.html +0 -0
- subir/Curso de Funciones en C/03-Bibliotecas estándar de funciones/05-Conversión de Decimal a Binario en C usando Ciclo For y Arrays.mp4 +3 -0
- subir/Curso de Funciones en C/03-Bibliotecas estándar de funciones/05-Conversión de Decimal a Binario en C usando Ciclo For y Arrays.vtt +989 -0
- subir/Curso de Funciones en C/03-Bibliotecas estándar de funciones/05-Lecturas recomendadas.txt +2 -0
- subir/Curso de Funciones en C/03-Bibliotecas estándar de funciones/05-Resumen.html +0 -0
- subir/Curso de Funciones en C/03-Bibliotecas estándar de funciones/05-decimaltobinary_fe30b38b-6b12-47d7-913b-ea0e08976f1a.c +33 -0
- subir/Curso de Funciones en C/04-Cierre/01-Funciones Avanzadas en C Creación y Uso Práctico.mp4 +3 -0
- subir/Curso de Funciones en C/04-Cierre/01-Funciones Avanzadas en C Creación y Uso Práctico.vtt +108 -0
- subir/Curso de Funciones en C/04-Cierre/01-Lecturas recomendadas.txt +2 -0
.gitattributes
CHANGED
|
@@ -129,3 +129,14 @@ subir/Curso[[:space:]]de[[:space:]]Funciones[[:space:]]en[[:space:]]C/03-Bibliot
|
|
| 129 |
subir/Curso[[:space:]]de[[:space:]]Funciones[[:space:]]en[[:space:]]C/03-Bibliotecas[[:space:]]estándar[[:space:]]de[[:space:]]funciones/02-Funciones[[:space:]]matemáticas[[:space:]]básicas[[:space:]]en[[:space:]]C[[:space:]]con[[:space:]]la[[:space:]]biblioteca[[:space:]]math.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 130 |
subir/Curso[[:space:]]de[[:space:]]Funciones[[:space:]]en[[:space:]]C/03-Bibliotecas[[:space:]]estándar[[:space:]]de[[:space:]]funciones/03-Manejo[[:space:]]de[[:space:]]Strings[[:space:]]en[[:space:]]C[[:space:]]Funciones[[:space:]]y[[:space:]]Operaciones[[:space:]]Básicas.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 131 |
subir/Curso[[:space:]]de[[:space:]]Funciones[[:space:]]en[[:space:]]C/03-Bibliotecas[[:space:]]estándar[[:space:]]de[[:space:]]funciones/04-Manejo[[:space:]]de[[:space:]]tiempo[[:space:]]en[[:space:]]C[[:space:]]con[[:space:]]la[[:space:]]biblioteca[[:space:]]timeh.mp4 filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 129 |
subir/Curso[[:space:]]de[[:space:]]Funciones[[:space:]]en[[:space:]]C/03-Bibliotecas[[:space:]]estándar[[:space:]]de[[:space:]]funciones/02-Funciones[[:space:]]matemáticas[[:space:]]básicas[[:space:]]en[[:space:]]C[[:space:]]con[[:space:]]la[[:space:]]biblioteca[[:space:]]math.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 130 |
subir/Curso[[:space:]]de[[:space:]]Funciones[[:space:]]en[[:space:]]C/03-Bibliotecas[[:space:]]estándar[[:space:]]de[[:space:]]funciones/03-Manejo[[:space:]]de[[:space:]]Strings[[:space:]]en[[:space:]]C[[:space:]]Funciones[[:space:]]y[[:space:]]Operaciones[[:space:]]Básicas.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 131 |
subir/Curso[[:space:]]de[[:space:]]Funciones[[:space:]]en[[:space:]]C/03-Bibliotecas[[:space:]]estándar[[:space:]]de[[:space:]]funciones/04-Manejo[[:space:]]de[[:space:]]tiempo[[:space:]]en[[:space:]]C[[:space:]]con[[:space:]]la[[:space:]]biblioteca[[:space:]]timeh.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 132 |
+
subir/Curso[[:space:]]de[[:space:]]Funciones[[:space:]]en[[:space:]]C/03-Bibliotecas[[:space:]]estándar[[:space:]]de[[:space:]]funciones/05-Conversión[[:space:]]de[[:space:]]Decimal[[:space:]]a[[:space:]]Binario[[:space:]]en[[:space:]]C[[:space:]]usando[[:space:]]Ciclo[[:space:]]For[[:space:]]y[[:space:]]Arrays.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 133 |
+
subir/Curso[[:space:]]de[[:space:]]Funciones[[:space:]]en[[:space:]]C/04-Cierre/01-Funciones[[:space:]]Avanzadas[[:space:]]en[[:space:]]C[[:space:]]Creación[[:space:]]y[[:space:]]Uso[[:space:]]Práctico.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 134 |
+
subir/Curso[[:space:]]de[[:space:]]C[[:space:]]Básico/01-Introducción/01-Historia[[:space:]]y[[:space:]]evolución[[:space:]]del[[:space:]]lenguaje[[:space:]]C[[:space:]]y[[:space:]]C.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 135 |
+
subir/Curso[[:space:]]de[[:space:]]C[[:space:]]Básico/01-Introducción/01-slides-del-curso-de-c-basico_b86bef99-5598-467a-9d40-36b44adfd1ae.pdf filter=lfs diff=lfs merge=lfs -text
|
| 136 |
+
subir/Curso[[:space:]]de[[:space:]]C[[:space:]]Básico/02-Entorno[[:space:]]de[[:space:]]desarrollo/01-Proceso[[:space:]]de[[:space:]]compilación[[:space:]]en[[:space:]]C[[:space:]]paso[[:space:]]a[[:space:]]paso.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 137 |
+
subir/Curso[[:space:]]de[[:space:]]C[[:space:]]Básico/03-Conceptos[[:space:]]básicos/01-Primer[[:space:]]Programa[[:space:]]Hola[[:space:]]Mundo[[:space:]]en[[:space:]]C[[:space:]]Estructura[[:space:]]y[[:space:]]Ejecución[[:space:]]Básica.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 138 |
+
subir/Curso[[:space:]]de[[:space:]]C[[:space:]]Básico/03-Conceptos[[:space:]]básicos/02-Tipos[[:space:]]de[[:space:]]Datos[[:space:]]en[[:space:]]C[[:space:]]Booleanos[[:space:]]Enteros[[:space:]]Flotantes[[:space:]]y[[:space:]]Caracteres.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 139 |
+
subir/Curso[[:space:]]de[[:space:]]C[[:space:]]Básico/03-Conceptos[[:space:]]básicos/03-Creación[[:space:]]y[[:space:]]Uso[[:space:]]de[[:space:]]Variables[[:space:]]en[[:space:]]C.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 140 |
+
subir/Curso[[:space:]]de[[:space:]]C[[:space:]]Básico/03-Conceptos[[:space:]]básicos/04-Constantes[[:space:]]y[[:space:]]Listas[[:space:]]en[[:space:]]C[[:space:]]Uso[[:space:]]y[[:space:]]Manipulación[[:space:]]Básica.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 141 |
+
subir/Curso[[:space:]]de[[:space:]]C[[:space:]]Básico/03-Conceptos[[:space:]]básicos/05-Operadores[[:space:]]en[[:space:]]C[[:space:]]Aritméticos[[:space:]]Comparativos[[:space:]]y[[:space:]]Lógicos.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 142 |
+
subir/Curso[[:space:]]de[[:space:]]C[[:space:]]Básico/03-Conceptos[[:space:]]básicos/06-Manejo[[:space:]]de[[:space:]]Entrada[[:space:]]y[[:space:]]Salida[[:space:]]de[[:space:]]Datos[[:space:]]con[[:space:]]IOStream[[:space:]]en[[:space:]]C.mp4 filter=lfs diff=lfs merge=lfs -text
|
subir/Curso de C Básico/01-Introducción/01-Historia y evolución del lenguaje C y C.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:c045ab56f297ff0e6bbb545c75d68ecfcf11b752157b6c66299fbb7d4bf8fe04
|
| 3 |
+
size 40856325
|
subir/Curso de C Básico/01-Introducción/01-Historia y evolución del lenguaje C y C.vtt
ADDED
|
@@ -0,0 +1,229 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:03.040 --> 00:00:04.880
|
| 4 |
+
Bienvenido al curso de programación en C más
|
| 5 |
+
|
| 6 |
+
00:00:04.880 --> 00:00:06.879
|
| 7 |
+
más básico. Mi nombre es Diana Martínez y
|
| 8 |
+
|
| 9 |
+
00:00:06.879 --> 00:00:08.820
|
| 10 |
+
voy a ser tu profesora en este curso.
|
| 11 |
+
|
| 12 |
+
00:00:09.920 --> 00:00:12.320
|
| 13 |
+
Para comenzar, vamos a hablar sobre la historia
|
| 14 |
+
|
| 15 |
+
00:00:12.320 --> 00:00:14.445
|
| 16 |
+
de C más más, pero no podemos hablar
|
| 17 |
+
|
| 18 |
+
00:00:14.445 --> 00:00:16.445
|
| 19 |
+
sobre C más más sin hablar primero sobre
|
| 20 |
+
|
| 21 |
+
00:00:16.445 --> 00:00:19.645
|
| 22 |
+
el lenguaje de programación C. Este lenguaje de
|
| 23 |
+
|
| 24 |
+
00:00:19.645 --> 00:00:22.365
|
| 25 |
+
programación fue desarrollado por Dennis Richie y su
|
| 26 |
+
|
| 27 |
+
00:00:22.365 --> 00:00:25.645
|
| 28 |
+
equipo de investigadores en los laboratorios Bell de
|
| 29 |
+
|
| 30 |
+
00:00:25.645 --> 00:00:28.880
|
| 31 |
+
la AT y T Corporation, mientras desarrollaban el
|
| 32 |
+
|
| 33 |
+
00:00:28.880 --> 00:00:32.400
|
| 34 |
+
sistema operativo Unix. Fue necesario crear un nuevo
|
| 35 |
+
|
| 36 |
+
00:00:32.400 --> 00:00:35.360
|
| 37 |
+
lenguaje de programación que les permitiera desarrollar de
|
| 38 |
+
|
| 39 |
+
00:00:35.360 --> 00:00:38.000
|
| 40 |
+
forma mucho más sencilla su sistema operativo, ya
|
| 41 |
+
|
| 42 |
+
00:00:38.000 --> 00:00:40.240
|
| 43 |
+
que los lenguajes de la época, en aquel
|
| 44 |
+
|
| 45 |
+
00:00:40.240 --> 00:00:43.675
|
| 46 |
+
momento, no estaban pensados para tal finalidad. Cuando
|
| 47 |
+
|
| 48 |
+
00:00:43.675 --> 00:00:46.255
|
| 49 |
+
crearon el lenguaje de programación C, las computadoras
|
| 50 |
+
|
| 51 |
+
00:00:46.555 --> 00:00:50.075
|
| 52 |
+
estaban en un estado bastante primitivo. Apenas existían
|
| 53 |
+
|
| 54 |
+
00:00:50.075 --> 00:00:52.635
|
| 55 |
+
las computadoras electrónicas y, en muchos de los
|
| 56 |
+
|
| 57 |
+
00:00:52.635 --> 00:00:54.715
|
| 58 |
+
casos, ni siquiera se parecían a lo que
|
| 59 |
+
|
| 60 |
+
00:00:54.715 --> 00:00:57.114
|
| 61 |
+
tenemos hoy en día. Por ejemplo, como puedes
|
| 62 |
+
|
| 63 |
+
00:00:57.114 --> 00:00:59.550
|
| 64 |
+
ver en la fotografía, las computadoras de aquella
|
| 65 |
+
|
| 66 |
+
00:00:59.550 --> 00:01:02.750
|
| 67 |
+
época no necesariamente tenían un monitor para mostrar
|
| 68 |
+
|
| 69 |
+
00:01:02.750 --> 00:01:04.909
|
| 70 |
+
los datos de salida de los resultados de
|
| 71 |
+
|
| 72 |
+
00:01:04.909 --> 00:01:08.110
|
| 73 |
+
los programas. En lugar de eso, utilizaban papel
|
| 74 |
+
|
| 75 |
+
00:01:08.110 --> 00:01:10.990
|
| 76 |
+
y tinta para mostrar por medio de una
|
| 77 |
+
|
| 78 |
+
00:01:10.990 --> 00:01:13.310
|
| 79 |
+
impresora cuáles habían sido de los resultados de
|
| 80 |
+
|
| 81 |
+
00:01:13.310 --> 00:01:16.555
|
| 82 |
+
salida. Y de la misma manera, se utilizaba
|
| 83 |
+
|
| 84 |
+
00:01:16.555 --> 00:01:19.195
|
| 85 |
+
un teclado bastante primitivo, muy distinto a los
|
| 86 |
+
|
| 87 |
+
00:01:19.195 --> 00:01:21.755
|
| 88 |
+
teclados actuales, para realizar la entrada de datos
|
| 89 |
+
|
| 90 |
+
00:01:21.755 --> 00:01:24.555
|
| 91 |
+
del programa. Sin embargo, ya teníamos esos dos
|
| 92 |
+
|
| 93 |
+
00:01:24.555 --> 00:01:27.034
|
| 94 |
+
conceptos fundamentales de la entrada y salida de
|
| 95 |
+
|
| 96 |
+
00:01:27.034 --> 00:01:30.479
|
| 97 |
+
datos utilizando texto. En este caso, por medio
|
| 98 |
+
|
| 99 |
+
00:01:30.479 --> 00:01:32.320
|
| 100 |
+
de un teclado similar al de una máquina
|
| 101 |
+
|
| 102 |
+
00:01:32.320 --> 00:01:35.760
|
| 103 |
+
de escribir y una impresora que mostraba los
|
| 104 |
+
|
| 105 |
+
00:01:35.760 --> 00:01:37.280
|
| 106 |
+
textos de la salida del programa en el
|
| 107 |
+
|
| 108 |
+
00:01:37.280 --> 00:01:42.400
|
| 109 |
+
papel. Estas dos características fueron bastante importantes para
|
| 110 |
+
|
| 111 |
+
00:01:42.400 --> 00:01:44.885
|
| 112 |
+
la creación del lenguaje de programación C, ya
|
| 113 |
+
|
| 114 |
+
00:01:44.885 --> 00:01:47.405
|
| 115 |
+
que cuando se desarrolló, pues, esta era la
|
| 116 |
+
|
| 117 |
+
00:01:47.405 --> 00:01:52.265
|
| 118 |
+
forma principal de utilizar las computadoras. Más tarde,
|
| 119 |
+
|
| 120 |
+
00:01:52.965 --> 00:01:56.405
|
| 121 |
+
John Stroustrop desarrolló una nueva versión o una
|
| 122 |
+
|
| 123 |
+
00:01:56.405 --> 00:01:59.500
|
| 124 |
+
nueva implementación del lenguaje de programación C al
|
| 125 |
+
|
| 126 |
+
00:01:59.500 --> 00:02:01.659
|
| 127 |
+
que llamó C con clases, ya que le
|
| 128 |
+
|
| 129 |
+
00:02:01.659 --> 00:02:05.340
|
| 130 |
+
agregó la capacidad de soportar el paradigma orientado
|
| 131 |
+
|
| 132 |
+
00:02:05.340 --> 00:02:09.039
|
| 133 |
+
a objetos, es decir, la capacidad de generar
|
| 134 |
+
|
| 135 |
+
00:02:09.500 --> 00:02:12.060
|
| 136 |
+
aplicaciones con un mayor nivel de abstracción que
|
| 137 |
+
|
| 138 |
+
00:02:12.060 --> 00:02:15.435
|
| 139 |
+
el original del lenguaje de programación C. Para
|
| 140 |
+
|
| 141 |
+
00:02:15.435 --> 00:02:17.675
|
| 142 |
+
esto, pasaron algunos años antes de que él
|
| 143 |
+
|
| 144 |
+
00:02:17.675 --> 00:02:19.275
|
| 145 |
+
comenzara a llamar a su nuevo lenguaje de
|
| 146 |
+
|
| 147 |
+
00:02:19.275 --> 00:02:22.875
|
| 148 |
+
programación C más más. Es importante destacar que
|
| 149 |
+
|
| 150 |
+
00:02:22.875 --> 00:02:25.915
|
| 151 |
+
para cuando Jans Trotstrap comenzó a desarrollar C
|
| 152 |
+
|
| 153 |
+
00:02:25.915 --> 00:02:28.040
|
| 154 |
+
más más, ya habían pasado poco más de
|
| 155 |
+
|
| 156 |
+
00:02:28.040 --> 00:02:31.240
|
| 157 |
+
diez años y la computación había evolucionado bastante
|
| 158 |
+
|
| 159 |
+
00:02:31.240 --> 00:02:34.300
|
| 160 |
+
desde entonces. Por lo tanto, cuando él desarrolló,
|
| 161 |
+
|
| 162 |
+
00:02:34.600 --> 00:02:37.420
|
| 163 |
+
ya estaba el concepto de un sistema operativo
|
| 164 |
+
|
| 165 |
+
00:02:37.480 --> 00:02:40.665
|
| 166 |
+
y de desarrollar aplicaciones sobre él mismo, sin
|
| 167 |
+
|
| 168 |
+
00:02:40.665 --> 00:02:43.265
|
| 169 |
+
necesidad de entender cómo funcionaba por debajo la
|
| 170 |
+
|
| 171 |
+
00:02:43.265 --> 00:02:45.905
|
| 172 |
+
computadora a nivel de hardware. Estas son una
|
| 173 |
+
|
| 174 |
+
00:02:45.905 --> 00:02:49.205
|
| 175 |
+
de las mayores diferencias entre el lenguaje de
|
| 176 |
+
|
| 177 |
+
00:02:49.265 --> 00:02:51.745
|
| 178 |
+
programación C original y C más más. Sin
|
| 179 |
+
|
| 180 |
+
00:02:51.745 --> 00:02:55.489
|
| 181 |
+
embargo, muchas de las características de C son
|
| 182 |
+
|
| 183 |
+
00:02:55.489 --> 00:02:57.410
|
| 184 |
+
heredadas por el lenguaje de programación C más
|
| 185 |
+
|
| 186 |
+
00:02:57.410 --> 00:03:00.209
|
| 187 |
+
más. La mayor parte de las que veremos
|
| 188 |
+
|
| 189 |
+
00:03:00.209 --> 00:03:03.090
|
| 190 |
+
en este curso son compatibles con ambos. Por
|
| 191 |
+
|
| 192 |
+
00:03:03.090 --> 00:03:06.129
|
| 193 |
+
último, me gustaría que vieras, en comparación, cómo
|
| 194 |
+
|
| 195 |
+
00:03:06.129 --> 00:03:09.895
|
| 196 |
+
evoluciona la computación entre los dos lenguajes de
|
| 197 |
+
|
| 198 |
+
00:03:09.895 --> 00:03:12.935
|
| 199 |
+
programación. Entre los sesentas y los setentas, cuando
|
| 200 |
+
|
| 201 |
+
00:03:12.935 --> 00:03:15.255
|
| 202 |
+
Denis Richie y los investigadores de su equipo
|
| 203 |
+
|
| 204 |
+
00:03:15.255 --> 00:03:19.255
|
| 205 |
+
estuvieron investigando sobre lenguajes de programación y sobre
|
| 206 |
+
|
| 207 |
+
00:03:19.255 --> 00:03:22.215
|
| 208 |
+
sistemas operativos, y desarrollaron la primera versión de
|
| 209 |
+
|
| 210 |
+
00:03:22.215 --> 00:03:26.070
|
| 211 |
+
Unix, o los ochentas, cuando GeneStrolStrow tuvo la
|
| 212 |
+
|
| 213 |
+
00:03:26.070 --> 00:03:28.790
|
| 214 |
+
oportunidad de desarrollar su propia implementación de C
|
| 215 |
+
|
| 216 |
+
00:03:28.790 --> 00:03:31.910
|
| 217 |
+
más más. Dicho esto, te invito a nuestra
|
| 218 |
+
|
| 219 |
+
00:03:31.910 --> 00:03:34.890
|
| 220 |
+
siguiente clase, donde hablaremos sobre el entorno desarrollo
|
| 221 |
+
|
| 222 |
+
00:03:35.030 --> 00:03:38.421
|
| 223 |
+
y el proceso de compilación. Además, realizaremos la
|
| 224 |
+
|
| 225 |
+
00:03:38.641 --> 00:03:41.201
|
| 226 |
+
instalación de las herramientas necesarias para trabajar con
|
| 227 |
+
|
| 228 |
+
00:03:41.201 --> 00:03:42.741
|
| 229 |
+
estos lenguajes de programación.
|
subir/Curso de C Básico/01-Introducción/01-Lecturas recomendadas.txt
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
https://github.com/platzi/curso-basico-c-plus-plus
|
subir/Curso de C Básico/01-Introducción/01-Resumen.html
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
subir/Curso de C Básico/01-Introducción/01-slides-del-curso-de-c-basico_b86bef99-5598-467a-9d40-36b44adfd1ae.pdf
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:52a78a5b7bc562228d9722303d3ba709ad6b9d3184482748d9082a3cc7e6dcb0
|
| 3 |
+
size 402889
|
subir/Curso de C Básico/02-Entorno de desarrollo/01-Lecturas recomendadas.txt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
https://platzi.com/cursos/prework-windows/
|
| 2 |
+
https://platzi.com/cursos/prework-macos/
|
| 3 |
+
https://code.visualstudio.com/
|
subir/Curso de C Básico/02-Entorno de desarrollo/01-Proceso de compilación en C paso a paso.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:982448a39ed67f5712a51ef30e3db88693369c17e927cb2f2441aff27a1efe09
|
| 3 |
+
size 46131852
|
subir/Curso de C Básico/02-Entorno de desarrollo/01-Proceso de compilación en C paso a paso.vtt
ADDED
|
@@ -0,0 +1,259 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:02.960 --> 00:00:05.040
|
| 4 |
+
Vamos a hablar sobre el proceso de compilación
|
| 5 |
+
|
| 6 |
+
00:00:05.040 --> 00:00:07.779
|
| 7 |
+
del lenguaje C más más. Como bien sabes,
|
| 8 |
+
|
| 9 |
+
00:00:08.000 --> 00:00:10.320
|
| 10 |
+
el lenguaje de programación C y el lenguaje
|
| 11 |
+
|
| 12 |
+
00:00:10.320 --> 00:00:12.980
|
| 13 |
+
de programación C más más son lenguajes compilados,
|
| 14 |
+
|
| 15 |
+
00:00:13.120 --> 00:00:15.875
|
| 16 |
+
es decir, requieren de un programa compilador que
|
| 17 |
+
|
| 18 |
+
00:00:15.875 --> 00:00:18.135
|
| 19 |
+
convierta el código fuente que vas a escribir
|
| 20 |
+
|
| 21 |
+
00:00:18.275 --> 00:00:21.155
|
| 22 |
+
durante el proceso de programación y generen un
|
| 23 |
+
|
| 24 |
+
00:00:21.155 --> 00:00:22.835
|
| 25 |
+
archivo ejecutable, que es el que le vas
|
| 26 |
+
|
| 27 |
+
00:00:22.835 --> 00:00:25.635
|
| 28 |
+
a entregar a tus usuarios. El proceso de
|
| 29 |
+
|
| 30 |
+
00:00:25.635 --> 00:00:29.340
|
| 31 |
+
compilación es el siguiente. En primer lugar, vas
|
| 32 |
+
|
| 33 |
+
00:00:29.340 --> 00:00:31.260
|
| 34 |
+
a escribir el código fuente en un editor
|
| 35 |
+
|
| 36 |
+
00:00:31.260 --> 00:00:33.980
|
| 37 |
+
de código o IDE. Este es tu entorno
|
| 38 |
+
|
| 39 |
+
00:00:33.980 --> 00:00:36.800
|
| 40 |
+
de desarrollo integrado o el editor de código
|
| 41 |
+
|
| 42 |
+
00:00:36.860 --> 00:00:39.660
|
| 43 |
+
de tu preferencia, donde vas a escribir código
|
| 44 |
+
|
| 45 |
+
00:00:39.660 --> 00:00:42.095
|
| 46 |
+
en C más más. Ahí vas a generar
|
| 47 |
+
|
| 48 |
+
00:00:42.095 --> 00:00:44.415
|
| 49 |
+
archivos de código fuente que pueden tener la
|
| 50 |
+
|
| 51 |
+
00:00:44.415 --> 00:00:47.155
|
| 52 |
+
extensión punto h o la extensión punto CVP.
|
| 53 |
+
|
| 54 |
+
00:00:47.455 --> 00:00:50.035
|
| 55 |
+
Esto le va a indicar a tu preprocesador
|
| 56 |
+
|
| 57 |
+
00:00:50.655 --> 00:00:52.415
|
| 58 |
+
que estos son los archivos de código fuente
|
| 59 |
+
|
| 60 |
+
00:00:52.415 --> 00:00:55.680
|
| 61 |
+
que va a utilizar más adelante. El paso
|
| 62 |
+
|
| 63 |
+
00:00:55.680 --> 00:00:59.440
|
| 64 |
+
dos es el preprocesamiento, y aquí se ejecuta
|
| 65 |
+
|
| 66 |
+
00:00:59.440 --> 00:01:02.320
|
| 67 |
+
un pequeño programa conocido como el preprocesador, que
|
| 68 |
+
|
| 69 |
+
00:01:02.320 --> 00:01:05.200
|
| 70 |
+
se encarga de tomar los diferentes archivos de
|
| 71 |
+
|
| 72 |
+
00:01:05.200 --> 00:01:08.160
|
| 73 |
+
código fuente que están en texto plano, justo
|
| 74 |
+
|
| 75 |
+
00:01:08.160 --> 00:01:11.755
|
| 76 |
+
como tú los habías escrito, para ser utilizados
|
| 77 |
+
|
| 78 |
+
00:01:12.135 --> 00:01:15.095
|
| 79 |
+
por el preprocesador, de forma que este los
|
| 80 |
+
|
| 81 |
+
00:01:15.095 --> 00:01:17.575
|
| 82 |
+
pueda juntar en un único archivo o en
|
| 83 |
+
|
| 84 |
+
00:01:17.575 --> 00:01:20.875
|
| 85 |
+
los archivos necesarios para realizar los pasos posteriores.
|
| 86 |
+
|
| 87 |
+
00:01:22.450 --> 00:01:25.570
|
| 88 |
+
A continuación, sucedería el paso tres, que es
|
| 89 |
+
|
| 90 |
+
00:01:25.570 --> 00:01:28.930
|
| 91 |
+
el proceso de compilación. El compilador es el
|
| 92 |
+
|
| 93 |
+
00:01:28.930 --> 00:01:30.930
|
| 94 |
+
programa que realiza la mayor parte de la
|
| 95 |
+
|
| 96 |
+
00:01:30.930 --> 00:01:33.890
|
| 97 |
+
magia durante este proceso, y se trata de
|
| 98 |
+
|
| 99 |
+
00:01:33.890 --> 00:01:35.650
|
| 100 |
+
un programa que va a tomar el código
|
| 101 |
+
|
| 102 |
+
00:01:35.650 --> 00:01:37.435
|
| 103 |
+
fuente que tú hayas escrito y lo va
|
| 104 |
+
|
| 105 |
+
00:01:37.435 --> 00:01:41.055
|
| 106 |
+
a convertir en un código objeto. Este código
|
| 107 |
+
|
| 108 |
+
00:01:41.515 --> 00:01:43.275
|
| 109 |
+
objeto es un código que ya está mucho
|
| 110 |
+
|
| 111 |
+
00:01:43.275 --> 00:01:45.775
|
| 112 |
+
más cercano a lo que la máquina necesita
|
| 113 |
+
|
| 114 |
+
00:01:46.075 --> 00:01:48.075
|
| 115 |
+
para interpretar, es un código que ya no
|
| 116 |
+
|
| 117 |
+
00:01:48.075 --> 00:01:49.915
|
| 118 |
+
es legible para un ser humano de una
|
| 119 |
+
|
| 120 |
+
00:01:49.915 --> 00:01:52.495
|
| 121 |
+
forma sencilla, como lo es el código fuente.
|
| 122 |
+
|
| 123 |
+
00:01:53.680 --> 00:01:57.920
|
| 124 |
+
El paso número cuatro sería el linker. Este
|
| 125 |
+
|
| 126 |
+
00:01:57.920 --> 00:02:00.159
|
| 127 |
+
programa se va a encargar de juntar tu
|
| 128 |
+
|
| 129 |
+
00:02:00.159 --> 00:02:03.039
|
| 130 |
+
código fuente después de haber sido procesado y
|
| 131 |
+
|
| 132 |
+
00:02:03.039 --> 00:02:08.095
|
| 133 |
+
compilado en código objeto con las librerías o
|
| 134 |
+
|
| 135 |
+
00:02:08.095 --> 00:02:11.135
|
| 136 |
+
dependencias que tú hayas indicado que necesita tu
|
| 137 |
+
|
| 138 |
+
00:02:11.135 --> 00:02:16.675
|
| 139 |
+
programa durante el proceso de linkkeado. A continuación,
|
| 140 |
+
|
| 141 |
+
00:02:16.855 --> 00:02:20.660
|
| 142 |
+
ya durante la ejecución del programa, se realizaría
|
| 143 |
+
|
| 144 |
+
00:02:21.200 --> 00:02:23.880
|
| 145 |
+
el paso número cinco, que es la carga,
|
| 146 |
+
|
| 147 |
+
00:02:23.880 --> 00:02:26.240
|
| 148 |
+
y esto es realizado por el loader. El
|
| 149 |
+
|
| 150 |
+
00:02:26.240 --> 00:02:29.760
|
| 151 |
+
loader es un pequeño programa que arranca la
|
| 152 |
+
|
| 153 |
+
00:02:29.760 --> 00:02:31.780
|
| 154 |
+
ejecución de tu código en C más más
|
| 155 |
+
|
| 156 |
+
00:02:31.785 --> 00:02:33.385
|
| 157 |
+
y que va a importar todas aquellas librerías
|
| 158 |
+
|
| 159 |
+
00:02:33.385 --> 00:02:37.645
|
| 160 |
+
que tú hayas indicado que pueden ser obtenidas
|
| 161 |
+
|
| 162 |
+
00:02:37.785 --> 00:02:40.685
|
| 163 |
+
de forma dinámica, es decir, que no necesariamente
|
| 164 |
+
|
| 165 |
+
00:02:41.465 --> 00:02:44.280
|
| 166 |
+
necesitan incluirse dentro del ejecutable de tu programa,
|
| 167 |
+
|
| 168 |
+
00:02:44.360 --> 00:02:46.520
|
| 169 |
+
sino que pueden ya estar instaladas en el
|
| 170 |
+
|
| 171 |
+
00:02:46.520 --> 00:02:49.980
|
| 172 |
+
sistema operativo destino para que este pueda invocarlas,
|
| 173 |
+
|
| 174 |
+
00:02:50.520 --> 00:02:53.880
|
| 175 |
+
como comunicarse con otros programas y depender de
|
| 176 |
+
|
| 177 |
+
00:02:53.880 --> 00:02:57.800
|
| 178 |
+
ellas, pero de una forma dinámica. Y el
|
| 179 |
+
|
| 180 |
+
00:02:57.800 --> 00:03:01.695
|
| 181 |
+
último paso sería la ejecución. Aquí nuestro programa
|
| 182 |
+
|
| 183 |
+
00:03:01.695 --> 00:03:03.455
|
| 184 |
+
va a ser montado en la memoria y
|
| 185 |
+
|
| 186 |
+
00:03:03.455 --> 00:03:06.755
|
| 187 |
+
va a poder acceder y ejecutar sus instrucciones
|
| 188 |
+
|
| 189 |
+
00:03:06.815 --> 00:03:09.535
|
| 190 |
+
una tras otra en nuestra CPU, donde va
|
| 191 |
+
|
| 192 |
+
00:03:09.535 --> 00:03:11.695
|
| 193 |
+
a poder recibir los datos de entrada y
|
| 194 |
+
|
| 195 |
+
00:03:11.695 --> 00:03:14.100
|
| 196 |
+
generar los datos de salida. Ahora que ya
|
| 197 |
+
|
| 198 |
+
00:03:14.100 --> 00:03:16.020
|
| 199 |
+
sabes cómo es el proceso de compilación de
|
| 200 |
+
|
| 201 |
+
00:03:16.020 --> 00:03:18.200
|
| 202 |
+
C más más, sabes que vamos a necesitar
|
| 203 |
+
|
| 204 |
+
00:03:18.340 --> 00:03:21.080
|
| 205 |
+
dos herramientas principales para trabajar con este curso.
|
| 206 |
+
|
| 207 |
+
00:03:21.220 --> 00:03:23.940
|
| 208 |
+
La primera es nuestro editor de código. En
|
| 209 |
+
|
| 210 |
+
00:03:23.940 --> 00:03:26.500
|
| 211 |
+
este curso vamos a estar utilizando Visual Studio
|
| 212 |
+
|
| 213 |
+
00:03:26.500 --> 00:03:29.135
|
| 214 |
+
Code, que tú ya deberías tener instalado. Si
|
| 215 |
+
|
| 216 |
+
00:03:29.135 --> 00:03:31.535
|
| 217 |
+
no lo tienes instalado, te invito a realizar
|
| 218 |
+
|
| 219 |
+
00:03:31.535 --> 00:03:33.795
|
| 220 |
+
el curso de prework de Platzi, donde aprenderás
|
| 221 |
+
|
| 222 |
+
00:03:34.335 --> 00:03:37.375
|
| 223 |
+
todos los pasos necesarios para su instalación. La
|
| 224 |
+
|
| 225 |
+
00:03:37.375 --> 00:03:41.055
|
| 226 |
+
segunda será nuestro compilador. En este caso, vamos
|
| 227 |
+
|
| 228 |
+
00:03:41.055 --> 00:03:44.300
|
| 229 |
+
a estar utilizando la herramienta de compilación GCC,
|
| 230 |
+
|
| 231 |
+
00:03:44.300 --> 00:03:47.660
|
| 232 |
+
de código de código libre, que, en el
|
| 233 |
+
|
| 234 |
+
00:03:47.660 --> 00:03:50.400
|
| 235 |
+
caso de los sistemas operativos Linux, ya viene
|
| 236 |
+
|
| 237 |
+
00:03:50.540 --> 00:03:52.380
|
| 238 |
+
instalado, así que no necesitarás realizar nada más
|
| 239 |
+
|
| 240 |
+
00:03:52.380 --> 00:03:55.820
|
| 241 |
+
que instalar tu editor de código. Y, en
|
| 242 |
+
|
| 243 |
+
00:03:55.820 --> 00:03:58.380
|
| 244 |
+
el caso de los sistemas operativos Windows y
|
| 245 |
+
|
| 246 |
+
00:03:58.380 --> 00:04:01.505
|
| 247 |
+
Mac, te dejaremos dos lecciones en texto donde
|
| 248 |
+
|
| 249 |
+
00:04:01.505 --> 00:04:04.145
|
| 250 |
+
aprenderás cómo realizar la instalación para tu sistema
|
| 251 |
+
|
| 252 |
+
00:04:04.145 --> 00:04:07.505
|
| 253 |
+
operativo. Te invito a la siguiente clase, donde
|
| 254 |
+
|
| 255 |
+
00:04:07.505 --> 00:04:10.565
|
| 256 |
+
por primera vez comenzaremos a realizar nuestro código
|
| 257 |
+
|
| 258 |
+
00:04:11.185 --> 00:04:12.325
|
| 259 |
+
con C más más.
|
subir/Curso de C Básico/02-Entorno de desarrollo/01-Resumen.html
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
subir/Curso de C Básico/02-Entorno de desarrollo/02-Instalación del compilador C en Windows usando MinGW.mhtml
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
subir/Curso de C Básico/02-Entorno de desarrollo/03-Instalación de C y configuración en Linux y Visual Studio Code.mhtml
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
subir/Curso de C Básico/02-Entorno de desarrollo/04-Instalación de Xcode y extensiones C en VSCode.mhtml
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
subir/Curso de C Básico/03-Conceptos básicos/01-Lecturas recomendadas.txt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
https://github.com/platzi/curso-basico-c-plus-plus/tree/estructura-base
|
| 2 |
+
https://marketplace.visualstudio.com/items?itemName=danielpinto8zz6.c-cpp-compile-run
|
| 3 |
+
https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools
|
subir/Curso de C Básico/03-Conceptos básicos/01-Primer Programa Hola Mundo en C Estructura y Ejecución Básica.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:2ea5b51ad8c43d8299610a6dac0571add4b179e0f73b95fa4878f33c79202394
|
| 3 |
+
size 64130542
|
subir/Curso de C Básico/03-Conceptos básicos/01-Primer Programa Hola Mundo en C Estructura y Ejecución Básica.vtt
ADDED
|
@@ -0,0 +1,355 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:03.199 --> 00:00:05.600
|
| 4 |
+
Por fin, vamos a realizar nuestro primer ejemplo
|
| 5 |
+
|
| 6 |
+
00:00:05.600 --> 00:00:08.639
|
| 7 |
+
de código en este curso. Vamos a hablar
|
| 8 |
+
|
| 9 |
+
00:00:08.639 --> 00:00:11.219
|
| 10 |
+
sobre nuestro hola mundo y la estructura básica
|
| 11 |
+
|
| 12 |
+
00:00:11.280 --> 00:00:13.674
|
| 13 |
+
de un programa en C más más. Ahora
|
| 14 |
+
|
| 15 |
+
00:00:13.674 --> 00:00:15.514
|
| 16 |
+
que ya estamos en nuestro editor de código,
|
| 17 |
+
|
| 18 |
+
00:00:15.514 --> 00:00:18.154
|
| 19 |
+
voy a crear un archivo donde voy a
|
| 20 |
+
|
| 21 |
+
00:00:18.154 --> 00:00:21.775
|
| 22 |
+
generar todo el código fuente de mi programa
|
| 23 |
+
|
| 24 |
+
00:00:21.835 --> 00:00:24.395
|
| 25 |
+
de Hola Mundo. Este archivo lo voy a
|
| 26 |
+
|
| 27 |
+
00:00:24.395 --> 00:00:26.154
|
| 28 |
+
guardar en una carpeta que yo ya creé
|
| 29 |
+
|
| 30 |
+
00:00:26.154 --> 00:00:28.410
|
| 31 |
+
para las clases. Tú lo puedes crear en
|
| 32 |
+
|
| 33 |
+
00:00:28.410 --> 00:00:32.409
|
| 34 |
+
cualquier carpeta limpia que tú necesites trabajar de
|
| 35 |
+
|
| 36 |
+
00:00:32.409 --> 00:00:34.270
|
| 37 |
+
la forma en que te convenga más organizarlo.
|
| 38 |
+
|
| 39 |
+
00:00:34.730 --> 00:00:36.750
|
| 40 |
+
Vamos a dejarte el código en unos repositorios
|
| 41 |
+
|
| 42 |
+
00:00:37.050 --> 00:00:39.550
|
| 43 |
+
de Github para que puedas tenerlo de referencia.
|
| 44 |
+
|
| 45 |
+
00:00:41.505 --> 00:00:44.045
|
| 46 |
+
En este caso, vamos a comenzar a programar
|
| 47 |
+
|
| 48 |
+
00:00:44.065 --> 00:00:48.145
|
| 49 |
+
nuestro archivo llamado, siempre con una extensión punto
|
| 50 |
+
|
| 51 |
+
00:00:48.145 --> 00:00:50.545
|
| 52 |
+
CPP. Yo le voy a poner main punto
|
| 53 |
+
|
| 54 |
+
00:00:50.545 --> 00:00:52.945
|
| 55 |
+
CPP para mantener ese estándar a lo largo
|
| 56 |
+
|
| 57 |
+
00:00:52.945 --> 00:00:56.690
|
| 58 |
+
de todos los ejemplos de este curso. Por
|
| 59 |
+
|
| 60 |
+
00:00:56.690 --> 00:00:58.530
|
| 61 |
+
lo tanto, aquí en esta carpeta voy a
|
| 62 |
+
|
| 63 |
+
00:00:58.530 --> 00:01:00.449
|
| 64 |
+
empezar a escribir el nombre del archivo main
|
| 65 |
+
|
| 66 |
+
00:01:00.449 --> 00:01:05.170
|
| 67 |
+
punto CPY ahora sí, ya tengo creado mi
|
| 68 |
+
|
| 69 |
+
00:01:05.170 --> 00:01:07.509
|
| 70 |
+
archivo de código fuente de c más más.
|
| 71 |
+
|
| 72 |
+
00:01:09.174 --> 00:01:11.354
|
| 73 |
+
Con esto puedo comenzar a escribir el código
|
| 74 |
+
|
| 75 |
+
00:01:11.735 --> 00:01:15.515
|
| 76 |
+
que necesite para realizar mi programa. Por ejemplo,
|
| 77 |
+
|
| 78 |
+
00:01:15.814 --> 00:01:20.314
|
| 79 |
+
voy a realizar esta instrucción que se conoce
|
| 80 |
+
|
| 81 |
+
00:01:20.615 --> 00:01:22.650
|
| 82 |
+
como include, que lo que me permite es
|
| 83 |
+
|
| 84 |
+
00:01:22.650 --> 00:01:26.170
|
| 85 |
+
incluir o importar una librería de código que
|
| 86 |
+
|
| 87 |
+
00:01:26.170 --> 00:01:29.450
|
| 88 |
+
contiene funcionalidades necesarias que yo pueda llegar a
|
| 89 |
+
|
| 90 |
+
00:01:29.450 --> 00:01:32.250
|
| 91 |
+
utilizar. Por ejemplo, voy a utilizar una que
|
| 92 |
+
|
| 93 |
+
00:01:32.250 --> 00:01:36.535
|
| 94 |
+
se llama iostream. Esta librería me permite obtener
|
| 95 |
+
|
| 96 |
+
00:01:36.535 --> 00:01:39.015
|
| 97 |
+
datos de entrada del programa o mostrar datos
|
| 98 |
+
|
| 99 |
+
00:01:39.015 --> 00:01:40.935
|
| 100 |
+
de salida por medio de la terminal de
|
| 101 |
+
|
| 102 |
+
00:01:40.935 --> 00:01:45.195
|
| 103 |
+
comandos, y eso va a ser posible también
|
| 104 |
+
|
| 105 |
+
00:01:45.495 --> 00:01:47.495
|
| 106 |
+
gracias a otra línea de código que siempre
|
| 107 |
+
|
| 108 |
+
00:01:47.495 --> 00:01:50.340
|
| 109 |
+
vamos a poner en nuestros programas, ya veremos
|
| 110 |
+
|
| 111 |
+
00:01:50.340 --> 00:01:56.039
|
| 112 |
+
después por qué, que se llama usync namespace
|
| 113 |
+
|
| 114 |
+
00:01:57.860 --> 00:02:02.439
|
| 115 |
+
std. Esta línea lo que hace es permitirnos
|
| 116 |
+
|
| 117 |
+
00:02:02.659 --> 00:02:04.740
|
| 118 |
+
utilizar el espacio de nombres estándar de C
|
| 119 |
+
|
| 120 |
+
00:02:04.740 --> 00:02:07.175
|
| 121 |
+
más más, es decir, todas esas cosas que
|
| 122 |
+
|
| 123 |
+
00:02:07.175 --> 00:02:09.175
|
| 124 |
+
tienen un nombre dentro de nuestro programa, que
|
| 125 |
+
|
| 126 |
+
00:02:09.175 --> 00:02:13.415
|
| 127 |
+
pueden ser piezas de código reutilizables para poder
|
| 128 |
+
|
| 129 |
+
00:02:13.415 --> 00:02:16.455
|
| 130 |
+
importarlas sin necesidad de escribir desde dónde las
|
| 131 |
+
|
| 132 |
+
00:02:16.455 --> 00:02:20.120
|
| 133 |
+
estamos importando y aún así poder utilizarlas. Por
|
| 134 |
+
|
| 135 |
+
00:02:20.660 --> 00:02:25.220
|
| 136 |
+
ejemplo, vamos a crear un código que es
|
| 137 |
+
|
| 138 |
+
00:02:25.220 --> 00:02:29.000
|
| 139 |
+
esta estructura básica, que es la estructura básica
|
| 140 |
+
|
| 141 |
+
00:02:29.300 --> 00:02:31.300
|
| 142 |
+
de cualquier programa en C más más, siempre
|
| 143 |
+
|
| 144 |
+
00:02:31.300 --> 00:02:33.075
|
| 145 |
+
que queremos un programa en C más más
|
| 146 |
+
|
| 147 |
+
00:02:33.155 --> 00:02:34.995
|
| 148 |
+
o en el lenguaje de programación C, vamos
|
| 149 |
+
|
| 150 |
+
00:02:34.995 --> 00:02:36.834
|
| 151 |
+
a tener que escribir esta línea de código
|
| 152 |
+
|
| 153 |
+
00:02:36.834 --> 00:02:38.754
|
| 154 |
+
que aparece aquí en la línea cinco de
|
| 155 |
+
|
| 156 |
+
00:02:38.754 --> 00:02:42.355
|
| 157 |
+
nuestro editor, que es la función main. Más
|
| 158 |
+
|
| 159 |
+
00:02:42.355 --> 00:02:44.355
|
| 160 |
+
adelante vamos a hablar sobre las funciones y
|
| 161 |
+
|
| 162 |
+
00:02:44.355 --> 00:02:46.680
|
| 163 |
+
sobre por qué tienen esta estructura, pero, de
|
| 164 |
+
|
| 165 |
+
00:02:46.680 --> 00:02:49.580
|
| 166 |
+
momento, me gustaría que sepas que todos los
|
| 167 |
+
|
| 168 |
+
00:02:49.720 --> 00:02:52.680
|
| 169 |
+
programas comienzan por donde esté la función main,
|
| 170 |
+
|
| 171 |
+
00:02:52.680 --> 00:02:55.720
|
| 172 |
+
es decir, si queremos arrancar un programa de
|
| 173 |
+
|
| 174 |
+
00:02:55.720 --> 00:02:57.640
|
| 175 |
+
editor de video o un programa de editor
|
| 176 |
+
|
| 177 |
+
00:02:57.640 --> 00:03:00.225
|
| 178 |
+
de audio, cualquier tipo de programa que que
|
| 179 |
+
|
| 180 |
+
00:03:00.765 --> 00:03:03.005
|
| 181 |
+
realicemos en C más más siempre lo que
|
| 182 |
+
|
| 183 |
+
00:03:03.005 --> 00:03:05.165
|
| 184 |
+
coloquemos dentro de la función main es lo
|
| 185 |
+
|
| 186 |
+
00:03:05.165 --> 00:03:06.685
|
| 187 |
+
primero que se va a ejecutar de nuestro
|
| 188 |
+
|
| 189 |
+
00:03:06.685 --> 00:03:10.865
|
| 190 |
+
programa. Es conocido como el punto de entrada.
|
| 191 |
+
|
| 192 |
+
00:03:11.940 --> 00:03:14.659
|
| 193 |
+
Dentro de la función main, podemos escribir cualquier
|
| 194 |
+
|
| 195 |
+
00:03:14.659 --> 00:03:16.920
|
| 196 |
+
cantidad de código que queremos que se ejecute
|
| 197 |
+
|
| 198 |
+
00:03:16.980 --> 00:03:19.620
|
| 199 |
+
una vez arranque nuestro programa. En este caso,
|
| 200 |
+
|
| 201 |
+
00:03:19.620 --> 00:03:21.780
|
| 202 |
+
vamos a escribir un texto que nos va
|
| 203 |
+
|
| 204 |
+
00:03:21.780 --> 00:03:24.585
|
| 205 |
+
a decir hola mundo. La forma en que
|
| 206 |
+
|
| 207 |
+
00:03:24.585 --> 00:03:26.985
|
| 208 |
+
lo vamos a hacer es utilizando una funcionalidad
|
| 209 |
+
|
| 210 |
+
00:03:26.985 --> 00:03:30.505
|
| 211 |
+
que nos ofrece la librería iOStream, que es
|
| 212 |
+
|
| 213 |
+
00:03:30.505 --> 00:03:37.730
|
| 214 |
+
utilizar c out. C out y utilizar estos
|
| 215 |
+
|
| 216 |
+
00:03:37.790 --> 00:03:41.490
|
| 217 |
+
pequeños símbolos de menor que dos veces, nos
|
| 218 |
+
|
| 219 |
+
00:03:41.870 --> 00:03:44.370
|
| 220 |
+
permitirán escribir a continuación una cadena de texto
|
| 221 |
+
|
| 222 |
+
00:03:44.590 --> 00:03:48.030
|
| 223 |
+
que puede contener cualquier texto que queramos. La
|
| 224 |
+
|
| 225 |
+
00:03:48.030 --> 00:03:51.160
|
| 226 |
+
única condición es que debe ir entre comillas
|
| 227 |
+
|
| 228 |
+
00:03:51.160 --> 00:03:53.765
|
| 229 |
+
dobles, de esta forma. Por ejemplo, si yo
|
| 230 |
+
|
| 231 |
+
00:03:53.765 --> 00:03:55.925
|
| 232 |
+
quiero hacer mi programa de hola mundo, puedo
|
| 233 |
+
|
| 234 |
+
00:03:55.925 --> 00:04:02.644
|
| 235 |
+
poner hola mundo. Y una vez que termino
|
| 236 |
+
|
| 237 |
+
00:04:02.644 --> 00:04:05.140
|
| 238 |
+
de darle esta instrucción a mi programa, en
|
| 239 |
+
|
| 240 |
+
00:04:05.140 --> 00:04:07.300
|
| 241 |
+
el lenguaje de programación C y en los
|
| 242 |
+
|
| 243 |
+
00:04:07.300 --> 00:04:10.580
|
| 244 |
+
lenguajes que siguen al lenguaje programación C, como
|
| 245 |
+
|
| 246 |
+
00:04:10.580 --> 00:04:13.379
|
| 247 |
+
C más más, siempre, cada vez que terminamos
|
| 248 |
+
|
| 249 |
+
00:04:13.379 --> 00:04:15.220
|
| 250 |
+
de darle una orden a nuestro a nuestra
|
| 251 |
+
|
| 252 |
+
00:04:15.220 --> 00:04:17.160
|
| 253 |
+
computadora por medio de una línea de código,
|
| 254 |
+
|
| 255 |
+
00:04:17.300 --> 00:04:19.794
|
| 256 |
+
debemos terminar con un punto y coma. Si
|
| 257 |
+
|
| 258 |
+
00:04:19.794 --> 00:04:21.794
|
| 259 |
+
te das cuenta, la línea tres y la
|
| 260 |
+
|
| 261 |
+
00:04:21.794 --> 00:04:24.275
|
| 262 |
+
línea seis de nuestro editor de código terminan
|
| 263 |
+
|
| 264 |
+
00:04:24.275 --> 00:04:25.955
|
| 265 |
+
en punto y coma, porque le están dando
|
| 266 |
+
|
| 267 |
+
00:04:25.955 --> 00:04:29.794
|
| 268 |
+
una orden a la computadora. Las líneas cinco,
|
| 269 |
+
|
| 270 |
+
00:04:29.794 --> 00:04:32.194
|
| 271 |
+
la siete y la uno no necesitan un
|
| 272 |
+
|
| 273 |
+
00:04:32.194 --> 00:04:34.060
|
| 274 |
+
punto y coma, ya que estas no son
|
| 275 |
+
|
| 276 |
+
00:04:34.060 --> 00:04:36.000
|
| 277 |
+
órdenes directas que le damos a la computadora.
|
| 278 |
+
|
| 279 |
+
00:04:38.380 --> 00:04:40.300
|
| 280 |
+
Una vez que tenemos armado nuestro ejemplo de
|
| 281 |
+
|
| 282 |
+
00:04:40.300 --> 00:04:43.340
|
| 283 |
+
hola mundo, vamos a ejecutarlo. La forma fácil
|
| 284 |
+
|
| 285 |
+
00:04:43.340 --> 00:04:46.380
|
| 286 |
+
de hacerlo dentro de Visual Studio Code es
|
| 287 |
+
|
| 288 |
+
00:04:46.380 --> 00:04:49.435
|
| 289 |
+
instalando esta extensión que se llama C C
|
| 290 |
+
|
| 291 |
+
00:04:49.435 --> 00:04:55.375
|
| 292 |
+
más más Compile Run. La voy a instalar
|
| 293 |
+
|
| 294 |
+
00:04:55.435 --> 00:04:57.535
|
| 295 |
+
simplemente haciendo clic en el botón de instalación
|
| 296 |
+
|
| 297 |
+
00:04:58.075 --> 00:05:00.095
|
| 298 |
+
y, una vez que yo la tengo lista,
|
| 299 |
+
|
| 300 |
+
00:05:00.155 --> 00:05:03.320
|
| 301 |
+
ya está instalada. Como aquí dice en la
|
| 302 |
+
|
| 303 |
+
00:05:03.320 --> 00:05:07.080
|
| 304 |
+
documentación, podemos utilizar la tecla f seis para
|
| 305 |
+
|
| 306 |
+
00:05:07.080 --> 00:05:09.639
|
| 307 |
+
realizar la compilación de este programa y ver
|
| 308 |
+
|
| 309 |
+
00:05:09.639 --> 00:05:12.120
|
| 310 |
+
el resultado. Y es lo que voy a
|
| 311 |
+
|
| 312 |
+
00:05:12.120 --> 00:05:16.540
|
| 313 |
+
hacer a continuación. Aquí está, voy a oprimir
|
| 314 |
+
|
| 315 |
+
00:05:16.760 --> 00:05:19.525
|
| 316 |
+
f seis, y en este momento se está
|
| 317 |
+
|
| 318 |
+
00:05:19.525 --> 00:05:22.965
|
| 319 |
+
compilando nuestro programa y se ejecuta una vez
|
| 320 |
+
|
| 321 |
+
00:05:22.965 --> 00:05:25.685
|
| 322 |
+
que termina de compilar. Lo que nos muestra
|
| 323 |
+
|
| 324 |
+
00:05:25.685 --> 00:05:29.285
|
| 325 |
+
en la terminal es hola mundo. Felicidades, ya
|
| 326 |
+
|
| 327 |
+
00:05:29.285 --> 00:05:31.045
|
| 328 |
+
realizaste tu primer hola mundo en C más
|
| 329 |
+
|
| 330 |
+
00:05:31.045 --> 00:05:33.830
|
| 331 |
+
más. Este es el programa mínimo que puedes
|
| 332 |
+
|
| 333 |
+
00:05:33.830 --> 00:05:37.110
|
| 334 |
+
escribir en este lenguaje de programación, y esta
|
| 335 |
+
|
| 336 |
+
00:05:37.110 --> 00:05:38.870
|
| 337 |
+
misma base de código la vamos a estar
|
| 338 |
+
|
| 339 |
+
00:05:38.870 --> 00:05:40.950
|
| 340 |
+
utilizando para el resto de los ejemplos que
|
| 341 |
+
|
| 342 |
+
00:05:40.950 --> 00:05:43.578
|
| 343 |
+
vamos a realizar en este curso. Espero que
|
| 344 |
+
|
| 345 |
+
00:05:43.578 --> 00:05:45.898
|
| 346 |
+
te haya gustado muchísimo la forma en que
|
| 347 |
+
|
| 348 |
+
00:05:45.898 --> 00:05:47.418
|
| 349 |
+
funciona C más Más y que te haya
|
| 350 |
+
|
| 351 |
+
00:05:47.418 --> 00:05:50.478
|
| 352 |
+
causado muchísima curiosidad para que puedas seguirlo aprendiendo.
|
| 353 |
+
|
| 354 |
+
00:05:50.618 --> 00:05:52.478
|
| 355 |
+
Nos vemos en la próxima clase.
|
subir/Curso de C Básico/03-Conceptos básicos/01-Resumen.html
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
subir/Curso de C Básico/03-Conceptos básicos/01-estructura-base.zip
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:49b8e1f9b376795219a7bfd1e65e094fc651232e961ef6d526bfc19d11f0271f
|
| 3 |
+
size 757
|
subir/Curso de C Básico/03-Conceptos básicos/02-Resumen.html
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
subir/Curso de C Básico/03-Conceptos básicos/02-Tipos de Datos en C Booleanos Enteros Flotantes y Caracteres.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:9be01261e70a7fbd0853028b9fb64a059e91b179169bda3b9138a6f584b6a9d7
|
| 3 |
+
size 71250766
|
subir/Curso de C Básico/03-Conceptos básicos/02-Tipos de Datos en C Booleanos Enteros Flotantes y Caracteres.vtt
ADDED
|
@@ -0,0 +1,403 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:03.280 --> 00:00:04.799
|
| 4 |
+
Ahora vamos a hablar de otro tema que
|
| 5 |
+
|
| 6 |
+
00:00:04.799 --> 00:00:06.879
|
| 7 |
+
es súper importante para el lenguaje de programación
|
| 8 |
+
|
| 9 |
+
00:00:06.879 --> 00:00:08.900
|
| 10 |
+
C más más, igual que en otros lenguajes
|
| 11 |
+
|
| 12 |
+
00:00:09.040 --> 00:00:11.599
|
| 13 |
+
inspirados en C. Y este es los tipos
|
| 14 |
+
|
| 15 |
+
00:00:11.599 --> 00:00:14.420
|
| 16 |
+
de datos. Los tipos de datos son diferentes
|
| 17 |
+
|
| 18 |
+
00:00:15.085 --> 00:00:17.645
|
| 19 |
+
valores que podemos meter a una computadora. Por
|
| 20 |
+
|
| 21 |
+
00:00:17.645 --> 00:00:22.205
|
| 22 |
+
ejemplo, cuando queremos manipular información, como edades, nombres
|
| 23 |
+
|
| 24 |
+
00:00:22.205 --> 00:00:26.125
|
| 25 |
+
de personas o diferentes tipos de datos más
|
| 26 |
+
|
| 27 |
+
00:00:26.125 --> 00:00:29.050
|
| 28 |
+
complejos que queremos crear durante nuestro programa, necesitamos
|
| 29 |
+
|
| 30 |
+
00:00:29.109 --> 00:00:32.229
|
| 31 |
+
indicarle a nuestro lenguaje de programación cuáles son
|
| 32 |
+
|
| 33 |
+
00:00:32.229 --> 00:00:34.550
|
| 34 |
+
los datos que va a utilizar y también
|
| 35 |
+
|
| 36 |
+
00:00:34.550 --> 00:00:37.030
|
| 37 |
+
de qué tipos son. Esto nos va a
|
| 38 |
+
|
| 39 |
+
00:00:37.030 --> 00:00:38.809
|
| 40 |
+
permitir y le va a permitir al compilador
|
| 41 |
+
|
| 42 |
+
00:00:39.110 --> 00:00:42.164
|
| 43 |
+
entender, dependiendo del tipo de datos, qué son
|
| 44 |
+
|
| 45 |
+
00:00:42.164 --> 00:00:44.004
|
| 46 |
+
las cosas que puede hacer con estos datos
|
| 47 |
+
|
| 48 |
+
00:00:44.004 --> 00:00:45.364
|
| 49 |
+
y cómo las va a hacer, ¿no? Le
|
| 50 |
+
|
| 51 |
+
00:00:45.364 --> 00:00:47.445
|
| 52 |
+
va a permitir arrojarnos errores cuando lo hagamos
|
| 53 |
+
|
| 54 |
+
00:00:47.445 --> 00:00:49.364
|
| 55 |
+
mal y le va a permitir realizar operaciones
|
| 56 |
+
|
| 57 |
+
00:00:49.364 --> 00:00:52.245
|
| 58 |
+
cuando lo hagamos bien. Los diferentes tipos de
|
| 59 |
+
|
| 60 |
+
00:00:52.245 --> 00:00:56.230
|
| 61 |
+
datos que existen son muchísimos. Sin embargo, los
|
| 62 |
+
|
| 63 |
+
00:00:56.230 --> 00:00:59.110
|
| 64 |
+
principales son los que tienes aquí. La mayoría
|
| 65 |
+
|
| 66 |
+
00:00:59.110 --> 00:01:00.790
|
| 67 |
+
de los compiladores van a tener este tipo
|
| 68 |
+
|
| 69 |
+
00:01:00.790 --> 00:01:02.390
|
| 70 |
+
de datos, si no es que todos, ya
|
| 71 |
+
|
| 72 |
+
00:01:02.390 --> 00:01:04.390
|
| 73 |
+
que son parte del estándar. Y aquí es
|
| 74 |
+
|
| 75 |
+
00:01:04.390 --> 00:01:07.510
|
| 76 |
+
algo importante mencionar que en lenguajes como seis,
|
| 77 |
+
|
| 78 |
+
00:01:07.510 --> 00:01:10.435
|
| 79 |
+
C más más, aunque están estandarizados, todavía existen
|
| 80 |
+
|
| 81 |
+
00:01:10.435 --> 00:01:13.715
|
| 82 |
+
muchos compiladores independientes que se han creado que
|
| 83 |
+
|
| 84 |
+
00:01:13.715 --> 00:01:15.315
|
| 85 |
+
no cumplen al cien por ciento con todos
|
| 86 |
+
|
| 87 |
+
00:01:15.315 --> 00:01:18.595
|
| 88 |
+
los estándares, e incluso, dependiendo de la arquitectura
|
| 89 |
+
|
| 90 |
+
00:01:18.595 --> 00:01:20.115
|
| 91 |
+
de la computadora para la que vayas a
|
| 92 |
+
|
| 93 |
+
00:01:20.115 --> 00:01:22.995
|
| 94 |
+
compilar, es posible que, por ejemplo, los tamaños
|
| 95 |
+
|
| 96 |
+
00:01:22.995 --> 00:01:25.719
|
| 97 |
+
de bytes de estos tipos de datos cambien,
|
| 98 |
+
|
| 99 |
+
00:01:25.719 --> 00:01:28.219
|
| 100 |
+
por lo tanto, cambiando el tamaño de las
|
| 101 |
+
|
| 102 |
+
00:01:28.219 --> 00:01:31.020
|
| 103 |
+
cosas que pueden almacenar o el número máximo
|
| 104 |
+
|
| 105 |
+
00:01:31.020 --> 00:01:33.979
|
| 106 |
+
o mínimo de valores que pueden almacenar. Es
|
| 107 |
+
|
| 108 |
+
00:01:33.979 --> 00:01:36.460
|
| 109 |
+
importante que tomes esto en cuenta para que
|
| 110 |
+
|
| 111 |
+
00:01:36.460 --> 00:01:40.219
|
| 112 |
+
cuando programes para alguna plataforma real, siempre tengas
|
| 113 |
+
|
| 114 |
+
00:01:40.219 --> 00:01:43.545
|
| 115 |
+
en cuenta investigar cuáles son las los tamaños
|
| 116 |
+
|
| 117 |
+
00:01:43.545 --> 00:01:45.545
|
| 118 |
+
de bytes de reales de estos valores y
|
| 119 |
+
|
| 120 |
+
00:01:45.545 --> 00:01:47.625
|
| 121 |
+
de estos tipos de datos, y también cuáles
|
| 122 |
+
|
| 123 |
+
00:01:47.625 --> 00:01:49.545
|
| 124 |
+
son los tipos de datos soportados por tu
|
| 125 |
+
|
| 126 |
+
00:01:49.545 --> 00:01:52.985
|
| 127 |
+
compilador. Los principales tipos de datos, sin embargo,
|
| 128 |
+
|
| 129 |
+
00:01:52.985 --> 00:01:55.810
|
| 130 |
+
para continuar hablando del tema, son los siguientes.
|
| 131 |
+
|
| 132 |
+
00:01:55.830 --> 00:01:58.330
|
| 133 |
+
El primero es el valor booleano o bull.
|
| 134 |
+
|
| 135 |
+
00:01:58.630 --> 00:02:01.350
|
| 136 |
+
Son valores lógicos, es decir, verdadero y falso,
|
| 137 |
+
|
| 138 |
+
00:02:01.350 --> 00:02:04.550
|
| 139 |
+
esos dos estados o esos dos valores, que
|
| 140 |
+
|
| 141 |
+
00:02:04.550 --> 00:02:07.190
|
| 142 |
+
nuestro lenguaje de programación nos puede almacenar en
|
| 143 |
+
|
| 144 |
+
00:02:07.190 --> 00:02:10.955
|
| 145 |
+
cuatro bytes. Estos cuatro bytes se utilizan porque,
|
| 146 |
+
|
| 147 |
+
00:02:10.955 --> 00:02:13.355
|
| 148 |
+
aunque en realidad un verdadero y falso o
|
| 149 |
+
|
| 150 |
+
00:02:13.355 --> 00:02:15.595
|
| 151 |
+
uno cero los podríamos almacenar precisamente en un
|
| 152 |
+
|
| 153 |
+
00:02:15.595 --> 00:02:17.515
|
| 154 |
+
bit de información, la verdad es que los
|
| 155 |
+
|
| 156 |
+
00:02:17.515 --> 00:02:21.810
|
| 157 |
+
compiladores se facilitan la vida utilizando un tamaño
|
| 158 |
+
|
| 159 |
+
00:02:21.810 --> 00:02:24.769
|
| 160 |
+
completo de una variable para almacenar este valor,
|
| 161 |
+
|
| 162 |
+
00:02:24.769 --> 00:02:27.250
|
| 163 |
+
de forma que puedan acceder de una forma
|
| 164 |
+
|
| 165 |
+
00:02:27.250 --> 00:02:29.510
|
| 166 |
+
mucho más sencilla a estos valores sin necesidad
|
| 167 |
+
|
| 168 |
+
00:02:30.129 --> 00:02:31.890
|
| 169 |
+
de estar accediendo a cada uno de sus
|
| 170 |
+
|
| 171 |
+
00:02:31.890 --> 00:02:34.390
|
| 172 |
+
bits a buscar cuál es su valor real.
|
| 173 |
+
|
| 174 |
+
00:02:34.645 --> 00:02:37.685
|
| 175 |
+
Entonces, utilizamos todo el tamaño disponible, que es
|
| 176 |
+
|
| 177 |
+
00:02:37.685 --> 00:02:40.325
|
| 178 |
+
cuatro bytes, en este caso, para una variable
|
| 179 |
+
|
| 180 |
+
00:02:40.325 --> 00:02:43.925
|
| 181 |
+
de tipo booleano. A continuación, el siguiente tipo
|
| 182 |
+
|
| 183 |
+
00:02:43.925 --> 00:02:46.165
|
| 184 |
+
es el tipo entero, que se pone como
|
| 185 |
+
|
| 186 |
+
00:02:46.165 --> 00:02:48.905
|
| 187 |
+
int. Este tipo de datos nos permite almacenar
|
| 188 |
+
|
| 189 |
+
00:02:48.965 --> 00:02:51.250
|
| 190 |
+
números. Lo mismo, se almacena en un tamaño
|
| 191 |
+
|
| 192 |
+
00:02:51.250 --> 00:02:54.050
|
| 193 |
+
de cuatro bytes de datos, lo que significa
|
| 194 |
+
|
| 195 |
+
00:02:54.050 --> 00:02:57.170
|
| 196 |
+
que podemos almacenar valores bastante grandes y nos
|
| 197 |
+
|
| 198 |
+
00:02:57.170 --> 00:03:01.090
|
| 199 |
+
permite además manejar números positivos o negativos utilizando
|
| 200 |
+
|
| 201 |
+
00:03:01.090 --> 00:03:03.145
|
| 202 |
+
un bit para mantener el signo, y si
|
| 203 |
+
|
| 204 |
+
00:03:03.145 --> 00:03:07.345
|
| 205 |
+
decidimos utilizar ese bit sin signo, podemos utilizarlo
|
| 206 |
+
|
| 207 |
+
00:03:07.345 --> 00:03:11.025
|
| 208 |
+
para almacenar un número todavía más grande. El
|
| 209 |
+
|
| 210 |
+
00:03:11.025 --> 00:03:12.785
|
| 211 |
+
siguiente tipo de datos es el tipo de
|
| 212 |
+
|
| 213 |
+
00:03:12.785 --> 00:03:17.489
|
| 214 |
+
datos float, o números de punto flotante. Los
|
| 215 |
+
|
| 216 |
+
00:03:17.489 --> 00:03:20.609
|
| 217 |
+
números decimales en las computadoras se almacenan en
|
| 218 |
+
|
| 219 |
+
00:03:20.609 --> 00:03:22.370
|
| 220 |
+
otra forma de representar los que tiene las
|
| 221 |
+
|
| 222 |
+
00:03:22.370 --> 00:03:24.709
|
| 223 |
+
matemáticas, que es por medio de los exponentes.
|
| 224 |
+
|
| 225 |
+
00:03:25.010 --> 00:03:27.730
|
| 226 |
+
Almacenas la base y el exponente, y esa
|
| 227 |
+
|
| 228 |
+
00:03:27.730 --> 00:03:30.730
|
| 229 |
+
es la representación interna que utilizan los lenguajes
|
| 230 |
+
|
| 231 |
+
00:03:30.730 --> 00:03:33.325
|
| 232 |
+
de programación como C0C más más para almacenar
|
| 233 |
+
|
| 234 |
+
00:03:33.385 --> 00:03:36.025
|
| 235 |
+
nuestros números decimales. Tú podrías almacenar un valor
|
| 236 |
+
|
| 237 |
+
00:03:36.025 --> 00:03:39.005
|
| 238 |
+
como cero punto cinco, y la computadora utilizará
|
| 239 |
+
|
| 240 |
+
00:03:39.065 --> 00:03:42.425
|
| 241 |
+
cuatro bytes para almacenar toda la información necesaria
|
| 242 |
+
|
| 243 |
+
00:03:42.425 --> 00:03:45.900
|
| 244 |
+
para representar ese cero punto cinco. Nos permite
|
| 245 |
+
|
| 246 |
+
00:03:45.900 --> 00:03:49.020
|
| 247 |
+
un rango bastante amplio de valores decimales, pero
|
| 248 |
+
|
| 249 |
+
00:03:49.020 --> 00:03:50.780
|
| 250 |
+
más amplio es el rango que nos permite
|
| 251 |
+
|
| 252 |
+
00:03:50.780 --> 00:03:52.460
|
| 253 |
+
el siguiente tipo de dato, que es el
|
| 254 |
+
|
| 255 |
+
00:03:52.460 --> 00:03:55.200
|
| 256 |
+
tipo de dato double, es decir, un número
|
| 257 |
+
|
| 258 |
+
00:03:55.340 --> 00:03:58.455
|
| 259 |
+
de punto flotante, pero de doble precisión. Como
|
| 260 |
+
|
| 261 |
+
00:03:58.455 --> 00:04:00.775
|
| 262 |
+
ves, la diferencia es que ya no solamente
|
| 263 |
+
|
| 264 |
+
00:04:00.775 --> 00:04:03.975
|
| 265 |
+
utilizarás cuatro bytes, sino en lugar utilizarás ocho
|
| 266 |
+
|
| 267 |
+
00:04:03.975 --> 00:04:07.015
|
| 268 |
+
bytes para almacenar toda la información necesaria. Eso
|
| 269 |
+
|
| 270 |
+
00:04:07.015 --> 00:04:10.315
|
| 271 |
+
significa que puedes eso significa que puedes almacenar
|
| 272 |
+
|
| 273 |
+
00:04:10.710 --> 00:04:15.270
|
| 274 |
+
números mucho mayores de tipo coma flotante. Y
|
| 275 |
+
|
| 276 |
+
00:04:15.270 --> 00:04:18.970
|
| 277 |
+
por último, tienes los caracteres asky. La variable
|
| 278 |
+
|
| 279 |
+
00:04:19.750 --> 00:04:22.710
|
| 280 |
+
puede tener un tipo char y se pueden
|
| 281 |
+
|
| 282 |
+
00:04:22.710 --> 00:04:27.905
|
| 283 |
+
almacenar valores numéricos que significan o representan letras.
|
| 284 |
+
|
| 285 |
+
00:04:28.205 --> 00:04:29.965
|
| 286 |
+
La forma en la que funciona es que
|
| 287 |
+
|
| 288 |
+
00:04:29.965 --> 00:04:32.465
|
| 289 |
+
cuando comenzó toda la era de la computación,
|
| 290 |
+
|
| 291 |
+
00:04:32.685 --> 00:04:35.325
|
| 292 |
+
pues era una era demasiado temprana donde solamente
|
| 293 |
+
|
| 294 |
+
00:04:35.325 --> 00:04:38.360
|
| 295 |
+
se utilizaban números para realizar, pues, todos los
|
| 296 |
+
|
| 297 |
+
00:04:38.360 --> 00:04:41.100
|
| 298 |
+
cálculos o operaciones de un algoritmo, y fue
|
| 299 |
+
|
| 300 |
+
00:04:41.320 --> 00:04:44.940
|
| 301 |
+
posteriormente cuando fue necesario representar letras para mostrarlas
|
| 302 |
+
|
| 303 |
+
00:04:45.320 --> 00:04:48.380
|
| 304 |
+
en un monitor o para imprimirlas en papel,
|
| 305 |
+
|
| 306 |
+
00:04:48.955 --> 00:04:51.515
|
| 307 |
+
que se necesitó estandarizar cómo se iban a
|
| 308 |
+
|
| 309 |
+
00:04:51.515 --> 00:04:54.315
|
| 310 |
+
representar esas letras para la computadora. Allí surgió
|
| 311 |
+
|
| 312 |
+
00:04:54.315 --> 00:04:56.715
|
| 313 |
+
la tabla ASCII, que es una tabla con
|
| 314 |
+
|
| 315 |
+
00:04:56.715 --> 00:04:58.875
|
| 316 |
+
doscientos cincuenta y seis valores del cero al
|
| 317 |
+
|
| 318 |
+
00:04:58.875 --> 00:05:01.615
|
| 319 |
+
doscientos cincuenta y cinco, que contienen una correlación
|
| 320 |
+
|
| 321 |
+
00:05:01.835 --> 00:05:04.155
|
| 322 |
+
donde cada número de la tabla representa una
|
| 323 |
+
|
| 324 |
+
00:05:04.155 --> 00:05:06.970
|
| 325 |
+
letra o un carácter del alfabeto. En este
|
| 326 |
+
|
| 327 |
+
00:05:06.970 --> 00:05:09.210
|
| 328 |
+
caso, pueden ser las letras de la a
|
| 329 |
+
|
| 330 |
+
00:05:09.210 --> 00:05:12.330
|
| 331 |
+
a la z, mayúsculas, minúsculas, y algunos caracteres
|
| 332 |
+
|
| 333 |
+
00:05:12.330 --> 00:05:16.750
|
| 334 |
+
adicionales como espacios, signos de interrogación, asteriscos, etcétera.
|
| 335 |
+
|
| 336 |
+
00:05:17.165 --> 00:05:20.045
|
| 337 |
+
Todos estos caracteres tienen asociado, como vimos, un
|
| 338 |
+
|
| 339 |
+
00:05:20.045 --> 00:05:22.445
|
| 340 |
+
número en en la tabla. Por lo tanto,
|
| 341 |
+
|
| 342 |
+
00:05:22.445 --> 00:05:24.685
|
| 343 |
+
el tipo char dentro de seis, C más
|
| 344 |
+
|
| 345 |
+
00:05:24.685 --> 00:05:27.425
|
| 346 |
+
más, nos permitirán escribir este tipo de caracteres,
|
| 347 |
+
|
| 348 |
+
00:05:27.565 --> 00:05:29.805
|
| 349 |
+
ya sea el valor del carácter entre comillas
|
| 350 |
+
|
| 351 |
+
00:05:29.805 --> 00:05:34.810
|
| 352 |
+
simples o su equivalente numérico. Para esto, solamente
|
| 353 |
+
|
| 354 |
+
00:05:34.810 --> 00:05:37.130
|
| 355 |
+
tenemos doscientos cincuenta y seis valores, por lo
|
| 356 |
+
|
| 357 |
+
00:05:37.130 --> 00:05:40.330
|
| 358 |
+
que solamente necesitará un byte para almacenar esta
|
| 359 |
+
|
| 360 |
+
00:05:40.330 --> 00:05:43.850
|
| 361 |
+
información. La forma en que lo hace internamente
|
| 362 |
+
|
| 363 |
+
00:05:43.850 --> 00:05:47.450
|
| 364 |
+
cada compilador puede variar, incluso si utilizamos algún
|
| 365 |
+
|
| 366 |
+
00:05:47.450 --> 00:05:51.345
|
| 367 |
+
otro sistema, por ejemplo, sistemas embebidos, también puede
|
| 368 |
+
|
| 369 |
+
00:05:51.345 --> 00:05:54.225
|
| 370 |
+
variar. Lo que significa que no debemos confiarnos
|
| 371 |
+
|
| 372 |
+
00:05:54.225 --> 00:05:56.385
|
| 373 |
+
y, volviendo al inicio de la clase, siempre
|
| 374 |
+
|
| 375 |
+
00:05:56.385 --> 00:05:59.745
|
| 376 |
+
debemos investigar cuáles son las características soportadas por
|
| 377 |
+
|
| 378 |
+
00:05:59.745 --> 00:06:02.865
|
| 379 |
+
nuestros compiladores y cuáles son los valores por
|
| 380 |
+
|
| 381 |
+
00:06:02.865 --> 00:06:04.940
|
| 382 |
+
defecto de tamaños que va a utilizar para
|
| 383 |
+
|
| 384 |
+
00:06:04.940 --> 00:06:07.980
|
| 385 |
+
cada tipo de dato. Algunos compiladores tendrán otros
|
| 386 |
+
|
| 387 |
+
00:06:07.980 --> 00:06:11.020
|
| 388 |
+
tipos de datos adicionales y algunos se limitarán
|
| 389 |
+
|
| 390 |
+
00:06:11.020 --> 00:06:15.340
|
| 391 |
+
a cumplir con el estándar. Bien, pues ahora
|
| 392 |
+
|
| 393 |
+
00:06:15.340 --> 00:06:17.180
|
| 394 |
+
vamos a pasar a la siguiente clase, donde
|
| 395 |
+
|
| 396 |
+
00:06:17.180 --> 00:06:20.088
|
| 397 |
+
aprenderás cómo aplicar estos tipos de datos para
|
| 398 |
+
|
| 399 |
+
00:06:20.088 --> 00:06:22.808
|
| 400 |
+
crear variables y constantes que podrás utilizar en
|
| 401 |
+
|
| 402 |
+
00:06:22.808 --> 00:06:24.748
|
| 403 |
+
tu programa más adelante.
|
subir/Curso de C Básico/03-Conceptos básicos/03-Creación y Uso de Variables en C.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:9ee83a59c1cf17f76ec621493c413231f0bc27aa1f5947c623070782ed2adec2
|
| 3 |
+
size 62622024
|
subir/Curso de C Básico/03-Conceptos básicos/03-Creación y Uso de Variables en C.vtt
ADDED
|
@@ -0,0 +1,340 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:03.120 --> 00:00:05.839
|
| 4 |
+
Vamos a hablar de otra característica muy importante
|
| 5 |
+
|
| 6 |
+
00:00:05.839 --> 00:00:08.559
|
| 7 |
+
para los lenguajes de programación. Vamos a hablar
|
| 8 |
+
|
| 9 |
+
00:00:08.559 --> 00:00:11.200
|
| 10 |
+
de las variables. Las variables son la forma
|
| 11 |
+
|
| 12 |
+
00:00:11.200 --> 00:00:14.155
|
| 13 |
+
que nos da nuestro lenguaje de programación para
|
| 14 |
+
|
| 15 |
+
00:00:14.155 --> 00:00:16.555
|
| 16 |
+
almacenar todos los datos relacionados con la ejecución
|
| 17 |
+
|
| 18 |
+
00:00:16.555 --> 00:00:19.435
|
| 19 |
+
de nuestro programa. Por ejemplo, si queremos crear
|
| 20 |
+
|
| 21 |
+
00:00:19.435 --> 00:00:22.814
|
| 22 |
+
un programa que almacene una lista de usuarios
|
| 23 |
+
|
| 24 |
+
00:00:23.115 --> 00:00:26.075
|
| 25 |
+
o que almacene todas las tareas relacionadas a
|
| 26 |
+
|
| 27 |
+
00:00:26.075 --> 00:00:29.490
|
| 28 |
+
una persona, esto va a ser almacenado en
|
| 29 |
+
|
| 30 |
+
00:00:29.630 --> 00:00:33.230
|
| 31 |
+
variables durante la ejecución del programa. Para esto,
|
| 32 |
+
|
| 33 |
+
00:00:33.230 --> 00:00:35.410
|
| 34 |
+
podemos crear variables en C más más utilizando
|
| 35 |
+
|
| 36 |
+
00:00:35.470 --> 00:00:37.550
|
| 37 |
+
los tipos de datos que ya vimos en
|
| 38 |
+
|
| 39 |
+
00:00:37.550 --> 00:00:40.989
|
| 40 |
+
la clase anterior. Como puedes ver, aquí tenemos
|
| 41 |
+
|
| 42 |
+
00:00:40.989 --> 00:00:43.864
|
| 43 |
+
en pantalla el ejemplo anterior, nuestro hola mundo.
|
| 44 |
+
|
| 45 |
+
00:00:44.324 --> 00:00:46.324
|
| 46 |
+
Como puedes ver, ahí siguen todas las partes
|
| 47 |
+
|
| 48 |
+
00:00:46.324 --> 00:00:48.245
|
| 49 |
+
básicas de un programa en C más más
|
| 50 |
+
|
| 51 |
+
00:00:48.245 --> 00:00:50.725
|
| 52 |
+
como la función main, la importación de la
|
| 53 |
+
|
| 54 |
+
00:00:50.725 --> 00:00:53.204
|
| 55 |
+
librería iostream y el uso del espacio de
|
| 56 |
+
|
| 57 |
+
00:00:53.204 --> 00:00:56.644
|
| 58 |
+
nombres estándar. Ahora, vamos a comenzar a crear
|
| 59 |
+
|
| 60 |
+
00:00:56.644 --> 00:01:00.600
|
| 61 |
+
nuestras primeras variables. Esto lo podemos hacer indicando
|
| 62 |
+
|
| 63 |
+
00:01:00.600 --> 00:01:02.300
|
| 64 |
+
el tipo de dato que vamos a almacenar,
|
| 65 |
+
|
| 66 |
+
00:01:02.360 --> 00:01:05.180
|
| 67 |
+
un nombre para la variable, y si lo
|
| 68 |
+
|
| 69 |
+
00:01:05.319 --> 00:01:07.880
|
| 70 |
+
necesitamos podemos darle un valor inicial, lo cual
|
| 71 |
+
|
| 72 |
+
00:01:07.880 --> 00:01:10.840
|
| 73 |
+
además es una buena práctica. Por ejemplo, si
|
| 74 |
+
|
| 75 |
+
00:01:10.840 --> 00:01:13.965
|
| 76 |
+
quisiéramos almacenar la edad de una persona, estaríamos
|
| 77 |
+
|
| 78 |
+
00:01:13.965 --> 00:01:16.645
|
| 79 |
+
pensando en un valor de tipo numérico, por
|
| 80 |
+
|
| 81 |
+
00:01:16.645 --> 00:01:19.045
|
| 82 |
+
lo tanto, lo primero que podemos hacer es
|
| 83 |
+
|
| 84 |
+
00:01:19.045 --> 00:01:23.064
|
| 85 |
+
almacenar, es indicarle que es del tipo entero,
|
| 86 |
+
|
| 87 |
+
00:01:23.125 --> 00:01:29.119
|
| 88 |
+
por ejemplo, int. A continuación, necesitaríamos escoger un
|
| 89 |
+
|
| 90 |
+
00:01:29.119 --> 00:01:31.600
|
| 91 |
+
buen nombre para una variable. Los buenos nombres
|
| 92 |
+
|
| 93 |
+
00:01:31.600 --> 00:01:34.159
|
| 94 |
+
para las variables nos hablan sobre de qué
|
| 95 |
+
|
| 96 |
+
00:01:34.159 --> 00:01:36.320
|
| 97 |
+
se trata ese valor. En este caso, si
|
| 98 |
+
|
| 99 |
+
00:01:36.320 --> 00:01:38.880
|
| 100 |
+
hablábamos de la edad de una persona, pues
|
| 101 |
+
|
| 102 |
+
00:01:38.880 --> 00:01:44.005
|
| 103 |
+
podría ser la palabra edad. Es importante que
|
| 104 |
+
|
| 105 |
+
00:01:44.005 --> 00:01:46.965
|
| 106 |
+
recuerdes que en lenguajes como CYC más más
|
| 107 |
+
|
| 108 |
+
00:01:46.965 --> 00:01:50.005
|
| 109 |
+
las variables necesitan cumplir con ciertas reglas. Por
|
| 110 |
+
|
| 111 |
+
00:01:50.005 --> 00:01:52.585
|
| 112 |
+
ejemplo, no pueden contener espacios y no pueden
|
| 113 |
+
|
| 114 |
+
00:01:52.805 --> 00:01:56.270
|
| 115 |
+
contener caracteres extraños. Por lo tanto, la palabra
|
| 116 |
+
|
| 117 |
+
00:01:56.270 --> 00:01:58.830
|
| 118 |
+
edad está bien, pero si tuviéramos dos o
|
| 119 |
+
|
| 120 |
+
00:01:58.830 --> 00:02:02.030
|
| 121 |
+
más palabras podríamos mejor separarlas con guion bajo
|
| 122 |
+
|
| 123 |
+
00:02:02.030 --> 00:02:06.430
|
| 124 |
+
para no utilizar espacios. Ahora, ya tenemos creada
|
| 125 |
+
|
| 126 |
+
00:02:06.430 --> 00:02:09.389
|
| 127 |
+
nuestra variable tipo entero con la con el
|
| 128 |
+
|
| 129 |
+
00:02:09.389 --> 00:02:12.595
|
| 130 |
+
nombre edad. Si quisiéramos asignarle un valor inicial,
|
| 131 |
+
|
| 132 |
+
00:02:12.895 --> 00:02:16.715
|
| 133 |
+
podríamos hacerlo utilizando el símbolo de igual. Y
|
| 134 |
+
|
| 135 |
+
00:02:17.375 --> 00:02:19.615
|
| 136 |
+
ahora, podemos pensar cuál es el mejor valor
|
| 137 |
+
|
| 138 |
+
00:02:19.615 --> 00:02:21.855
|
| 139 |
+
por defecto que puede tener una variable, eso
|
| 140 |
+
|
| 141 |
+
00:02:21.855 --> 00:02:23.970
|
| 142 |
+
dependerá del caso de uso. En este caso,
|
| 143 |
+
|
| 144 |
+
00:02:24.030 --> 00:02:26.190
|
| 145 |
+
si queremos darle un valor por defecto a
|
| 146 |
+
|
| 147 |
+
00:02:26.190 --> 00:02:28.990
|
| 148 |
+
una variable edad, pues podría ser una edad
|
| 149 |
+
|
| 150 |
+
00:02:28.990 --> 00:02:31.790
|
| 151 |
+
estándar, por ejemplo dieciocho años, o podría ser
|
| 152 |
+
|
| 153 |
+
00:02:31.790 --> 00:02:34.370
|
| 154 |
+
simplemente el número cero. Yo voy a utilizar
|
| 155 |
+
|
| 156 |
+
00:02:34.430 --> 00:02:38.475
|
| 157 |
+
el valor del número cero. No debemos olvidar
|
| 158 |
+
|
| 159 |
+
00:02:38.475 --> 00:02:40.155
|
| 160 |
+
que como esto se trata de una instrucción
|
| 161 |
+
|
| 162 |
+
00:02:40.155 --> 00:02:41.915
|
| 163 |
+
de código que le estamos dando a la
|
| 164 |
+
|
| 165 |
+
00:02:41.915 --> 00:02:46.235
|
| 166 |
+
computadora, como una orden necesitamos indicarle el fin
|
| 167 |
+
|
| 168 |
+
00:02:46.235 --> 00:02:48.075
|
| 169 |
+
de esta orden por medio de un punto
|
| 170 |
+
|
| 171 |
+
00:02:48.075 --> 00:02:52.150
|
| 172 |
+
y coma. Y ahora sí, tenemos nuestra variable
|
| 173 |
+
|
| 174 |
+
00:02:52.150 --> 00:02:55.190
|
| 175 |
+
lista para ser utilizada en nuestro programa. Esta
|
| 176 |
+
|
| 177 |
+
00:02:55.190 --> 00:02:57.830
|
| 178 |
+
variable ahora contiene el valor de cero, por
|
| 179 |
+
|
| 180 |
+
00:02:57.830 --> 00:02:59.770
|
| 181 |
+
lo tanto, siempre que yo en mi programa
|
| 182 |
+
|
| 183 |
+
00:02:59.910 --> 00:03:02.470
|
| 184 |
+
utilice la palabra edad, vamos a hacer referencia
|
| 185 |
+
|
| 186 |
+
00:03:02.470 --> 00:03:05.894
|
| 187 |
+
a su valor cero. ¿Cómo yo podría mostrar
|
| 188 |
+
|
| 189 |
+
00:03:05.894 --> 00:03:08.694
|
| 190 |
+
el valor de la variable edad para que
|
| 191 |
+
|
| 192 |
+
00:03:08.694 --> 00:03:11.334
|
| 193 |
+
se muestre en nuestra terminal? Pues, de la
|
| 194 |
+
|
| 195 |
+
00:03:11.334 --> 00:03:13.015
|
| 196 |
+
misma manera que lo hicimos con el hola
|
| 197 |
+
|
| 198 |
+
00:03:13.015 --> 00:03:16.295
|
| 199 |
+
mundo. Yo voy a cambiar el valor de
|
| 200 |
+
|
| 201 |
+
00:03:16.295 --> 00:03:18.150
|
| 202 |
+
la cadena de texto que dice hola mundo
|
| 203 |
+
|
| 204 |
+
00:03:18.390 --> 00:03:22.230
|
| 205 |
+
por el valor de la variable edad, lo
|
| 206 |
+
|
| 207 |
+
00:03:22.230 --> 00:03:25.510
|
| 208 |
+
coloco de esta manera. Ahora le estoy diciendo
|
| 209 |
+
|
| 210 |
+
00:03:25.510 --> 00:03:27.590
|
| 211 |
+
a mi programa que muestre como salida de
|
| 212 |
+
|
| 213 |
+
00:03:27.590 --> 00:03:30.470
|
| 214 |
+
su ejecución el valor de edad, en este
|
| 215 |
+
|
| 216 |
+
00:03:30.470 --> 00:03:36.325
|
| 217 |
+
caso es cero. Vamos a ejecutarlo. Como recordarás,
|
| 218 |
+
|
| 219 |
+
00:03:36.784 --> 00:03:39.424
|
| 220 |
+
podemos utilizar la tecla f seis gracias a
|
| 221 |
+
|
| 222 |
+
00:03:39.424 --> 00:03:43.344
|
| 223 |
+
la extensión que instalamos en clases anteriores. Y
|
| 224 |
+
|
| 225 |
+
00:03:43.344 --> 00:03:45.504
|
| 226 |
+
aquí lo tenemos, una vez que se compiló
|
| 227 |
+
|
| 228 |
+
00:03:45.504 --> 00:03:47.340
|
| 229 |
+
y ejecutó el programa, su valor de salida
|
| 230 |
+
|
| 231 |
+
00:03:47.340 --> 00:03:51.560
|
| 232 |
+
ha sido cero. Esto es el valor de
|
| 233 |
+
|
| 234 |
+
00:03:51.560 --> 00:03:54.280
|
| 235 |
+
la variable edad. Vamos a probar qué pasa
|
| 236 |
+
|
| 237 |
+
00:03:54.280 --> 00:03:56.120
|
| 238 |
+
si yo le pongo otro valor a esta
|
| 239 |
+
|
| 240 |
+
00:03:56.120 --> 00:03:58.520
|
| 241 |
+
variable, por ejemplo, el diez, y de nuevo
|
| 242 |
+
|
| 243 |
+
00:03:58.520 --> 00:04:02.245
|
| 244 |
+
le doy compilar y ejecutar. Ahora nos muestra
|
| 245 |
+
|
| 246 |
+
00:04:02.245 --> 00:04:05.605
|
| 247 |
+
el valor diez como salida. Las variables, como
|
| 248 |
+
|
| 249 |
+
00:04:05.605 --> 00:04:07.685
|
| 250 |
+
su nombre lo indica, pueden cambiar a lo
|
| 251 |
+
|
| 252 |
+
00:04:07.685 --> 00:04:10.325
|
| 253 |
+
largo de la ejecución del programa, y aquí
|
| 254 |
+
|
| 255 |
+
00:04:10.325 --> 00:04:13.079
|
| 256 |
+
es donde entra su verdadera utilidad, ya que
|
| 257 |
+
|
| 258 |
+
00:04:13.379 --> 00:04:16.500
|
| 259 |
+
podemos manipularlas para tomar decisiones o por el
|
| 260 |
+
|
| 261 |
+
00:04:16.500 --> 00:04:19.139
|
| 262 |
+
simple hecho de mostrarlas al usuario de alguna
|
| 263 |
+
|
| 264 |
+
00:04:19.139 --> 00:04:21.459
|
| 265 |
+
u otra manera. Lo que podemos hacer con
|
| 266 |
+
|
| 267 |
+
00:04:21.459 --> 00:04:24.680
|
| 268 |
+
las variables para modificarlas es utilizar el símbolo
|
| 269 |
+
|
| 270 |
+
00:04:24.740 --> 00:04:28.075
|
| 271 |
+
de igual. Por ejemplo, si yo tengo un
|
| 272 |
+
|
| 273 |
+
00:04:28.075 --> 00:04:33.515
|
| 274 |
+
valor inicial para la variable que fuera cero,
|
| 275 |
+
|
| 276 |
+
00:04:33.515 --> 00:04:37.035
|
| 277 |
+
esta variable edad tal vez querría actualizarla en
|
| 278 |
+
|
| 279 |
+
00:04:37.035 --> 00:04:39.515
|
| 280 |
+
algún momento para ponerle la edad real de
|
| 281 |
+
|
| 282 |
+
00:04:39.515 --> 00:04:43.830
|
| 283 |
+
algún usuario. Supongamos que este usuario estamos validando
|
| 284 |
+
|
| 285 |
+
00:04:43.970 --> 00:04:46.050
|
| 286 |
+
que sea mayor de dieciocho años o de
|
| 287 |
+
|
| 288 |
+
00:04:46.050 --> 00:04:48.770
|
| 289 |
+
dieciocho años, pues podríamos pedirle la edad y
|
| 290 |
+
|
| 291 |
+
00:04:48.770 --> 00:04:50.930
|
| 292 |
+
la edad podría contener un número, por ejemplo,
|
| 293 |
+
|
| 294 |
+
00:04:50.930 --> 00:04:55.425
|
| 295 |
+
el número dieciocho. Para hacer esto, simplemente necesitamos
|
| 296 |
+
|
| 297 |
+
00:04:55.425 --> 00:04:57.664
|
| 298 |
+
en una nueva línea de código actualizar el
|
| 299 |
+
|
| 300 |
+
00:04:57.664 --> 00:05:00.145
|
| 301 |
+
valor de la variable, por ejemplo, puedo escribir
|
| 302 |
+
|
| 303 |
+
00:05:00.145 --> 00:05:06.064
|
| 304 |
+
edad igual a dieciocho, y como se trata
|
| 305 |
+
|
| 306 |
+
00:05:06.064 --> 00:05:07.425
|
| 307 |
+
de una instrucción que le damos a la
|
| 308 |
+
|
| 309 |
+
00:05:07.425 --> 00:05:10.440
|
| 310 |
+
computadora, podríamos terminar con punto y coma. Esto
|
| 311 |
+
|
| 312 |
+
00:05:11.780 --> 00:05:14.020
|
| 313 |
+
actualizará el valor de nuestra variable edad a
|
| 314 |
+
|
| 315 |
+
00:05:14.020 --> 00:05:16.600
|
| 316 |
+
dieciocho, ya no vale cero, ahora vale dieciocho.
|
| 317 |
+
|
| 318 |
+
00:05:16.660 --> 00:05:20.354
|
| 319 |
+
¿Qué pasaría si ejecutamos este programa? Pues, el
|
| 320 |
+
|
| 321 |
+
00:05:20.354 --> 00:05:23.875
|
| 322 |
+
valor de salida será dieciocho. De esta forma,
|
| 323 |
+
|
| 324 |
+
00:05:23.875 --> 00:05:26.354
|
| 325 |
+
podemos reasignarle valores una y otra vez a
|
| 326 |
+
|
| 327 |
+
00:05:26.354 --> 00:05:30.115
|
| 328 |
+
todas nuestras variables para poder realizar todos los
|
| 329 |
+
|
| 330 |
+
00:05:30.115 --> 00:05:33.191
|
| 331 |
+
procesos que necesitemos en nuestro programa. Te invito
|
| 332 |
+
|
| 333 |
+
00:05:33.191 --> 00:05:35.531
|
| 334 |
+
a ver la próxima clase donde continuaremos hablando
|
| 335 |
+
|
| 336 |
+
00:05:35.671 --> 00:05:39.351
|
| 337 |
+
sobre ciertas características de las variables, cómo serían
|
| 338 |
+
|
| 339 |
+
00:05:39.351 --> 00:05:42.891
|
| 340 |
+
las constantes y algunos otros tipos de datos.
|
subir/Curso de C Básico/03-Conceptos básicos/03-Lecturas recomendadas.txt
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
https://github.com/platzi/curso-basico-c-plus-plus/tree/variables
|
subir/Curso de C Básico/03-Conceptos básicos/03-Resumen.html
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
subir/Curso de C Básico/03-Conceptos básicos/03-variables.zip
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:917d37dc9c2c38bda1d33edf510a998e2f7ce2b00df47c7cd8a99a3d33468ddc
|
| 3 |
+
size 1197
|
subir/Curso de C Básico/03-Conceptos básicos/04-Constantes y Listas en C Uso y Manipulación Básica.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:283cb7b5404d79d7b0e2da82b3175e0f999a5d290379d14792e5f7cbc046a6c6
|
| 3 |
+
size 117872186
|
subir/Curso de C Básico/03-Conceptos básicos/04-Constantes y Listas en C Uso y Manipulación Básica.vtt
ADDED
|
@@ -0,0 +1,676 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:03.040 --> 00:00:05.680
|
| 4 |
+
Vamos a hablar sobre dos características muy importantes
|
| 5 |
+
|
| 6 |
+
00:00:05.680 --> 00:00:08.240
|
| 7 |
+
de las variables en C más más, estos
|
| 8 |
+
|
| 9 |
+
00:00:08.240 --> 00:00:11.840
|
| 10 |
+
son las constantes y las listas. Vamos al
|
| 11 |
+
|
| 12 |
+
00:00:11.840 --> 00:00:14.400
|
| 13 |
+
código. Como puedes ver, aquí tenemos el ejemplo
|
| 14 |
+
|
| 15 |
+
00:00:14.400 --> 00:00:16.765
|
| 16 |
+
de la clase anterior, donde hablamos sobre cuál
|
| 17 |
+
|
| 18 |
+
00:00:16.765 --> 00:00:19.244
|
| 19 |
+
es la estructura básica de las variables. Vimos
|
| 20 |
+
|
| 21 |
+
00:00:19.244 --> 00:00:21.244
|
| 22 |
+
que primero vas a declarar el tipo de
|
| 23 |
+
|
| 24 |
+
00:00:21.244 --> 00:00:23.244
|
| 25 |
+
dato, en segundo lugar, vas a ponerle un
|
| 26 |
+
|
| 27 |
+
00:00:23.244 --> 00:00:26.445
|
| 28 |
+
nombre y, finalmente, puedes opcionalmente agregarle un valor.
|
| 29 |
+
|
| 30 |
+
00:00:26.445 --> 00:00:30.044
|
| 31 |
+
Vimos el ejemplo con el tipo de dato
|
| 32 |
+
|
| 33 |
+
00:00:30.044 --> 00:00:32.659
|
| 34 |
+
entero y la variable edad, pero no está
|
| 35 |
+
|
| 36 |
+
00:00:32.659 --> 00:00:34.739
|
| 37 |
+
de más recordarte que esta es la misma
|
| 38 |
+
|
| 39 |
+
00:00:34.739 --> 00:00:37.059
|
| 40 |
+
estructura que vas a poder utilizar para cualquier
|
| 41 |
+
|
| 42 |
+
00:00:37.059 --> 00:00:39.460
|
| 43 |
+
otro tipo de dato, ya sean datos que
|
| 44 |
+
|
| 45 |
+
00:00:39.460 --> 00:00:41.620
|
| 46 |
+
vengan por defecto en tu compilador o que
|
| 47 |
+
|
| 48 |
+
00:00:41.620 --> 00:00:44.260
|
| 49 |
+
más adelante puedas crear definiendo tus propios tipos
|
| 50 |
+
|
| 51 |
+
00:00:44.260 --> 00:00:47.605
|
| 52 |
+
de datos. Las variables, por ejemplo, se podrían
|
| 53 |
+
|
| 54 |
+
00:00:47.985 --> 00:00:49.745
|
| 55 |
+
declarar si fueras a hablar de una variable
|
| 56 |
+
|
| 57 |
+
00:00:49.745 --> 00:00:54.545
|
| 58 |
+
de tipo carácter utilizando char, luego le podrías
|
| 59 |
+
|
| 60 |
+
00:00:54.545 --> 00:00:57.205
|
| 61 |
+
poner cualquier nombre que tú desees, por ejemplo,
|
| 62 |
+
|
| 63 |
+
00:00:57.265 --> 00:01:00.110
|
| 64 |
+
letra, siempre que se cumplan las reglas de
|
| 65 |
+
|
| 66 |
+
00:01:00.110 --> 00:01:01.989
|
| 67 |
+
las que hablamos en la clase anterior, esto
|
| 68 |
+
|
| 69 |
+
00:01:01.989 --> 00:01:04.590
|
| 70 |
+
estará bien. La única diferencia con letra es
|
| 71 |
+
|
| 72 |
+
00:01:04.590 --> 00:01:06.510
|
| 73 |
+
que, a la hora de hacerle la asignación
|
| 74 |
+
|
| 75 |
+
00:01:06.510 --> 00:01:08.430
|
| 76 |
+
de un valor, vas a tener que escribir
|
| 77 |
+
|
| 78 |
+
00:01:08.430 --> 00:01:12.414
|
| 79 |
+
el carácter dentro de comillas simples. Y, como
|
| 80 |
+
|
| 81 |
+
00:01:12.414 --> 00:01:14.335
|
| 82 |
+
sabes, vas a tener que utilizar el punto
|
| 83 |
+
|
| 84 |
+
00:01:14.335 --> 00:01:16.174
|
| 85 |
+
y coma, dado que es una orden que
|
| 86 |
+
|
| 87 |
+
00:01:16.174 --> 00:01:18.735
|
| 88 |
+
le estás dando a la computadora. En este
|
| 89 |
+
|
| 90 |
+
00:01:18.735 --> 00:01:21.715
|
| 91 |
+
caso, yo quisiera almacenar la letra a, por
|
| 92 |
+
|
| 93 |
+
00:01:22.095 --> 00:01:24.255
|
| 94 |
+
ejemplo, entonces, esta es la forma en la
|
| 95 |
+
|
| 96 |
+
00:01:24.255 --> 00:01:27.259
|
| 97 |
+
que lo haría. Si yo quisiera imprimir el
|
| 98 |
+
|
| 99 |
+
00:01:27.259 --> 00:01:30.479
|
| 100 |
+
valor de la letra a, podría simplemente agregar
|
| 101 |
+
|
| 102 |
+
00:01:30.780 --> 00:01:33.179
|
| 103 |
+
una línea de seout, podría editar la que
|
| 104 |
+
|
| 105 |
+
00:01:33.179 --> 00:01:34.780
|
| 106 |
+
ya tengo o podría agregar una nueva, yo
|
| 107 |
+
|
| 108 |
+
00:01:34.780 --> 00:01:37.259
|
| 109 |
+
voy a agregar una nueva con la que
|
| 110 |
+
|
| 111 |
+
00:01:37.259 --> 00:01:41.995
|
| 112 |
+
voy a poder imprimir su valor. Algo importante
|
| 113 |
+
|
| 114 |
+
00:01:42.295 --> 00:01:44.295
|
| 115 |
+
para el uso de SEOut es que podemos
|
| 116 |
+
|
| 117 |
+
00:01:44.295 --> 00:01:46.135
|
| 118 |
+
realizar cambios de línea para que no se
|
| 119 |
+
|
| 120 |
+
00:01:46.135 --> 00:01:49.595
|
| 121 |
+
nos amontonen todos los valores utilizando otra característica
|
| 122 |
+
|
| 123 |
+
00:01:49.815 --> 00:01:53.910
|
| 124 |
+
de la librería ioStream, que es endline, y
|
| 125 |
+
|
| 126 |
+
00:01:53.910 --> 00:01:57.830
|
| 127 |
+
se coloca utilizando los mismos símbolos de menor
|
| 128 |
+
|
| 129 |
+
00:01:57.830 --> 00:02:03.190
|
| 130 |
+
que y agregando end l al final. Esto
|
| 131 |
+
|
| 132 |
+
00:02:03.190 --> 00:02:05.590
|
| 133 |
+
lo que hará es, al final, después de
|
| 134 |
+
|
| 135 |
+
00:02:05.590 --> 00:02:08.195
|
| 136 |
+
esa, en este caso, agregar la edad a
|
| 137 |
+
|
| 138 |
+
00:02:08.195 --> 00:02:10.514
|
| 139 |
+
la salida de la terminal, nos va a
|
| 140 |
+
|
| 141 |
+
00:02:10.514 --> 00:02:12.595
|
| 142 |
+
realizar un cambio de línea y en la
|
| 143 |
+
|
| 144 |
+
00:02:12.595 --> 00:02:14.835
|
| 145 |
+
nueva línea es donde comenzará a escribir los
|
| 146 |
+
|
| 147 |
+
00:02:14.835 --> 00:02:18.915
|
| 148 |
+
nuevos valores, en este caso, la letra. Vamos
|
| 149 |
+
|
| 150 |
+
00:02:18.915 --> 00:02:20.835
|
| 151 |
+
a compilar y ejecutar nuestro código con la
|
| 152 |
+
|
| 153 |
+
00:02:20.835 --> 00:02:23.600
|
| 154 |
+
tecla f seis y ahí tienes el resultado.
|
| 155 |
+
|
| 156 |
+
00:02:24.060 --> 00:02:26.620
|
| 157 |
+
Muestra primero el dieciocho, que es respecto a
|
| 158 |
+
|
| 159 |
+
00:02:26.620 --> 00:02:29.420
|
| 160 |
+
la edad de la persona, y ahora mostramos
|
| 161 |
+
|
| 162 |
+
00:02:29.420 --> 00:02:33.420
|
| 163 |
+
la letra a. Ya que tienes esta este
|
| 164 |
+
|
| 165 |
+
00:02:33.420 --> 00:02:36.140
|
| 166 |
+
conocimiento de cómo se realizan los diferentes tipos
|
| 167 |
+
|
| 168 |
+
00:02:36.140 --> 00:02:38.665
|
| 169 |
+
de datos, cómo se utilizan para crear variables,
|
| 170 |
+
|
| 171 |
+
00:02:39.045 --> 00:02:41.364
|
| 172 |
+
es importante que sepas que existe una forma
|
| 173 |
+
|
| 174 |
+
00:02:41.364 --> 00:02:42.965
|
| 175 |
+
de fijar esos valores para que no se
|
| 176 |
+
|
| 177 |
+
00:02:42.965 --> 00:02:46.504
|
| 178 |
+
puedan editar. Como viste, en la variable de
|
| 179 |
+
|
| 180 |
+
00:02:46.564 --> 00:02:48.805
|
| 181 |
+
edad tú podías asignarle un nuevo valor, que
|
| 182 |
+
|
| 183 |
+
00:02:48.805 --> 00:02:50.885
|
| 184 |
+
en este caso era dieciocho, a ese a
|
| 185 |
+
|
| 186 |
+
00:02:50.885 --> 00:02:54.570
|
| 187 |
+
esa variable. En algunas ocasiones, es importante que
|
| 188 |
+
|
| 189 |
+
00:02:54.570 --> 00:02:56.570
|
| 190 |
+
fijes que no se debe poder editar ese
|
| 191 |
+
|
| 192 |
+
00:02:56.570 --> 00:02:58.810
|
| 193 |
+
valor durante la ejecución de tu programa, ya
|
| 194 |
+
|
| 195 |
+
00:02:58.810 --> 00:03:01.290
|
| 196 |
+
sea porque podría causar un un problema o
|
| 197 |
+
|
| 198 |
+
00:03:01.290 --> 00:03:04.970
|
| 199 |
+
porque simplemente necesitas que el compilador no no
|
| 200 |
+
|
| 201 |
+
00:03:04.970 --> 00:03:07.450
|
| 202 |
+
realice optimizaciones para que se les puedan asignar
|
| 203 |
+
|
| 204 |
+
00:03:07.450 --> 00:03:10.448
|
| 205 |
+
valores, que solamente lo tome como un valor
|
| 206 |
+
|
| 207 |
+
00:03:10.448 --> 00:03:13.445
|
| 208 |
+
inicial y que nunca se asigna. En ese
|
| 209 |
+
|
| 210 |
+
00:03:13.445 --> 00:03:16.725
|
| 211 |
+
caso, puedes utilizar la palabra const para decirle
|
| 212 |
+
|
| 213 |
+
00:03:16.725 --> 00:03:18.725
|
| 214 |
+
que esta variable es fija y nunca debe
|
| 215 |
+
|
| 216 |
+
00:03:18.725 --> 00:03:21.460
|
| 217 |
+
poder reasignarse. La forma en que lo harías
|
| 218 |
+
|
| 219 |
+
00:03:21.460 --> 00:03:24.040
|
| 220 |
+
sería antes de la declaración de la variable,
|
| 221 |
+
|
| 222 |
+
00:03:24.100 --> 00:03:27.380
|
| 223 |
+
vamos a escribir la palabra const antes de
|
| 224 |
+
|
| 225 |
+
00:03:27.380 --> 00:03:30.040
|
| 226 |
+
la declaración de nuestra variable, y con esto
|
| 227 |
+
|
| 228 |
+
00:03:30.260 --> 00:03:33.300
|
| 229 |
+
ya tendríamos declarado que no podemos modificar el
|
| 230 |
+
|
| 231 |
+
00:03:33.300 --> 00:03:36.005
|
| 232 |
+
valor de la variable letra, en este caso,
|
| 233 |
+
|
| 234 |
+
00:03:36.005 --> 00:03:38.725
|
| 235 |
+
siempre va a ser la letra a. ¿Qué
|
| 236 |
+
|
| 237 |
+
00:03:38.725 --> 00:03:41.925
|
| 238 |
+
pasa si yo quiero ejecutar este código? Pues,
|
| 239 |
+
|
| 240 |
+
00:03:41.925 --> 00:03:43.685
|
| 241 |
+
va a funcionar de forma normal, pero ¿qué
|
| 242 |
+
|
| 243 |
+
00:03:43.685 --> 00:03:46.710
|
| 244 |
+
pasaría si yo quisiera editar el valor de
|
| 245 |
+
|
| 246 |
+
00:03:46.950 --> 00:03:50.710
|
| 247 |
+
esta variable letra, yo quisiera asignarle un nuevo
|
| 248 |
+
|
| 249 |
+
00:03:50.710 --> 00:03:53.130
|
| 250 |
+
valor que sea, por ejemplo, la letra b?
|
| 251 |
+
|
| 252 |
+
00:03:56.710 --> 00:03:58.790
|
| 253 |
+
En primer lugar, mi editor de código me
|
| 254 |
+
|
| 255 |
+
00:03:58.790 --> 00:04:01.575
|
| 256 |
+
va a decir que esta es una constante,
|
| 257 |
+
|
| 258 |
+
00:04:01.575 --> 00:04:04.635
|
| 259 |
+
por lo tanto, no debería tratar de modificarlo.
|
| 260 |
+
|
| 261 |
+
00:04:05.415 --> 00:04:07.355
|
| 262 |
+
¿Y qué pasa si yo trato de compilarlo
|
| 263 |
+
|
| 264 |
+
00:04:07.415 --> 00:04:09.095
|
| 265 |
+
de todos modos? Pues, me va a dar
|
| 266 |
+
|
| 267 |
+
00:04:09.095 --> 00:04:10.935
|
| 268 |
+
un error, me va a indicar que en
|
| 269 |
+
|
| 270 |
+
00:04:10.935 --> 00:04:15.095
|
| 271 |
+
la línea nueve, en el carácter número trece
|
| 272 |
+
|
| 273 |
+
00:04:15.095 --> 00:04:16.954
|
| 274 |
+
de esa línea, aquí me lo está diciendo,
|
| 275 |
+
|
| 276 |
+
00:04:18.120 --> 00:04:19.959
|
| 277 |
+
Justamente, aquí me pone una flechita sobre la
|
| 278 |
+
|
| 279 |
+
00:04:19.959 --> 00:04:21.560
|
| 280 |
+
b y me dice que esto es un
|
| 281 |
+
|
| 282 |
+
00:04:21.560 --> 00:04:23.660
|
| 283 |
+
valor de solo lectura, yo no puedo editarlo,
|
| 284 |
+
|
| 285 |
+
00:04:24.120 --> 00:04:26.060
|
| 286 |
+
así que no me va a dejar compilar.
|
| 287 |
+
|
| 288 |
+
00:04:26.920 --> 00:04:29.400
|
| 289 |
+
Esta es la forma que podemos utilizar, como
|
| 290 |
+
|
| 291 |
+
00:04:29.400 --> 00:04:32.914
|
| 292 |
+
mencionaba, para proteger ciertos datos o ciertos tipos
|
| 293 |
+
|
| 294 |
+
00:04:32.914 --> 00:04:35.634
|
| 295 |
+
de valores para que los usuarios no tengan
|
| 296 |
+
|
| 297 |
+
00:04:35.634 --> 00:04:37.974
|
| 298 |
+
acceso a editarlos o nadie trate de modificarlos
|
| 299 |
+
|
| 300 |
+
00:04:38.115 --> 00:04:42.755
|
| 301 |
+
por accidente. Voy a quitar esta línea de
|
| 302 |
+
|
| 303 |
+
00:04:42.755 --> 00:04:44.594
|
| 304 |
+
código que trato de modificar y voy a
|
| 305 |
+
|
| 306 |
+
00:04:44.594 --> 00:04:48.500
|
| 307 |
+
compilar de nuevo, y ahí está, funcionando una
|
| 308 |
+
|
| 309 |
+
00:04:48.500 --> 00:04:52.180
|
| 310 |
+
vez más. Ahora, ya hablamos sobre las constantes
|
| 311 |
+
|
| 312 |
+
00:04:52.180 --> 00:04:54.580
|
| 313 |
+
y ya hablamos sobre las variables. Así como
|
| 314 |
+
|
| 315 |
+
00:04:54.580 --> 00:04:57.540
|
| 316 |
+
yo creé tipos enteros, tipo carácter, yo podría
|
| 317 |
+
|
| 318 |
+
00:04:57.540 --> 00:05:01.104
|
| 319 |
+
haber creado tipos booleanos, flotantes, etcétera, y seguiría
|
| 320 |
+
|
| 321 |
+
00:05:01.725 --> 00:05:03.645
|
| 322 |
+
funcionando. Vamos a hablar de otro tema que
|
| 323 |
+
|
| 324 |
+
00:05:03.645 --> 00:05:05.965
|
| 325 |
+
también es importante dentro de C más más,
|
| 326 |
+
|
| 327 |
+
00:05:05.965 --> 00:05:08.445
|
| 328 |
+
y es cómo vamos a hacer para hacer
|
| 329 |
+
|
| 330 |
+
00:05:08.445 --> 00:05:11.565
|
| 331 |
+
conjuntos de valores. Supongamos que tú tienes una
|
| 332 |
+
|
| 333 |
+
00:05:11.565 --> 00:05:14.750
|
| 334 |
+
lista de personas, pero no necesitas saber todos
|
| 335 |
+
|
| 336 |
+
00:05:14.750 --> 00:05:17.150
|
| 337 |
+
sus datos, tal vez solamente quieres obtener cuál
|
| 338 |
+
|
| 339 |
+
00:05:17.150 --> 00:05:20.190
|
| 340 |
+
es la edad promedio. En este caso, solamente
|
| 341 |
+
|
| 342 |
+
00:05:20.190 --> 00:05:23.790
|
| 343 |
+
necesitarías las edades de cada persona. Por lo
|
| 344 |
+
|
| 345 |
+
00:05:23.790 --> 00:05:26.625
|
| 346 |
+
tanto, tendrías una lista de edades. Si tú
|
| 347 |
+
|
| 348 |
+
00:05:26.625 --> 00:05:29.305
|
| 349 |
+
quisieras hacer un proceso con estas edades, no
|
| 350 |
+
|
| 351 |
+
00:05:29.305 --> 00:05:32.185
|
| 352 |
+
sería muy eficiente crear una variable por cada
|
| 353 |
+
|
| 354 |
+
00:05:32.185 --> 00:05:35.145
|
| 355 |
+
edad, porque, en primer lugar, estarías escribiendo edad
|
| 356 |
+
|
| 357 |
+
00:05:35.145 --> 00:05:37.465
|
| 358 |
+
uno, edad dos, edad tres, edad cuatro como
|
| 359 |
+
|
| 360 |
+
00:05:37.465 --> 00:05:41.340
|
| 361 |
+
variables, lo cual haría muy cansado y muy
|
| 362 |
+
|
| 363 |
+
00:05:41.340 --> 00:05:44.860
|
| 364 |
+
tedioso la programación. Y, en segundo lugar, en
|
| 365 |
+
|
| 366 |
+
00:05:44.860 --> 00:05:46.940
|
| 367 |
+
la ejecución de tu programa, realmente, no vas
|
| 368 |
+
|
| 369 |
+
00:05:46.940 --> 00:05:49.740
|
| 370 |
+
a saber cuántos elementos tiene la lista, cuántas
|
| 371 |
+
|
| 372 |
+
00:05:49.740 --> 00:05:53.495
|
| 373 |
+
personas vas a sacar el promedio. Entonces, una
|
| 374 |
+
|
| 375 |
+
00:05:53.495 --> 00:05:56.255
|
| 376 |
+
forma mejor de hacerlo es utilizar las listas
|
| 377 |
+
|
| 378 |
+
00:05:56.255 --> 00:05:58.735
|
| 379 |
+
de c más más, y esto es por
|
| 380 |
+
|
| 381 |
+
00:05:58.735 --> 00:06:02.355
|
| 382 |
+
medio de la siguiente sintaxis. En primer lugar,
|
| 383 |
+
|
| 384 |
+
00:06:02.575 --> 00:06:04.910
|
| 385 |
+
vas a crear una variable, como cualquier otra,
|
| 386 |
+
|
| 387 |
+
00:06:04.910 --> 00:06:07.790
|
| 388 |
+
supongamos que queremos almacenar la lista de edades
|
| 389 |
+
|
| 390 |
+
00:06:07.790 --> 00:06:10.910
|
| 391 |
+
de una serie de personas. Primero indicarías de
|
| 392 |
+
|
| 393 |
+
00:06:10.910 --> 00:06:13.389
|
| 394 |
+
qué tipo. Como sabemos que van a ser
|
| 395 |
+
|
| 396 |
+
00:06:13.389 --> 00:06:15.550
|
| 397 |
+
las edades, sabemos que todas son variables numéricas,
|
| 398 |
+
|
| 399 |
+
00:06:15.550 --> 00:06:17.550
|
| 400 |
+
en C más más no puedes combinar estos
|
| 401 |
+
|
| 402 |
+
00:06:17.550 --> 00:06:20.305
|
| 403 |
+
tipos, no podrías poner algo como entero y
|
| 404 |
+
|
| 405 |
+
00:06:20.305 --> 00:06:23.505
|
| 406 |
+
luego que otro valor sea un carácter, sino
|
| 407 |
+
|
| 408 |
+
00:06:23.505 --> 00:06:25.585
|
| 409 |
+
que tienen que ser todos enteros, en este
|
| 410 |
+
|
| 411 |
+
00:06:25.585 --> 00:06:29.505
|
| 412 |
+
caso. La lista sería, por ejemplo, lista de
|
| 413 |
+
|
| 414 |
+
00:06:29.505 --> 00:06:31.265
|
| 415 |
+
edades, por lo tanto, le puedo poner ese
|
| 416 |
+
|
| 417 |
+
00:06:31.265 --> 00:06:39.380
|
| 418 |
+
ese nombre, lista edades, y le puedo asignar
|
| 419 |
+
|
| 420 |
+
00:06:39.380 --> 00:06:41.060
|
| 421 |
+
un valor inicial, voy a poner el punto
|
| 422 |
+
|
| 423 |
+
00:06:41.060 --> 00:06:43.780
|
| 424 |
+
y coma para que aparezca desde este momento,
|
| 425 |
+
|
| 426 |
+
00:06:43.780 --> 00:06:46.020
|
| 427 |
+
para que no se me olvide. Ahora, ¿cómo
|
| 428 |
+
|
| 429 |
+
00:06:46.020 --> 00:06:48.660
|
| 430 |
+
yo puedo indicarle que quiero una lista de
|
| 431 |
+
|
| 432 |
+
00:06:48.660 --> 00:06:51.695
|
| 433 |
+
edades? Bueno, necesito añadir dos cosas. En primer
|
| 434 |
+
|
| 435 |
+
00:06:51.695 --> 00:06:54.895
|
| 436 |
+
lugar, necesito agregarle, pues, la lista de valores
|
| 437 |
+
|
| 438 |
+
00:06:54.895 --> 00:06:57.135
|
| 439 |
+
uno tras otro y, en segundo lugar, necesito
|
| 440 |
+
|
| 441 |
+
00:06:57.135 --> 00:06:59.055
|
| 442 |
+
indicarle a mi lenguaje qué se trata de
|
| 443 |
+
|
| 444 |
+
00:06:59.055 --> 00:07:01.854
|
| 445 |
+
una lista. Para indicarle qué se trata de
|
| 446 |
+
|
| 447 |
+
00:07:01.854 --> 00:07:04.335
|
| 448 |
+
una lista, voy a utilizar estos símbolos de
|
| 449 |
+
|
| 450 |
+
00:07:04.335 --> 00:07:06.840
|
| 451 |
+
corchetes que me permiten, que le permiten a
|
| 452 |
+
|
| 453 |
+
00:07:06.840 --> 00:07:08.280
|
| 454 |
+
C más más saber que aquí se trata
|
| 455 |
+
|
| 456 |
+
00:07:08.280 --> 00:07:11.000
|
| 457 |
+
de una lista. Y para agregarle una lista
|
| 458 |
+
|
| 459 |
+
00:07:11.000 --> 00:07:15.800
|
| 460 |
+
de valores, voy a utilizar estas llaves donde
|
| 461 |
+
|
| 462 |
+
00:07:15.800 --> 00:07:18.040
|
| 463 |
+
C más más me va a permitir agregar,
|
| 464 |
+
|
| 465 |
+
00:07:18.040 --> 00:07:19.880
|
| 466 |
+
pues, todos los valores que yo quiera guardar
|
| 467 |
+
|
| 468 |
+
00:07:19.880 --> 00:07:23.465
|
| 469 |
+
en esa lista de edades, por ejemplo. Aquí,
|
| 470 |
+
|
| 471 |
+
00:07:23.465 --> 00:07:25.305
|
| 472 |
+
la única condición es que yo separe los
|
| 473 |
+
|
| 474 |
+
00:07:25.305 --> 00:07:28.104
|
| 475 |
+
valores por comas. Si yo quisiera tener solamente
|
| 476 |
+
|
| 477 |
+
00:07:28.104 --> 00:07:30.345
|
| 478 |
+
un valor que tenga la primera edad, por
|
| 479 |
+
|
| 480 |
+
00:07:30.345 --> 00:07:34.419
|
| 481 |
+
ejemplo, dieciocho, podría tenerlo así, Pero si yo
|
| 482 |
+
|
| 483 |
+
00:07:34.419 --> 00:07:37.699
|
| 484 |
+
quiero tener una lista de diez, veinte, treinta
|
| 485 |
+
|
| 486 |
+
00:07:37.699 --> 00:07:40.500
|
| 487 |
+
edades, tal vez solo unas cuantas edades, como
|
| 488 |
+
|
| 489 |
+
00:07:40.500 --> 00:07:43.460
|
| 490 |
+
tres, lo que tendría que hacer es separarlas
|
| 491 |
+
|
| 492 |
+
00:07:43.460 --> 00:07:48.115
|
| 493 |
+
por coma. La forma sería, por ejemplo, de
|
| 494 |
+
|
| 495 |
+
00:07:48.115 --> 00:07:51.315
|
| 496 |
+
esta forma. Con esto, yo ya tengo una
|
| 497 |
+
|
| 498 |
+
00:07:51.315 --> 00:07:54.435
|
| 499 |
+
lista de edades que tiene almacenados una lista
|
| 500 |
+
|
| 501 |
+
00:07:54.435 --> 00:07:56.995
|
| 502 |
+
de valores reales que yo ya puedo procesar.
|
| 503 |
+
|
| 504 |
+
00:07:56.995 --> 00:07:58.995
|
| 505 |
+
Esto me va a dar varias facilidades más
|
| 506 |
+
|
| 507 |
+
00:07:58.995 --> 00:08:01.075
|
| 508 |
+
adelante en en los ejemplos que vamos a
|
| 509 |
+
|
| 510 |
+
00:08:01.075 --> 00:08:03.720
|
| 511 |
+
ver, de momento, es importante que sepas que
|
| 512 |
+
|
| 513 |
+
00:08:03.720 --> 00:08:06.140
|
| 514 |
+
las listas se declaran de esta manera y
|
| 515 |
+
|
| 516 |
+
00:08:06.200 --> 00:08:07.960
|
| 517 |
+
cómo sería la forma de acceder a estos
|
| 518 |
+
|
| 519 |
+
00:08:07.960 --> 00:08:11.160
|
| 520 |
+
valores. Ahora, te estarás preguntando, ok, si yo
|
| 521 |
+
|
| 522 |
+
00:08:11.160 --> 00:08:13.720
|
| 523 |
+
quisiera imprimir el valor de la edad, la
|
| 524 |
+
|
| 525 |
+
00:08:13.720 --> 00:08:15.300
|
| 526 |
+
la primera variable que se encuentra en la
|
| 527 |
+
|
| 528 |
+
00:08:15.300 --> 00:08:17.384
|
| 529 |
+
línea seis, que se llama edad, es simple,
|
| 530 |
+
|
| 531 |
+
00:08:17.384 --> 00:08:20.985
|
| 532 |
+
solamente digo se out, edad y listo. ¿Cómo
|
| 533 |
+
|
| 534 |
+
00:08:20.985 --> 00:08:24.185
|
| 535 |
+
imprimiría yo solamente un valor de la lista?
|
| 536 |
+
|
| 537 |
+
00:08:24.185 --> 00:08:26.504
|
| 538 |
+
Por ejemplo, solo el dieciocho o solo el
|
| 539 |
+
|
| 540 |
+
00:08:26.504 --> 00:08:29.305
|
| 541 |
+
veinticuatro o solo el dieciséis. La forma que
|
| 542 |
+
|
| 543 |
+
00:08:29.305 --> 00:08:30.905
|
| 544 |
+
nos da C más más es acceder por
|
| 545 |
+
|
| 546 |
+
00:08:30.905 --> 00:08:32.830
|
| 547 |
+
el número de lista, es lo que se
|
| 548 |
+
|
| 549 |
+
00:08:32.830 --> 00:08:35.990
|
| 550 |
+
conoce como el índice, y en programación comenzamos
|
| 551 |
+
|
| 552 |
+
00:08:35.990 --> 00:08:38.410
|
| 553 |
+
a contar los elementos a partir de cero.
|
| 554 |
+
|
| 555 |
+
00:08:38.630 --> 00:08:41.429
|
| 556 |
+
Por lo tanto, el primer valor se encuentra
|
| 557 |
+
|
| 558 |
+
00:08:41.429 --> 00:08:43.910
|
| 559 |
+
en el índice cero, el segundo valor se
|
| 560 |
+
|
| 561 |
+
00:08:43.910 --> 00:08:46.545
|
| 562 |
+
encuentra en el índice uno, y el tercer
|
| 563 |
+
|
| 564 |
+
00:08:46.545 --> 00:08:48.945
|
| 565 |
+
valor se encuentra en el índice, que como
|
| 566 |
+
|
| 567 |
+
00:08:48.945 --> 00:08:51.525
|
| 568 |
+
ya vimos es un número de lista, número
|
| 569 |
+
|
| 570 |
+
00:08:51.585 --> 00:08:55.025
|
| 571 |
+
dos. Y esto nos va a permitir acceder
|
| 572 |
+
|
| 573 |
+
00:08:55.025 --> 00:08:57.125
|
| 574 |
+
a esos valores por medio del índice utilizando
|
| 575 |
+
|
| 576 |
+
00:08:57.505 --> 00:09:00.449
|
| 577 |
+
los corchetes. Por ejemplo, si yo quiero imprimir
|
| 578 |
+
|
| 579 |
+
00:09:00.589 --> 00:09:02.750
|
| 580 |
+
la lista, el valor de la lista que
|
| 581 |
+
|
| 582 |
+
00:09:02.750 --> 00:09:05.630
|
| 583 |
+
es el número veinticuatro, tendría que decirle, quiero
|
| 584 |
+
|
| 585 |
+
00:09:05.630 --> 00:09:08.610
|
| 586 |
+
de la lista de edades el índice uno.
|
| 587 |
+
|
| 588 |
+
00:09:09.550 --> 00:09:13.475
|
| 589 |
+
Voy a realizar el ejemplo con un c
|
| 590 |
+
|
| 591 |
+
00:09:13.475 --> 00:09:15.555
|
| 592 |
+
out, en este caso, voy a darle un
|
| 593 |
+
|
| 594 |
+
00:09:15.555 --> 00:09:18.035
|
| 595 |
+
end l para que termine esa línea, haga
|
| 596 |
+
|
| 597 |
+
00:09:18.035 --> 00:09:20.275
|
| 598 |
+
un cambio de línea, y voy a agregar
|
| 599 |
+
|
| 600 |
+
00:09:20.275 --> 00:09:23.955
|
| 601 |
+
uno nuevo. Y la forma en que yo
|
| 602 |
+
|
| 603 |
+
00:09:23.955 --> 00:09:27.139
|
| 604 |
+
podría hacerlo es comenzar a escribir lista de
|
| 605 |
+
|
| 606 |
+
00:09:27.440 --> 00:09:32.240
|
| 607 |
+
edades, así, utilizar unos corchetes, y dentro de
|
| 608 |
+
|
| 609 |
+
00:09:32.240 --> 00:09:36.740
|
| 610 |
+
los corchetes yo puedo indicarle cuál es el
|
| 611 |
+
|
| 612 |
+
00:09:36.879 --> 00:09:38.835
|
| 613 |
+
índice al que quiero acceder. Por ejemplo, si
|
| 614 |
+
|
| 615 |
+
00:09:38.995 --> 00:09:41.395
|
| 616 |
+
yo quiero acceder al número veinticuatro, tengo que
|
| 617 |
+
|
| 618 |
+
00:09:41.395 --> 00:09:48.755
|
| 619 |
+
es la posición uno. Ahí está. Como te
|
| 620 |
+
|
| 621 |
+
00:09:48.755 --> 00:09:50.755
|
| 622 |
+
das cuenta, nuestro editor de código ya no
|
| 623 |
+
|
| 624 |
+
00:09:50.755 --> 00:09:52.515
|
| 625 |
+
se queja, ya nos deja hacerlo, y si
|
| 626 |
+
|
| 627 |
+
00:09:52.515 --> 00:09:54.830
|
| 628 |
+
yo le doy ejecutar a nuestro programa, voy
|
| 629 |
+
|
| 630 |
+
00:09:54.830 --> 00:09:58.110
|
| 631 |
+
a obtener el último valor de nuestra ejecución
|
| 632 |
+
|
| 633 |
+
00:09:58.110 --> 00:10:00.510
|
| 634 |
+
que está aquí, el veinticuatro, es el valor
|
| 635 |
+
|
| 636 |
+
00:10:00.510 --> 00:10:03.390
|
| 637 |
+
al que yo quería acceder. Accedí gracias a
|
| 638 |
+
|
| 639 |
+
00:10:03.390 --> 00:10:05.650
|
| 640 |
+
su número de lista, que es su índice,
|
| 641 |
+
|
| 642 |
+
00:10:05.710 --> 00:10:07.630
|
| 643 |
+
y el nombre de la variable. De esta
|
| 644 |
+
|
| 645 |
+
00:10:07.630 --> 00:10:10.885
|
| 646 |
+
misma manera, yo podría asignarle un valor. Por
|
| 647 |
+
|
| 648 |
+
00:10:10.885 --> 00:10:13.285
|
| 649 |
+
ejemplo, si yo quiero asignarle un nuevo valor
|
| 650 |
+
|
| 651 |
+
00:10:13.285 --> 00:10:15.945
|
| 652 |
+
que, en lugar de ser veinticuatro, ese elemento
|
| 653 |
+
|
| 654 |
+
00:10:16.084 --> 00:10:20.165
|
| 655 |
+
sea veintiséis, podría hacerlo. Lo haría de la
|
| 656 |
+
|
| 657 |
+
00:10:20.165 --> 00:10:25.130
|
| 658 |
+
siguiente manera, lista de edades, el índice igual
|
| 659 |
+
|
| 660 |
+
00:10:26.070 --> 00:10:28.310
|
| 661 |
+
a, y el nuevo valor que yo quiero
|
| 662 |
+
|
| 663 |
+
00:10:28.310 --> 00:10:32.870
|
| 664 |
+
asignarle. Una vez hecho esto, guardo y vuelvo
|
| 665 |
+
|
| 666 |
+
00:10:32.870 --> 00:10:36.790
|
| 667 |
+
a compilar, y listo, ahora me aparece el
|
| 668 |
+
|
| 669 |
+
00:10:36.790 --> 00:10:43.041
|
| 670 |
+
número veintiséis. Esto es cómo crear variables constantes
|
| 671 |
+
|
| 672 |
+
00:10:43.421 --> 00:10:45.901
|
| 673 |
+
y listas en C más más. Te veo
|
| 674 |
+
|
| 675 |
+
00:10:45.901 --> 00:10:47.041
|
| 676 |
+
en la próxima clase.
|
subir/Curso de C Básico/03-Conceptos básicos/04-Lecturas recomendadas.txt
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
https://platzi.com/cursos/programacion-basica/
|
| 2 |
+
https://github.com/platzi/curso-basico-c-plus-plus/tree/constantes-listas
|
subir/Curso de C Básico/03-Conceptos básicos/04-Resumen.html
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
subir/Curso de C Básico/03-Conceptos básicos/04-constantes-listas.zip
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:15e6ee985a2c67139b1d20580378b1fe6b628185a9d3002082fa97605cf55baf
|
| 3 |
+
size 1877
|
subir/Curso de C Básico/03-Conceptos básicos/05-Lecturas recomendadas.txt
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
https://github.com/platzi/curso-basico-c-plus-plus/tree/operadores
|
subir/Curso de C Básico/03-Conceptos básicos/05-Operadores en C Aritméticos Comparativos y Lógicos.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:5eba26648c6d5d3bbffb773cb16a153716446a868d2d1a09da68077ec268ca4f
|
| 3 |
+
size 149543008
|
subir/Curso de C Básico/03-Conceptos básicos/05-Operadores en C Aritméticos Comparativos y Lógicos.vtt
ADDED
|
@@ -0,0 +1,799 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:03.199 --> 00:00:05.279
|
| 4 |
+
Vamos a hablar sobre otro tema muy importante
|
| 5 |
+
|
| 6 |
+
00:00:05.279 --> 00:00:08.400
|
| 7 |
+
de la programación, que son los operadores. En
|
| 8 |
+
|
| 9 |
+
00:00:08.400 --> 00:00:12.320
|
| 10 |
+
C más más existen diferentes tipos de operadores.
|
| 11 |
+
|
| 12 |
+
00:00:12.320 --> 00:00:15.474
|
| 13 |
+
En primer lugar, existen los operadores aritméticos, como
|
| 14 |
+
|
| 15 |
+
00:00:15.474 --> 00:00:19.715
|
| 16 |
+
la suma, la resta, multiplicación, división, división entera,
|
| 17 |
+
|
| 18 |
+
00:00:19.715 --> 00:00:21.795
|
| 19 |
+
que son los operadores matemáticos de toda la
|
| 20 |
+
|
| 21 |
+
00:00:21.795 --> 00:00:24.275
|
| 22 |
+
vida que, seguramente, si realizaste el curso de
|
| 23 |
+
|
| 24 |
+
00:00:24.275 --> 00:00:28.275
|
| 25 |
+
programación básica, ya conoces. Además de estos, existen
|
| 26 |
+
|
| 27 |
+
00:00:28.275 --> 00:00:31.160
|
| 28 |
+
los de comparación, por ejemplo, el doble igual
|
| 29 |
+
|
| 30 |
+
00:00:31.160 --> 00:00:34.200
|
| 31 |
+
nos ayuda a verificar si dos valores tienen,
|
| 32 |
+
|
| 33 |
+
00:00:34.200 --> 00:00:37.239
|
| 34 |
+
pues, una exactitud de igualdad, es decir, si
|
| 35 |
+
|
| 36 |
+
00:00:37.239 --> 00:00:39.640
|
| 37 |
+
dos es igual a dos o si un
|
| 38 |
+
|
| 39 |
+
00:00:39.640 --> 00:00:42.440
|
| 40 |
+
número es igual a otro, sea el número
|
| 41 |
+
|
| 42 |
+
00:00:42.440 --> 00:00:46.015
|
| 43 |
+
que sea, si si usáramos variables, y otros
|
| 44 |
+
|
| 45 |
+
00:00:46.015 --> 00:00:48.975
|
| 46 |
+
tipos de comparadores, por ejemplo, menor que, mayor
|
| 47 |
+
|
| 48 |
+
00:00:48.975 --> 00:00:54.435
|
| 49 |
+
que, diferente de, etcétera. La asignación nos permite
|
| 50 |
+
|
| 51 |
+
00:00:55.455 --> 00:00:57.055
|
| 52 |
+
añadirle una nuevo un nuevo valor a una
|
| 53 |
+
|
| 54 |
+
00:00:57.055 --> 00:00:59.500
|
| 55 |
+
variable a la vez que realizamos una operación
|
| 56 |
+
|
| 57 |
+
00:00:59.500 --> 00:01:03.040
|
| 58 |
+
matemática. Por ejemplo, tenemos más igual, menos igual,
|
| 59 |
+
|
| 60 |
+
00:01:03.100 --> 00:01:05.660
|
| 61 |
+
que lo que harían es permitirnos sumarle un
|
| 62 |
+
|
| 63 |
+
00:01:05.660 --> 00:01:08.220
|
| 64 |
+
número a la variable actual y almacenar el
|
| 65 |
+
|
| 66 |
+
00:01:08.220 --> 00:01:10.479
|
| 67 |
+
resultado en la misma variable que le indicamos.
|
| 68 |
+
|
| 69 |
+
00:01:12.155 --> 00:01:14.635
|
| 70 |
+
Adicionalmente, tenemos los operadores lógicos, que son los
|
| 71 |
+
|
| 72 |
+
00:01:14.635 --> 00:01:19.295
|
| 73 |
+
que realizan operaciones booleanas, como ant, or o
|
| 74 |
+
|
| 75 |
+
00:01:19.295 --> 00:01:24.175
|
| 76 |
+
not, que es una negación. También tenemos otros
|
| 77 |
+
|
| 78 |
+
00:01:24.370 --> 00:01:27.170
|
| 79 |
+
tipos de operadores, enzimas más, como size off
|
| 80 |
+
|
| 81 |
+
00:01:27.170 --> 00:01:29.869
|
| 82 |
+
o los operadores que hemos estado utilizando con
|
| 83 |
+
|
| 84 |
+
00:01:30.130 --> 00:01:32.770
|
| 85 |
+
el c out de io stream para la
|
| 86 |
+
|
| 87 |
+
00:01:32.770 --> 00:01:36.610
|
| 88 |
+
asignación de streams. En este caso, vamos a
|
| 89 |
+
|
| 90 |
+
00:01:36.610 --> 00:01:39.330
|
| 91 |
+
hablar sobre size off y sobre algunos de
|
| 92 |
+
|
| 93 |
+
00:01:39.330 --> 00:01:43.165
|
| 94 |
+
los operadores aritméticos y tal vez algún otro.
|
| 95 |
+
|
| 96 |
+
00:01:44.505 --> 00:01:47.465
|
| 97 |
+
Vamos a ver un ejemplo de código. Como
|
| 98 |
+
|
| 99 |
+
00:01:47.465 --> 00:01:49.465
|
| 100 |
+
puedes ver, ya tengo preparado para ti la
|
| 101 |
+
|
| 102 |
+
00:01:49.465 --> 00:01:51.384
|
| 103 |
+
base de código que vamos a estar utilizando
|
| 104 |
+
|
| 105 |
+
00:01:51.384 --> 00:01:54.520
|
| 106 |
+
en todos los ejercicios de este curso. Tenemos
|
| 107 |
+
|
| 108 |
+
00:01:54.520 --> 00:01:57.080
|
| 109 |
+
la librería de iStream, la función main y
|
| 110 |
+
|
| 111 |
+
00:01:57.080 --> 00:01:59.960
|
| 112 |
+
el espacio de nombres estándar. Vamos a comenzar
|
| 113 |
+
|
| 114 |
+
00:01:59.960 --> 00:02:03.259
|
| 115 |
+
a realizar nuestros ejercicios de operadores. En primer
|
| 116 |
+
|
| 117 |
+
00:02:03.360 --> 00:02:05.720
|
| 118 |
+
lugar, vamos a declarar, tal vez, un par
|
| 119 |
+
|
| 120 |
+
00:02:05.720 --> 00:02:08.199
|
| 121 |
+
de variables para poder realizar las operaciones con
|
| 122 |
+
|
| 123 |
+
00:02:08.199 --> 00:02:11.505
|
| 124 |
+
ellas. Para probar los operadores aritméticos, vamos a
|
| 125 |
+
|
| 126 |
+
00:02:11.505 --> 00:02:14.625
|
| 127 |
+
necesitar realizar operaciones entre números, por lo tanto,
|
| 128 |
+
|
| 129 |
+
00:02:14.625 --> 00:02:18.385
|
| 130 |
+
vamos a declarar dos números. Por ejemplo, vamos
|
| 131 |
+
|
| 132 |
+
00:02:18.385 --> 00:02:21.585
|
| 133 |
+
a crear la variable a, que contiene el
|
| 134 |
+
|
| 135 |
+
00:02:21.585 --> 00:02:25.760
|
| 136 |
+
número dos, y vamos a crear la variable
|
| 137 |
+
|
| 138 |
+
00:02:25.760 --> 00:02:31.120
|
| 139 |
+
b, que contiene el número tres. Vamos a
|
| 140 |
+
|
| 141 |
+
00:02:31.120 --> 00:02:33.600
|
| 142 |
+
realizar una salida de los datos para poder
|
| 143 |
+
|
| 144 |
+
00:02:33.600 --> 00:02:36.340
|
| 145 |
+
visualizar cuál es el resultado de nuestras operaciones
|
| 146 |
+
|
| 147 |
+
00:02:36.685 --> 00:02:39.004
|
| 148 |
+
después de ejecutar nuestro programa, así que vamos
|
| 149 |
+
|
| 150 |
+
00:02:39.004 --> 00:02:42.364
|
| 151 |
+
a utilizar la funcionalidad de COUT que nos
|
| 152 |
+
|
| 153 |
+
00:02:42.364 --> 00:02:45.724
|
| 154 |
+
ofrece iOStream, y ahí vamos a mostrar los
|
| 155 |
+
|
| 156 |
+
00:02:45.724 --> 00:02:49.325
|
| 157 |
+
resultados de nuestras operaciones. No olvidemos nunca poner
|
| 158 |
+
|
| 159 |
+
00:02:49.325 --> 00:02:51.200
|
| 160 |
+
el punto y coma después de cada orden
|
| 161 |
+
|
| 162 |
+
00:02:51.200 --> 00:02:54.520
|
| 163 |
+
que le damos a la computadora. Ahora, vamos
|
| 164 |
+
|
| 165 |
+
00:02:54.520 --> 00:02:56.740
|
| 166 |
+
a hablar sobre un par de operadores aritméticos.
|
| 167 |
+
|
| 168 |
+
00:02:57.200 --> 00:02:59.840
|
| 169 |
+
Por ejemplo, el operador de más. El operador
|
| 170 |
+
|
| 171 |
+
00:02:59.840 --> 00:03:02.560
|
| 172 |
+
de más, simplemente, como su nombre lo dice,
|
| 173 |
+
|
| 174 |
+
00:03:02.560 --> 00:03:05.254
|
| 175 |
+
suma a los dos números que le entreguemos.
|
| 176 |
+
|
| 177 |
+
00:03:05.395 --> 00:03:07.235
|
| 178 |
+
Por ejemplo, si queremos el resultado de la
|
| 179 |
+
|
| 180 |
+
00:03:07.235 --> 00:03:11.235
|
| 181 |
+
suma de dos más tres, sería cinco, podemos
|
| 182 |
+
|
| 183 |
+
00:03:11.235 --> 00:03:15.555
|
| 184 |
+
sumar a más b. Esta sería la forma
|
| 185 |
+
|
| 186 |
+
00:03:15.555 --> 00:03:19.319
|
| 187 |
+
de hacerlo. Esta operación, en este caso, va
|
| 188 |
+
|
| 189 |
+
00:03:19.319 --> 00:03:22.680
|
| 190 |
+
a realizar la suma, va a obtener el
|
| 191 |
+
|
| 192 |
+
00:03:22.680 --> 00:03:25.640
|
| 193 |
+
valor resultante y lo va a mostrar a
|
| 194 |
+
|
| 195 |
+
00:03:25.640 --> 00:03:29.879
|
| 196 |
+
la salida en la terminal. Voy a utilizar
|
| 197 |
+
|
| 198 |
+
00:03:29.879 --> 00:03:36.675
|
| 199 |
+
f seis para compilar y ejecutar. Y ahí
|
| 200 |
+
|
| 201 |
+
00:03:36.675 --> 00:03:39.015
|
| 202 |
+
está, ahora tenemos el valor cinco como salida
|
| 203 |
+
|
| 204 |
+
00:03:39.075 --> 00:03:41.795
|
| 205 |
+
de nuestro programa. Como puedes ver, la operación
|
| 206 |
+
|
| 207 |
+
00:03:41.795 --> 00:03:45.095
|
| 208 |
+
se realizó correctamente. Algo que es importante que
|
| 209 |
+
|
| 210 |
+
00:03:45.395 --> 00:03:48.200
|
| 211 |
+
notes es que la operación de suma de
|
| 212 |
+
|
| 213 |
+
00:03:48.200 --> 00:03:50.380
|
| 214 |
+
a más b se realizó antes del c
|
| 215 |
+
|
| 216 |
+
00:03:50.680 --> 00:03:53.000
|
| 217 |
+
out, pero no necesariamente tendría que estar ahí,
|
| 218 |
+
|
| 219 |
+
00:03:53.000 --> 00:03:55.959
|
| 220 |
+
podríamos realizar la operación y asignarse la otra
|
| 221 |
+
|
| 222 |
+
00:03:55.959 --> 00:03:58.680
|
| 223 |
+
variable. Por ejemplo, si yo tomo este valor
|
| 224 |
+
|
| 225 |
+
00:03:58.680 --> 00:04:04.995
|
| 226 |
+
de aquí, lo voy a cortar. Bueno, lo
|
| 227 |
+
|
| 228 |
+
00:04:04.995 --> 00:04:09.474
|
| 229 |
+
voy a copiar, y lo voy a pegar
|
| 230 |
+
|
| 231 |
+
00:04:09.474 --> 00:04:12.515
|
| 232 |
+
en una nueva variable que se llame c
|
| 233 |
+
|
| 234 |
+
00:04:12.515 --> 00:04:18.820
|
| 235 |
+
tal vez. Bueno, creo que no no se
|
| 236 |
+
|
| 237 |
+
00:04:18.820 --> 00:04:20.660
|
| 238 |
+
cortó y copió bien, pero lo voy a
|
| 239 |
+
|
| 240 |
+
00:04:20.660 --> 00:04:25.700
|
| 241 |
+
poner manualmente, a más b. Entonces, yo podría
|
| 242 |
+
|
| 243 |
+
00:04:25.700 --> 00:04:28.445
|
| 244 |
+
simplemente imprimir el valor de c a la
|
| 245 |
+
|
| 246 |
+
00:04:28.445 --> 00:04:31.546
|
| 247 |
+
salida de c out. Con esto, yo estoy
|
| 248 |
+
|
| 249 |
+
00:04:31.546 --> 00:04:34.125
|
| 250 |
+
realizando la operación en dos pasos. En primer
|
| 251 |
+
|
| 252 |
+
00:04:34.125 --> 00:04:37.405
|
| 253 |
+
lugar, realizo la suma, obtengo su resultado, lo
|
| 254 |
+
|
| 255 |
+
00:04:37.405 --> 00:04:39.405
|
| 256 |
+
almaceno en en la variable c, que es
|
| 257 |
+
|
| 258 |
+
00:04:39.405 --> 00:04:41.485
|
| 259 |
+
una nueva variable, y luego esa es la
|
| 260 |
+
|
| 261 |
+
00:04:41.485 --> 00:04:43.520
|
| 262 |
+
que muestro. ¿A qué voy con todo esto?
|
| 263 |
+
|
| 264 |
+
00:04:43.520 --> 00:04:46.400
|
| 265 |
+
Que en tus programas vas a poder utilizar
|
| 266 |
+
|
| 267 |
+
00:04:46.400 --> 00:04:49.440
|
| 268 |
+
todas las funcionalidades combinadas. Si tú aprendiste a
|
| 269 |
+
|
| 270 |
+
00:04:49.440 --> 00:04:52.240
|
| 271 |
+
utilizar la creación de variables, el uso de
|
| 272 |
+
|
| 273 |
+
00:04:52.240 --> 00:04:55.140
|
| 274 |
+
operadores y también cómo funciona SEOut, esos conocimientos
|
| 275 |
+
|
| 276 |
+
00:04:55.280 --> 00:04:57.040
|
| 277 |
+
tú los puedes combinar, como lo hemos estado
|
| 278 |
+
|
| 279 |
+
00:04:57.040 --> 00:04:59.505
|
| 280 |
+
haciendo, y con todas las demás lecciones que
|
| 281 |
+
|
| 282 |
+
00:04:59.505 --> 00:05:01.905
|
| 283 |
+
vamos a poder realizar en el curso, también
|
| 284 |
+
|
| 285 |
+
00:05:01.905 --> 00:05:03.745
|
| 286 |
+
quiero que sepas que todas esas cosas se
|
| 287 |
+
|
| 288 |
+
00:05:03.745 --> 00:05:07.104
|
| 289 |
+
pueden combinar entre sí. Y también es bueno
|
| 290 |
+
|
| 291 |
+
00:05:07.104 --> 00:05:09.264
|
| 292 |
+
que entiendas que estas operaciones, como la de
|
| 293 |
+
|
| 294 |
+
00:05:09.264 --> 00:05:12.216
|
| 295 |
+
suma, funcionan de forma independiente, no necesitarías utilizar
|
| 296 |
+
|
| 297 |
+
00:05:12.223 --> 00:05:14.830
|
| 298 |
+
c out para realizar una suma, por ejemplo.
|
| 299 |
+
|
| 300 |
+
00:05:15.610 --> 00:05:17.710
|
| 301 |
+
Entonces, ya tenemos el ejemplo de la suma,
|
| 302 |
+
|
| 303 |
+
00:05:17.770 --> 00:05:20.330
|
| 304 |
+
¿qué otras operaciones podemos realizar? Las operaciones que
|
| 305 |
+
|
| 306 |
+
00:05:20.330 --> 00:05:24.855
|
| 307 |
+
ya conoces, sumas, restas, multiplicaciones, divisiones. Por ejemplo,
|
| 308 |
+
|
| 309 |
+
00:05:24.855 --> 00:05:27.255
|
| 310 |
+
si yo quiero realizar una multiplicación de a
|
| 311 |
+
|
| 312 |
+
00:05:27.255 --> 00:05:31.735
|
| 313 |
+
por b, podría hacerlo. Simplemente tengo que ejecutar
|
| 314 |
+
|
| 315 |
+
00:05:31.735 --> 00:05:33.835
|
| 316 |
+
mi programa una vez más y ahora tengo
|
| 317 |
+
|
| 318 |
+
00:05:34.375 --> 00:05:36.375
|
| 319 |
+
el número seis, que es el resultado de
|
| 320 |
+
|
| 321 |
+
00:05:36.375 --> 00:05:39.789
|
| 322 |
+
multiplicar, dos por tres. De la misma manera,
|
| 323 |
+
|
| 324 |
+
00:05:39.789 --> 00:05:44.930
|
| 325 |
+
podría realizar todas las demás operaciones aritméticas. Existen
|
| 326 |
+
|
| 327 |
+
00:05:44.990 --> 00:05:47.389
|
| 328 |
+
otro tipo de operadores, como vimos, como podrían
|
| 329 |
+
|
| 330 |
+
00:05:47.389 --> 00:05:51.229
|
| 331 |
+
ser los operadores relacionales. Los operadores relacionales nos
|
| 332 |
+
|
| 333 |
+
00:05:51.229 --> 00:05:53.944
|
| 334 |
+
van a dar valores de verdadero o falso
|
| 335 |
+
|
| 336 |
+
00:05:53.944 --> 00:05:57.145
|
| 337 |
+
dependiendo si esa condición es real. Por ejemplo,
|
| 338 |
+
|
| 339 |
+
00:05:57.145 --> 00:05:59.224
|
| 340 |
+
si queremos relacionar el número a con el
|
| 341 |
+
|
| 342 |
+
00:05:59.224 --> 00:06:03.245
|
| 343 |
+
número b por medio de compararlos, podríamos pensar
|
| 344 |
+
|
| 345 |
+
00:06:03.465 --> 00:06:04.745
|
| 346 |
+
en si es mayor que o si es
|
| 347 |
+
|
| 348 |
+
00:06:04.745 --> 00:06:07.560
|
| 349 |
+
menor que o si es igual, entonces podríamos
|
| 350 |
+
|
| 351 |
+
00:06:07.560 --> 00:06:10.680
|
| 352 |
+
hacerlo de la siguiente manera. Podríamos utilizar el
|
| 353 |
+
|
| 354 |
+
00:06:10.680 --> 00:06:15.319
|
| 355 |
+
operador menor que, por ejemplo, para comparar si
|
| 356 |
+
|
| 357 |
+
00:06:15.319 --> 00:06:17.419
|
| 358 |
+
el valor de a es menor que b.
|
| 359 |
+
|
| 360 |
+
00:06:17.800 --> 00:06:21.175
|
| 361 |
+
Si esto es verdadero, la el valor de
|
| 362 |
+
|
| 363 |
+
00:06:21.175 --> 00:06:23.735
|
| 364 |
+
c ahora sería un valor booleano, por lo
|
| 365 |
+
|
| 366 |
+
00:06:23.735 --> 00:06:26.135
|
| 367 |
+
tanto, vamos a cambiar el tipo de dato
|
| 368 |
+
|
| 369 |
+
00:06:26.135 --> 00:06:28.775
|
| 370 |
+
de la variable c para que respetemos el
|
| 371 |
+
|
| 372 |
+
00:06:28.775 --> 00:06:30.375
|
| 373 |
+
tipo de valor que nos va a devolver
|
| 374 |
+
|
| 375 |
+
00:06:30.375 --> 00:06:35.070
|
| 376 |
+
esa operación. Y aquí estaríamos cambiando por bul.
|
| 377 |
+
|
| 378 |
+
00:06:35.870 --> 00:06:38.450
|
| 379 |
+
Con esto, nuestra variable c ya puede almacenar
|
| 380 |
+
|
| 381 |
+
00:06:38.670 --> 00:06:41.630
|
| 382 |
+
el resultado de este tipo de operaciones y
|
| 383 |
+
|
| 384 |
+
00:06:41.630 --> 00:06:43.950
|
| 385 |
+
nos va a almacenar, en este caso, tenemos
|
| 386 |
+
|
| 387 |
+
00:06:43.950 --> 00:06:46.110
|
| 388 |
+
que dos es menor que tres, por lo
|
| 389 |
+
|
| 390 |
+
00:06:46.110 --> 00:06:50.355
|
| 391 |
+
tanto, debería devolvernos true o verdadero. Vamos a
|
| 392 |
+
|
| 393 |
+
00:06:50.355 --> 00:06:57.555
|
| 394 |
+
ejecutar el programa. Listo. Ahora, como puedes ver,
|
| 395 |
+
|
| 396 |
+
00:06:57.555 --> 00:06:59.315
|
| 397 |
+
nos está mostrando un número uno. ¿Qué es
|
| 398 |
+
|
| 399 |
+
00:06:59.315 --> 00:07:01.875
|
| 400 |
+
lo que pasó aquí? Bueno, muy simple. Para
|
| 401 |
+
|
| 402 |
+
00:07:01.875 --> 00:07:04.590
|
| 403 |
+
la computadora, en lenguajes de programación de bajo
|
| 404 |
+
|
| 405 |
+
00:07:04.590 --> 00:07:07.790
|
| 406 |
+
nivel, como seis e más más, el verdadero
|
| 407 |
+
|
| 408 |
+
00:07:07.790 --> 00:07:10.110
|
| 409 |
+
va a ser equivalente a decir un uno
|
| 410 |
+
|
| 411 |
+
00:07:10.110 --> 00:07:11.970
|
| 412 |
+
en binario y el falso va a ser
|
| 413 |
+
|
| 414 |
+
00:07:12.190 --> 00:07:14.590
|
| 415 |
+
equivalente a decir un cero en binario. Por
|
| 416 |
+
|
| 417 |
+
00:07:14.590 --> 00:07:18.255
|
| 418 |
+
lo tanto, esta operación se realizó correctamente. Del
|
| 419 |
+
|
| 420 |
+
00:07:18.255 --> 00:07:20.495
|
| 421 |
+
al realizar, pues, la operación y darnos true,
|
| 422 |
+
|
| 423 |
+
00:07:20.495 --> 00:07:23.295
|
| 424 |
+
pues, nos muestra el número uno, porque c
|
| 425 |
+
|
| 426 |
+
00:07:23.295 --> 00:07:25.935
|
| 427 |
+
out no puede interpretar si se trata de
|
| 428 |
+
|
| 429 |
+
00:07:25.935 --> 00:07:28.355
|
| 430 |
+
una variable booleana o de una variable numérica
|
| 431 |
+
|
| 432 |
+
00:07:28.815 --> 00:07:31.875
|
| 433 |
+
de forma tan fácil. Eso lo podríamos corregir
|
| 434 |
+
|
| 435 |
+
00:07:32.015 --> 00:07:35.419
|
| 436 |
+
después, sin embargo, este es un valor, es
|
| 437 |
+
|
| 438 |
+
00:07:35.419 --> 00:07:39.340
|
| 439 |
+
un resultado correcto que esperaríamos. Ahora, ¿qué pasaría
|
| 440 |
+
|
| 441 |
+
00:07:39.340 --> 00:07:42.380
|
| 442 |
+
si yo hago la operación contraria? Si yo
|
| 443 |
+
|
| 444 |
+
00:07:42.380 --> 00:07:45.015
|
| 445 |
+
quiero verificar si a es mayor que b,
|
| 446 |
+
|
| 447 |
+
00:07:45.415 --> 00:07:47.895
|
| 448 |
+
esto nos daría falso, porque estaríamos diciendo que
|
| 449 |
+
|
| 450 |
+
00:07:47.895 --> 00:07:49.975
|
| 451 |
+
dos es mayor que tres, lo cual, pues,
|
| 452 |
+
|
| 453 |
+
00:07:49.975 --> 00:07:52.135
|
| 454 |
+
es falso. Esto se va a almacenar el
|
| 455 |
+
|
| 456 |
+
00:07:52.135 --> 00:07:53.975
|
| 457 |
+
c y cuando lo mostremos, vamos a volver
|
| 458 |
+
|
| 459 |
+
00:07:53.975 --> 00:07:56.215
|
| 460 |
+
a ejecutar nuestro programa, pues, nos va a
|
| 461 |
+
|
| 462 |
+
00:07:56.215 --> 00:07:58.135
|
| 463 |
+
dar un cero, que es decir, es un
|
| 464 |
+
|
| 465 |
+
00:07:58.135 --> 00:08:02.610
|
| 466 |
+
valor falso. Así funcionan los comparadores, que son
|
| 467 |
+
|
| 468 |
+
00:08:02.610 --> 00:08:05.330
|
| 469 |
+
otro tipo de operador que tenemos disponible en
|
| 470 |
+
|
| 471 |
+
00:08:05.330 --> 00:08:07.729
|
| 472 |
+
C más más y que seguramente habrás utilizado
|
| 473 |
+
|
| 474 |
+
00:08:07.729 --> 00:08:11.570
|
| 475 |
+
si ya tienes nociones de programación básica. Otro
|
| 476 |
+
|
| 477 |
+
00:08:11.570 --> 00:08:14.050
|
| 478 |
+
tipo de operadores que puedes aprender son los
|
| 479 |
+
|
| 480 |
+
00:08:14.050 --> 00:08:16.294
|
| 481 |
+
operadores de asignación, que lo que van a
|
| 482 |
+
|
| 483 |
+
00:08:16.294 --> 00:08:18.595
|
| 484 |
+
hacer es asignarle un nuevo valor a una
|
| 485 |
+
|
| 486 |
+
00:08:18.655 --> 00:08:22.095
|
| 487 |
+
variable a partir de el valor anterior más
|
| 488 |
+
|
| 489 |
+
00:08:22.095 --> 00:08:24.354
|
| 490 |
+
un cambio que tú le quieras agregar. Por
|
| 491 |
+
|
| 492 |
+
00:08:24.735 --> 00:08:27.775
|
| 493 |
+
ejemplo, si yo tengo la letra a, la
|
| 494 |
+
|
| 495 |
+
00:08:27.775 --> 00:08:30.580
|
| 496 |
+
variable a, que contiene el valor dos, yo
|
| 497 |
+
|
| 498 |
+
00:08:30.580 --> 00:08:32.919
|
| 499 |
+
puedo hacer que ahora su valor sea tres,
|
| 500 |
+
|
| 501 |
+
00:08:33.220 --> 00:08:36.200
|
| 502 |
+
incrementándola en uno. Por ejemplo, si yo creo
|
| 503 |
+
|
| 504 |
+
00:08:36.500 --> 00:08:39.460
|
| 505 |
+
para almacenar mi resultado esta variable c, le
|
| 506 |
+
|
| 507 |
+
00:08:39.460 --> 00:08:44.915
|
| 508 |
+
asigno a más igual uno, le estoy diciendo
|
| 509 |
+
|
| 510 |
+
00:08:44.915 --> 00:08:49.015
|
| 511 |
+
que quiero que la variable a más uno,
|
| 512 |
+
|
| 513 |
+
00:08:49.235 --> 00:08:50.995
|
| 514 |
+
eso va a ser cinco, va a incrementar
|
| 515 |
+
|
| 516 |
+
00:08:50.995 --> 00:08:53.715
|
| 517 |
+
y se va a almacenar en c. Esto
|
| 518 |
+
|
| 519 |
+
00:08:53.715 --> 00:08:56.275
|
| 520 |
+
es una forma resumida de hacerlo, porque yo
|
| 521 |
+
|
| 522 |
+
00:08:56.275 --> 00:08:59.949
|
| 523 |
+
podría simplemente reasignar a la variable a de
|
| 524 |
+
|
| 525 |
+
00:08:59.949 --> 00:09:02.190
|
| 526 |
+
esta forma, ¿no? Yo podría decirle cuál es
|
| 527 |
+
|
| 528 |
+
00:09:02.190 --> 00:09:07.329
|
| 529 |
+
el valor de a y súmale uno, ¿ok?
|
| 530 |
+
|
| 531 |
+
00:09:08.750 --> 00:09:10.750
|
| 532 |
+
Esto evita, en primer lugar, pues que tengamos
|
| 533 |
+
|
| 534 |
+
00:09:10.750 --> 00:09:13.585
|
| 535 |
+
que utilizar otra variable como c para realizar
|
| 536 |
+
|
| 537 |
+
00:09:13.585 --> 00:09:17.265
|
| 538 |
+
nuestra operación y almacenar su resultado, y al
|
| 539 |
+
|
| 540 |
+
00:09:17.265 --> 00:09:18.945
|
| 541 |
+
mismo tiempo nos damos cuenta que se repite
|
| 542 |
+
|
| 543 |
+
00:09:18.945 --> 00:09:20.705
|
| 544 |
+
dos veces la variable a. Entonces, lo que
|
| 545 |
+
|
| 546 |
+
00:09:20.705 --> 00:09:23.153
|
| 547 |
+
nos permite hacer es esta operación de suma
|
| 548 |
+
|
| 549 |
+
00:09:23.153 --> 00:09:25.655
|
| 550 |
+
que vemos aquí y esta operación de igualdad
|
| 551 |
+
|
| 552 |
+
00:09:25.655 --> 00:09:30.640
|
| 553 |
+
que vemos aquí en una sola operación. De
|
| 554 |
+
|
| 555 |
+
00:09:30.640 --> 00:09:33.040
|
| 556 |
+
manera que podríamos terminar con esta línea de
|
| 557 |
+
|
| 558 |
+
00:09:33.040 --> 00:09:35.280
|
| 559 |
+
código y ese es la operación que vamos
|
| 560 |
+
|
| 561 |
+
00:09:35.280 --> 00:09:37.560
|
| 562 |
+
a realizar. Vamos a tomar el valor original
|
| 563 |
+
|
| 564 |
+
00:09:37.560 --> 00:09:40.155
|
| 565 |
+
de a, vamos a asignarle el valor de
|
| 566 |
+
|
| 567 |
+
00:09:40.395 --> 00:09:42.715
|
| 568 |
+
anterior de a más uno, y ese va
|
| 569 |
+
|
| 570 |
+
00:09:42.715 --> 00:09:44.875
|
| 571 |
+
a ser el nuevo valor de a. Vamos
|
| 572 |
+
|
| 573 |
+
00:09:44.875 --> 00:09:51.835
|
| 574 |
+
a ejecutarlo con f seis. Ok, ahora vemos
|
| 575 |
+
|
| 576 |
+
00:09:51.835 --> 00:09:55.190
|
| 577 |
+
que nuestra variable a terminó valiendo tres, es
|
| 578 |
+
|
| 579 |
+
00:09:55.190 --> 00:09:57.990
|
| 580 |
+
decir, originalmente valía dos, le incrementó uno, y
|
| 581 |
+
|
| 582 |
+
00:09:57.990 --> 00:10:00.470
|
| 583 |
+
sobre la misma variable a guardó el resultado
|
| 584 |
+
|
| 585 |
+
00:10:00.470 --> 00:10:05.029
|
| 586 |
+
que es tres. Existen otros operadores, por ejemplo,
|
| 587 |
+
|
| 588 |
+
00:10:05.029 --> 00:10:07.845
|
| 589 |
+
los operadores como size off, que son operadores
|
| 590 |
+
|
| 591 |
+
00:10:08.705 --> 00:10:10.465
|
| 592 |
+
especiales dentro de C más más que nos
|
| 593 |
+
|
| 594 |
+
00:10:10.465 --> 00:10:13.665
|
| 595 |
+
permiten, pues, conocer cosas sobre las variables. En
|
| 596 |
+
|
| 597 |
+
00:10:13.665 --> 00:10:16.545
|
| 598 |
+
este caso, size off nos permite obtener el
|
| 599 |
+
|
| 600 |
+
00:10:16.545 --> 00:10:18.785
|
| 601 |
+
tamaño en bytes de un valor, de un
|
| 602 |
+
|
| 603 |
+
00:10:18.785 --> 00:10:22.145
|
| 604 |
+
dato. Por ejemplo, si tenemos el la variable
|
| 605 |
+
|
| 606 |
+
00:10:22.145 --> 00:10:24.680
|
| 607 |
+
b, que es un tipo entero, sabemos que
|
| 608 |
+
|
| 609 |
+
00:10:24.680 --> 00:10:26.760
|
| 610 |
+
en dependiendo del sistema operativo y de la
|
| 611 |
+
|
| 612 |
+
00:10:26.760 --> 00:10:29.420
|
| 613 |
+
computadora puede variar, pero en este caso podrían
|
| 614 |
+
|
| 615 |
+
00:10:29.480 --> 00:10:32.680
|
| 616 |
+
ser dos bytes, cuatro bytes, dependiendo de el
|
| 617 |
+
|
| 618 |
+
00:10:32.680 --> 00:10:36.140
|
| 619 |
+
sistema operativo. Esto es lo que nos va
|
| 620 |
+
|
| 621 |
+
00:10:36.360 --> 00:10:38.735
|
| 622 |
+
a devolver el operador size off, y la
|
| 623 |
+
|
| 624 |
+
00:10:38.735 --> 00:10:42.975
|
| 625 |
+
forma de utilizarlo es simplemente diciéndole a nuestro
|
| 626 |
+
|
| 627 |
+
00:10:42.975 --> 00:10:46.654
|
| 628 |
+
compilador que queremos obtener el tamaño de esa
|
| 629 |
+
|
| 630 |
+
00:10:46.654 --> 00:10:50.815
|
| 631 |
+
variable. Por ejemplo, si yo tengo size off
|
| 632 |
+
|
| 633 |
+
00:10:50.815 --> 00:11:00.260
|
| 634 |
+
a, de esta manera, le estoy pidiendo el
|
| 635 |
+
|
| 636 |
+
00:11:00.260 --> 00:11:03.940
|
| 637 |
+
valor del tamaño en bytes de la variable
|
| 638 |
+
|
| 639 |
+
00:11:03.940 --> 00:11:06.995
|
| 640 |
+
a para que lo muestre en pantalla. Vamos
|
| 641 |
+
|
| 642 |
+
00:11:06.995 --> 00:11:12.435
|
| 643 |
+
a ejecutarlo. Y me está diciendo que la
|
| 644 |
+
|
| 645 |
+
00:11:12.435 --> 00:11:15.955
|
| 646 |
+
variable a ocupa cuatro bytes de tamaño. ¿Esto
|
| 647 |
+
|
| 648 |
+
00:11:15.955 --> 00:11:17.875
|
| 649 |
+
por qué nos es útil? Bueno, porque size
|
| 650 |
+
|
| 651 |
+
00:11:17.875 --> 00:11:20.200
|
| 652 |
+
off nos va a permitir realizar algunas operaciones,
|
| 653 |
+
|
| 654 |
+
00:11:20.260 --> 00:11:22.820
|
| 655 |
+
por ejemplo, con listas. Si yo quisiera saber
|
| 656 |
+
|
| 657 |
+
00:11:22.820 --> 00:11:26.180
|
| 658 |
+
cuántos elementos tiene una lista, podría utilizar size
|
| 659 |
+
|
| 660 |
+
00:11:26.180 --> 00:11:29.020
|
| 661 |
+
off y una operación de división para obtener
|
| 662 |
+
|
| 663 |
+
00:11:29.020 --> 00:11:31.620
|
| 664 |
+
cuántos elementos tiene de forma inteligente. Vamos a
|
| 665 |
+
|
| 666 |
+
00:11:31.620 --> 00:11:33.315
|
| 667 |
+
ver el ejemplo de cómo se realiza esto.
|
| 668 |
+
|
| 669 |
+
00:11:33.315 --> 00:11:35.815
|
| 670 |
+
Si yo tuviera una lista, por ejemplo, inspirándonos
|
| 671 |
+
|
| 672 |
+
00:11:35.955 --> 00:11:38.115
|
| 673 |
+
en el ejemplo de la clase anterior, una
|
| 674 |
+
|
| 675 |
+
00:11:38.115 --> 00:11:44.195
|
| 676 |
+
lista de edades. Yo tengo la variable edades
|
| 677 |
+
|
| 678 |
+
00:11:44.195 --> 00:11:47.680
|
| 679 |
+
de tipo entero, le indico con corchetes que
|
| 680 |
+
|
| 681 |
+
00:11:47.680 --> 00:11:49.360
|
| 682 |
+
va a ser una variable que va a
|
| 683 |
+
|
| 684 |
+
00:11:49.360 --> 00:11:52.160
|
| 685 |
+
almacenar una lista de valores, y con llaves
|
| 686 |
+
|
| 687 |
+
00:11:52.160 --> 00:11:54.340
|
| 688 |
+
puedo indicar la lista de valores que tiene
|
| 689 |
+
|
| 690 |
+
00:11:54.560 --> 00:11:59.600
|
| 691 |
+
adentro. Por ejemplo, puedo tener veinticuatro, cuarenta y
|
| 692 |
+
|
| 693 |
+
00:11:59.600 --> 00:12:04.295
|
| 694 |
+
siete. Si yo quisiera saber cuántos elementos tiene
|
| 695 |
+
|
| 696 |
+
00:12:04.295 --> 00:12:07.095
|
| 697 |
+
esta lista, no siempre es fácil en C
|
| 698 |
+
|
| 699 |
+
00:12:07.095 --> 00:12:09.415
|
| 700 |
+
más más obtener ese tamaño, sin embargo, un
|
| 701 |
+
|
| 702 |
+
00:12:09.415 --> 00:12:12.135
|
| 703 |
+
truco que podemos hacer es tomar el número
|
| 704 |
+
|
| 705 |
+
00:12:12.135 --> 00:12:15.319
|
| 706 |
+
de el del tamaño total de la lista
|
| 707 |
+
|
| 708 |
+
00:12:15.319 --> 00:12:18.120
|
| 709 |
+
y dividirlo entre cuánto mide cada uno de
|
| 710 |
+
|
| 711 |
+
00:12:18.120 --> 00:12:20.839
|
| 712 |
+
sus elementos que tiene adentro. Por ejemplo, si
|
| 713 |
+
|
| 714 |
+
00:12:20.839 --> 00:12:25.995
|
| 715 |
+
tenemos tres elementos, nuestra lista mediría doce bytes,
|
| 716 |
+
|
| 717 |
+
00:12:26.455 --> 00:12:28.455
|
| 718 |
+
y si lo dividimos entre los cuatro bytes
|
| 719 |
+
|
| 720 |
+
00:12:28.455 --> 00:12:31.595
|
| 721 |
+
que tiene cada elemento, sabríamos que tiene tres
|
| 722 |
+
|
| 723 |
+
00:12:32.135 --> 00:12:35.895
|
| 724 |
+
elementos. La forma rápida de hacerlo sería size
|
| 725 |
+
|
| 726 |
+
00:12:35.895 --> 00:12:43.340
|
| 727 |
+
off, la variable edades, y eso dividirlo entre
|
| 728 |
+
|
| 729 |
+
00:12:43.340 --> 00:12:46.060
|
| 730 |
+
el size off de la variable de un
|
| 731 |
+
|
| 732 |
+
00:12:46.060 --> 00:12:48.940
|
| 733 |
+
número. En este caso, podríamos utilizar la letra
|
| 734 |
+
|
| 735 |
+
00:12:48.940 --> 00:12:50.780
|
| 736 |
+
a, ya que también es tipo entero y
|
| 737 |
+
|
| 738 |
+
00:12:50.780 --> 00:12:53.340
|
| 739 |
+
van a tener el mismo tamaño que cualquier
|
| 740 |
+
|
| 741 |
+
00:12:53.340 --> 00:12:56.485
|
| 742 |
+
otro número, o podríamos utilizar directamente un valor
|
| 743 |
+
|
| 744 |
+
00:12:56.485 --> 00:12:59.785
|
| 745 |
+
de la lista de edades. Por ejemplo, acceder
|
| 746 |
+
|
| 747 |
+
00:12:59.845 --> 00:13:02.084
|
| 748 |
+
a cualquiera de los valores, supongamos el valor
|
| 749 |
+
|
| 750 |
+
00:13:02.084 --> 00:13:04.644
|
| 751 |
+
cero, que sería el número veinticuatro. Va a
|
| 752 |
+
|
| 753 |
+
00:13:04.644 --> 00:13:07.685
|
| 754 |
+
obtener cuántos bytes se necesitan para almacenar el
|
| 755 |
+
|
| 756 |
+
00:13:07.685 --> 00:13:10.180
|
| 757 |
+
número veinticuatro y ese va a ser el
|
| 758 |
+
|
| 759 |
+
00:13:10.180 --> 00:13:13.160
|
| 760 |
+
resultado de ese size off. Entonces, dividiríamos, dividiríamos
|
| 761 |
+
|
| 762 |
+
00:13:13.460 --> 00:13:15.700
|
| 763 |
+
los doce bytes que miden total la lista
|
| 764 |
+
|
| 765 |
+
00:13:15.700 --> 00:13:19.220
|
| 766 |
+
de edades entre los cuatro bytes que mide
|
| 767 |
+
|
| 768 |
+
00:13:19.220 --> 00:13:22.305
|
| 769 |
+
solamente el primer valor de la lista. Si
|
| 770 |
+
|
| 771 |
+
00:13:22.305 --> 00:13:25.904
|
| 772 |
+
yo ejecuto y muestro el resultado, obtengo que
|
| 773 |
+
|
| 774 |
+
00:13:25.904 --> 00:13:29.105
|
| 775 |
+
tiene tres elementos. Ahora que ya sabes cómo
|
| 776 |
+
|
| 777 |
+
00:13:29.105 --> 00:13:31.345
|
| 778 |
+
funcionan los operadores en C más más y
|
| 779 |
+
|
| 780 |
+
00:13:31.345 --> 00:13:33.550
|
| 781 |
+
que viste que existen muchos otros, te reto
|
| 782 |
+
|
| 783 |
+
00:13:33.550 --> 00:13:36.030
|
| 784 |
+
a aprender a utilizarlos y que nos pongas
|
| 785 |
+
|
| 786 |
+
00:13:36.030 --> 00:13:38.210
|
| 787 |
+
en la sección de comentarios qué otros operadores
|
| 788 |
+
|
| 789 |
+
00:13:38.350 --> 00:13:41.150
|
| 790 |
+
existen y que realices experimentos con ellos para
|
| 791 |
+
|
| 792 |
+
00:13:41.150 --> 00:13:43.470
|
| 793 |
+
que aprendas mucho más y se te quede
|
| 794 |
+
|
| 795 |
+
00:13:43.470 --> 00:13:46.110
|
| 796 |
+
mucho más claro cómo funcionan. Nos vemos en
|
| 797 |
+
|
| 798 |
+
00:13:46.110 --> 00:13:47.170
|
| 799 |
+
la próxima clase.
|
subir/Curso de C Básico/03-Conceptos básicos/05-Resumen.html
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
subir/Curso de C Básico/03-Conceptos básicos/05-operadores.zip
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:c34fb276691456e6c686b0dabee3babdadf995e9af55ecd2597cd81c86a4648d
|
| 3 |
+
size 2295
|
subir/Curso de C Básico/03-Conceptos básicos/06-Manejo de Entrada y Salida de Datos con IOStream en C.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:be73d1047e7be67978b094770d73952513456f172f06590f6a16a7ec764f958e
|
| 3 |
+
size 78297010
|
subir/Curso de C Básico/03-Conceptos básicos/06-Manejo de Entrada y Salida de Datos con IOStream en C.vtt
ADDED
|
@@ -0,0 +1,418 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:03.040 --> 00:00:05.120
|
| 4 |
+
Un concepto que hemos estado utilizando, pero que
|
| 5 |
+
|
| 6 |
+
00:00:05.120 --> 00:00:07.759
|
| 7 |
+
no hemos visto correctamente, es el de entrada
|
| 8 |
+
|
| 9 |
+
00:00:07.759 --> 00:00:10.320
|
| 10 |
+
y salida de datos, el uso de la
|
| 11 |
+
|
| 12 |
+
00:00:10.320 --> 00:00:14.115
|
| 13 |
+
librería IOStream. Vamos al código. Como puedes ver
|
| 14 |
+
|
| 15 |
+
00:00:14.115 --> 00:00:16.114
|
| 16 |
+
en pantalla, aquí te tengo de nuevo el
|
| 17 |
+
|
| 18 |
+
00:00:16.114 --> 00:00:19.555
|
| 19 |
+
código base de nuestros ejercicios en clase. En
|
| 20 |
+
|
| 21 |
+
00:00:19.555 --> 00:00:22.035
|
| 22 |
+
primer lugar, la línea número uno tiene la
|
| 23 |
+
|
| 24 |
+
00:00:22.035 --> 00:00:26.410
|
| 25 |
+
librería Pero esta librería, ¿qué significa? Bueno, a
|
| 26 |
+
|
| 27 |
+
00:00:26.410 --> 00:00:29.050
|
| 28 |
+
grandes rasgos, lo que nos permite es realizar
|
| 29 |
+
|
| 30 |
+
00:00:29.050 --> 00:00:30.830
|
| 31 |
+
el manejo de entrada y salida de datos.
|
| 32 |
+
|
| 33 |
+
00:00:31.130 --> 00:00:33.370
|
| 34 |
+
¿Cómo lo hace? Por medio de streams, como
|
| 35 |
+
|
| 36 |
+
00:00:33.370 --> 00:00:35.850
|
| 37 |
+
lo menciona ahí, es decir, un stream es
|
| 38 |
+
|
| 39 |
+
00:00:35.850 --> 00:00:38.830
|
| 40 |
+
como un flujo de datos que van moviéndose,
|
| 41 |
+
|
| 42 |
+
00:00:39.275 --> 00:00:41.515
|
| 43 |
+
pues, como un flujo de información, como los
|
| 44 |
+
|
| 45 |
+
00:00:41.515 --> 00:00:46.815
|
| 46 |
+
streamers de video, ¿no? Entonces, este esta librería
|
| 47 |
+
|
| 48 |
+
00:00:46.875 --> 00:00:48.875
|
| 49 |
+
de stream lo que nos da es esa
|
| 50 |
+
|
| 51 |
+
00:00:48.875 --> 00:00:52.235
|
| 52 |
+
capacidad de streamear datos a través de la
|
| 53 |
+
|
| 54 |
+
00:00:52.235 --> 00:00:54.630
|
| 55 |
+
entrada y salida, en este caso, de nuestra
|
| 56 |
+
|
| 57 |
+
00:00:54.630 --> 00:00:58.090
|
| 58 |
+
terminal de comandos a nivel de texto, pero
|
| 59 |
+
|
| 60 |
+
00:00:58.390 --> 00:01:01.590
|
| 61 |
+
incluso nos permitiría una librería hermana a a
|
| 62 |
+
|
| 63 |
+
00:01:01.590 --> 00:01:04.870
|
| 64 |
+
stream que, pues, permita manejo de streams, tal
|
| 65 |
+
|
| 66 |
+
00:01:04.870 --> 00:01:07.990
|
| 67 |
+
vez hacerlo con archivos de cualquier tipo de
|
| 68 |
+
|
| 69 |
+
00:01:07.990 --> 00:01:10.295
|
| 70 |
+
formato, por ejemplo, de audio o de video.
|
| 71 |
+
|
| 72 |
+
00:01:10.915 --> 00:01:13.895
|
| 73 |
+
De esta manera, el sistema operativo se comunica
|
| 74 |
+
|
| 75 |
+
00:01:14.275 --> 00:01:16.995
|
| 76 |
+
con nuestro programa en C más más y
|
| 77 |
+
|
| 78 |
+
00:01:16.995 --> 00:01:19.075
|
| 79 |
+
recibe esos datos, y es como los puede
|
| 80 |
+
|
| 81 |
+
00:01:19.075 --> 00:01:21.415
|
| 82 |
+
mostrar en pantalla a través de nuestra terminal.
|
| 83 |
+
|
| 84 |
+
00:01:22.560 --> 00:01:25.840
|
| 85 |
+
Tiene dos principales funcionalidades, la primera ya la
|
| 86 |
+
|
| 87 |
+
00:01:25.840 --> 00:01:29.119
|
| 88 |
+
vimos, que es c out, que se escribe
|
| 89 |
+
|
| 90 |
+
00:01:29.119 --> 00:01:32.479
|
| 91 |
+
de la siguiente manera, c out, y a
|
| 92 |
+
|
| 93 |
+
00:01:32.479 --> 00:01:35.460
|
| 94 |
+
continuación se ponen dos símbolos de menor que,
|
| 95 |
+
|
| 96 |
+
00:01:35.840 --> 00:01:38.865
|
| 97 |
+
de esta forma. Estos símbolos lo que representan
|
| 98 |
+
|
| 99 |
+
00:01:39.085 --> 00:01:41.485
|
| 100 |
+
para C más más es un operador, de
|
| 101 |
+
|
| 102 |
+
00:01:41.485 --> 00:01:44.545
|
| 103 |
+
hecho. La única diferencia es que este operador
|
| 104 |
+
|
| 105 |
+
00:01:44.924 --> 00:01:48.284
|
| 106 |
+
está escrito para que iOsTime lo utilice como
|
| 107 |
+
|
| 108 |
+
00:01:48.284 --> 00:01:51.744
|
| 109 |
+
una forma de entrar datos hacia la terminal.
|
| 110 |
+
|
| 111 |
+
00:01:51.884 --> 00:01:54.650
|
| 112 |
+
Es decir, cuando yo escribo aquí mi hola
|
| 113 |
+
|
| 114 |
+
00:01:54.650 --> 00:02:00.970
|
| 115 |
+
mundo de esta forma, hola mundo, lo que
|
| 116 |
+
|
| 117 |
+
00:02:00.970 --> 00:02:03.290
|
| 118 |
+
le estoy diciendo a la computadora es, toma
|
| 119 |
+
|
| 120 |
+
00:02:03.290 --> 00:02:06.110
|
| 121 |
+
cada una de estas letras y veslas mandando
|
| 122 |
+
|
| 123 |
+
00:02:06.490 --> 00:02:08.590
|
| 124 |
+
hacia la salida de la terminal de comandos.
|
| 125 |
+
|
| 126 |
+
00:02:08.835 --> 00:02:10.595
|
| 127 |
+
Lo que haría primero es tomar la letra
|
| 128 |
+
|
| 129 |
+
00:02:10.595 --> 00:02:13.555
|
| 130 |
+
h y mostrarla, luego la letra o, y
|
| 131 |
+
|
| 132 |
+
00:02:13.555 --> 00:02:17.875
|
| 133 |
+
así secuencialmente. De esta forma, estamos streameando esta
|
| 134 |
+
|
| 135 |
+
00:02:17.875 --> 00:02:21.315
|
| 136 |
+
cadena hacia la terminal. Pues, podemos hacer algo
|
| 137 |
+
|
| 138 |
+
00:02:21.315 --> 00:02:24.420
|
| 139 |
+
muy similar para la entrada de datos. De
|
| 140 |
+
|
| 141 |
+
00:02:24.420 --> 00:02:27.699
|
| 142 |
+
la misma manera que existe, si out, existe
|
| 143 |
+
|
| 144 |
+
00:02:27.699 --> 00:02:31.480
|
| 145 |
+
c in. La forma de usarlo es con
|
| 146 |
+
|
| 147 |
+
00:02:31.780 --> 00:02:35.780
|
| 148 |
+
escribiendo c in. La única diferencia es que
|
| 149 |
+
|
| 150 |
+
00:02:35.780 --> 00:02:39.504
|
| 151 |
+
ahora las los símbolos van a ser de
|
| 152 |
+
|
| 153 |
+
00:02:39.504 --> 00:02:42.625
|
| 154 |
+
mayor que, como una especie de flechita que
|
| 155 |
+
|
| 156 |
+
00:02:42.625 --> 00:02:44.224
|
| 157 |
+
nos indica la dirección en la que el
|
| 158 |
+
|
| 159 |
+
00:02:44.224 --> 00:02:47.345
|
| 160 |
+
stream sucede. ¿Y qué podemos hacer ahora con
|
| 161 |
+
|
| 162 |
+
00:02:47.345 --> 00:02:49.745
|
| 163 |
+
esos datos de entrada? Pues almacenarlos en una
|
| 164 |
+
|
| 165 |
+
00:02:49.745 --> 00:02:52.625
|
| 166 |
+
variable para después hacer algo con ellos. Por
|
| 167 |
+
|
| 168 |
+
00:02:52.625 --> 00:02:55.430
|
| 169 |
+
ejemplo, supongamos que en lugar de un hola
|
| 170 |
+
|
| 171 |
+
00:02:55.430 --> 00:02:57.110
|
| 172 |
+
mundo, yo estoy haciendo un programa que le
|
| 173 |
+
|
| 174 |
+
00:02:57.110 --> 00:03:00.090
|
| 175 |
+
pide a un usuario cuál es su edad.
|
| 176 |
+
|
| 177 |
+
00:03:00.390 --> 00:03:03.910
|
| 178 |
+
Entonces, le preguntaríamos algo así como, ¿cuál es
|
| 179 |
+
|
| 180 |
+
00:03:03.910 --> 00:03:07.185
|
| 181 |
+
tu edad? O introduce tu edad, o simplemente
|
| 182 |
+
|
| 183 |
+
00:03:07.285 --> 00:03:12.565
|
| 184 |
+
edad. De esta forma, le mostraríamos ese mensaje
|
| 185 |
+
|
| 186 |
+
00:03:12.565 --> 00:03:14.645
|
| 187 |
+
en la terminal de comandos a el usuario
|
| 188 |
+
|
| 189 |
+
00:03:14.645 --> 00:03:18.245
|
| 190 |
+
de nuestro programa. Ahora, para poder almacenar la
|
| 191 |
+
|
| 192 |
+
00:03:18.245 --> 00:03:20.724
|
| 193 |
+
respuesta del usuario, vamos a necesitar primero crear
|
| 194 |
+
|
| 195 |
+
00:03:20.724 --> 00:03:23.000
|
| 196 |
+
una variable. Por lo tanto, en la línea
|
| 197 |
+
|
| 198 |
+
00:03:23.000 --> 00:03:24.840
|
| 199 |
+
número seis yo voy a agregar una variable
|
| 200 |
+
|
| 201 |
+
00:03:24.840 --> 00:03:27.480
|
| 202 |
+
que contenga la edad del usuario y la
|
| 203 |
+
|
| 204 |
+
00:03:27.480 --> 00:03:32.680
|
| 205 |
+
voy a inicializar con el valor cero. Ahora
|
| 206 |
+
|
| 207 |
+
00:03:32.680 --> 00:03:36.385
|
| 208 |
+
que la variable existe, podemos asignarle nuevos valores
|
| 209 |
+
|
| 210 |
+
00:03:36.444 --> 00:03:39.325
|
| 211 |
+
utilizando c in, y la forma sería simplemente
|
| 212 |
+
|
| 213 |
+
00:03:39.325 --> 00:03:42.064
|
| 214 |
+
escribir la variable edad después del c in.
|
| 215 |
+
|
| 216 |
+
00:03:42.525 --> 00:03:44.924
|
| 217 |
+
De esta forma, lo que va a suceder
|
| 218 |
+
|
| 219 |
+
00:03:44.924 --> 00:03:47.485
|
| 220 |
+
es que el la terminal de comandos va
|
| 221 |
+
|
| 222 |
+
00:03:47.485 --> 00:03:49.750
|
| 223 |
+
a recibir el dato, el sistema operativo se
|
| 224 |
+
|
| 225 |
+
00:03:49.750 --> 00:03:52.530
|
| 226 |
+
lo va a streamear a nuestro programa y
|
| 227 |
+
|
| 228 |
+
00:03:52.790 --> 00:03:55.210
|
| 229 |
+
va a recibirlo en nuestro programa para tenerlo
|
| 230 |
+
|
| 231 |
+
00:03:55.670 --> 00:03:58.230
|
| 232 |
+
ahora en su propia memoria. Pero, ¿cómo yo
|
| 233 |
+
|
| 234 |
+
00:03:58.230 --> 00:04:01.870
|
| 235 |
+
sé que realmente introduje una edad correcta? Pues,
|
| 236 |
+
|
| 237 |
+
00:04:01.870 --> 00:04:04.150
|
| 238 |
+
a lo mejor puedo darle feedback feedback al
|
| 239 |
+
|
| 240 |
+
00:04:04.150 --> 00:04:06.045
|
| 241 |
+
usuario de forma que le muestre yo, pues,
|
| 242 |
+
|
| 243 |
+
00:04:06.045 --> 00:04:09.004
|
| 244 |
+
la edad que introdujo anteriormente. Entonces, yo podría
|
| 245 |
+
|
| 246 |
+
00:04:09.004 --> 00:04:14.364
|
| 247 |
+
de nuevo hacer seout y decirle algo así
|
| 248 |
+
|
| 249 |
+
00:04:14.364 --> 00:04:21.100
|
| 250 |
+
como tu edad es Y la forma en
|
| 251 |
+
|
| 252 |
+
00:04:21.100 --> 00:04:24.720
|
| 253 |
+
que podemos unir los diferentes streams es siguiendo
|
| 254 |
+
|
| 255 |
+
00:04:25.020 --> 00:04:28.780
|
| 256 |
+
utilizando, como habíamos visto, el símbolo de el
|
| 257 |
+
|
| 258 |
+
00:04:28.780 --> 00:04:32.300
|
| 259 |
+
operador de stream. Entonces, lo que vamos a
|
| 260 |
+
|
| 261 |
+
00:04:32.300 --> 00:04:34.555
|
| 262 |
+
hacer es tomar tu edad es, se lo
|
| 263 |
+
|
| 264 |
+
00:04:34.555 --> 00:04:36.635
|
| 265 |
+
vamos a mandar a la pantalla, y luego
|
| 266 |
+
|
| 267 |
+
00:04:36.635 --> 00:04:39.675
|
| 268 |
+
podemos meter la variable de edad de esta
|
| 269 |
+
|
| 270 |
+
00:04:39.675 --> 00:04:41.595
|
| 271 |
+
forma, y también se lo mandamos a la
|
| 272 |
+
|
| 273 |
+
00:04:41.595 --> 00:04:43.835
|
| 274 |
+
pantalla. Entonces, al final, lo que va a
|
| 275 |
+
|
| 276 |
+
00:04:43.835 --> 00:04:45.275
|
| 277 |
+
aparecer, pues, es la edad que la persona
|
| 278 |
+
|
| 279 |
+
00:04:45.275 --> 00:04:48.815
|
| 280 |
+
haya introducido durante la ejecución de el sein.
|
| 281 |
+
|
| 282 |
+
00:04:49.300 --> 00:04:52.580
|
| 283 |
+
Vamos a ejecutarlo. En primer lugar, nos va
|
| 284 |
+
|
| 285 |
+
00:04:52.580 --> 00:04:54.259
|
| 286 |
+
a aparecer una pregunta que nos va a
|
| 287 |
+
|
| 288 |
+
00:04:54.259 --> 00:04:56.419
|
| 289 |
+
decir, edad o cuál es tu edad. En
|
| 290 |
+
|
| 291 |
+
00:04:56.419 --> 00:04:58.660
|
| 292 |
+
este caso, me pregunta ahí, ¿cuál es la
|
| 293 |
+
|
| 294 |
+
00:04:58.660 --> 00:05:01.875
|
| 295 |
+
edad? Supongamos que esta persona tiene dieciocho años.
|
| 296 |
+
|
| 297 |
+
00:05:02.915 --> 00:05:06.515
|
| 298 |
+
Introduce el número dieciocho y pulsa enter. Y,
|
| 299 |
+
|
| 300 |
+
00:05:06.515 --> 00:05:09.175
|
| 301 |
+
a continuación, le dice inmediatamente, tu edad es
|
| 302 |
+
|
| 303 |
+
00:05:09.315 --> 00:05:12.515
|
| 304 |
+
dieciocho. Esto es porque nuestro programa ha funcionado
|
| 305 |
+
|
| 306 |
+
00:05:12.515 --> 00:05:15.600
|
| 307 |
+
correctamente. Una cosa que es importante que sepas
|
| 308 |
+
|
| 309 |
+
00:05:15.760 --> 00:05:17.760
|
| 310 |
+
es que la forma en la que define
|
| 311 |
+
|
| 312 |
+
00:05:17.760 --> 00:05:19.680
|
| 313 |
+
cómo va a almacenar esos datos depende del
|
| 314 |
+
|
| 315 |
+
00:05:19.680 --> 00:05:21.120
|
| 316 |
+
tipo de dato de la variable que hayas
|
| 317 |
+
|
| 318 |
+
00:05:21.120 --> 00:05:24.080
|
| 319 |
+
creado. Si tú creaste una variable tipo entero,
|
| 320 |
+
|
| 321 |
+
00:05:24.080 --> 00:05:25.600
|
| 322 |
+
va a asumir que se trata de un
|
| 323 |
+
|
| 324 |
+
00:05:25.600 --> 00:05:28.160
|
| 325 |
+
número. Por lo tanto, si yo tomara esa
|
| 326 |
+
|
| 327 |
+
00:05:28.160 --> 00:05:31.895
|
| 328 |
+
edad y quisiera hacer operaciones aritméticas con ella,
|
| 329 |
+
|
| 330 |
+
00:05:31.895 --> 00:05:34.615
|
| 331 |
+
podría hacerlo. Si, en todo caso, yo la
|
| 332 |
+
|
| 333 |
+
00:05:34.615 --> 00:05:37.415
|
| 334 |
+
declarara como otro tipo, como un carácter, entonces,
|
| 335 |
+
|
| 336 |
+
00:05:37.415 --> 00:05:39.815
|
| 337 |
+
yo no podría realizar las operaciones que le
|
| 338 |
+
|
| 339 |
+
00:05:39.815 --> 00:05:42.215
|
| 340 |
+
corresponden solo a los números. Esto es importante
|
| 341 |
+
|
| 342 |
+
00:05:42.215 --> 00:05:43.575
|
| 343 |
+
porque es la forma en la que C
|
| 344 |
+
|
| 345 |
+
00:05:43.575 --> 00:05:46.370
|
| 346 |
+
más más va a saber cómo manejar esos
|
| 347 |
+
|
| 348 |
+
00:05:46.370 --> 00:05:48.130
|
| 349 |
+
valores que introduce el usuario a través de
|
| 350 |
+
|
| 351 |
+
00:05:48.130 --> 00:05:52.290
|
| 352 |
+
Zin. Adicionalmente, y es que no te lo
|
| 353 |
+
|
| 354 |
+
00:05:52.290 --> 00:05:54.850
|
| 355 |
+
había comentado en los episodios anteriores, en los
|
| 356 |
+
|
| 357 |
+
00:05:54.850 --> 00:05:58.210
|
| 358 |
+
capítulos anteriores, es cómo realizar comentarios en un
|
| 359 |
+
|
| 360 |
+
00:05:58.210 --> 00:06:00.375
|
| 361 |
+
código en C más más. Y existen dos
|
| 362 |
+
|
| 363 |
+
00:06:00.375 --> 00:06:02.630
|
| 364 |
+
formas súper básicas que si tú ya has
|
| 365 |
+
|
| 366 |
+
00:06:02.630 --> 00:06:05.014
|
| 367 |
+
programado en otros lenguajes hermanos o descendientes de
|
| 368 |
+
|
| 369 |
+
00:06:05.014 --> 00:06:08.555
|
| 370 |
+
C más más, pues, seguramente conocerás. La primera
|
| 371 |
+
|
| 372 |
+
00:06:08.694 --> 00:06:14.700
|
| 373 |
+
es utilizar las doble slash. Estas doble slash
|
| 374 |
+
|
| 375 |
+
00:06:14.700 --> 00:06:17.020
|
| 376 |
+
nos va a permitir comenzar a escribir aquí
|
| 377 |
+
|
| 378 |
+
00:06:17.020 --> 00:06:20.560
|
| 379 |
+
cualquier comentario. Por ejemplo, esto es un comentario.
|
| 380 |
+
|
| 381 |
+
00:06:26.485 --> 00:06:28.805
|
| 382 |
+
¿Listo? Esa es la primera forma y es
|
| 383 |
+
|
| 384 |
+
00:06:28.805 --> 00:06:30.965
|
| 385 |
+
una forma de escribir comentarios de una sola
|
| 386 |
+
|
| 387 |
+
00:06:30.965 --> 00:06:33.625
|
| 388 |
+
línea. Y si quisiéramos escribir comentarios de múltiples
|
| 389 |
+
|
| 390 |
+
00:06:34.005 --> 00:06:36.665
|
| 391 |
+
líneas, podemos utilizar esa sintaxis que es slash
|
| 392 |
+
|
| 393 |
+
00:06:37.045 --> 00:06:41.700
|
| 394 |
+
asterisco como apertura, escribir todas las líneas de
|
| 395 |
+
|
| 396 |
+
00:06:41.700 --> 00:06:44.100
|
| 397 |
+
comentario que querramos, y luego podemos cerrar con
|
| 398 |
+
|
| 399 |
+
00:06:44.100 --> 00:06:49.140
|
| 400 |
+
asterisco slash. Y esto es un comentario de
|
| 401 |
+
|
| 402 |
+
00:06:49.140 --> 00:07:02.685
|
| 403 |
+
múltiples líneas. Listo. Ahora que conoces cuáles son
|
| 404 |
+
|
| 405 |
+
00:07:02.685 --> 00:07:05.060
|
| 406 |
+
las dos formas básicas de realizar comentarios y
|
| 407 |
+
|
| 408 |
+
00:07:05.060 --> 00:07:07.620
|
| 409 |
+
cómo utilizar los operadores de entrada y salida
|
| 410 |
+
|
| 411 |
+
00:07:07.620 --> 00:07:10.820
|
| 412 |
+
de datos con iOStream, podemos pasar a nuestra
|
| 413 |
+
|
| 414 |
+
00:07:10.820 --> 00:07:13.700
|
| 415 |
+
siguiente a nuestra siguiente clase donde hablaremos sobre
|
| 416 |
+
|
| 417 |
+
00:07:13.700 --> 00:07:14.200
|
| 418 |
+
condicionales.
|
subir/Curso de C Básico/03-Conceptos básicos/06-entrada-salida-datos.zip
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:f079333690b197cda1b1f7d577cc5a765c965f9f7de333d2e225a6361d65bb36
|
| 3 |
+
size 5449
|
subir/Curso de C Básico/presentation.mhtml
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
subir/Curso de Funciones en C/03-Bibliotecas estándar de funciones/04-Lecturas recomendadas.txt
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
https://www.tutorialspoint.com/c_standard_library/time_h.htm
|
| 2 |
+
https://www.timeanddate.com/
|
subir/Curso de Funciones en C/03-Bibliotecas estándar de funciones/04-Resumen.html
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
subir/Curso de Funciones en C/03-Bibliotecas estándar de funciones/05-Conversión de Decimal a Binario en C usando Ciclo For y Arrays.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:b80c845d4d72fad964f2a84a25bbe36a1e7370ca699e30445efd6f4e7fb5ce89
|
| 3 |
+
size 147091692
|
subir/Curso de Funciones en C/03-Bibliotecas estándar de funciones/05-Conversión de Decimal a Binario en C usando Ciclo For y Arrays.vtt
ADDED
|
@@ -0,0 +1,989 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:03.423 --> 00:05.500
|
| 4 |
+
Bien, llegó el momento
|
| 5 |
+
de ver otro ejemplo.
|
| 6 |
+
|
| 7 |
+
00:05.500 --> 00:08.000
|
| 8 |
+
Aquí te voy a enseñar
|
| 9 |
+
cómo podemos utilizar
|
| 10 |
+
|
| 11 |
+
00:08.000 --> 00:11.000
|
| 12 |
+
unas librerías o bibliotecas nuevas,
|
| 13 |
+
|
| 14 |
+
00:11.000 --> 00:15.000
|
| 15 |
+
que es la biblioteca stdlib,
|
| 16 |
+
la biblioteca estándar.
|
| 17 |
+
|
| 18 |
+
00:15.000 --> 00:17.300
|
| 19 |
+
Quiero simplemente mostrarte
|
| 20 |
+
un comando system,
|
| 21 |
+
|
| 22 |
+
00:17.300 --> 00:19.800
|
| 23 |
+
pero también quiero que veas
|
| 24 |
+
un código de ejemplo
|
| 25 |
+
|
| 26 |
+
00:19.800 --> 00:22.900
|
| 27 |
+
de cómo podemos agarrar
|
| 28 |
+
un número en decimal
|
| 29 |
+
|
| 30 |
+
00:22.900 --> 00:25.300
|
| 31 |
+
y convertirlo a un número en binario.
|
| 32 |
+
|
| 33 |
+
00:25.576 --> 00:27.300
|
| 34 |
+
Vamos a Visual Studio Code.
|
| 35 |
+
|
| 36 |
+
00:29.563 --> 00:31.718
|
| 37 |
+
Como siempre
|
| 38 |
+
abrimos nuestra nueva pestaña,
|
| 39 |
+
|
| 40 |
+
00:32.212 --> 00:35.166
|
| 41 |
+
guardamos, le vamos a poner
|
| 42 |
+
a nuestro programa
|
| 43 |
+
|
| 44 |
+
00:35.292 --> 00:41.031
|
| 45 |
+
decimal to binary.c
|
| 46 |
+
|
| 47 |
+
00:43.292 --> 00:45.292
|
| 48 |
+
Muy bien,
|
| 49 |
+
este es un programa bien clásico
|
| 50 |
+
|
| 51 |
+
00:45.418 --> 00:48.319
|
| 52 |
+
en donde vamos a aprender a
|
| 53 |
+
utilizar principalmente el ciclo for.
|
| 54 |
+
|
| 55 |
+
00:48.565 --> 00:50.908
|
| 56 |
+
Lo primero que te quiero mostrar
|
| 57 |
+
es el algoritmo
|
| 58 |
+
|
| 59 |
+
00:51.034 --> 00:52.196
|
| 60 |
+
que vamos a estar siguiendo.
|
| 61 |
+
|
| 62 |
+
00:52.322 --> 00:54.936
|
| 63 |
+
Si nunca has trabajado con divisiones
|
| 64 |
+
|
| 65 |
+
00:55.062 --> 00:56.907
|
| 66 |
+
de un valor decimal a binario,
|
| 67 |
+
|
| 68 |
+
00:57.033 --> 00:58.578
|
| 69 |
+
te explico brevemente el algoritmo.
|
| 70 |
+
|
| 71 |
+
00:58.838 --> 01:01.418
|
| 72 |
+
El primer paso de nuestro algoritmo
|
| 73 |
+
|
| 74 |
+
01:01.544 --> 01:08.384
|
| 75 |
+
va a ser dividir el valor entre dos.
|
| 76 |
+
|
| 77 |
+
01:10.039 --> 01:12.652
|
| 78 |
+
Y almacenar
|
| 79 |
+
|
| 80 |
+
01:15.831 --> 01:18.428
|
| 81 |
+
el remainder, el restante,
|
| 82 |
+
|
| 83 |
+
01:18.554 --> 01:21.834
|
| 84 |
+
el resto o el mod o como le llames tú,
|
| 85 |
+
|
| 86 |
+
01:22.320 --> 01:24.315
|
| 87 |
+
a en un array.
|
| 88 |
+
|
| 89 |
+
01:26.599 --> 01:27.599
|
| 90 |
+
Muy bien.
|
| 91 |
+
|
| 92 |
+
01:27.725 --> 01:29.140
|
| 93 |
+
El segundo paso
|
| 94 |
+
|
| 95 |
+
01:32.222 --> 01:34.572
|
| 96 |
+
va a ser dividir
|
| 97 |
+
|
| 98 |
+
01:37.136 --> 01:38.249
|
| 99 |
+
otra vez
|
| 100 |
+
|
| 101 |
+
01:39.327 --> 01:41.150
|
| 102 |
+
entre dos
|
| 103 |
+
|
| 104 |
+
01:42.005 --> 01:47.300
|
| 105 |
+
y almacenar el restante.
|
| 106 |
+
|
| 107 |
+
01:48.627 --> 01:50.174
|
| 108 |
+
Si es cero o si es uno,
|
| 109 |
+
|
| 110 |
+
01:51.332 --> 01:53.551
|
| 111 |
+
lo que conocemos
|
| 112 |
+
como el módulo de la operación.
|
| 113 |
+
|
| 114 |
+
01:54.691 --> 01:59.875
|
| 115 |
+
Y por último, repetirlo hasta que
|
| 116 |
+
|
| 117 |
+
02:03.403 --> 02:08.376
|
| 118 |
+
nuestro número
|
| 119 |
+
|
| 120 |
+
02:10.103 --> 02:13.267
|
| 121 |
+
ya no se pueda dividir.
|
| 122 |
+
|
| 123 |
+
02:13.393 --> 02:15.485
|
| 124 |
+
Ahora sí, comencemos con nuestro código.
|
| 125 |
+
|
| 126 |
+
02:16.445 --> 02:18.300
|
| 127 |
+
Lo primero es utilizar include
|
| 128 |
+
|
| 129 |
+
02:18.300 --> 02:20.604
|
| 130 |
+
para llamar nuestras bibliotecas.
|
| 131 |
+
|
| 132 |
+
02:20.730 --> 02:23.676
|
| 133 |
+
La primera que voy a utilizar es stdio.h.
|
| 134 |
+
|
| 135 |
+
02:24.283 --> 02:25.667
|
| 136 |
+
La segunda que voy a utilizar,
|
| 137 |
+
|
| 138 |
+
02:25.793 --> 02:28.593
|
| 139 |
+
como ya te lo había spoileado al principio,
|
| 140 |
+
|
| 141 |
+
02:28.719 --> 02:31.300
|
| 142 |
+
va a ser stdlib.h.
|
| 143 |
+
|
| 144 |
+
02:31.300 --> 02:32.300
|
| 145 |
+
Excelente.
|
| 146 |
+
|
| 147 |
+
02:32.300 --> 02:35.807
|
| 148 |
+
Ya con esto vamos a proceder a declarar
|
| 149 |
+
|
| 150 |
+
02:35.933 --> 02:37.300
|
| 151 |
+
nuestro código main.
|
| 152 |
+
|
| 153 |
+
02:37.788 --> 02:41.948
|
| 154 |
+
Antes voy a declarar una serie de variables
|
| 155 |
+
de tipo entero que voy a estar utilizando.
|
| 156 |
+
|
| 157 |
+
02:42.402 --> 02:46.300
|
| 158 |
+
Voy a tener un array en donde
|
| 159 |
+
voy a guardar mis resultados.
|
| 160 |
+
|
| 161 |
+
02:47.200 --> 02:49.679
|
| 162 |
+
No vamos a hacer conversiones de números
|
| 163 |
+
muy grandes,
|
| 164 |
+
|
| 165 |
+
02:49.946 --> 02:54.300
|
| 166 |
+
así que voy a decirle
|
| 167 |
+
que sea de 12 posiciones
|
| 168 |
+
|
| 169 |
+
02:54.300 --> 02:57.300
|
| 170 |
+
para poder crear un número binario
|
| 171 |
+
de hasta 12 dígitos.
|
| 172 |
+
|
| 173 |
+
02:58.261 --> 03:00.300
|
| 174 |
+
Asimismo vamos a tener dos auxiliares,
|
| 175 |
+
|
| 176 |
+
03:00.300 --> 03:03.833
|
| 177 |
+
el auxiliar n para nuestro número
|
| 178 |
+
que vamos a recibir
|
| 179 |
+
|
| 180 |
+
03:04.033 --> 03:07.300
|
| 181 |
+
y el auxiliar i para nuestros arrays
|
| 182 |
+
|
| 183 |
+
03:07.300 --> 03:09.300
|
| 184 |
+
que vamos a estar trabajando.
|
| 185 |
+
|
| 186 |
+
03:09.300 --> 03:11.300
|
| 187 |
+
Para nuestros ciclos también.
|
| 188 |
+
|
| 189 |
+
03:11.653 --> 03:14.300
|
| 190 |
+
Punto y coma,
|
| 191 |
+
ya declaramos todas nuestras variables.
|
| 192 |
+
|
| 193 |
+
03:14.300 --> 03:15.300
|
| 194 |
+
Está excelente.
|
| 195 |
+
|
| 196 |
+
03:15.943 --> 03:18.300
|
| 197 |
+
Ahora sí vamos a proceder
|
| 198 |
+
a escribir nuestro main.
|
| 199 |
+
|
| 200 |
+
03:20.300 --> 03:22.300
|
| 201 |
+
Ya sabes, abrimos todo,
|
| 202 |
+
|
| 203 |
+
03:23.134 --> 03:27.300
|
| 204 |
+
nuestras llaves y colocamos return 0.
|
| 205 |
+
|
| 206 |
+
03:28.517 --> 03:29.533
|
| 207 |
+
Perfecto.
|
| 208 |
+
|
| 209 |
+
03:30.054 --> 03:31.300
|
| 210 |
+
Ya que tenemos nuestro main,
|
| 211 |
+
|
| 212 |
+
03:31.300 --> 03:33.545
|
| 213 |
+
pues podemos comenzar con nuestro código.
|
| 214 |
+
|
| 215 |
+
03:33.671 --> 03:36.300
|
| 216 |
+
Lo primero que vamos a hacer
|
| 217 |
+
es pedirle al usuario
|
| 218 |
+
|
| 219 |
+
03:36.300 --> 03:38.300
|
| 220 |
+
que nos diga cuál es el número
|
| 221 |
+
que quiere convertir.
|
| 222 |
+
|
| 223 |
+
03:38.533 --> 03:39.638
|
| 224 |
+
Es lo lógico.
|
| 225 |
+
|
| 226 |
+
03:40.131 --> 03:44.300
|
| 227 |
+
Entonces ingrese un valor decimal.
|
| 228 |
+
|
| 229 |
+
03:46.733 --> 03:47.733
|
| 230 |
+
Perfecto.
|
| 231 |
+
|
| 232 |
+
03:48.169 --> 03:50.935
|
| 233 |
+
Y vamos a poner nuestro salto de línea,
|
| 234 |
+
|
| 235 |
+
03:51.061 --> 03:52.300
|
| 236 |
+
punto y coma.
|
| 237 |
+
|
| 238 |
+
03:52.843 --> 03:55.485
|
| 239 |
+
Vamos a necesitar crear un ciclo for
|
| 240 |
+
|
| 241 |
+
03:55.611 --> 03:58.300
|
| 242 |
+
en el cual vamos a estar
|
| 243 |
+
constantemente iterando
|
| 244 |
+
|
| 245 |
+
03:58.300 --> 04:02.300
|
| 246 |
+
para que se vaya resolviendo
|
| 247 |
+
nuestro problema que tenemos acá.
|
| 248 |
+
|
| 249 |
+
04:02.905 --> 04:05.978
|
| 250 |
+
Este ciclo for como siempre va a comenzar
|
| 251 |
+
en i igual a 0,
|
| 252 |
+
|
| 253 |
+
04:06.104 --> 04:08.715
|
| 254 |
+
pero la condición si va
|
| 255 |
+
a tener un pequeño cambio
|
| 256 |
+
|
| 257 |
+
04:08.841 --> 04:11.300
|
| 258 |
+
y no vamos a utilizar i,
|
| 259 |
+
|
| 260 |
+
04:11.300 --> 04:13.771
|
| 261 |
+
vamos a utilizar n, que es el número,
|
| 262 |
+
|
| 263 |
+
04:13.897 --> 04:15.704
|
| 264 |
+
siempre que el número sea mayor a 0.
|
| 265 |
+
|
| 266 |
+
04:15.830 --> 04:18.934
|
| 267 |
+
Pero aquí te deberías estar preguntando
|
| 268 |
+
¿por qué n?
|
| 269 |
+
|
| 270 |
+
04:19.060 --> 04:20.702
|
| 271 |
+
Bueno, te explico fácilmente.
|
| 272 |
+
|
| 273 |
+
04:20.828 --> 04:23.072
|
| 274 |
+
Porque n es el número
|
| 275 |
+
que estamos metiendo,
|
| 276 |
+
|
| 277 |
+
04:23.198 --> 04:26.118
|
| 278 |
+
es la variable en donde ingresamos
|
| 279 |
+
el valor que vamos a convertir.
|
| 280 |
+
|
| 281 |
+
04:26.244 --> 04:29.300
|
| 282 |
+
Y mientras este valor no haya llegado a 0
|
| 283 |
+
|
| 284 |
+
04:29.300 --> 04:31.634
|
| 285 |
+
en nuestro proceso
|
| 286 |
+
de divisiones entre 2,
|
| 287 |
+
|
| 288 |
+
04:31.861 --> 04:33.983
|
| 289 |
+
pues nosotros tenemos
|
| 290 |
+
que seguirlo dividiendo.
|
| 291 |
+
|
| 292 |
+
04:34.109 --> 04:36.711
|
| 293 |
+
Es decir, si n es mayor a 0,
|
| 294 |
+
|
| 295 |
+
04:36.837 --> 04:39.379
|
| 296 |
+
entonces seguimos repitiendo el ciclo for,
|
| 297 |
+
|
| 298 |
+
04:39.505 --> 04:41.300
|
| 299 |
+
porque lo vamos a seguir
|
| 300 |
+
dividiendo entre 2,
|
| 301 |
+
|
| 302 |
+
04:41.300 --> 04:43.495
|
| 303 |
+
hasta que como te lo expliqué
|
| 304 |
+
en el algoritmo,
|
| 305 |
+
|
| 306 |
+
04:43.621 --> 04:46.300
|
| 307 |
+
hasta que nuestro número
|
| 308 |
+
ya no se pueda dividir.
|
| 309 |
+
|
| 310 |
+
04:46.300 --> 04:48.800
|
| 311 |
+
¿Por qué?
|
| 312 |
+
Porque ya lo dividimos al máximo,
|
| 313 |
+
|
| 314 |
+
04:48.926 --> 04:50.300
|
| 315 |
+
es decir, porque ya es 0.
|
| 316 |
+
|
| 317 |
+
04:50.300 --> 04:51.300
|
| 318 |
+
Perfecto.
|
| 319 |
+
|
| 320 |
+
04:51.970 --> 04:54.300
|
| 321 |
+
Muy bien,
|
| 322 |
+
vamos a poner nuestro iterador
|
| 323 |
+
|
| 324 |
+
04:54.300 --> 04:55.300
|
| 325 |
+
que va a ser i más más,
|
| 326 |
+
|
| 327 |
+
04:55.576 --> 04:57.727
|
| 328 |
+
porque este i más más justamente,
|
| 329 |
+
|
| 330 |
+
04:57.853 --> 05:01.300
|
| 331 |
+
nos va a estar sirviendo
|
| 332 |
+
para recorrer una posición en el array
|
| 333 |
+
|
| 334 |
+
05:01.554 --> 05:03.610
|
| 335 |
+
y así cada resultado de la división,
|
| 336 |
+
|
| 337 |
+
05:03.736 --> 05:06.511
|
| 338 |
+
automáticamente lo vamos
|
| 339 |
+
a estar guardando
|
| 340 |
+
|
| 341 |
+
05:06.637 --> 05:08.335
|
| 342 |
+
en una posición nueva de nuestro array.
|
| 343 |
+
|
| 344 |
+
05:08.461 --> 05:10.585
|
| 345 |
+
Esto es maravilloso, es muy útil
|
| 346 |
+
|
| 347 |
+
05:10.711 --> 05:14.300
|
| 348 |
+
y es una forma bastante importante
|
| 349 |
+
que quiero que te quedes,
|
| 350 |
+
|
| 351 |
+
05:14.300 --> 05:16.300
|
| 352 |
+
de cómo puedes utilizar un ciclo for.
|
| 353 |
+
|
| 354 |
+
05:16.867 --> 05:19.300
|
| 355 |
+
Muy bien, ahora sí procedamos
|
| 356 |
+
a escribir el código.
|
| 357 |
+
|
| 358 |
+
05:19.928 --> 05:22.800
|
| 359 |
+
Lo primero es que aquí
|
| 360 |
+
vamos a utilizar nuestro array,
|
| 361 |
+
|
| 362 |
+
05:23.143 --> 05:24.300
|
| 363 |
+
que le puse a the array.
|
| 364 |
+
|
| 365 |
+
05:26.891 --> 05:29.300
|
| 366 |
+
Este array, de hecho le voy
|
| 367 |
+
a cambiar el nombre a la variable,
|
| 368 |
+
|
| 369 |
+
05:29.300 --> 05:34.722
|
| 370 |
+
para que sea un nombre mucho más fácil
|
| 371 |
+
para ti de recordar.
|
| 372 |
+
|
| 373 |
+
05:34.942 --> 05:37.300
|
| 374 |
+
Binary number.
|
| 375 |
+
|
| 376 |
+
05:37.812 --> 05:38.831
|
| 377 |
+
Perfecto.
|
| 378 |
+
|
| 379 |
+
05:38.957 --> 05:41.300
|
| 380 |
+
Ahora nuestro array
|
| 381 |
+
se llama binary number
|
| 382 |
+
|
| 383 |
+
05:41.300 --> 05:44.174
|
| 384 |
+
y aquí es donde vamos a almacenar,
|
| 385 |
+
como su nombre lo indica,
|
| 386 |
+
|
| 387 |
+
05:44.543 --> 05:46.300
|
| 388 |
+
nuestro número binario.
|
| 389 |
+
|
| 390 |
+
05:46.654 --> 05:47.654
|
| 391 |
+
Perfecto.
|
| 392 |
+
|
| 393 |
+
05:47.780 --> 05:52.300
|
| 394 |
+
Con esto dicho, vamos a hacer
|
| 395 |
+
a binary number en la posición i.
|
| 396 |
+
|
| 397 |
+
05:52.300 --> 05:55.562
|
| 398 |
+
Como sabes, la posición i
|
| 399 |
+
va a comenzar en 0.
|
| 400 |
+
|
| 401 |
+
05:56.688 --> 05:58.300
|
| 402 |
+
Entonces eso está muy bien.
|
| 403 |
+
|
| 404 |
+
05:58.623 --> 06:01.300
|
| 405 |
+
Vamos a tener la primera iteración, etc.
|
| 406 |
+
|
| 407 |
+
06:01.523 --> 06:04.300
|
| 408 |
+
y aquí vamos a ir guardando
|
| 409 |
+
todos nuestros residuos.
|
| 410 |
+
|
| 411 |
+
06:04.491 --> 06:08.300
|
| 412 |
+
Para poder guardar nuestros residuos,
|
| 413 |
+
simple y sencillamente,
|
| 414 |
+
|
| 415 |
+
06:08.532 --> 06:11.800
|
| 416 |
+
tenemos que usar n igual a n,
|
| 417 |
+
|
| 418 |
+
06:13.300 --> 06:15.800
|
| 419 |
+
con el módulo de la división entre 2.
|
| 420 |
+
|
| 421 |
+
06:16.043 --> 06:18.800
|
| 422 |
+
Eso es lo que significa esta operación
|
| 423 |
+
que acabo de hacer aquí.
|
| 424 |
+
|
| 425 |
+
06:18.800 --> 06:20.300
|
| 426 |
+
Y por último,
|
| 427 |
+
|
| 428 |
+
06:21.523 --> 06:25.300
|
| 429 |
+
n va a ser igual a n...
|
| 430 |
+
|
| 431 |
+
06:26.591 --> 06:29.300
|
| 432 |
+
va a ser igual a n sobre 2.
|
| 433 |
+
|
| 434 |
+
06:30.853 --> 06:32.153
|
| 435 |
+
Punto y coma.
|
| 436 |
+
Excelente.
|
| 437 |
+
|
| 438 |
+
06:32.279 --> 06:35.581
|
| 439 |
+
Entonces, aquí vamos a tener binary number,
|
| 440 |
+
|
| 441 |
+
06:35.866 --> 06:40.040
|
| 442 |
+
esto va a almacenar el módulo
|
| 443 |
+
de nuestra operación,
|
| 444 |
+
|
| 445 |
+
06:40.166 --> 06:42.166
|
| 446 |
+
del módulo de lo que sería
|
| 447 |
+
la división entre 2
|
| 448 |
+
|
| 449 |
+
06:42.693 --> 06:46.300
|
| 450 |
+
y luego efectivamente vamos
|
| 451 |
+
a proceder a hacer la división.
|
| 452 |
+
|
| 453 |
+
06:46.300 --> 06:48.300
|
| 454 |
+
¿Por qué están en dos renglones diferentes?
|
| 455 |
+
|
| 456 |
+
06:48.300 --> 06:50.300
|
| 457 |
+
Porque este solo calcula el módulo
|
| 458 |
+
|
| 459 |
+
06:50.300 --> 06:52.300
|
| 460 |
+
y este sí que calcula la división.
|
| 461 |
+
|
| 462 |
+
06:52.300 --> 06:55.300
|
| 463 |
+
Entonces, el módulo del valor
|
| 464 |
+
actual lo guardamos
|
| 465 |
+
|
| 466 |
+
06:55.640 --> 06:58.800
|
| 467 |
+
en nuestro array en donde va a estar
|
| 468 |
+
nuestro número binario
|
| 469 |
+
|
| 470 |
+
06:58.800 --> 07:01.300
|
| 471 |
+
y luego procedemos
|
| 472 |
+
a hacer la división entre 2.
|
| 473 |
+
|
| 474 |
+
07:01.300 --> 07:04.300
|
| 475 |
+
Si esta división entre 2 fue correcta,
|
| 476 |
+
|
| 477 |
+
07:04.300 --> 07:06.800
|
| 478 |
+
si esta división entre 2 todavía no...
|
| 479 |
+
|
| 480 |
+
07:06.800 --> 07:08.800
|
| 481 |
+
todavía nos da un resultado
|
| 482 |
+
que es mayor a 0,
|
| 483 |
+
|
| 484 |
+
07:08.800 --> 07:11.800
|
| 485 |
+
significa que se puede
|
| 486 |
+
volver a dividir entre 2
|
| 487 |
+
|
| 488 |
+
07:11.800 --> 07:13.800
|
| 489 |
+
y entonces le vamos
|
| 490 |
+
a volver a sacar el módulo
|
| 491 |
+
|
| 492 |
+
07:13.800 --> 07:15.300
|
| 493 |
+
y volver a dividir entre 2
|
| 494 |
+
|
| 495 |
+
07:15.300 --> 07:18.300
|
| 496 |
+
y esto así sucesivamente hasta el final.
|
| 497 |
+
|
| 498 |
+
07:18.860 --> 07:22.800
|
| 499 |
+
Bueno, eso sería el for
|
| 500 |
+
que se va a encargar de nuestro...
|
| 501 |
+
|
| 502 |
+
07:23.208 --> 07:26.800
|
| 503 |
+
de nuestro cálculo de binario...
|
| 504 |
+
de decimal a binario, ¿no?
|
| 505 |
+
|
| 506 |
+
07:26.800 --> 07:29.300
|
| 507 |
+
Ahora hay que hacer un for para imprimir
|
| 508 |
+
nuestro array,
|
| 509 |
+
|
| 510 |
+
07:29.300 --> 07:30.800
|
| 511 |
+
entonces vamos a hacer un print,
|
| 512 |
+
|
| 513 |
+
07:32.473 --> 07:34.973
|
| 514 |
+
vamos a ponerle el resultado,
|
| 515 |
+
|
| 516 |
+
07:35.800 --> 07:37.800
|
| 517 |
+
la conversión...
|
| 518 |
+
mejor...
|
| 519 |
+
|
| 520 |
+
07:39.413 --> 07:41.413
|
| 521 |
+
la conversión de...
|
| 522 |
+
|
| 523 |
+
07:42.135 --> 07:45.674
|
| 524 |
+
y aquí vamos a pasarle primero
|
| 525 |
+
el número original
|
| 526 |
+
|
| 527 |
+
07:47.076 --> 07:48.800
|
| 528 |
+
para que lo imprima,
|
| 529 |
+
|
| 530 |
+
07:49.364 --> 07:51.300
|
| 531 |
+
ingrese un valor en decimal, muy bien,
|
| 532 |
+
|
| 533 |
+
07:51.300 --> 07:53.300
|
| 534 |
+
como aquí vamos a estar modificando n
|
| 535 |
+
|
| 536 |
+
07:53.300 --> 07:54.800
|
| 537 |
+
porque no se lo estamos...
|
| 538 |
+
|
| 539 |
+
07:54.800 --> 07:58.800
|
| 540 |
+
entonces si tenemos que imprimir n antes,
|
| 541 |
+
|
| 542 |
+
07:58.800 --> 08:00.800
|
| 543 |
+
ingrese el valor de un decimal, perfecto,
|
| 544 |
+
|
| 545 |
+
08:01.541 --> 08:02.908
|
| 546 |
+
vamos a poner aquí otro print,
|
| 547 |
+
|
| 548 |
+
08:04.800 --> 08:08.366
|
| 549 |
+
usted, porque siempre
|
| 550 |
+
hay que ser respetuosos,
|
| 551 |
+
|
| 552 |
+
08:08.492 --> 08:12.093
|
| 553 |
+
va a convertir el número
|
| 554 |
+
|
| 555 |
+
08:13.680 --> 08:16.800
|
| 556 |
+
%d a binario
|
| 557 |
+
|
| 558 |
+
08:18.131 --> 08:21.800
|
| 559 |
+
y aquí le pasamos nuestra variable n,
|
| 560 |
+
punto y coma.
|
| 561 |
+
|
| 562 |
+
08:22.634 --> 08:24.800
|
| 563 |
+
La conversión de la...
|
| 564 |
+
|
| 565 |
+
08:26.418 --> 08:28.573
|
| 566 |
+
ok, el resultado es...
|
| 567 |
+
|
| 568 |
+
08:31.543 --> 08:33.800
|
| 569 |
+
el resultado es...
|
| 570 |
+
|
| 571 |
+
08:34.800 --> 08:37.040
|
| 572 |
+
y si han estado poniendo
|
| 573 |
+
mucho cuidado en los cursos,
|
| 574 |
+
|
| 575 |
+
08:37.166 --> 08:39.290
|
| 576 |
+
se debieron de haber dado cuenta
|
| 577 |
+
que a mí me faltó acá
|
| 578 |
+
|
| 579 |
+
08:39.416 --> 08:42.300
|
| 580 |
+
un %n,
|
| 581 |
+
un diagonal invertida n,
|
| 582 |
+
|
| 583 |
+
08:42.426 --> 08:44.300
|
| 584 |
+
ya se lo puse, entonces todo bien.
|
| 585 |
+
|
| 586 |
+
08:44.577 --> 08:46.800
|
| 587 |
+
El resultado de la conversión
|
| 588 |
+
|
| 589 |
+
08:48.729 --> 08:50.800
|
| 590 |
+
es 2 puntos
|
| 591 |
+
|
| 592 |
+
08:50.800 --> 08:54.475
|
| 593 |
+
y aquí le vamos a pasar nuestro número
|
| 594 |
+
en binario,
|
| 595 |
+
|
| 596 |
+
08:54.601 --> 08:55.800
|
| 597 |
+
así que bueno,
|
| 598 |
+
|
| 599 |
+
08:55.800 --> 08:58.800
|
| 600 |
+
de momento no lo voy
|
| 601 |
+
a hacer en este print,
|
| 602 |
+
|
| 603 |
+
08:58.800 --> 09:00.300
|
| 604 |
+
así que no voy a dejar un %n,
|
| 605 |
+
|
| 606 |
+
09:00.300 --> 09:05.300
|
| 607 |
+
quiero que lo que voy a imprimir
|
| 608 |
+
abajo se haga continuo,
|
| 609 |
+
|
| 610 |
+
09:05.842 --> 09:08.800
|
| 611 |
+
simplemente voy a dejar el
|
| 612 |
+
espacio en blanco acá, perfecto,
|
| 613 |
+
|
| 614 |
+
09:09.047 --> 09:11.034
|
| 615 |
+
y voy a escribir un ciclo for,
|
| 616 |
+
|
| 617 |
+
09:11.160 --> 09:13.111
|
| 618 |
+
¿por qué vamos a utilizar otro ciclo for?
|
| 619 |
+
|
| 620 |
+
09:13.237 --> 09:14.800
|
| 621 |
+
porque tenemos un array
|
| 622 |
+
|
| 623 |
+
09:14.800 --> 09:17.800
|
| 624 |
+
y este array, simple y sencillamente,
|
| 625 |
+
|
| 626 |
+
09:17.800 --> 09:20.800
|
| 627 |
+
lo vamos a utilizar para
|
| 628 |
+
ir imprimiendo este vector,
|
| 629 |
+
|
| 630 |
+
09:21.122 --> 09:25.300
|
| 631 |
+
pues como ya te dije,
|
| 632 |
+
es una serie de valores
|
| 633 |
+
|
| 634 |
+
09:25.300 --> 09:28.105
|
| 635 |
+
que se almacenan en línea recta,
|
| 636 |
+
por decirlo así,
|
| 637 |
+
|
| 638 |
+
09:28.231 --> 09:29.800
|
| 639 |
+
y cada uno toma una posición
|
| 640 |
+
|
| 641 |
+
09:29.800 --> 09:32.300
|
| 642 |
+
y podemos tener hasta 12 posiciones
|
| 643 |
+
de memoria,
|
| 644 |
+
|
| 645 |
+
09:32.558 --> 09:33.800
|
| 646 |
+
es decir, vamos a tener...
|
| 647 |
+
|
| 648 |
+
09:33.800 --> 09:36.564
|
| 649 |
+
en la primera iteración vamos
|
| 650 |
+
a tener un número
|
| 651 |
+
|
| 652 |
+
09:36.690 --> 09:37.800
|
| 653 |
+
que puede ser 0 1,
|
| 654 |
+
|
| 655 |
+
09:37.800 --> 09:40.800
|
| 656 |
+
en la segunda vamos a tener otro número
|
| 657 |
+
que puede ser 0 1,
|
| 658 |
+
|
| 659 |
+
09:40.800 --> 09:42.800
|
| 660 |
+
en la tercera vamos a tener otro número
|
| 661 |
+
|
| 662 |
+
09:42.800 --> 09:44.800
|
| 663 |
+
y así se van a guardar sucesivamente
|
| 664 |
+
|
| 665 |
+
09:44.800 --> 09:46.800
|
| 666 |
+
en las 12 posiciones de nuestro array,
|
| 667 |
+
|
| 668 |
+
09:47.143 --> 09:50.300
|
| 669 |
+
entonces, ahora hay que sacarle
|
| 670 |
+
esas posiciones de nuestro array,
|
| 671 |
+
|
| 672 |
+
09:50.300 --> 09:53.008
|
| 673 |
+
para esto vamos a recorrer nuestro vector.
|
| 674 |
+
|
| 675 |
+
09:53.134 --> 09:54.300
|
| 676 |
+
Ahora que ya sabes de qué...
|
| 677 |
+
|
| 678 |
+
09:54.300 --> 09:55.800
|
| 679 |
+
por qué necesitaremos otro for,
|
| 680 |
+
|
| 681 |
+
09:55.800 --> 09:57.300
|
| 682 |
+
te explico qué va a ir adentro.
|
| 683 |
+
|
| 684 |
+
09:57.687 --> 09:59.582
|
| 685 |
+
Recuerda que nuestro auxiliar i,
|
| 686 |
+
|
| 687 |
+
09:59.708 --> 10:03.300
|
| 688 |
+
nos llegaba hasta la parte final
|
| 689 |
+
de nuestro array,
|
| 690 |
+
|
| 691 |
+
10:03.300 --> 10:05.300
|
| 692 |
+
en donde había guardado el último dígito,
|
| 693 |
+
|
| 694 |
+
10:05.575 --> 10:07.300
|
| 695 |
+
simple y sencillamente
|
| 696 |
+
este incrementador
|
| 697 |
+
|
| 698 |
+
10:07.300 --> 10:09.648
|
| 699 |
+
nos dejaba ahí, si guardamos 5 dígitos,
|
| 700 |
+
|
| 701 |
+
10:09.774 --> 10:11.898
|
| 702 |
+
nos lo dejaba en el valor 5
|
| 703 |
+
|
| 704 |
+
10:12.024 --> 10:15.300
|
| 705 |
+
y así sucesivamente,
|
| 706 |
+
nos lo dejaba en el último valor
|
| 707 |
+
|
| 708 |
+
10:15.300 --> 10:17.300
|
| 709 |
+
que habíamos grabado, eso es genial,
|
| 710 |
+
|
| 711 |
+
10:17.300 --> 10:19.300
|
| 712 |
+
pero aquí abajo, entonces,
|
| 713 |
+
|
| 714 |
+
10:19.300 --> 10:20.800
|
| 715 |
+
tenemos que empezar a imprimir
|
| 716 |
+
|
| 717 |
+
10:20.800 --> 10:22.300
|
| 718 |
+
y vamos a comenzar a imprimir
|
| 719 |
+
|
| 720 |
+
10:22.300 --> 10:24.300
|
| 721 |
+
desde el último valor de nuestro array,
|
| 722 |
+
|
| 723 |
+
10:24.300 --> 10:26.800
|
| 724 |
+
porque es el último dato que se generó,
|
| 725 |
+
|
| 726 |
+
10:26.800 --> 10:29.300
|
| 727 |
+
hasta el primero, vamos a ver
|
| 728 |
+
cómo funciona esto.
|
| 729 |
+
|
| 730 |
+
10:31.066 --> 10:33.300
|
| 731 |
+
La condición acá es interesante,
|
| 732 |
+
|
| 733 |
+
10:33.300 --> 10:38.532
|
| 734 |
+
porque vamos a ir decrementando
|
| 735 |
+
nuestro auxiliar en 1 de entrada,
|
| 736 |
+
|
| 737 |
+
10:38.600 --> 10:39.673
|
| 738 |
+
¿por qué?
|
| 739 |
+
|
| 740 |
+
10:39.699 --> 10:42.800
|
| 741 |
+
Porque recuerda que los arrays
|
| 742 |
+
empiezan a contar del 0,
|
| 743 |
+
|
| 744 |
+
10:42.800 --> 10:45.800
|
| 745 |
+
si entonces estábamos
|
| 746 |
+
en el número 5 que se guardó,
|
| 747 |
+
|
| 748 |
+
10:46.099 --> 10:49.800
|
| 749 |
+
la posición real del array,
|
| 750 |
+
del quinto valor, es el 4,
|
| 751 |
+
|
| 752 |
+
10:49.800 --> 10:50.800
|
| 753 |
+
entonces te explico,
|
| 754 |
+
|
| 755 |
+
10:51.051 --> 10:53.800
|
| 756 |
+
un array siempre comienza en 0,
|
| 757 |
+
en la posición 0,
|
| 758 |
+
|
| 759 |
+
10:54.239 --> 10:57.300
|
| 760 |
+
0, 1, 2, 3, 4,
|
| 761 |
+
|
| 762 |
+
10:57.300 --> 10:59.800
|
| 763 |
+
en el número...
|
| 764 |
+
en la posición 4 de nuestro array,
|
| 765 |
+
|
| 766 |
+
11:00.124 --> 11:02.300
|
| 767 |
+
tenemos el quinto valor, ¿ok?
|
| 768 |
+
|
| 769 |
+
11:02.583 --> 11:04.300
|
| 770 |
+
Con esto dicho, seguimos.
|
| 771 |
+
|
| 772 |
+
11:04.676 --> 11:08.300
|
| 773 |
+
Vamos aquí a nuestro auxiliar,
|
| 774 |
+
a la parte de la condición,
|
| 775 |
+
|
| 776 |
+
11:08.300 --> 11:13.300
|
| 777 |
+
entonces, si es mayor que o igual,
|
| 778 |
+
|
| 779 |
+
11:13.624 --> 11:16.800
|
| 780 |
+
si es mayor o igual a 0, es decir
|
| 781 |
+
que no hemos terminado
|
| 782 |
+
|
| 783 |
+
11:17.003 --> 11:20.800
|
| 784 |
+
nuestro array o que estamos por terminarlo,
|
| 785 |
+
|
| 786 |
+
11:21.002 --> 11:23.800
|
| 787 |
+
y i menos menos,
|
| 788 |
+
vamos a ir decremental,
|
| 789 |
+
|
| 790 |
+
11:23.800 --> 11:25.800
|
| 791 |
+
estamos recorriéndolo
|
| 792 |
+
del final de nuestro array,
|
| 793 |
+
|
| 794 |
+
11:26.005 --> 11:27.800
|
| 795 |
+
al principio de nuestro array.
|
| 796 |
+
|
| 797 |
+
11:28.133 --> 11:30.300
|
| 798 |
+
Ahora, el código que vamos a poner aquí,
|
| 799 |
+
|
| 800 |
+
11:30.439 --> 11:31.800
|
| 801 |
+
va a ser súper simple,
|
| 802 |
+
|
| 803 |
+
11:32.161 --> 11:33.800
|
| 804 |
+
vamos a poner un print,
|
| 805 |
+
|
| 806 |
+
11:33.800 --> 11:35.800
|
| 807 |
+
vamos a poner paréntesis,
|
| 808 |
+
|
| 809 |
+
11:36.229 --> 11:37.800
|
| 810 |
+
%d,
|
| 811 |
+
|
| 812 |
+
11:38.800 --> 11:39.800
|
| 813 |
+
coma,
|
| 814 |
+
|
| 815 |
+
11:40.541 --> 11:43.993
|
| 816 |
+
y le vamos a pasar el valor
|
| 817 |
+
que tengamos almacenado
|
| 818 |
+
|
| 819 |
+
11:44.119 --> 11:46.800
|
| 820 |
+
en nuestro binary number,
|
| 821 |
+
|
| 822 |
+
11:46.800 --> 11:48.800
|
| 823 |
+
que es nuestro array del resultado,
|
| 824 |
+
|
| 825 |
+
11:48.800 --> 11:51.397
|
| 826 |
+
es decir, i, punto y coma.
|
| 827 |
+
|
| 828 |
+
11:51.631 --> 11:54.800
|
| 829 |
+
¿Te acuerdas que utilizamos
|
| 830 |
+
la biblioteca STDELIV?
|
| 831 |
+
|
| 832 |
+
11:54.800 --> 11:56.800
|
| 833 |
+
Esto nos da una función súper chévere,
|
| 834 |
+
|
| 835 |
+
11:56.800 --> 11:57.800
|
| 836 |
+
que es system,
|
| 837 |
+
|
| 838 |
+
11:58.095 --> 12:00.800
|
| 839 |
+
en system nosotros
|
| 840 |
+
le vamos a pasar argumentos
|
| 841 |
+
|
| 842 |
+
12:00.800 --> 12:02.300
|
| 843 |
+
que van directo al sistema,
|
| 844 |
+
|
| 845 |
+
12:02.300 --> 12:05.300
|
| 846 |
+
al sistema en el que estamos trabajando,
|
| 847 |
+
|
| 848 |
+
12:05.300 --> 12:07.300
|
| 849 |
+
entonces, yo le voy a pasar CLS,
|
| 850 |
+
|
| 851 |
+
12:07.300 --> 12:09.300
|
| 852 |
+
que nos va a servir
|
| 853 |
+
para limpiar la terminal,
|
| 854 |
+
|
| 855 |
+
12:09.300 --> 12:12.300
|
| 856 |
+
y también le voy a pasar system color,
|
| 857 |
+
|
| 858 |
+
12:12.300 --> 12:15.555
|
| 859 |
+
que nos va a servir para cambiar
|
| 860 |
+
el color de las letras
|
| 861 |
+
|
| 862 |
+
12:15.681 --> 12:18.030
|
| 863 |
+
que estamos trabajando
|
| 864 |
+
en nuestra terminal,
|
| 865 |
+
|
| 866 |
+
12:18.156 --> 12:21.476
|
| 867 |
+
0 es negro y 9 llega a light blue,
|
| 868 |
+
|
| 869 |
+
12:21.602 --> 12:24.800
|
| 870 |
+
también tenemos los códigos de letras,
|
| 871 |
+
|
| 872 |
+
12:24.800 --> 12:26.800
|
| 873 |
+
porque estamos hablando
|
| 874 |
+
de valores hexadecimales,
|
| 875 |
+
|
| 876 |
+
12:26.800 --> 12:28.800
|
| 877 |
+
que van desde blanco brilloso,
|
| 878 |
+
|
| 879 |
+
12:28.800 --> 12:30.800
|
| 880 |
+
hasta amarillo, aqua,
|
| 881 |
+
|
| 882 |
+
12:30.800 --> 12:32.800
|
| 883 |
+
te voy a dejar un link
|
| 884 |
+
para que los consultes
|
| 885 |
+
|
| 886 |
+
12:32.800 --> 12:34.800
|
| 887 |
+
en la sección de enlaces, los colores,
|
| 888 |
+
|
| 889 |
+
12:34.800 --> 12:37.229
|
| 890 |
+
en esto, para esta función.
|
| 891 |
+
|
| 892 |
+
12:37.355 --> 12:39.800
|
| 893 |
+
Entonces, tengo un typo acá,
|
| 894 |
+
|
| 895 |
+
12:39.800 --> 12:41.800
|
| 896 |
+
tengo que poner color, no colar,
|
| 897 |
+
|
| 898 |
+
12:41.800 --> 12:45.800
|
| 899 |
+
y le voy a poner 9f,
|
| 900 |
+
|
| 901 |
+
12:45.800 --> 12:46.800
|
| 902 |
+
a ver qué pasa,
|
| 903 |
+
|
| 904 |
+
12:46.800 --> 12:50.800
|
| 905 |
+
que es 9 del azul ligero
|
| 906 |
+
y f de blanco brilloso.
|
| 907 |
+
|
| 908 |
+
12:50.800 --> 12:53.300
|
| 909 |
+
Vamos a ejecutar esto
|
| 910 |
+
para ver cómo funciona,
|
| 911 |
+
|
| 912 |
+
12:53.559 --> 12:56.800
|
| 913 |
+
vamos a darle, ya sabes, f6 o fnf6,
|
| 914 |
+
|
| 915 |
+
12:57.060 --> 12:58.800
|
| 916 |
+
compila de manera exitosa,
|
| 917 |
+
|
| 918 |
+
12:58.800 --> 13:00.800
|
| 919 |
+
y tenemos nuestras letras blancas
|
| 920 |
+
|
| 921 |
+
13:00.800 --> 13:02.800
|
| 922 |
+
con un fondo azul,
|
| 923 |
+
|
| 924 |
+
13:02.800 --> 13:04.800
|
| 925 |
+
esto está muy, muy chévere.
|
| 926 |
+
|
| 927 |
+
13:04.800 --> 13:06.800
|
| 928 |
+
Muy bien, ahora dice,
|
| 929 |
+
ingrese un valor decimal,
|
| 930 |
+
|
| 931 |
+
13:06.800 --> 13:09.135
|
| 932 |
+
vamos a pasarle el valor 30,
|
| 933 |
+
|
| 934 |
+
13:09.261 --> 13:11.800
|
| 935 |
+
dice, usted va a convertir
|
| 936 |
+
el número 30 a binario,
|
| 937 |
+
|
| 938 |
+
13:11.800 --> 13:14.800
|
| 939 |
+
el resultado de la conversión es 11110.
|
| 940 |
+
|
| 941 |
+
13:15.114 --> 13:16.800
|
| 942 |
+
Ahora, vamos a Google Chrome,
|
| 943 |
+
|
| 944 |
+
13:16.800 --> 13:18.674
|
| 945 |
+
porque quiero validar esto,
|
| 946 |
+
por supuesto,
|
| 947 |
+
|
| 948 |
+
13:19.349 --> 13:21.800
|
| 949 |
+
y en Google Chrome vamos a decirle,
|
| 950 |
+
|
| 951 |
+
13:22.631 --> 13:27.800
|
| 952 |
+
11110 binary to decimal.
|
| 953 |
+
|
| 954 |
+
13:29.138 --> 13:31.019
|
| 955 |
+
Y Google Chrome, que nos entiende bien,
|
| 956 |
+
|
| 957 |
+
13:31.145 --> 13:33.800
|
| 958 |
+
nos pasa esta tabla, genial, maravilloso,
|
| 959 |
+
|
| 960 |
+
13:33.931 --> 13:37.800
|
| 961 |
+
y 11110 efectivamente es 30.
|
| 962 |
+
|
| 963 |
+
13:37.800 --> 13:38.926
|
| 964 |
+
Y lo tenemos,
|
| 965 |
+
|
| 966 |
+
13:39.052 --> 13:41.501
|
| 967 |
+
logramos hacer un programa
|
| 968 |
+
que es un poco más avanzado
|
| 969 |
+
|
| 970 |
+
13:41.627 --> 13:43.131
|
| 971 |
+
de los que hemos ido haciendo en el curso,
|
| 972 |
+
|
| 973 |
+
13:43.257 --> 13:47.223
|
| 974 |
+
en donde implementamos
|
| 975 |
+
una conversión de binario a decimal.
|
| 976 |
+
|
| 977 |
+
13:47.469 --> 13:50.105
|
| 978 |
+
También fue tu primera introducción
|
| 979 |
+
a los arrays,
|
| 980 |
+
|
| 981 |
+
13:50.231 --> 13:54.227
|
| 982 |
+
y eso es un tema que vemos mucho
|
| 983 |
+
más a profundidad en el próximo curso,
|
| 984 |
+
|
| 985 |
+
13:54.353 --> 13:56.234
|
| 986 |
+
en donde sin duda espero poder verte.
|
| 987 |
+
|
| 988 |
+
13:56.360 --> 14:00.900
|
| 989 |
+
Nos vemos en la próxima clase.
|
subir/Curso de Funciones en C/03-Bibliotecas estándar de funciones/05-Lecturas recomendadas.txt
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
https://www.tutorialspoint.com/c_standard_library/stdlib_h.htm
|
| 2 |
+
https://www.w3schools.com/colors/colors_picker.asp
|
subir/Curso de Funciones en C/03-Bibliotecas estándar de funciones/05-Resumen.html
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
subir/Curso de Funciones en C/03-Bibliotecas estándar de funciones/05-decimaltobinary_fe30b38b-6b12-47d7-913b-ea0e08976f1a.c
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// 1er paso Dividir el valor entre 2 yalmacenar el resto, mod, en un array
|
| 2 |
+
// 2do paso dividir otra vez entre 2 y almacenar el restante
|
| 3 |
+
// repetir hasta que nuestro número ya no se pueda dividir
|
| 4 |
+
|
| 5 |
+
#include <stdio.h>
|
| 6 |
+
#include <stdlib.h>
|
| 7 |
+
|
| 8 |
+
int binaryNumber[12],n,i;
|
| 9 |
+
|
| 10 |
+
main()
|
| 11 |
+
{
|
| 12 |
+
system("cls");
|
| 13 |
+
system("color 9F");
|
| 14 |
+
printf("Ingrese un valor decimal\n");
|
| 15 |
+
scanf("%d", &n);
|
| 16 |
+
printf("Usted va a convetir el numero %d a binario\n",n);
|
| 17 |
+
|
| 18 |
+
for ( i = 0; n > 0; i++)
|
| 19 |
+
{
|
| 20 |
+
binaryNumber[i]= n%2;
|
| 21 |
+
n = n/2;
|
| 22 |
+
}
|
| 23 |
+
|
| 24 |
+
printf("El resultado de la conversion es: ");
|
| 25 |
+
for ( i= i-1 ; i >= 0; i--)
|
| 26 |
+
{
|
| 27 |
+
printf("%d",binaryNumber[i]);
|
| 28 |
+
}
|
| 29 |
+
|
| 30 |
+
|
| 31 |
+
|
| 32 |
+
return 0;
|
| 33 |
+
}
|
subir/Curso de Funciones en C/04-Cierre/01-Funciones Avanzadas en C Creación y Uso Práctico.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:7c934c3675af9bdd2223932d69278b262fd96a04e645fcd5e5322814020168fe
|
| 3 |
+
size 17759822
|
subir/Curso de Funciones en C/04-Cierre/01-Funciones Avanzadas en C Creación y Uso Práctico.vtt
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:03.206 --> 00:08.000
|
| 4 |
+
¡Ey! Muchas felicidades, llegaste al final
|
| 5 |
+
de este curso de funciones en C.
|
| 6 |
+
|
| 7 |
+
00:08.000 --> 00:12.000
|
| 8 |
+
De verdad, espero que hayas puesto mucho
|
| 9 |
+
en práctica todo lo que aprendiste,
|
| 10 |
+
|
| 11 |
+
00:12.000 --> 00:15.500
|
| 12 |
+
que te haya gustado este curso,
|
| 13 |
+
que me dejes tu review de 5 estrellas,
|
| 14 |
+
|
| 15 |
+
00:15.500 --> 00:19.500
|
| 16 |
+
eso me ayuda muchísimo y que continues
|
| 17 |
+
con esta ruta de cursos de C.
|
| 18 |
+
|
| 19 |
+
00:19.500 --> 00:22.500
|
| 20 |
+
Si de verdad te interesan,
|
| 21 |
+
compárteme tu diploma en Twitter,
|
| 22 |
+
|
| 23 |
+
00:22.500 --> 00:26.500
|
| 24 |
+
en la red social que quieras, Twitter,
|
| 25 |
+
LinkedIn, en Twitter soy CelisMx,
|
| 26 |
+
|
| 27 |
+
00:26.500 --> 00:30.500
|
| 28 |
+
ahí me puedes seguir para cualquier duda,
|
| 29 |
+
también te reto obviamente
|
| 30 |
+
|
| 31 |
+
00:30.500 --> 00:33.500
|
| 32 |
+
a que termines el examen para que puedas
|
| 33 |
+
obtener ese diploma
|
| 34 |
+
|
| 35 |
+
00:33.500 --> 00:37.500
|
| 36 |
+
y no te olvides de practicar muchísimo
|
| 37 |
+
todo lo que aprendimos.
|
| 38 |
+
|
| 39 |
+
00:37.500 --> 00:42.500
|
| 40 |
+
Solo por último, para cerrar, recuerda
|
| 41 |
+
que hay muchísimas bibliotecas en C
|
| 42 |
+
|
| 43 |
+
00:42.500 --> 00:44.699
|
| 44 |
+
y cada una tiene
|
| 45 |
+
una gran cantidad de funciones,
|
| 46 |
+
|
| 47 |
+
00:44.825 --> 00:46.500
|
| 48 |
+
así que es imposible cubrirlas todas,
|
| 49 |
+
|
| 50 |
+
00:46.500 --> 00:50.500
|
| 51 |
+
porque además, siendo honestos,
|
| 52 |
+
difícilmente vas a utilizar todas.
|
| 53 |
+
|
| 54 |
+
00:50.500 --> 00:54.500
|
| 55 |
+
Pero sí que cubrimos las más importantes
|
| 56 |
+
y quiero que te quedes con eso.
|
| 57 |
+
|
| 58 |
+
00:54.500 --> 00:57.993
|
| 59 |
+
Ya sabes crear tus propias funciones,
|
| 60 |
+
definir tus propias funciones
|
| 61 |
+
|
| 62 |
+
00:58.119 --> 01:02.500
|
| 63 |
+
y también ya sabes cómo puedes tú utilizar
|
| 64 |
+
las funciones que vienen
|
| 65 |
+
|
| 66 |
+
01:02.500 --> 01:05.500
|
| 67 |
+
en diversas bibliotecas
|
| 68 |
+
del programa de lenguaje C.
|
| 69 |
+
|
| 70 |
+
01:06.023 --> 01:09.027
|
| 71 |
+
Con esto dicho, te reto a que explores
|
| 72 |
+
todas las bibliotecas,
|
| 73 |
+
|
| 74 |
+
01:09.153 --> 01:11.500
|
| 75 |
+
a que pienses, ah, ok, esto me puede
|
| 76 |
+
servir para esto,
|
| 77 |
+
|
| 78 |
+
01:11.500 --> 01:15.500
|
| 79 |
+
esto me puede servir para lo otro
|
| 80 |
+
y que nunca pares de aprender.
|
| 81 |
+
|
| 82 |
+
01:15.785 --> 01:19.500
|
| 83 |
+
Obviamente nos vemos en el próximo curso
|
| 84 |
+
de este Learning Path de C,
|
| 85 |
+
|
| 86 |
+
01:19.500 --> 01:21.500
|
| 87 |
+
en donde hablaremos
|
| 88 |
+
de estructuras de datos.
|
| 89 |
+
|
| 90 |
+
01:21.710 --> 01:24.500
|
| 91 |
+
Y con esto dicho, nos vemos
|
| 92 |
+
en la próxima ocasión.
|
| 93 |
+
|
| 94 |
+
01:24.824 --> 01:26.500
|
| 95 |
+
Gracias por haber tomado este curso,
|
| 96 |
+
|
| 97 |
+
01:26.500 --> 01:30.500
|
| 98 |
+
yo soy Ricardo Celis y pues nada,
|
| 99 |
+
quedo súper pendiente
|
| 100 |
+
|
| 101 |
+
01:30.500 --> 01:32.500
|
| 102 |
+
a cualquier duda o comentario que tengas,
|
| 103 |
+
|
| 104 |
+
01:32.500 --> 01:34.500
|
| 105 |
+
me encantaría si me sigues en Twitter.
|
| 106 |
+
|
| 107 |
+
01:34.500 --> 01:40.200
|
| 108 |
+
Nos vemos en la próxima.
|
subir/Curso de Funciones en C/04-Cierre/01-Lecturas recomendadas.txt
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
https://twitter.com/celismx
|
| 2 |
+
https://platzi.com/iot/
|