Esercizio - Implementare rami di codice usando istruzioni di selezione

Completato

In questo esercizio si sviluppa il codice che assegna automaticamente il voto di lettera di uno studente in base al punteggio numerico finale e si aggiorna l'applicazione in modo che i punteggi aggiuntivi del progetto di credito vengano inseriti nel voto finale dello studente. Si inizia scrivendo un if-elseif-else costrutto che può essere usato per valutare il punteggio numerico dello studente e assegnare il voto in lettere. Successivamente, si esaminano i requisiti dell'applicazione correlati a un lavoro extra per il credito e quindi si procede con gli aggiornamenti del codice richiesti. Le attività dettagliate completate durante questo esercizio sono:

  1. Sviluppare una if-elseif-else struttura che valuti il punteggio dello studente per assegnare un voto in lettere. L'espressione valutata confronta il punteggio numerico dello studente con un intervallo di punteggi ricavati da un grafico di gradazione fornito dall'insegnante.

  2. Integrare punteggi di credito aggiuntivi nella matrice di punteggi di ogni studente e quindi aggiornare il codice usato per calcolare il punteggio numerico dello studente. L'oggetto foreach usato per sommare i punteggi degli studenti verrà aggiornato per includere un'istruzione if che suddivide il codice. I punteggi di esame vengono applicati alla somma in un ramo e i punteggi di credito aggiuntivi nell'altro ramo.

Importante

Prima di iniziare questo esercizio, è necessario aver completato l'esercizio precedente di questo modulo, "Creare matrici e cicli foreach".

Assegnare voti di lettera usando un costrutto if-elseif-else

In questa attività si sviluppa una if-elseif-else struttura da usare per assegnare voti in base a un punteggio numerico calcolato.

  1. Assicurarsi che il file Program.cs sia aperto nell'editor di Visual Studio Code.

  2. Creare una riga di codice vuota sotto la riga usata per dichiarare studentScores la matrice.

  3. Per creare una variabile stringa che può essere usata per contenere il voto di lettera dello studente, immettere il codice seguente:

    string currentStudentLetterGrade = "";
    
  4. Scorrere verso il basso fino alla fine del file Program.cs.

  5. Aggiungere una riga di codice vuota sotto la riga che assegna un valore calcolato a currentStudentGrade.

  6. Prenditi un minuto per considerare la tabella di valutazione che mostra il voto in lettere corrispondente ai punteggi numerici.

    97 - 100   A+
    93 - 96    A
    90 - 92    A-
    87 - 89    B+
    83 - 86    B
    80 - 82    B-
    77 - 79    C+
    73 - 76    C
    70 - 72    C-
    67 - 69    D+
    63 - 66    D
    60 - 62    D-
    0  - 59    F
    

    Si noti che la riga superiore dei punteggi, con valori pari o superiori a 97, ha una valutazione di "A+". In altre parole, se il punteggio finale di uno studente è >= 97, gli viene assegnato il voto in lettere "A+".

  7. Per creare un'istruzione if che assegna A+ a currentStudentLetterGrade quando il punteggio dello studente è maggiore o uguale a 97, inserire il codice seguente:

    if (currentStudentGrade >= 97)
        currentStudentLetterGrade = "A+";
    
    
  8. Per creare un'istruzione else if che assegna A a currentStudentLetterGrade quando il punteggio dello studente è maggiore o uguale a 93, immettere il codice seguente:

    else if (currentStudentGrade >= 93)
        currentStudentLetterGrade = "A";
    
    

    Non else if verrà assegnato A a currentStudentLetterGrade quando il punteggio dello studente è maggiore o uguale a 97 perché quell'espressione ha restituito true nella precedente if.

    È possibile estendere questo else if modello quando si spostano verso il basso le righe del grafico del grado di lettera. Quando si raggiunge la fine del grafico, è possibile usare una finale else per rilevare qualsiasi currentStudentGrade valore inferiore a 60.

  9. Creare le else if istruzioni che assegnano voti con lettere a currentStudentLetterGrade per gli intervalli di punteggio compresi tra 60 e 92.

    Dopo aver completato questo passaggio, è necessario avere una if struttura di istruzioni che corrisponda al codice seguente:

        if (currentStudentGrade >= 97)
            currentStudentLetterGrade = "A+";
    
        else if (currentStudentGrade >= 93)
            currentStudentLetterGrade = "A";
    
        else if (currentStudentGrade >= 90)
            currentStudentLetterGrade = "A-";
    
        else if (currentStudentGrade >= 87)
            currentStudentLetterGrade = "B+";
    
        else if (currentStudentGrade >= 83)
            currentStudentLetterGrade = "B";
    
        else if (currentStudentGrade >= 80)
            currentStudentLetterGrade = "B-";
    
        else if (currentStudentGrade >= 77)
            currentStudentLetterGrade = "C+";
    
        else if (currentStudentGrade >= 73)
            currentStudentLetterGrade = "C";
    
        else if (currentStudentGrade >= 70)
            currentStudentLetterGrade = "C-";
    
        else if (currentStudentGrade >= 67)
            currentStudentLetterGrade = "D+";
    
        else if (currentStudentGrade >= 63)
            currentStudentLetterGrade = "D";
    
        else if (currentStudentGrade >= 60)
            currentStudentLetterGrade = "D-";
    

    Il passaggio finale consiste nell'aggiungere l'oggetto else che gestisce eventuali punteggi rimanenti.

  10. Per creare l'oggetto else che si applica ai punteggi inferiori a 60, immettere il codice seguente:

        else
            currentStudentLetterGrade = "F";
    
    
  11. Dedicare qualche minuto alla revisione del codice dell'applicazione.

    Il codice Program.cs deve corrispondere al codice seguente:

    // initialize variables - graded assignments
    int currentAssignments = 5;
    
    int[] sophiaScores = new int[] { 90, 86, 87, 98, 100 };
    int[] andrewScores = new int[] { 92, 89, 81, 96, 90 };
    int[] emmaScores = new int[] { 90, 85, 87, 98, 68 };
    int[] loganScores = new int[] { 90, 95, 87, 88, 96 };
    
    // Student names
    string[] studentNames = new string[] { "Sophia", "Andrew", "Emma", "Logan" };
    
    int[] studentScores = new int[10];
    
    string currentStudentLetterGrade = "";
    
    // Display the Report Header
    Console.WriteLine("Student\t\tGrade\n");
    
    foreach (string name in studentNames)
    {
        string currentStudent = name;
    
        if (currentStudent == "Sophia")
            // assign Sophia's scores to the studentScores array 
            studentScores = sophiaScores;
    
        else if (currentStudent == "Andrew")
            // assign Andrew's scores to the studentScores array 
            studentScores = andrewScores;
    
        else if (currentStudent == "Emma")
            // assign Emma's scores to the studentScores array 
            studentScores = emmaScores;
    
        else if (currentStudent == "Logan")
            // assign Logan's scores to the studentScores array 
            studentScores = loganScores;
    
        // initialize/reset the sum of scored assignments
        int sumAssignmentScores = 0;
    
        // initialize/reset the calculated average of exam + extra credit scores
        decimal currentStudentGrade = 0;
    
        foreach (int score in studentScores)
        {
            // add the exam score to the sum
            sumAssignmentScores += score;
        }
    
        currentStudentGrade = (decimal)(sumAssignmentScores) / currentAssignments;
    
        if (currentStudentGrade >= 97)
            currentStudentLetterGrade = "A+";
    
        else if (currentStudentGrade >= 93)
            currentStudentLetterGrade = "A";
    
        else if (currentStudentGrade >= 90)
            currentStudentLetterGrade = "A-";
    
        else if (currentStudentGrade >= 87)
            currentStudentLetterGrade = "B+";
    
        else if (currentStudentGrade >= 83)
            currentStudentLetterGrade = "B";
    
        else if (currentStudentGrade >= 80)
            currentStudentLetterGrade = "B-";
    
        else if (currentStudentGrade >= 77)
            currentStudentLetterGrade = "C+";
    
        else if (currentStudentGrade >= 73)
            currentStudentLetterGrade = "C";
    
        else if (currentStudentGrade >= 70)
            currentStudentLetterGrade = "C-";
    
        else if (currentStudentGrade >= 67)
            currentStudentLetterGrade = "D+";
    
        else if (currentStudentGrade >= 63)
            currentStudentLetterGrade = "D";
    
        else if (currentStudentGrade >= 60)
            currentStudentLetterGrade = "D-";
    
        else
            currentStudentLetterGrade = "F";
    
        Console.WriteLine($"{name}\t\t{currentStudentGrade}\t?");
    }
    
    Console.WriteLine("Press the Enter key to continue");
    Console.ReadLine();
    

    Si noti che l'applicazione è organizzata in modo molto logico dall'alto verso il basso:

    1. Inizializzare le variabili e creare le matrici che fungono da origine dati per l'applicazione. Sono disponibili matrici che forniscono i punteggi degli studenti e una matrice che fornisce i nomi degli studenti. Si dispone anche di una matrice indipendente dagli studenti denominata studentScores che è possibile usare per contenere i punteggi di qualsiasi studente quando si tratta di calcolare i voti.

    2. Si dispone di un'istruzione Console.WriteLine() che scrive le etichette di colonna per il report di valutazione nella console.

    3. Hai un ciclo esterno foreach che itera su un studentNames array, fornendoti un blocco di codice che si ripete per ogni studente.

    4. Si continua a organizzare il codice usando un approccio dall'alto verso il basso all'interno del blocco di codice del ciclo esterno foreach :

      1. Si dispone di un'istruzione if per valutare il nome dello studente corrente, ad esempio if (currentStudent == "Sophia"). Quando l'espressione restituisce true, si assegna la matrice di punteggi dello studente alla matrice indipendente dagli studenti, ad esempio: studentScores = sophiaScores;

      2. Si dichiarano le due variabili necessarie per calcolare i voti degli studenti. La prima variabile, sumAssignmentScores, viene usata per calcolare la somma dei punteggi di assegnazione. La seconda variabile, currentStudentGrade, viene usata per calcolare il grado numerico finale. Inizializza le variabili con il valore 0.

      3. Hai un ciclo foreach che scorre attraverso studentScores per calcolare il valore di sumAssignmentScores.

      4. Il calcolo currentStudentGrade viene calcolato dividendo sumAssignmentScores per il numero di assegnazioni nel libro di voti. Il numero di assegnazioni classificate viene mantenuto in una variabile denominata currentAssignments.

      5. Si dispone di un if-elseif-else costrutto che assegna voti in lettere in base al valore di currentStudentGrade.

      6. Si dispone di un'istruzione Console.WriteLine() che scrive i nomi e i voti degli studenti nella console per completare il report di valutazione.

  12. Individuare l'istruzione Console.WriteLine() che scrive i nomi e i voti degli studenti sulla console.

    Console.WriteLine($"{currentStudent}\t\t{currentStudentGrade}\t?");
    

    Si noti che è comunque necessario includere il grado di lettera calcolato nel report di gradazione.

  13. Per includere il valore di currentStudentLetterGrade nel report di valutazione, aggiornare il codice come indicato di seguito:

    Console.WriteLine($"{currentStudent}\t\t{currentStudentGrade}\t{currentStudentLetterGrade}");
    
  14. Scegliere Salva dal menu File di Visual Studio Code.

  15. Nella visualizzazione EXPLORER di Visual Studio Code fare clic con il pulsante destro del mouse su Starter e quindi scegliere Apri nel terminale integrato.

  16. Al prompt dei comandi del terminale digitare dotnet build e quindi premere INVIO.

  17. Se vengono visualizzati messaggi di errore o di avviso, è necessario correggerli prima di continuare.

  18. Al prompt dei comandi del terminale digitare dotnet run e quindi premere INVIO.

  19. Verificare che il codice produca l'output seguente:

    Student         Grade
    
    Sophia          92.2    A-
    Andrew          89.6    B+
    Emma            85.6    B
    Logan           91.2    A-
    Press the Enter key to continue
    

    La tua applicazione sta prendendo davvero forma. È ora necessario integrare assegnazioni di credito aggiuntive.

Integrare punteggi di credito aggiuntivi all'interno di un ramo di codice

In questa attività, aggiornerai l'applicazione per supportare il lavoro per crediti extra che è stato consegnato dagli studenti. Gli studenti completano progetti di credito aggiuntivi per guadagnare punti bonus che possono aiutare a aumentare il loro grado. L'insegnante ha fornito crediti extra per ogni studente in base a quello che gli studenti hanno consegnato.

  • Sofia: 94, 90
  • Andrew: 89
  • Emma: 89, 89, 89
  • Logan: 96

Utilizzerai questi punteggi di credito aggiuntivi e i requisiti della domanda forniti dall'insegnante per completare questo compito.

  1. Prenditi un minuto per considerare i requisiti del progetto relativi alle assegnazioni di crediti extra.

    L'unità "Prepara" per questo modulo di progetto guidato include una sezione Panoramica del progetto che include i requisiti seguenti:

    • L'applicazione deve soddisfare assegnazioni di credito aggiuntive.

      • I punteggi di credito aggiuntivi devono essere inclusi nella matrice dei punteggi dello studente.
      • Le assegnazioni di credito aggiuntive valgono 10% di un punteggio di esame quando vengono applicate al grado numerico finale.
      • Prima di calcolare il voto numerico finale, è necessario aggiungere punteggi di assegnazione di credito aggiuntivi al punteggio totale dell'esame dello studente.
    • Integrare punteggi di credito aggiuntivi quando si calcola il voto numerico e lettera finale dello studente come indicato di seguito:

      • Il codice deve rilevare le attività per i crediti extra in base al numero di elementi nella matrice dei punteggi dello studente.
      • Il codice deve applicare un fattore di ponderazione del 10% alle attività con crediti extra prima di sommare questi punteggi al totale dei punteggi degli esami.
  2. Scorrere fino alla parte superiore del file Program.cs.

  3. Per aggiungere punteggi di assegnazione di credito aggiuntivi di Sofia alla sophiaScores matrice, aggiornare il codice come indicato di seguito:

    int[] sophiaScores = new int[] { 90, 86, 87, 98, 100, 94, 90 };
    

    Si noti che sono stati aggiunti i punteggi 94 di credito aggiuntivi e 90, all'elenco dei punteggi inclusi nella matrice. Semplice.

  4. Aggiungere i punteggi di credito aggiuntivi per gli altri studenti alle loro matrici di punteggi.

  5. Assicurarsi che le matrici dei punteggi degli studenti corrispondano al codice seguente:

    int[] sophiaScores = new int[] { 90, 86, 87, 98, 100, 94, 90 };
    int[] andrewScores = new int[] { 92, 89, 81, 96, 90, 89 };
    int[] emmaScores = new int[] { 90, 85, 87, 98, 68, 89, 89, 89 };
    int[] loganScores = new int[] { 90, 95, 87, 88, 96, 96 };
    
  6. Scorrere verso il basso per individuare il ciclo interno foreach usato per sommare i punteggi di assegnazione.

    foreach (int score in studentScores)
    {
        // add the exam score to the sum
        sumAssignmentScores += score;
    }    
    
  7. Prendere in considerazione gli aggiornamenti da implementare.

    Prima di tutto, prendere in considerazione ciò che si conosce già:

    • Sai che un foreach ciclo scorre sequenzialmente attraverso tutti gli elementi dell'array indipendentemente dal numero di elementi.
    • Si sa che gli studenti hanno cinque punteggi di esame e che si dispone di una variabile correlata: int currentAssignments = 5;.
    • Si sa che i punteggi di credito aggiuntivi sono inclusi alla fine della matrice.
    • Sai che i punteggi di credito aggiuntivi valgono 10% di un punteggio di esame.
    • Si sa che i punteggi di credito aggiuntivi devono essere aggiunti alla somma dei punteggi di esame prima di calcolare il voto numerico finale dello studente.

    Si considerino ora gli elementi necessari:

    • È necessario individuare quali punteggi nella matrice dei punteggi siano i punteggi extra di credito.
    • È necessario modificare il valore di eventuali punteggi di credito aggiuntivi in modo che valga 10% di un punteggio di esame.
    • È necessario aggiornare il calcolo usato per sommare i punteggi degli studenti in modo che la somma includa i punteggi di credito aggiuntivi.
  8. Identificare gli aggiornamenti del codice necessari per distinguere i punteggi di esame e i punteggi di credito aggiuntivi.

    Si sa che i punteggi di credito aggiuntivi sono elencati dopo i cinque punteggi di esame. In altre parole, il primo punteggio di credito extra sarà il sesto punteggio nella matrice di punteggi. Questa relazione tra il tipo di punteggio e il numero dell'elemento della matrice indica che è necessario un contatore all'interno del foreach ciclo. Una volta che il valore del contatore è maggiore del numero di punteggi di esame, si sa che il punteggio corrente è un punteggio di credito aggiuntivo.

    Ecco cosa è necessario implementare per distinguere i punteggi di esame e i punteggi di credito aggiuntivi:

    • È necessario dichiarare un numero intero all'interno del ciclo interno foreach che può essere usato per contare i compiti valutati. È possibile assegnare a questa variabile gradedAssignmentsil nome .
    • È necessario incrementare gradedAssignments di 1 all'interno del ciclo foreach. Se si inizializza gradedAssignments in 0, è possibile incrementare il contatore nella parte superiore del blocco di foreach codice.
    • È necessaria un'istruzione if che valuta se il contatore, gradedAssignments, è maggiore del numero di voti degli esami. La variabile che contiene il numero di assegnazioni di esame è denominata currentAssignments. Questo nome può causare confusione ora che si dispone di assegnazioni di credito aggiuntive oltre alle assegnazioni di esame. È necessario modificare il nome della variabile da currentAssignments a examAssignments. Dopo l'implementazione di questa modifica del nome, è possibile usare if per valutare (gradedAssignments <= examAssignments).
  9. Modificare il nome della variabile da currentAssignments a examAssignments.

    Importante

    Quando si modifica un nome di variabile, è necessario assicurarsi di aggiornare tutte le istanze della variabile nell'applicazione. In questo caso, sono presenti due istanze.

    Il pannello Editor di Visual Studio Code supporta l'uso del tasto di scelta rapida Ctrl + F per trovare il testo specificato. Il pannello Editor di Visual Studio Code supporta anche l'uso del tasto di scelta rapida Control + H per trovare e sostituire il testo specificato.

  10. Creare una riga di codice vuota sopra il ciclo foreach che viene utilizzato per sommare i punteggi dei compiti.

  11. Nella riga di codice vuota, per dichiarare una variabile integer denominata gradedAssignments e inizializzarla in 0, immettere il codice seguente:

    // initialize/reset a counter for the number of assignments
    int gradedAssignments = 0;
    
  12. Creare una riga di codice vuota nella parte superiore del blocco di codice per il foreach ciclo usato per sommare i punteggi di assegnazione.

  13. Nella riga di codice vuota, per incrementare gradedAssignments di 1 a ogni iterazione successiva del ciclo foreach, inserire il codice seguente:

    // increment the assignment counter
    gradedAssignments += 1;    
    
  14. Per creare un'istruzione if che valuta l'espressione (gradedAssignments <= examAssignments), immettere il codice seguente:

    if (gradedAssignments <= examAssignments)
    
  15. Identificare gli aggiornamenti di codifica necessari per il calcolo usato per sommare i punteggi degli studenti.

    Quando l'istruzione if valuta (gradedAssignments <= examAssignments) come true, il punteggio è un punteggio di esame ed è possibile aggiungere il valore alla somma. Se l'espressione non valuta come true, il punteggio è un punteggio di credito aggiuntivo ed è necessario dividerlo per 10 prima di poter aggiungere il valore alla somma. Un if-else costrutto sarà perfetto.

  16. Si noti che l'equazione esistente, sumAssignmentScores += score;, è il calcolo corretto da usare quando l'istruzione if valuta (gradedAssignments <= examAssignments) come true.

  17. Creare una riga di codice vuota sotto sumAssignmentScores += score;.

  18. Nella riga di codice vuota, per costruire la else parte del if-else costrutto, digitare else e quindi premere INVIO.

  19. Per creare l'equazione che aggiunge un punteggio di credito aggiuntivo alla somma, immettere il codice seguente:

    // add the extra credit points to the sum - bonus points equal to 10% of an exam score. rounding errors are acceptable
    sumAssignmentScores += score / 10;    
    
  20. Scegliere Salva dal menu File di Visual Studio Code.

  21. Dedicare qualche minuto alla revisione del codice dell'applicazione.

    Assicurarsi che l'applicazione aggiornata corrisponda al codice seguente:

    // initialize variables - graded assignments
    int examAssignments = 5;
    
    int[] sophiaScores = new int[] { 90, 86, 87, 98, 100, 94, 90 };
    int[] andrewScores = new int[] { 92, 89, 81, 96, 90, 89 };
    int[] emmaScores = new int[] { 90, 85, 87, 98, 68, 89, 89, 89 };
    int[] loganScores = new int[] { 90, 95, 87, 88, 96, 96 };
    
    // Student names
    string[] studentNames = new string[] { "Sophia", "Andrew", "Emma", "Logan" };
    
    int[] studentScores = new int[10];
    
    string currentStudentLetterGrade = "";
    
    // Write the Report Header to the console
    Console.WriteLine("Student\t\tGrade\n");
    
    foreach (string name in studentNames)
    {
        string currentStudent = name;
    
        if (currentStudent == "Sophia")
           studentScores = sophiaScores;
    
        else if (currentStudent == "Andrew")
            studentScores = andrewScores;
    
        else if (currentStudent == "Emma")
            studentScores = emmaScores;
    
        else if (currentStudent == "Logan")
            studentScores = loganScores;
    
        // initialize/reset the sum of scored assignments
        int sumAssignmentScores = 0;
    
        // initialize/reset the calculated average of exam + extra credit scores
        decimal currentStudentGrade = 0;
    
        // initialize/reset a counter for the number of assignment 
        int gradedAssignments = 0;
    
        // loop through the scores array and complete calculations for currentStudent
        foreach (int score in studentScores)
        {
            // increment the assignment counter
            gradedAssignments += 1;
    
            if (gradedAssignments <= examAssignments)
                // add the exam score to the sum
                sumAssignmentScores += score;
    
            else
                // add the extra credit points to the sum - bonus points equal to 10% of an exam score. rounding errors are acceptable
                sumAssignmentScores += score / 10;
        }
    
        currentStudentGrade = (decimal)(sumAssignmentScores) / examAssignments;
    
        if (currentStudentGrade >= 97)
            currentStudentLetterGrade = "A+";
    
        else if (currentStudentGrade >= 93)
            currentStudentLetterGrade = "A";
    
        else if (currentStudentGrade >= 90)
            currentStudentLetterGrade = "A-";
    
        else if (currentStudentGrade >= 87)
            currentStudentLetterGrade = "B+";
    
        else if (currentStudentGrade >= 83)
            currentStudentLetterGrade = "B";
    
        else if (currentStudentGrade >= 80)
            currentStudentLetterGrade = "B-";
    
        else if (currentStudentGrade >= 77)
            currentStudentLetterGrade = "C+";
    
        else if (currentStudentGrade >= 73)
            currentStudentLetterGrade = "C";
    
        else if (currentStudentGrade >= 70)
            currentStudentLetterGrade = "C-";
    
        else if (currentStudentGrade >= 67)
            currentStudentLetterGrade = "D+";
    
        else if (currentStudentGrade >= 63)
            currentStudentLetterGrade = "D";
    
        else if (currentStudentGrade >= 60)
            currentStudentLetterGrade = "D-";
    
        else
            currentStudentLetterGrade = "F";
    
        //Console.WriteLine("Student\t\tGrade\tLetter Grade\n");
        Console.WriteLine($"{currentStudent}\t\t{currentStudentGrade}\t{currentStudentLetterGrade}");
    }
    
    // required for running in VS Code (keeps the Output windows open to view results)
    Console.WriteLine("\n\rPress the Enter key to continue");
    Console.ReadLine();
    

Controlla il tuo lavoro

In questa attività si eseguirà l'applicazione per verificare che la logica del codice funzioni come previsto.

  1. Assicurarsi di aver salvato le modifiche apportate al file Program.cs.

  2. Nella visualizzazione EXPLORER di Visual Studio Code fare clic con il pulsante destro del mouse su Starter e quindi scegliere Apri nel terminale integrato.

  3. Al prompt dei comandi del terminale digitare dotnet build e quindi premere INVIO.

  4. Se vengono visualizzati messaggi di errore o di avviso, è necessario correggerli prima di continuare.

  5. Al prompt dei comandi del terminale digitare dotnet run e quindi premere INVIO.

  6. Verificare che il codice produca l'output seguente:

    Student         Grade
    
    Sophia          95.8    A      
    Andrew          91.2    A-     
    Emma            90.4    A-     
    Logan           93      A      
    Press the Enter key to continue    
    
  7. Nel pannello TERMINALE premere INVIO per arrestare l'applicazione in esecuzione.

  8. Chiudere il pannello Terminale.

  9. Prendere in considerazione il requisito di progetto seguente:

    • L'applicazione deve supportare l'aggiunta di altri studenti e punteggi con un impatto minimo sul codice.

    Sono stati trascurati requisiti critici per l'applicazione?

    Verificare se la combinazione di matrici e foreach cicli consente di includere studenti aggiuntivi senza riscrivere il codice completo.

  10. Scorrere fino alla parte superiore dell'applicazione Program.cs e quindi aggiornare le matrici nel modo seguente:

    int[] sophiaScores = new int[] { 90, 86, 87, 98, 100, 94, 90 };
    int[] andrewScores = new int[] { 92, 89, 81, 96, 90, 89 };
    int[] emmaScores = new int[] { 90, 85, 87, 98, 68, 89, 89, 89 };
    int[] loganScores = new int[] { 90, 95, 87, 88, 96, 96 };
    int[] beckyScores = new int[] { 92, 91, 90, 91, 92, 92, 92 };
    int[] chrisScores = new int[] { 84, 86, 88, 90, 92, 94, 96, 98 };
    int[] ericScores = new int[] { 80, 90, 100, 80, 90, 100, 80, 90 };
    int[] gregorScores = new int[] { 91, 91, 91, 91, 91, 91, 91 };    
    
    // Student names
    string[] studentNames = new string[] { "Sophia", "Andrew", "Emma", "Logan", "Becky", "Chris", "Eric", "Gregor" };
    
  11. Scorrere verso il basso fino al ciclo names foreach e quindi individuare le righe di codice seguenti:

    if (currentStudent == "Sophia")
        studentScores = sophiaScores;
    else if (currentStudent == "Andrew")
        studentScores = andrewScores;
    else if (currentStudent == "Emma")
        studentScores = emmaScores;
    else if (currentStudent == "Logan")
        studentScores = loganScores;
    
  12. Per includere i nuovi studenti, aggiungere il codice seguente alla fine della struttura di selezione:

    else if (currentStudent == "Becky")
        studentScores = beckyScores;
    else if (currentStudent == "Chris")
        studentScores = chrisScores;
    else if (currentStudent == "Eric")
        studentScores = ericScores;
    else if (currentStudent == "Gregor")
        studentScores = gregorScores;
    else
        continue;
    
  13. Scegliere Salva dal menu File di Visual Studio Code.

  14. Nella visualizzazione EXPLORER di Visual Studio Code fare clic con il pulsante destro del mouse su Starter e quindi scegliere Apri nel terminale integrato.

  15. Al prompt dei comandi del terminale digitare dotnet build e quindi premere INVIO.

  16. Se vengono visualizzati messaggi di errore o di avviso, è necessario correggerli prima di continuare.

  17. Al prompt dei comandi del terminale digitare dotnet run e quindi premere INVIO.

  18. Verificare che il codice produca l'output seguente:

    Student         Grade
    
    Sophia          95.8    A
    Andrew          91.2    A-
    Emma            90.4    A-
    Logan           93      A
    Becky           94.8    A
    Chris           93.4    A
    Eric            93.4    A
    Gregor          94.6    A
    Press the Enter key to continue
    
  19. Nel pannello TERMINALE premere INVIO per arrestare l'applicazione in esecuzione.

  20. Chiudere il pannello Terminale.

Congratulazioni, questo progetto guidato è stato completato.