10. oktober 2000 - 20:02Der er
11 kommentarer og 1 løsning
Hjælp til opgave!!!!
Hej Jeg mangler løsningen til 3 opgaver. Den som hjælper for alle mine points.
HJÆLP!!!!
Opgave 2.2
a) Skriv en boolsk metode, isAlpha, der som argument tager en variabel af typen char og returnerer om denne variabel er et bogstav (stort eller lille engelsk bogstav, dvs. a-z el A-Z). Metoden skal have følgende prototype
static boolean isAlpha(char ch)
Et kald til isAlpha med et alfabetisk tegn (a-z eller A-Z) vil resulterer i at metoden returnerer true, mens alle øvrige tegn vil resulterer i at metoden returnerer false.
b) Skriv et hovedprogram (metoden main) hvori der indlæses et tegn fra tastaturet og udskrives om tegnet er et gyldigt bogstav i det engelske alfabet -(dette check skal ske metodekald til isAlpha). Desuden skal tegnets Unicode-værdi udskrives
Et eksempel pa output er givet som
Type a character: A The character \'A\' is a legal English letter The Unicode value of \'A\' is 65
Et andet eksempel pa output er givet som
Type a character: + The character \'+\' is not a legal English letter The Unicode value of \'+\' is 43
Opgave 2.3
a) Skriv en metode der kan udskrive \"et halvt juletræ\" (ved hjælp af stjerner). Metoden skal have en formel parameter, n, (af typen int) der angiver højden pa træet.(der skal anvendes nested for-loops!)
b) Skriv en metode, der kan udskrive \"et helt juletræ\" (ved hjælp af stjerner. Metoden skal have en formel parameter, n, (aftypen int) der angiver højden på træet.
c) Metoderne skal afprøves ved funktionskald fra main.
Opgave 2.1
I matematik er der en kendt sekvens kaldet Fibonacci-sekvensen (en sekvens som nærmer sig et tal som måske er bedre kendt som \'det gyldne snit\'). De første to tal i sekvensen er hhv. 0 og 1. Hvert af de efterfølgende tal i sekvensen fås ved at tage summen af de to foregående tal.
Herunder er der påbegyndt en klasse, Fibonacci, som indeholder main og en metode fibonacci. I main indlæses et heltal, n og i tilfælde af at dette tal er ikke-negativt kaldes metoden fibonacci, som forventes at udskrive de første n numre i fibonacci-sekvensen
/*** Fibonacci.java * Test of a method printing n numbers in the * fibonacci sequence * @version 1.0- 05.10.2000 * @author */ import tio.*;
class Fibonacci { public static void main(String[] args) { System.out.println(\"FIBONACCI SEQUENCE\") ; System.out.print(\"Type an integer: \") ; int n = Console.in.readInt() ; if (n >= 0) fibonacci(n) ; } static void fibonacci(int n) { // Opgave 2.1/ spørgsmal a } }
a) Skriv metoden fibonacci, som tager et argument n, af typen int og n fibonacci-tal.
Her er et svar til Opgave 2.1a Jeg ved godt at den kan laves via et rekursiv kald, men denne er også mere simpel.
Sig til hvis du skal have hjælp til en rekursiv udgave.
static void fibonacci(int n) { int tal1 = 0; // Fibotal 1 - starter ved 0 int tal2 = 1; // Fibotal 2 - starter ved 1
// Gennemløb antal gange som angivet ved n for (int i = 0; i < n; i++) { int sum = tal1 + tal2; System.out.println(sum); tal1 = tal2; // Gem ny fibotal 1 tal2 = sum; // Gem ny fibotal 2 }
Hov jeg opdagede lige at jeg ikke fik postet mit isAlpha eks. i går. Den minder om codemon\'s men er dog lidt mere \"rigtig\" idet, der ikke er en statisk boolean tjek = false.
public static boolean isAlpha (char ch) { if (ch >= \'a\' && ch <= \'z\') return true; // Tegnet er et lille bogstav if (ch >= \'A\' && ch <= \'Z\') return true; // Tegnet er et stort bogstav
// Tegnet er ikke et bogstav return false; }
Dette eks. er nok mere simpelt, da det hellere ikke benytter casting: ch(int)
Ja, jeg kan godt give mere end en person point, det var det jeg ville have gjort. Men jeg kom til, at lave en fejl men skidt med det nu. Så længe der er nogen som hjælper \":-)\".
Når jeg kompilerer eksemplet skriver den, at der er en syntaks error i den sidste tuborg klamme.
hmmmm, jeg håber du har mod på en sidste opgave, det ville være en kæmpe hjælp davsklaus, det er sjældent man møder mennesker som dig.
Opgave 2.4
En måde (Måde 1) til at beregne tvæersummen af et tal, x er at læegge samtlige cifre i tallet x sammen og gentage denne procedure sålænge dette tal er mere end et etcifret tal (så længe tallet er større end 9). F.eks. vil tvæersummen af tallet 9785678675 blive 5, idet:
Sum af cifrene 9785678675 giver 68 Sum af cifrene 68 giver 14 Sum af cifrene 14 giver 5 dvs. tværsummen bliver 5
En anden made (Made 2) er at l(egge cifrene sarnrnen og hver gang tallet bliver stprre end 9 trækkes v(erdien 9 fra tallet. Med samme starttal som fpr gennemgas fplgende trin:
(sidste ciffer) 0 + 5 = 5 OK, idet 5 <= 9 (2. sidste ciffer) 5 + 7 = 12 idet 12 > 9, bliver tallet til12 -9 = 3 (3. sidste ciffer) 3 + 6 = 9 OK, idet 9<= 9 (4. sidste ciffer) 9 + 8 = 17 idet 17 > 9, bliver tallet til 17- 9 = 8 (5. sidste ciffer) 8 + 7 = 15 idet 15 > 9, bliver tallet til15 -9 = 6 (6. sidste ciffer) 6 + 6 = 12 idet 12 > 9, bliver tallet til12 -9 = 3 (7. sidste ciffer) 3 + 5 = 8 OK, idet 8<= 9 (8. sidste ciffer) 8 + 8 = 16 idet 16 > 9, bliver tallet til16 -9 = 72 (9. sidste ciffer) 7 + 7 = 14 idet 14 > 9, bliver tallet til14 -9 = 5 (10. sidste ciffer) 5 + 9 = 14 idet 14 > 9, bliver tallet til14 -9 = 5
Dvs. tværsummen bliver 5
a) Skriv en pseudokode som udfra et givet tal x kan beregne tallets tværsum (Det er valgfrit om der benyttes måde 1, måde 2, eller en helt tredje måde som grundlag for udarbejdelse a pseudokoden
b) Skriv en metode, digitSum, som tager et heltal som argument og returnerer tallets tværsum -ogsa som heltal. (Benyt pseudokoden fra spørgsmål a som grundlag for udarbejdelsen af metoden digitSum)
c) Skriv et hovedprogram (main), hvori der indlæses et tal fra tastaturet og udskrives det indlæste tals tværsum -benyt kald til metoden digitSum
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.