Track
/
Julia
Julia
/
Esercizi
/
Assemblaggio di auto
Assemblaggio di auto

Assemblaggio di auto

Esercizio di apprendimento

Introduzione

Operatori di confronto

Gli operatori di confronto in Julia sono simili a quelli di molti altri linguaggi, anche se con qualche opzione in più per gli amanti della matematica.

Per l'uguaglianza, gli operatori sono == (uguale) e != o ≠ (diverso).

txt = "abc"
txt == "abc"  # true
txt != "abc"  # false
txt ≠ "abc"  # false (synonym for !=)

Inoltre, abbiamo i vari operatori di maggiore/minore.

1 < 3  # true
3 > 3  # false
3 <= 3  # true
3 ≤ 3  # true (synonym for <=)
4 >= 3  # true
4 ≥ 3  # true (synonym for >=)

Come spesso accade con Julia, un editor appropriato rende facile usare i simboli matematici. Digita \ne, \le o \ge e poi TAB per ottenere ≠, ≤ o ≥.

L'esempio precedente usa solo numeri, ma vedremo in altre parti del percorso che vari altri tipi hanno un ordinamento e si possono confrontare con maggiore/minore.

Gli operatori di confronto si possono concatenare, il che permette una sintassi chiara e concisa:

n = 3
1 ≤ n ≤ 5  # true (n "between" two limits)

L'esempio precedente è un sinonimo di 1 ≤ n && n ≤ 5.

Ramificazione con if

Questa è la forma completa di un'istruzione if:

if conditional1
    statements...
elseif conditional2
    statements...
else
    statements...
end

Non servono parentesi tonde (()) né parentesi graffe ({}), e l'indentazione serve «solo» a migliorare la leggibilità (ma la leggibilità è molto importante!).

Sia elseif sia else sono opzionali, e ci possono essere più blocchi elseif. Tuttavia end è obbligatorio.

È possibile annidare le istruzioni if, anche se per aiutare la leggibilità potresti voler usare con criterio parentesi, rientri e commenti.

La forma più breve di un'istruzione if sarebbe qualcosa del genere:

if n < 0
    n = 0
end

Come promemoria: solo le espressioni che restituiscono true o false si possono usare come condizioni. Julia evita deliberatamente qualsiasi concetto di «truthiness», quindi i valori zero, le stringhe vuote e gli array vuoti non sono equivalenti a false.

Operatore ternario

Una situazione semplice e comune è scegliere uno di due valori in base a una condizione.

Julia, come molti linguaggi, ha un operatore ternario per rendere tutto questo più conciso.

La sintassi è conditional ? value_if_true : value_if_false.

Quindi l'esempio precedente si potrebbe riscrivere:

n = n < 0 ? 0 : n

Le parentesi non sono richieste dal compilatore, ma possono migliorare la leggibilità.

Istruzioni

In questo esercizio scriverai del codice per analizzare la produzione di una catena di montaggio in una fabbrica di automobili. La velocità della catena di montaggio può variare da 0 (spenta) a 10 (massima).

Alla sua velocità minima (1), vengono prodotte 221 automobili ogni ora. La produzione aumenta in modo lineare con la velocità. Quindi, con la velocità impostata a 4, dovrebbe produrre 4 * 221 = 884 automobili all'ora. Tuttavia, velocità più elevate aumentano la probabilità che vengano prodotte automobili difettose, che poi devono essere scartate.

Hai tre attività. Ognuna delle funzioni richieste accetta un singolo parametro intero, la velocità della catena di montaggio.

1. Calcola il tasso di successo

Implementa il metodo success_rate() per calcolare la probabilità che un pezzo venga creato senza errori per una data velocità. La tabella seguente mostra come la velocità influisce sul tasso di successo:

  • 0: tasso di successo dello 0%.
  • da 1 a 4: tasso di successo del 100%.
  • da 5 a 8: tasso di successo del 90%.
  • 9: tasso di successo dell'80%.
  • 10: tasso di successo del 77%.
julia> success_rate(10)
0.77

2. Calcola il tasso di produzione oraria

Implementa il metodo production_rate_per_hour() per calcolare il tasso di produzione oraria della catena di montaggio, tenendo conto del suo tasso di successo.

julia> production_rate_per_hour(6)
1193.4

Nota che il valore restituito è un numero in virgola mobile.

3. Calcola il numero di pezzi funzionanti prodotti al minuto

Implementa il metodo working_items_per_minute() per calcolare quante auto funzionanti vengono prodotte al minuto:

julia> working_items_per_minute(6)
19

Nota che il valore restituito è un numero intero: i pezzi incompleti non vengono inclusi.

Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Julia Exercism

Vuoi iniziare Assemblaggio di auto?

Iscriviti a Exercism per imparare e padroneggiare Julia con 35 concetti128 esercizi e il mentoring di persone reali, tutto gratis.