Kj3tll Skrevet 20. oktober 2015 Del Skrevet 20. oktober 2015 (endret) Hei, jeg har sittet med dette nokså lenge nå.. forstår alle andre oppgavene jeg har i hjemmeoppgaven, men ikke denne.. Oppgave: 1a. Lag et program som starter med setningene:TEGN=''A''ANTALL=5 og som deretter bruker disse variablene til å skrive ut 5 A'er på samme linje. Senere i oppgaven skal jeg modifiser programmet slik at det spør bruker etter tegnet og antall. Sjekk at det virker.. Det forstår jeg hvordan jeg gjør. Men jeg er usikker på hvordan jeg skal bygge opp oppgave 1a. Det er det enkleste, men jeg skjønner det ikke :S derfor jeg poster her. Programmet skal jo funke slik: Antall = 5 tegn = A resultat= AAAAA _________________________________________________ redigert inn 23:47: lærermål for ukens leksjon:Kjenne read-kommandoen og bruken av den. Forstå det generelle prinsippet for løkker Kjenne syntaksen for while- og until-løkke i bash, og beherske løkke-programmering i praksis Kunne bruke break og continue-kommandoene Beherske innlesing fra fil med read og løkke Endret 20. oktober 2015 av Kj3tll Lenke til kommentar
Geir Phong Skrevet 20. oktober 2015 Del Skrevet 20. oktober 2015 Hei Du kan iterere $ANTALL ganger, f.eks. ved å bruke en for-løkke, og deretter skrive ut gitt tegn. for((i=0;i<$ANTALL;i++)) do # Dette utføres $ANTALL ganger. done - Geir 1 Lenke til kommentar
Kj3tll Skrevet 20. oktober 2015 Forfatter Del Skrevet 20. oktober 2015 Hei Du kan iterere $ANTALL ganger, f.eks. ved å bruke en for-løkke, og deretter skrive ut gitt tegn. for((i=0;i<$ANTALL;i++)) do # Dette utføres $ANTALL ganger. done - Geir Takker for svar Vi har ikke lært å bruke for-løkke enda:s Men jeg brukte until løkken. Det jeg klør meg i hodet nå er hvordan jeg skal få dette inn på 1 linje og ikke 5 linjer i terminal vinduet... #!/bin/bash tegn="A" antall=5 count=1 until [[ $count -gt $antall ]] ; do count=$((count + 1)) echo $tegn done Terminalvindu: user@ubunto:~$ oppg_1 A A A A A Lenke til kommentar
Zash Skrevet 20. oktober 2015 Del Skrevet 20. oktober 2015 echo -n skal fikse biffen. Da skipper den newline på slutten. Se $ man echo Hva nivå er dette? VGS? 1 Lenke til kommentar
Kj3tll Skrevet 20. oktober 2015 Forfatter Del Skrevet 20. oktober 2015 (endret) echo -n skal fikse biffen. Da skipper den newline på slutten. Se $ man echo Hva nivå er dette? VGS? Det er høyskole nivå ja.. skulle tro echo -n gjorde jobben.. men får bare: user@ubuntu:~/bin$ oppg_1 AAAAAuser@ubuntu:~/bin$ Meninga er jo at jeg får AAAAA på ei linje under på én linje og ikke før user... eller på 5 linjer __________________________ #!/bin/bash tegn="A" antall=5 count=1 until [[ $count -gt $antall ]] ; do count=$((count + 1)) echo -n $tegn done ___________________ Når jeg bruker echo...read så får jeg ut alt på 1 linje #!/bin/bash tegn="A" antall=5 count=1 until [[ $count -gt $antall ]] ; do count=$((count + 1)) done echo -n $tegn $tegn $tegn $tegn $tegn read v ______ output: kel@ubuntu:~/bin$ oppg_1 A A A A A ______ Er dette riktig eller trenger jeg ikke "echo-n $tegn... read v"? Hvis jeg har riktig: Tror jeg nok jeg må opprette en ny variabel for: jeg vil at det skal gå automatisk når jeg endrer antall variabelen til f.eks. 8. Hvis jeg har en variabel så trenger jeg ikke å skrive manuelt echo -n $tegn $tegn $tegn $tegn $tegn ... 8 ganger.. Noen smarte hoder der ute som kan hjelpe meg ? Endret 20. oktober 2015 av Kj3tll Lenke til kommentar
Zash Skrevet 21. oktober 2015 Del Skrevet 21. oktober 2015 tegn="A"antall=5 count=1until [[ $count -gt $antall ]] ; docount=$((count + 1))echo -n $tegndoneecho ________ Dette skriver ut alt paa en linje, og deretter tar linjeskift (siste echo) 1 Lenke til kommentar
almond Skrevet 21. oktober 2015 Del Skrevet 21. oktober 2015 Masse hjelp å få på f.eks Leksehjelp: https://www.diskusjon.no/index.php?showforum=241eller programmeringforumet: https://www.diskusjon.no/index.php?showforum=532 Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå