Fattar noll [av algoritmuppgifter]

Trädvy Permalänk
Medlem
Plats
Finland
Registrerad
Jun 2006

Fattar noll [av algoritmuppgifter]

a) Skriv algoritm

Skriv en algoritm i pseudokod som adderar de första hundra heltalen och skriver ut summan. Din algoritm skall alltså beräkna 1 + 2 + 3 + 4 + ... + 99 + 100 och ge resultatet som output. Tips: Du kommer väl ihåg att det finns tre olika typer av instruktioner?

b) Algoritm eller inte?

Utgör följande instruktioner en algoritm? Varför eller varför inte? Tänk på de krav som man ställer på hurudana instruktioner som kan ingå i en algoritm.

1. Gå till din bank och ta ut 10 euro.
2. Ge pengarna till din handledare i Åbo .
3. Upprepa från steg 1.

c) Vad blir resultatet?

Gå igenom följande algoritm med indata x = 7, y = 9 och z = 13. Visa vad som sker i varje steg och skriv ut resultatet.

1. x <- z (betyder att x får värdet av z, tänk '<-' som en pil)
2. z <- y
3. y <- x
4. Skriv ut (x, y, z)
5. Sluta

Förstår någon av era dessa uppgifter? a och c jag funderar mest på, b har jag klar tror jag.

Trädvy Permalänk
Medlem
Plats
sverige
Registrerad
Apr 2005

Har glömt vad pseudokod är, men att skriva ett program som gör det som efterfrågas i a är ju inte vidare svårt... Du får nog allt tänka lite till.

Tips. Ha något som räknar upp/ner. Spara på en plats, hämta det sparade och lägg ihop med det nya. osv.

Amd 64 3500+ winchester, MSI k8neo 2 platinum, Leadtek GeForce 6800 Gt **** Asus G2S, Core2duo T7500 santa rosa, 2 gb ram, GeForce 8600 gt 256 mb ddr3.

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Maj 2003

a) Tänk dig en forloop, glöm då inte att nollställa en summavariabel och 0 eller 1 ställa räknaren. Samt köra rätt antal gånger.
Du kan även tänka dig en whilelopp, där villkoret är att räknaren ej får överstiga 100. Det är nog det enklaste sättet i psedkod. Även här såklart tänka på att nollställa summa och räknare före.
*Jag antager att du vet vad for respektive whileloop är för något*

c) Det är bara att flytta över värdena till variablerna. Alltså de får nya värden.
Har du en någorlunda bra miniräknare så kan du kontrollera svaret där.

*edit* Det syns nog tydligare såhär.
steg 1; x = 7
steg 2; y = 9
steg 3; z = 13
steg 4; x = z
steg 5; z = y
steg 6; y = x
steg 7; print(x,y,z) // vad har nu x, y och z för värde?

*edit2*
Ifall du inte har hört talas om whileloop, så från wiki.

While är ett kommando som innebär att en slinga upprepas så länge ett booleskt argument är sant,http://sv.wikipedia.org/wiki/While
Försök då kortfattat på svenska skriva en sådan loop, är mitt tips till uppgift a.

[Core i7-3930K med 32GB ram, 2*256GB SSD] & [Core i7 3770K med 16 GB RAM, 256GB SSD] som tillsammans har ett [HD 5850 1GB] och 3st 24".

Trädvy Permalänk
Medlem
Plats
i eeeeen tunna
Registrerad
Okt 2002

Bra rubrik? Dessutom borde väl den här tråden ligga i programmering.
Eller kanske matteproblemstråden.

"en trevlig sak man skulle kunna göra med hans fru, det är om man malde ner henne till köttfärs, med salt och peppar och sånt där. Så gjorde man en 352 hamburgare av henne som man då gav till honom. För att då skulle ju inte han kunna äta upp dom.. ja för han är ju vegetarian. Det vore trevligt."

Trädvy Permalänk
Medlem
Plats
Finland
Registrerad
Jun 2006
Citat:

Ursprungligen inskrivet av flraer
Har glömt vad pseudokod är, men att skriva ett program som gör det som efterfrågas i a är ju inte vidare svårt... Du får nog allt tänka lite till.

Tips. Ha något som räknar upp/ner. Spara på en plats, hämta det sparade och lägg ihop med det nya. osv.

Citat:

Ursprungligen inskrivet av bud_bundy
a) Tänk dig en forloop, glöm då inte att nollställa en summavariabel och 0 eller 1 ställa räknaren. Samt köra rätt antal gånger.
Du kan även tänka dig en whilelopp, där villkoret är att räknaren ej får överstiga 100. Det är nog det enklaste sättet i psedkod. Även här såklart tänka på att nollställa summa och räknare före.
*Jag antager att du vet vad for respektive whileloop är för något*

c) Det är bara att flytta över värdena till variablerna. Alltså de får nya värden.
Har du en någorlunda bra miniräknare så kan du kontrollera svaret där.

*edit* Det syns nog tydligare såhär.
steg 1; x = 7
steg 2; y = 9
steg 3; z = 13
steg 4; x = z
steg 5; z = y
steg 6; y = x
steg 7; print(x,y,z) // vad har nu x, y och z för värde?

*edit2*
Ifall du inte har hört talas om whileloop, så från wiki.

While är ett kommando som innebär att en slinga upprepas så länge ett booleskt argument är sant,http://sv.wikipedia.org/wiki/While
Försök då kortfattat på svenska skriva en sådan loop, är mitt tips till uppgift a.

Citat:

Ursprungligen inskrivet av Tumvante
Bra rubrik? Dessutom borde väl den här tråden ligga i programmering.
Eller kanske matteproblemstråden.

Tack alla ni som hjälpte, blev nog inte mycket till svar jag skickade in men tack för att ni tog er tid, även om jag inte förstod ett smack

Trädvy Permalänk
Hedersmedlem
Plats
Linköping
Registrerad
Apr 2004

*tråd flyttad, titel redigerad*

Trädvy Permalänk
Medlem
Plats
Luleå
Registrerad
Apr 2007

b. Nej: Det är inte en algoritm, det är en samling operationer i oändlighet utan utdata. Lite som MS Windows självdiagnostisering.

Ja: Det är en algoritm. Den har evigt indata och evigt utdata. Men då har vi fått MS Windows på kvatdatorer istället.

It's not that you don't comprehend what's laid out before you, or that you're unable to process. It's all about what you're to live up to, your position, an identity created by the expectations of your affiliation.