1
00:00:06,090 --> 00:00:12,990
Hola bienvenidos a otro capítulo de este curso y vamos a ver lo que se denomina alcanze de variables

2
00:00:13,950 --> 00:00:22,160
es muy simple si recuerdan nosotros venimos declarando variables en esta zona en este lugar por ejemplo

3
00:00:22,250 --> 00:00:28,200
declarar la variable número igual a cero bien sin mayor explicación.

4
00:00:28,200 --> 00:00:35,370
Nosotros venimos declarando variables por acá arriba cuando declaramos variables en esta zona decimos

5
00:00:35,370 --> 00:00:44,370
que son variables globales una variable global la vamos a poder acceder o sea conocer su valor.

6
00:00:44,670 --> 00:00:52,780
O bien vamos a poder modificar su valor en cualquier parte del código ya sea en el ZetaP o sea acá.

7
00:00:52,960 --> 00:00:58,830
Acá voy a poder decir y al punto print LN.

8
00:00:58,830 --> 00:01:02,970
Habiendo iniciado el serial previamente por supuesto número

9
00:01:05,880 --> 00:01:13,710
o tren número si quiero hacerlo correctamente pasando a string la variable número OSEP.

10
00:01:13,720 --> 00:01:17,860
Con esto voy a poder mostrar por pantalla cuánto vale números.

11
00:01:18,340 --> 00:01:19,710
Vamos a probarlo.

12
00:01:20,170 --> 00:01:24,190
Necesito que inicie el puerto serial

13
00:01:28,230 --> 00:01:30,940
a una velocidad de 9600.

14
00:01:31,020 --> 00:01:36,790
Luego de eso vamos a mostrar por pantalla lo que vale números.

15
00:01:36,930 --> 00:01:39,260
Vamos a intentar esto para que tenga una orden.

16
00:01:39,330 --> 00:01:40,110
Funcionaría igual.

17
00:01:40,110 --> 00:01:44,030
Por supuesto si no lo hago vamos a poner un número más interesante.

18
00:01:44,040 --> 00:01:52,530
Si tiene un poco más de sentido está bueno vamos a proceder a imprimir por la terminal serial la variable

19
00:01:52,530 --> 00:01:56,390
número muy simple no vamos subiendo

20
00:02:02,380 --> 00:02:04,260
no sale nada bien.

21
00:02:04,360 --> 00:02:05,370
No me di cuenta.

22
00:02:05,380 --> 00:02:10,080
Yo estuve trabajando con otra placa y lo dejé en una velocidad muy alta.

23
00:02:10,120 --> 00:02:14,530
No nos viene mal pero de todas estas cosas porque son cosas que les va a pasar todo el tiempo.

24
00:02:14,530 --> 00:02:15,660
Es normal.

25
00:02:15,810 --> 00:02:19,810
Bueno ya aparece la variable y vemos que vale 76 bien.

26
00:02:19,810 --> 00:02:24,160
Yo pude desde el ZetaP acceder a lo que vale enumeró.

27
00:02:24,190 --> 00:02:34,650
Lo mismo podría ser veãan desde Lop porque porque es una variable global como el loop es algo donde

28
00:02:34,650 --> 00:02:42,660
se repite todo el tiempo aparece muchas veces pero para mostrarles no solamente puedo conocer su valor

29
00:02:42,660 --> 00:02:48,300
sino que lo puedo modificar en cualquier parte puedo decir el número es igual a 10.

30
00:02:48,300 --> 00:02:50,290
Entonces cambió el valor del número.

31
00:02:50,400 --> 00:02:54,840
Por ende si lo imprimirá esta altura vería en pantalla 10.

32
00:02:55,320 --> 00:03:02,640
Entonces las variables globales se pueden cambiar en cualquier parte del código o se pueden ver incluso

33
00:03:02,930 --> 00:03:07,350
ya vamos a ver más adelante lo que son funciones pero como les dije básicamente esto es una función

34
00:03:07,740 --> 00:03:15,640
así que una función propia es algo que vamos a hacer nosotros por nuestra cuenta y puede ser por ejemplo

35
00:03:15,700 --> 00:03:22,430
hoy suma números sé que no no hemos visto funciones pero falta poco.

36
00:03:22,850 --> 00:03:27,080
Bueno esta es una función mía que acabo de inventar que sirve para sumar números.

37
00:03:27,520 --> 00:03:30,490
Entonces supongamos yo acá adentro puedo decir que el número

38
00:03:34,600 --> 00:03:41,110
es igual a uno lo que estoy haciendo cuando se ejecuta esta función es cambiar el valor de la función

39
00:03:41,170 --> 00:03:44,710
de la variable que declaré acá arriba.

40
00:03:44,780 --> 00:03:45,130
Bueno

41
00:03:48,070 --> 00:03:56,620
el caso opuesto a las variables globales son las variables locales cuando esta variable en vez de declararla

42
00:03:56,890 --> 00:04:02,020
fuera de cualquier función que sería una variable global no se acostumbra.

43
00:04:02,020 --> 00:04:08,470
Pero les cuento algo si esa variable global yo la declaro acá es exactamente lo mismo porque en realidad

44
00:04:08,470 --> 00:04:12,220
lo que está pasando es que le estoy declarando fuera de cualquier función.

45
00:04:12,250 --> 00:04:13,770
Eso hace que sea global.

46
00:04:13,840 --> 00:04:19,690
Nos hemos puesto todos de acuerdo que cuando sean globales lo vamos a escribir arriba pero en realidad

47
00:04:19,720 --> 00:04:30,940
técnicamente conquistó la escriba fuera de cualquier función funciona pero no viene al caso esto lo

48
00:04:30,940 --> 00:04:38,230
que queremos ver ahora son las locales y una variable local es algo tan simple como declararla adentro

49
00:04:38,350 --> 00:04:53,570
de una función número 3 un entero llamado Número Tres números poner otra cosa números de posición acá

50
00:04:53,690 --> 00:05:00,560
supongamos que acumulamos el número de posición en la que salió un corredor en una carrera sexto puesto

51
00:05:01,130 --> 00:05:05,350
ahí está bueno veamos qué pasa.

52
00:05:05,360 --> 00:05:06,870
Veamos qué pasa acá.

53
00:05:06,870 --> 00:05:12,380
Mira y acá vamos a entender el tema de las Vari de qué quiere decir alcance sobre todo.

54
00:05:12,410 --> 00:05:25,240
Mirá yo voy a intentar acá hacer Lucientes sería el punto print n seria el punto LN voy a imprimir

55
00:05:28,880 --> 00:05:30,950
número de posición

56
00:05:33,640 --> 00:05:42,160
recuerden que cuando yo imprimo una variable numérica con print LN No es necesario transformar la string

57
00:05:42,640 --> 00:05:48,160
cuando solo imprimo una variable se encarga automáticamente la función.

58
00:05:48,160 --> 00:05:56,770
Ahora bien si esto lo quiero concatenar con el número es para que quede más bello más prolijo.

59
00:05:57,250 --> 00:06:03,170
Yo Akashi voy a tener que transformar la variable con la función Street.

60
00:06:03,250 --> 00:06:06,400
Lo bueno es un tanto al margen de todo esto vamos a profundizar.

61
00:06:06,400 --> 00:06:08,970
No se preocupe vamos a volver a lo que nos trajo.

62
00:06:09,670 --> 00:06:13,060
Quiero sacar por pantalla número de posición

63
00:06:17,170 --> 00:06:27,990
con Pilo y ya me salto un error y me dice qué número de posición fíjense no está declarado porque porque

64
00:06:28,060 --> 00:06:34,570
estoy pidiendo usarlo ya sea para modificarlo o para imprimirlo o para lo que sea antes de haberlo declarado

65
00:06:34,660 --> 00:06:35,470
a esta altura.

66
00:06:35,500 --> 00:06:38,340
Número de posición ni siquiera existe.

67
00:06:38,620 --> 00:06:44,020
Por supuesto que sí Bandar si luego de declararlo funciona

68
00:06:57,210 --> 00:07:03,310
como ven acá se imprimió el número 6 de el número de posición

69
00:07:06,890 --> 00:07:14,920
miren lo que pasa acá cor.to esto y lo pego acá vamos a probar la tipeando en otra función

70
00:07:17,630 --> 00:07:24,110
otra vez me dice el número de posición no está declarado Bien pero cómo puede ser si lo declara acá

71
00:07:24,110 --> 00:07:27,890
arriba no Pablo no no funciona así.

72
00:07:27,890 --> 00:07:37,700
Número de posición pertenece de manera local a la función ZetaP y ahí viene el tema del alcance el alcance

73
00:07:37,700 --> 00:07:46,740
de número de posición además de estar restringido para ser usado luego de que lo declaró está restringido

74
00:07:46,740 --> 00:07:50,670
el ámbito de esta función zETAp porque lo declara acá adentro.

75
00:07:51,190 --> 00:07:55,350
Entonces lo primero que tengo que saber es que voy a poder usar después de que haya declarado antes

76
00:07:55,350 --> 00:07:56,210
nunca.

77
00:07:56,400 --> 00:08:01,380
Y en segundo término tengo que saber de qué número de posición va a ser válido solo para la función

78
00:08:01,380 --> 00:08:06,240
zETAp fuera de zETAp no pasa nada.

79
00:08:06,240 --> 00:08:08,970
No voy a poder usarla ni modificarla

80
00:08:12,120 --> 00:08:14,330
porque me está diciendo que no fue declarado.

81
00:08:14,360 --> 00:08:23,210
Pues bien porque en loop no tengo ninguna declaración de una variable llamada número de posición voy

82
00:08:23,210 --> 00:08:25,810
a comentar un poquito de esto para que no tenga efecto.

83
00:08:25,880 --> 00:08:31,400
Miren lo que pasa ahora qué pasa si yo acá mismo digo Hind voy a declarar otra variable que se va a

84
00:08:31,400 --> 00:08:36,500
llamar número de posición igual a cero grabo

85
00:08:40,810 --> 00:08:47,290
y me dice Ré declaración que estoy declarando dos veces con el mismo nombre una variable.

86
00:08:47,290 --> 00:08:48,540
Eso no se puede hacer.

87
00:08:48,730 --> 00:08:57,330
Sin embargo cuando yo me voy y esta supuesta declaración la quiero hacer pero en otra función.

88
00:08:57,760 --> 00:09:01,570
Miren acá no me da error de hecho se cargó.

89
00:09:01,690 --> 00:09:02,700
Qué sucede.

90
00:09:02,710 --> 00:09:10,620
Bueno como esta variable número de posición sólo tiene alcance en esta función no se molesta para nada

91
00:09:10,630 --> 00:09:16,690
con esta otra que puede compartir el nombre pero no tienen nada que ver y van a tomar caminos separados

92
00:09:16,690 --> 00:09:18,150
son totalmente independientes.

93
00:09:18,190 --> 00:09:22,600
Esta variable de esta variable incluso si acá pongo y declaró

94
00:09:25,160 --> 00:09:31,670
INTT número número vamos Pablo Gómez.

95
00:09:31,890 --> 00:09:35,470
Reposición igual igualdad 5.

96
00:09:35,800 --> 00:09:42,640
Tampoco va a molestar porque este esta variable solo va a funcionar dentro de suma números

97
00:09:45,400 --> 00:09:46,360
veremos si cierto.

98
00:09:46,360 --> 00:09:52,000
A ver si mi error no me da error para nada es totalmente válido son variables distintas cada una por

99
00:09:52,000 --> 00:10:05,500
su cuenta y miren esto voy acá y voy a poner Hind número igual a 6.

100
00:10:06,020 --> 00:10:11,120
Recuerden que el número lo teníamos acá como Général que valía setenta y seis

101
00:10:16,090 --> 00:10:19,250
querer imprimir para ver cuánto vale nuestra altura número

102
00:10:22,680 --> 00:10:23,970
de probemos

103
00:10:28,270 --> 00:10:28,840
se cargó

104
00:10:31,850 --> 00:10:32,810
no funciona.

105
00:10:32,810 --> 00:10:33,560
Claro Pablo.

106
00:10:33,580 --> 00:10:36,610
Claro si nos llamaste nunca a esa función qué está pasando.

107
00:10:36,620 --> 00:10:38,060
La vamos a ver.

108
00:10:38,060 --> 00:10:43,400
No llamé en ningún momento en ningún momento a esta función y tengo que llamarla para que se ejecute.

109
00:10:43,400 --> 00:10:44,970
Eso se lo vamos a explicar no se preocupen.

110
00:10:45,540 --> 00:10:52,700
Pero bueno para llamarla sepan de antemano que simplemente tengo que escribirle entre paréntesis punto

111
00:10:52,700 --> 00:10:58,030
y coma y hoy lo que hago es hacer que el código salte a este lugar ya lo vemos más en profundidad pero

112
00:10:58,030 --> 00:11:02,470
es lo que quiero es que se ejecute esto para explicarles algo.

113
00:11:02,480 --> 00:11:14,610
Mira 6 o sea que cuando le pedí que imprima número tuvo prioridad esta variable en vez de esta incluso

114
00:11:14,610 --> 00:11:18,010
no se molestaron.

115
00:11:18,030 --> 00:11:23,290
Ahora bien si yo no declaro nada no declara una variable local con el mismo nombre cuando le pide a

116
00:11:23,290 --> 00:11:29,700
K que imprima números como ésta es global o no va a imprimir esta otra de acá.

117
00:11:36,260 --> 00:11:38,700
Cual imprimió por qué no se los 76.

118
00:11:38,720 --> 00:11:43,060
No porque después de valer 76 dijimos que tiene que valer 10.

119
00:11:43,400 --> 00:11:49,070
Y después acá en suma números le estoy imprimiendo y tenemos el 10.

120
00:11:49,350 --> 00:11:55,410
Bueno este es el caso donde les pido un poco de paciencia y que sigan por un acto de convicción y de

121
00:11:55,410 --> 00:11:56,070
fe.

122
00:11:56,070 --> 00:12:02,740
Sé que suena raro lo que pasa es que la única y mejor manera de aprender esto.

123
00:12:03,060 --> 00:12:09,240
No soy exagerado con lo de ùnica es practicándolo viviéndolo manejándolo.

124
00:12:09,360 --> 00:12:10,800
Pero qué problema tenemos.

125
00:12:10,890 --> 00:12:16,290
Estamos recién empezando nos faltan algunas herramientas y elementos básicos para que empecemos a trabajar

126
00:12:16,490 --> 00:12:19,950
y ahí seguro van a poder entenderlo y asimilarlo mejor.

127
00:12:19,980 --> 00:12:24,670
Así que si todavía sienten que no están seguros hay cosas que no les terminan de cerrar.

128
00:12:24,690 --> 00:12:30,840
No se preocupen es normal es normal que pase que no entendamos cosas y es normal también que a veces

129
00:12:30,870 --> 00:12:38,160
tomemos el riesgo de seguir un poquito adelante aunque haya cosas en el pasado que sintamos que no estamos

130
00:12:38,160 --> 00:12:38,880
tan seguros.

131
00:12:38,880 --> 00:12:44,700
Hagamos la prueba si vemos que nos cuesta volvemos igual y siempre le estaré atento para responder lo

132
00:12:44,700 --> 00:12:46,130
que necesiten.

133
00:12:46,140 --> 00:12:50,730
Esto ha sido en este capítulo lo que hemos visto espero que lo hayan disfrutado y nos vemos la próxima.
