Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
prog1_07 [2018-11-12 08:57]
Daniel Viström
prog1_07 [2021-10-12 11:20]
Daniel Viström
Line 4: Line 4:
  
 1.\\  1.\\ 
-Gör ett program där man matar in ett tal. Programmet skall beräkna summan av alla heltal från ett upp till det du matade in. +Gör ett program där man matar in ett tal. Programmet skall beräkna summan av alla heltal från ett upp till och med det du matade in. 
   Ex.   Ex.
   Mata in ett tal: 4   Mata in ett tal: 4
-  Summan blir: 10       (1+2+3+4)+  Summan blir: 10 
 +**Extrauppgift:** Gör så att även beräkningen skrivs ut korrekt, t.ex.  
 +  1+2+3+4=10
  
 2.\\  2.\\ 
Line 29: Line 31:
 **Tips:** använd (int)(tal1/tal2) och %. **Tips:** använd (int)(tal1/tal2) och %.
  
-<php> 
-/* 
 7.\\ 7.\\
-Gör en sida där du kan lägga in lagerfakta i en textfil samt beräkna lagersaldot.\\ +Läs in talen **x**, **y**, **z**Lägg ihop dem och skriv ut summan.  Om minst två av talen är lika räknas de dock inte.
-Ny lagerfakta skall kunna matas in i ett formulär (med tre textrutor) och sparas längst ner i textfilen. +
-När sidan laddas skall även lagersaldot skrivas ut med //två decimalers noggrannhet//Lagersaldo = hur mycket allt i lagret är värt tillsammans.\\ \\ +
-Filen är uppbygd på följande sätt: +
-  * Den första raden är tom. +
-  * Den andra raden innehåller rubriker. +
-  * Alla följande rader innehåller lagerfakta och du vet inte hur många rader det finns i filen. +
-  * Det som skiljer fälten åt är ett mellanslag.\\+
  
-Ex på fillayout: +8.\\ 
-<code> +Läs in talen **x**, **y**, **z**. Lägg ihop dem och skriv ut summan. Dock, om något av värdena är 13 så räknas inte det värdet till summan, och värdena efter räknas inte hellerT.ex. om **x** är 13 så räknas inte **y** eller **z** heller.
-Namn Antal Pris +
-SINTESI-Mata 4 19995 +
-KHS-Flite 4 12995 +
-CrossMax 12 3690 +
-CrossRacer 5 1450 +
-DT-Nipplar 2001 0.5 +
-</code> +
- +
-Du kan lägga in ovanstående i en textfil som en start på filen. Innan du lägger in nytt i filen bör lagersaldot bli 184490.50 kr.\\ +
- +
-**Extrauppgift:** Gör en kontroll av att man gjort en korrekt inmatning i alla fälten innan informationen sparas i textfilen.\\ +
-*+
-</php>+
  
 ===== Lite svårare problem ===== ===== Lite svårare problem =====
  
-*8.\\+*9.\\
 Skriv ett program där man matar in ett 3-siffrigt tal. \\ Skriv ett program där man matar in ett 3-siffrigt tal. \\
 Programmet ska sätta ihop ett nytt tresiffrigt **tal** med siffrorna i omvänd ordning.\\ Programmet ska sätta ihop ett nytt tresiffrigt **tal** med siffrorna i omvänd ordning.\\
Line 68: Line 48:
 **OBS!** Man får inte använda sig av strängar för att lösa uppgiften. **OBS!** Man får inte använda sig av strängar för att lösa uppgiften.
  
-*9.\\+*10.\\
 Räkna åt Ingemar (Problem taget ur Forskning och framsteg) Räkna åt Ingemar (Problem taget ur Forskning och framsteg)
 Ingemar är bonde. På sin gård har han kycklingar och kaniner.  Ingemar är bonde. På sin gård har han kycklingar och kaniner. 
Line 77: Line 57:
   Svar: 30 kycklingar och 20 kaniner.   Svar: 30 kycklingar och 20 kaniner.
  
-*10.\\+*11.\\
 En palindrom är en siffer- eller textrad som är sådan att den blir samma om man läser den framlänges eller baklänges., t.ex. 12321, 55555, 45554, 11611. Skriv ett program som läser in ett femsiffrigt tal och avgör om det är en palindrom. (Tips: använd heltalsdivision för att dela upp talet i separata siffror.)\\ En palindrom är en siffer- eller textrad som är sådan att den blir samma om man läser den framlänges eller baklänges., t.ex. 12321, 55555, 45554, 11611. Skriv ett program som läser in ett femsiffrigt tal och avgör om det är en palindrom. (Tips: använd heltalsdivision för att dela upp talet i separata siffror.)\\
 **OBS!** Man får inte använda sig av strängar för att lösa uppgiften. **OBS!** Man får inte använda sig av strängar för att lösa uppgiften.
  
-*11+*12
 Skriv ett program som läser in ett heltal (maximalt 2 000 000 000) och avgör om det är en palindrom.\\ Skriv ett program som läser in ett heltal (maximalt 2 000 000 000) och avgör om det är en palindrom.\\
 **OBS!** Man får inte använda sig av strängar för att lösa uppgiften. **OBS!** Man får inte använda sig av strängar för att lösa uppgiften.
  
  
-*12.\\+*13.\\
 41, 5, 26, 2, 88, 9, 38, 67, 14, 30, 25, 44, 11, 94, 58\\ 41, 5, 26, 2, 88, 9, 38, 67, 14, 30, 25, 44, 11, 94, 58\\
 Du skall lägga ihop tre av talen ovan så att summan blir 97. Du skall lägga ihop tre av talen ovan så att summan blir 97.
Line 92: Line 72:
 **Tips:** Använd dig av en array. **Tips:** Använd dig av en array.
  
-*13.\\+*14.\\
 Mata in ett heltal större än eller lika med 20 i ett formulär. Gör kontroll av att talet är ok.\\ Mata in ett heltal större än eller lika med 20 i ett formulär. Gör kontroll av att talet är ok.\\
 Skapa sedan tre arrayer med 10 slumptal var. Slumptalen ska vara positiva heltal mindre än talet du matade in. Alla tal i en och samma array ska vara olika. \\ Skapa sedan tre arrayer med 10 slumptal var. Slumptalen ska vara positiva heltal mindre än talet du matade in. Alla tal i en och samma array ska vara olika. \\
 Hitta alla varianter där ett tal från varje array adderas och blir lika med det inmatade talet. Hitta alla varianter där ett tal från varje array adderas och blir lika med det inmatade talet.
  
-14.\\ +*15.\\ 
-Läs in talen **x**, **y**, **z**. Lägg ihop dem och skriv ut summan.  Om minst två av talen är lika räknas de dock inte. +Skapa ett program som låter användaren gissa ett tal via ett formulärTalet ska ha slumpats först (mellan 1 och 100)Är gissningen högre än talet ber programmet om en lägre gissning och vice versaMax antal gissningar är 5Gissar man rätt skall grattis skrivas ut och programmet avslutas.
- +
-15.\\ +
-Läs in talen **x**, **y**, **z**Lägg ihop dem och skriv ut summanDock, om något av värdena är 13 så räknas inte det värdet till summan, och värdena efter räknas inte hellerT.ex. om **x** är 13 så räknas inte **y** eller **z** heller.+
  
 *16.\\ *16.\\
-Skapa ett program som låter användaren gissa ett tal via ett formulär. Talet ska ha slumpats först. Är gissningen högre än talet ber programmet om en lägre gissning och vice versaMax antal gissningar är 5Gissar man rätt skall grattis skrivas ut och programmet avslutas.+Skriv ett program som läser in en bokstav och som sedan kollar om tecknet kommer före bokstaven **h** i alfabetetOm exempelvis den inmatade bokstaven är **d** skrivs ”//d kommer först//”, annars skrivs ”//h kommer först//”. Bokstäver före andra bokstäver har ett mindre värdeFå det att funka med både små och stora bokstäver
  
 *17.\\ *17.\\
-Skriv ett program som läser in en bokstav och som sedan kollar om tecknet kommer före bokstaven **h** alfabetetOm exempelvis den inmatade bokstaven är **d** skrivs ”//d kommer först//”annars skrivs ”//h kommer först//”Bokstäver före andra bokstäver har ett mindre värdeFå det att funka med både små och stora bokstäver+Tre heltal som fungerar som sidor en rätvinklig triangel kallas för en pythagoreisk trippel, t.ex. 34, 5Hitta alla pythagoreiska tripplar där inget av talen är större än 500Inga utskrivna tripplar ska innehålla exakt samma siffror som en annan trippel men i annan ordning.
  
 +*18.\\
 +Om du får tid över kan du prova på att lösa några uppgifter från gamla [[https://www.progolymp.se/|programmeringsolympiader]].