Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
pub:labprog:20181029 [2018/11/06 18:13] lucafavalli |
pub:labprog:20181029 [2018/11/06 18:48] (current) lucafavalli |
||
---|---|---|---|
Line 249: | Line 249: | ||
10. Scrivere un programma lez3_capitale.go che, dato un capitale, un tasso di interesse e un obiettivo, calcola quanti anni occorrono per arrivare all'obiettivo. | 10. Scrivere un programma lez3_capitale.go che, dato un capitale, un tasso di interesse e un obiettivo, calcola quanti anni occorrono per arrivare all'obiettivo. | ||
*/ | */ | ||
+ | |||
+ | package main | ||
+ | |||
+ | import ( | ||
+ | "fmt" | ||
+ | ) | ||
+ | |||
+ | func main() { | ||
+ | var capitale, obiettivo, interesse float64 | ||
+ | var anni int | ||
+ | fmt.Scan(&capitale, &obiettivo, &interesse) | ||
+ | for ; capitale < obiettivo ; anni++ { | ||
+ | capitale = capitale * ( 1 + interesse/100 ) | ||
+ | } | ||
+ | fmt.Println("Servono", anni, "anni") | ||
+ | } | ||
</code> | </code> | ||
Line 255: | Line 271: | ||
11. Scrivere un programma lez3_quadrati.go che, dato un intero n, calcola il massimo quadrato <= n | 11. Scrivere un programma lez3_quadrati.go che, dato un intero n, calcola il massimo quadrato <= n | ||
*/ | */ | ||
+ | |||
+ | package main | ||
+ | |||
+ | import ( | ||
+ | "fmt"; | ||
+ | "math" | ||
+ | ) | ||
+ | |||
+ | func main() { | ||
+ | var n int | ||
+ | fmt.Scan(&n) | ||
+ | max := int(math.Sqrt(float64(n))) | ||
+ | fmt.Println("Il massimo numero il cui quadrato è inferiore a", n, "è", max, "^ 2 = ", max * max) | ||
+ | } | ||
+ | |||
</code> | </code> | ||
Line 262: | Line 293: | ||
e stampa in che posizione (1 per le unita`) e` la prima occorrenza di i nella sequenza di cifre che rappresentano n (0 se i non e` presente). | e stampa in che posizione (1 per le unita`) e` la prima occorrenza di i nella sequenza di cifre che rappresentano n (0 se i non e` presente). | ||
*/ | */ | ||
+ | package main | ||
+ | |||
+ | import ( | ||
+ | "fmt"; | ||
+ | "math" | ||
+ | ) | ||
+ | |||
+ | func main() { | ||
+ | var n, i, counter, result int | ||
+ | fmt.Scan(&n, &i) | ||
+ | for counter = 4; counter > 0; counter-- { | ||
+ | if n / int(math.Pow(10, float64(counter - 1))) % 10 == i { | ||
+ | result = counter | ||
+ | } | ||
+ | } | ||
+ | fmt.Println(i, "appare in", result, "° posizione") | ||
+ | } | ||
+ | |||
</code> | </code> |