Blandat. Föreläsning 5

Relevanta dokument
Några småsaker. switch break, continue, goto Kommentarer

Switch, Array (fält) switch break, continue, goto (scary) Sammansatta tilldelningar Kommentarer Array Sortering

Planering Programmering grundkurs HI1024 HT TIDAA

Planering Programmering grundkurs HI1024 HT data

Agenda (obs! halvdag)

Övningsuppgifter till föreläsning 2 Variabler och uttryck

Planering Programmering grundkurs HI1024 HT 2014

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Problemlösning. Veckodagsproblemet Gissa talet Siffersumman

Programmering i C, 7,5 hp

F4. programmeringsteknik och Matlab

Problemlösning. Veckodagsproblemet Gissa talet Siffersumman

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten 2010

C++ Slumptalsfunktioner + switch-satsen

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera

Imperativ programmering. Föreläsning 2

Föreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera

Uttryck och villkor. Föreläsning 2

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Uttryck och villkor. Föreläsning 2

Föreläsning 3. Programmering, C och programmeringsmiljö

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?

STYRANDE SATSER. 1) Skriv ett program som räknar ut hur många år du har till pensionen. Vi räknar här med att man pensioneras det år man fyller 65 år.

Loopar och datatyper. Föreläsning 3

Föreläsning 4. Val, boolska värden, läsbarhet, osv

Objektinteraktion. Objektorienterad programmering Laboration 2. Syfte Att konstruera ett litet objektorienterat program med flera samverkande objekt.

Variabler och konstanter

En kort text om programmering i C.

Programmering, grundkurs, 8.0 hp HI1024, omtentamen, TEN1. Tisdagen den 7 juni 2011,

Objektorienterad programmering Föreläsning 2

Program & programmering

Föreläsning 3. Programmering, C och programmeringsmiljö

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk:

Boken?!?! Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera och ett enkelt program Variabler printf

Klassdeklaration. Metoddeklaration. Parameteröverföring

BMI = (vikt i kg) / (längd i m) 2. Lösningsförslag

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy cards. Slingor

C++ Funktioner 1. int summa( int a, int b) //funktionshuvud { return a+b; //funktionskropp } Värmdö Gymnasium Programmering B ++ Datainstitutionen

F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Objektinteraktion. Objektorienterad programmering Laboration 2. Syfte Att konstruera ett litet objektorienterat program med flera samverkande objekt.

KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: 8-13, den 18 februari 2012

Chapter 4: Writing Classes/ Att skriva egna klasser.

MMA132: Laboration 2 Matriser i MATLAB

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Outline. For. I istället för att följa det normala ordningen, man ändra den. I i Java får man inte göra hopp hur som helst

Dagens program. Programmeringsteknik och Matlab. Administrativt. Viktiga datum. Kort introduktion till matlab. Övningsgrupp 2 (Sal Q22/E32)

Programmeringsteknik och Matlab. Dagens program. Viktiga datum. Repetitionsexempel. Repetition av if/else, for, while och Scanner

Realtidsprogrammering. En introduktion Implementering (med exempel från PIC)

GPT föreläsning 8. Förra veckan: Man kan ta tiden på en sorterad teckensträng Förra gången: Problemlösning på lägre nivå kan sortera funktioner

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

UPPGIFT 1 V75 FIGUR 1.

OOP Omtenta

Datastrukturer, algoritmer och programkonstruktion (DVA104, VT 2015) Föreläsning 6

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock

6.5 Spelserien Gissa tal

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Grundkurs i programmering - intro

STOCKHOLMS UNIVERSITET MATEMATISKA INSTITUTIONEN Avd. Matematisk statistik Anders Björkström

Regler för: getsmart Grön

Föreläsning 1 & 2 INTRODUKTION

Loopar och datatyper. Föreläsning 3

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.

Programmeringsuppgifter 1

Planering av ett större program, del 2 - for och listor. Linda Mannila

Data, typ, selektion, iteration

Föreläsning 3. Iteration while-satsen

Enkla uppgifter. Uppgift 1. Uppgift 2

Föreläsning 1 & 2 INTRODUKTION

HI1024, Programmering, grundkurs, 8hp KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: Fredagen den 21 oktober 2011,

Laboration 1. "kompilera"-ikonen "exekvera"-ikonen

3 Styrning av programflöde. Här exekveras satserna enligt först sats1 sedan sats2 och sist sats3.

TDIU01 - Programmering i C++, grundkurs

GPT- föreläsning 10. För en vecka sedan Problemlösning på lägre nivå kan sortera funktioner Förra gången

1/15/2013. DD1310/DD1314/DA3009 Programmeringsteknik. Lärandemål... Vilka läser kursen? ...fler lärandemål VARFÖR? Föreläsning 1

Objektorienterad Programkonstruktion. Föreläsning jan 2017

Välkommen till. Datastrukturer, algoritmer och programkonstruktion. eller DOA

SCB :-0. Uno Holmer, Chalmers, höger 2 Ex. Induktiv definition av lista. // Basfall

Mer källkod. Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne. Erik Forslin. Rum 1445, plan 4 på Nada

Föreläsning 10. Pekare (Pointers)

Föreläsning 3: Booleans, if, switch

Följande, ur problemsynpunkt enkla uppgifter, är till för att nöta in dagens teori.

UPPGIFT 1 KANINER. Håkan Strömberg 1 Pär Söderhjelm

Funktioner och programstruktur. Föreläsning 5

Dagens program. Programmeringsteknik och Matlab. Viktiga datum. Ett första exempel. Programmall, vad behöver vi i ett javaprogram?

DOP-matematik Copyright Tord Persson Övning Bråkräkning. Matematik 1. Uppgift nr 14 Addera 9. Uppgift nr 15 Addera 3. Uppgift nr 16 Subtrahera

1. Vad är formativ bedömning? Tankarna bakom Tummen Upp! Formativ bedömning Det här hittar du i Tummen Upp! Formativ bedömning...

Iteration while-satsen

Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser

Labb 1: Vad, hur, och varför?

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php

OOP Tentamen

Programmering, grundkurs, 8.0 hp HI1024, TEN1. Fredagen den 2 mars 2012

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

Enkla datatyper minne

OOP Tenta

Att komma igång. Föreläsning 1

Transkript:

Blandat Föreläsning 5

Blandat switch break, continue, goto Kommentarer Problemlösning

switch int weekday; printf("mata in veckodagnummer 1-7: "); scanf("%d", &weekday); switch(weekday) { case 1: printf("monday\n"); break; case 2: printf("tuesday\n"); break; case 3: printf("wednesday\n"); break; case 4: printf("thursday\n"); break; case 5: printf("friday\n"); break; default: printf("weekend!\n"); } jmf: if(weekday==1) printf("monday\n"); else if(weekday==2) printf( Tuesday\n"); else if(weekday==3) printf( Wednesday\n"); else if(weekday==4) printf( Thursday\n"); else if(weekday==5) printf( Friday\n"); else printf( Weekend! \n ");

break Skrivs inuti en switch, for, while eller do-while sats När den exekveras hoppar programmet genast ut ur den sats (switch, for, while, do-while) den står i Med undantag för switch-satsen behöver den normalt inte användas int i=1,summa=0,tmp; for(i=0;i<10;i++) { printf("skriv in tal %d:",i); scanf("%d",&tmp); if(tmp==0) break; else summa = summa+tmp; } printf("summa:%d",summa);

continue Skrivs inuti en for, while eller do-while sats När den exekveras påbörjas ett nytt varv Finns egentligen aldrig en bra anledning att använda denna

goto Använd aldrig under några omständigheter denna sats! Möjligen kan användandet av goto tillfälligt under debugging vara motiverat men jag tycker att även här använder vi regel ett för att reglera användandet Den sammanlagda kostnaden för världen pga goto hann innan användandet begränsades överstiga kostnaden för NASA och CERN tillsammans! (källa: ingen alls men jag känner på mig att det stämmer)

Kommentarer Finns av två typer: //resten av raden ignoreras av kompilatorn /*kan löpa över flera rader och avslutas vid*/ OBS att den senare inte kan nästlas! Skall förklara koden men inte förklara sådant som man förstår om man förstår C. Man ska ha lagom många kommentarer! Endast genom övning lär man sig vilka kommentarer som behövs och vilka som är överflödiga. Till labbarna försök skriva de kommentarer du tror du behöver för att enkelt förstå koden om två veckor. Läs koden två veckor senare och se om det hade behövts fler kommentarer och om några var överflödiga.

Miniräknaren Konstruera en miniräknare som låter användaren addera, subtrahera, multiplicera eller dividera två tal valfritt antal gånger. Gör om miniräknaren så att användaren använder svaret från en beräkning i nästa beräkning

Steg 1 Skriv en start (hello world) och kompilera så att du vet att allt funkar

Steg 2 Fixa inläsningen av data ( vi väntar med att fixa så att man kan göra flera beräkningar till sist) Kontrollera att du lyckas läsas in dina indata!

Steg 3 Gör beräkningen baserat på indata

Steg 4 Ge användaren möjlighet att göra fler beräkningar

Steg 5 Använda svaret i nästa beräkning Nu ska vi göra om programmet så att det delvis löser en annan uppgift Det är vanligt att kunden ändrar sig under ett projekts gång. Det är när man ska införa ändringar man märker hur välskrivet programmet är. Ett bra program är modulärt uppbyggt och det är enkelt att göra ändringar utan att man behöver skriva om hela koden

Tändsticksspel Det finns ett tändsticksspel där man lägger upp 15 tändstickor på ett bord. Två spelare ska sedan turas om att ta en, två eller tre tändstickor. Den som tar den sista stickan vinner. Programmera ett program som låter användaren spela mot datorn. Extra för den som hinner och vill: Implementera en strategi där datorn vinner varje gång om denne får börja

Tändsticksspel I det här spelet för två spelare börjar spelarna med att det ligger femton tändstickor på bordet. Spelarna turas om att ta tändstickor från bordet. När en spelare ska ta tändstickor får hon välja mellan att ta 1, 2 eller 3 tändstickor. Den som tar sista stickan är vinnaren av partiet. Du ska skriva ett program som låter användaren spela detta spel mot datorn. Programmet ska slumpa vem som börjar. En körning bör kunna se ut så här: Valkommen till tandsticksspelet. Du vann lottningen och borjar. Hur manga stickor vill du ta? (1-3) 3 Datorn tar 1 stickor. Hur manga stickor vill du ta? (1-3) 1 Datorn tar 2 stickor. Hur manga stickor vill du ta? (1-3) 2 Datorn tar 2 stickor. Hur manga stickor vill du ta? (1-3) 1 Datorn tar 3 stickor. Datorn vann. Frivilligt: Datorn skall spela optimalt i mening att om den kan säkra en seger så skall den göra det. Det betyder bland annat att om datorn börjar kommer den alltid att vinna. Om den vid ett drag inte kan säkra segern får den göra valfritt drag.