1
00:00:00,000 --> 00:00:03,160
>> DAVID J. MALAN: supponiamo di voler scrivere
un programma che chiede a tutti in

2
00:00:03,160 --> 00:00:06,740
una sala per la loro età, e poi le stampe
quanti anni queste persone sarà un

3
00:00:06,740 --> 00:00:07,520
anno di qui?

4
00:00:07,520 --> 00:00:09,900
Ora, ovviamente l'aritmetica per questo
problema sta per essere abbastanza

5
00:00:09,900 --> 00:00:10,660
semplice.

6
00:00:10,660 --> 00:00:14,090
Ma la domanda interessante è, se
non si sa in anticipo quante persone

7
00:00:14,090 --> 00:00:16,790
stanno per essere in questa stanza, come
potremmo andare sulla memorizzazione

8
00:00:16,790 --> 00:00:17,980
tutte le loro età?

9
00:00:17,980 --> 00:00:19,680
Bene, diamo un'occhiata.

10
00:00:19,680 --> 00:00:22,760
>> Cominciamo dal primo spingendo l'
utente, come ho fatto qui, per la

11
00:00:22,760 --> 00:00:26,410
il numero di persone in camera con
getInt e un ciclo do-while, al fine di

12
00:00:26,410 --> 00:00:28,220
ottenere un numero intero n.

13
00:00:28,220 --> 00:00:32,310
Supponiamo ora vogliamo chiedere a ciascuno di tali
persona nella camera per la loro età.

14
00:00:32,310 --> 00:00:35,820
Beh, il mio istinto sarebbe quello di utilizzare un
ciclo di farlo spingendo, ma ho anche

15
00:00:35,820 --> 00:00:37,840
bisogno di un posto per immagazzinare
età di quelle persone.

16
00:00:37,840 --> 00:00:40,760
E il mio primo istinto ci sarebbe
utilizzare una variabile per la prima

17
00:00:40,760 --> 00:00:43,690
l'età della persona, un'altra variabile
per età della seconda persona,

18
00:00:43,690 --> 00:00:44,780
sorta di lungo linee.

19
00:00:44,780 --> 00:00:46,230
Età Int -

20
00:00:46,230 --> 00:00:48,850
bene, chiamiamolo 1 per
prima persona.

21
00:00:48,850 --> 00:00:51,480
Int età 2 per la seconda persona.

22
00:00:51,480 --> 00:00:53,980
Int 3 anni per la terza persona.

23
00:00:53,980 --> 00:00:56,750
>> Ma aspettate un minuto, questo non è forse
il percorso migliore per andare giù.

24
00:00:56,750 --> 00:01:00,620
Perché io non so in anticipo
la scrittura e la compilazione di questo programma come

25
00:01:00,620 --> 00:01:02,330
molti utenti ci stanno per essere.

26
00:01:02,330 --> 00:01:06,590
E inoltre, se c'è ben
100 utenti, che dichiara 100 variabili

27
00:01:06,590 --> 00:01:10,350
sorta di stranamente chiamato in questo modo non
sentire come il migliore design.

28
00:01:10,350 --> 00:01:14,430
>> Beh, per fortuna esiste un altro
tipo di variabile definito un array che

29
00:01:14,430 --> 00:01:18,710
ci permette di immagazzinare qualsiasi numero di int
all'interno di esso, anche se non sappiamo

30
00:01:18,710 --> 00:01:22,190
quando si scrive il mio programma quanti
tali interi stiamo andando ad avere bisogno.

31
00:01:22,190 --> 00:01:25,970
Allora facciamo un passo indietro ed eliminare questi
diversi int, e invece sostituirlo

32
00:01:25,970 --> 00:01:29,620
con una variabile chiamata,
dire, età, plurale.

33
00:01:29,620 --> 00:01:33,420
Ma andiamo ulteriormente specificare su questa linea
di codice tra parentesi quadre che

34
00:01:33,420 --> 00:01:35,460
desiderare n int.

35
00:01:35,460 --> 00:01:39,570
E quindi, lo faremo insieme
fare riferimento a queste int come età.

36
00:01:39,570 --> 00:01:43,490
>> Ora, in un momento sarò in grado di ottenere
a ciascuno dei int in questo array

37
00:01:43,490 --> 00:01:47,270
analogamente a titolo di parentesi quadra
notazione, a partire da 0.

38
00:01:47,270 --> 00:01:51,720
Quindi andiamo ora in un ciclo di
richiederà agli utenti per la loro età.

39
00:01:51,720 --> 00:01:54,780
Per int ottengo 0.

40
00:01:54,780 --> 00:01:59,464
I è inferiore a N, il numero di persone
nella stanza, ho plus plus.

41
00:01:59,464 --> 00:02:06,610
>> E ora in questo ciclo, diciamo
età printf del numero di persone, cento I

42
00:02:06,610 --> 00:02:09,430
è un segnaposto, virgola.

43
00:02:09,430 --> 00:02:13,210
E ora, invece di iniziare il conteggio da
0 nel programma stesso, diamo a

44
00:02:13,210 --> 00:02:17,180
almeno incremento i di 1 in modo che un normale
persona che utilizza questo programma

45
00:02:17,180 --> 00:02:20,120
non deve contare come un
informatico forza.

46
00:02:20,120 --> 00:02:26,130
Vediamo ora fare le età, staffa io, così
specificando che l'età i-esima nel nostro

47
00:02:26,130 --> 00:02:31,480
array di età sta per arrivare
il valore di ritorno di getInt.

48
00:02:31,480 --> 00:02:37,800
>> Ora, sotto questo ciclo, procediamo
supporre che qualche tempo passa.

49
00:02:37,800 --> 00:02:41,690
E andiamo ora procediamo in un altro ciclo
invecchiare in realtà tutti nella stanza

50
00:02:41,690 --> 00:02:42,800
di un anno.

51
00:02:42,800 --> 00:02:48,110
Quindi, di nuovo, per int ottengo 0, I è meno
di N, il numero di persone

52
00:02:48,110 --> 00:02:49,680
camera, ho plus plus.

53
00:02:49,680 --> 00:02:57,210
>> E adesso all'interno di questo ciclo, diciamo
printf un anno da oggi il numero persona,

54
00:02:57,210 --> 00:03:00,990
I cento è un segnaposto, sarà
essere, cento Io è un altro

55
00:03:00,990 --> 00:03:03,210
segnaposto anni.

56
00:03:03,210 --> 00:03:07,230
E poi a collegare in quelle
segnaposto, si deve prima dire che sono più

57
00:03:07,230 --> 00:03:11,220
1, in modo che ancora una volta cominciamo a contare
per l'utente 1.

58
00:03:11,220 --> 00:03:18,630
E poi cerchiamo di spina età della persona
come staffa età ho più 1, quindi

59
00:03:18,630 --> 00:03:23,740
specificando andare a prendere l'età i-esima nel nostro
array di età, aggiungere 1 ad esso, e quindi

60
00:03:23,740 --> 00:03:28,370
inserire tale somma nel nostro segnaposto,
chiudi parentesi, punto e virgola.

61
00:03:28,370 --> 00:03:33,280
>> Vediamo ora compilare questo programma con il make
età, e corriamo con dot

62
00:03:33,280 --> 00:03:34,990
tagliare le età.

63
00:03:34,990 --> 00:03:38,770
E supponiamo che ci siano solo tre
persone nella stanza, e qualcuno è 18,

64
00:03:38,770 --> 00:03:40,700
qualcuno è 19, qualcuno è 20.

65
00:03:40,700 --> 00:03:45,350
Beh, in un anno, ciascuna di quelle persone
sta per essere 19, 20, e 21,

66
00:03:45,350 --> 00:03:46,600
rispettivamente.

67
00:03:46,600 --> 00:03:48,948