En villkorssats är den konstruktion som finns i C++ för att göra en selektion av två alternativa sekvenser. Formen för if satsen är
|
|
- Lena Lundberg
- för 7 år sedan
- Visningar:
Transkript
1 1 Villkor och styrsatser I de program vi sett tidigare har programkörning inneburit att sats efter sats utförts i den ordning de skrivits i källkoden. Vi har inte kunna ändra programmets uppförande beroende på inmatningar eller beräkningsresultat. Vi kallar en sådan samling satser för en sekvens, eftersom de utförs en efter en. Sekvens: Start: Sats1 > sats 2 > sats 3 > sats 4 Slut. Vi ska nu titta på en ny struktur som kallas för selektion. Selektion innebär att programmet kan under programkörning fatta beslut om vilken av en, två eller flera alternativa sekvenser som ska utföras. 1.1 Villkorssatsen if En villkorssats är den konstruktion som finns i C++ för att göra en selektion av två alternativa sekvenser. Formen för if satsen är alternativt if ( logiskt_uttryck ) sats / satsblock else sats / satsblock if ( logiskt_uttryck ) sats / satsblock Det logiska uttrycket anger ett villkor som är antingen sant eller falskt. Den första sats/satsblocksdelen är det programavsnitt som ska utföras om villkoret är sant. Den andra sats/satsblocksdelen är det som ska utföras om villkoret är falskt. else och det efterföljande sats/satsblock är valfritt. Några enkla exempel: int antal_husdjur; cout << "Ange hur många husdjur du har hemma"<<endl; cin >> antal_husdjur; cout << "Jaså du har "<< antal_husdjur<< " husdjur"<<endl; if ( antal_husdjur > 5 ) cout << "Oj det var många"<<endl; cout << "slut"<< endl; Programavsnittet måste fogas in i en main() funktion för att fungera. Detta program har nu två möjliga vägar att gå:
2 1. Villkoret är sant. Användaren har matat in en siffra större än 5. Ange hur många husdjur du har hemma 12 Jaså du har 12 husdjur Oj det var många slut 2. Villkoret är falskt. Användaren har matat in en siffra som är 5 eller lägre. Ange hur många husdjur du har hemma 2 Jaså du har 2 husdjur slut Villkorssatsen i exemplet utnyttjar att else delen av if satsen är valfri. Dessutom läggs det en sats och inte ett satsblock efter if satsen. if satsen väljer bara den sats som ligger direkt efter villkoret. Notera indragningen av satsen cout<<"oj det var många"<<endl; Indragningen är densamma som ses efter klammern efter main(). Syftet med indragningen är att då man läser programmet ska man enkelt kunna se vilken eller vilka satser som hör till villkoret. Indraget bör vara ungefär 3 4 mellanslag Satsblock För att kunna utföra flera satser styrda av ett villkor konstruerar man ett satsblock. Ett satsblock är helt enkelt en sekvens av satser omgärdade av och klamrar. Funktionen main() har också ett satsblock, klamrarna och som anger början respektive slut på programmet. Ett liknande program med satsblock och else satser
3 int antal_husdjur; cout << "Ange hur många husdjur du har hemma"<<endl; cin >> antal_husdjur; if ( antal_husdjur > 5 ) cout << "Oj det var många hela "; cout << antal_husdjur << " stycken"; cout << endl; else cout << Jaså du har bara"; cout << antal husdjur << " stycken"; cout << endl; cout<<"slut"<<endl; Observera hur indraget ( kallad indentering ) går över hela satsblocken. Programmet kommer nu att välja endast en av vägarna efter if satsen. Om villkoret är uppfyllt utförs satsblocket direkt efter villkoret, annars utförs satsblocket efter else Övning: Sätt in ovanstående exempel i ett komplett program och provkör. Blev resultatet det du förväntade dig? Rätta till indenteringen i föregående program. Ett vanligt fel är att man råkar lägga en ensam sats mellan if satsen och satsblocket. Kompilatorn har svårt att ge en rimlig felbeskrivning för detta fel. Ett annat vanligt fel är att man påbörjar satsblocket innan villkorssatsen eller else. Satsblocket blir då som regel betydelselöst. if ( antal_husdjur > 5 ) // FEL! Satsblocket börjar inte direkt efter villkoret cout << "Oj det var många hela "; cout << antal_husdjur << " stycken"; cout << endl; else cout << Jaså du har bara"; // FEL! Satsblocket börjar inte direkt efter else satsen. cout << antal husdjur << " stycken"; cout << endl; Det händer också att man ibland råkar sätta ett semikolon direkt efter if satsens villkor.
4 if ( längd < 30.7 ); // FEL! cout << "kort längd"; Detta får till följd att en tom sats direkt efter villkoret styrs av if satsen. Eftersom satsen är tom påverkar den inte programmet på något sätt. cout satsen däremot som var tänkt att påverkas av villkoret utförs oavsett resultatet på villkoret eftersom if satsen tar slut i och med semikolonet. 1.2 Logiska villkor I och med villkorssatsen stöter vi på en ny typ at uttryck, de logiska. De logiska uttrycken följer samma mönster som de tidigare operationerna vi sett med den skillnaden att resultatet av en logisk operation alltid är ett booleskt(logiskt) värde, sant eller falskt. Operatorerna som ger logiska resultat kallas, logiskt nog, logiska operatorer. Logiska binära operatorer == Lika med!= Icke lika med < Mindre än <= Mindre än lika med > Större än >= Större än lika med && Logiskt AND Logiskt OR and Borttaget ur C++: Logiskt AND synonymt med && or Borttaget ur C++: Logiskt OR synonymt med I villkoret i exemplet ovan användes den logiska operatorn > på formen ( int ) > ( int ) : bool Varje logisk operation ger ett resultat av typen bool. Man kan använda sig av variabler deklarerade med typen bool för att lagra logiska värden. Villkoret i exemplet ovan hade kunnat skrivas utförligare som: bool manga_husdjur; manga_husdjur = antal_husdjur > 5; if ( manga_husdjur ) // satsblocken som tidigare med samma betydelse. Variabeln manga_husdjur kan alltså anta värdena true eller false. Om ett logiskt värde av typen bool i något uttryck kan betraktas som ett heltal kommer värdet true att vara värdet 1, och false kommer att vara värdet 0. De flesta logiska operationer är tämligen rättframma. Här följer några exempel på hur uttrycken kan se ut:
5 Antag att förekommande variabler är deklarerade med en rimlig datatyp ( vikt < 60.0 ) ( antal_hundar== 2 ) ( antal_valar!= 2 ) // motsatsen till ovan ( antal*2 >= 52 ) // räkneoperationen utvärderas först Man kan dessutom kombinera uttryck med de logiska operatorerna && ( OCH ) och (ELLER). Dessa operatorer har formen ( bool ) && ( bool ): bool ( bool ) ( bool ): bool Man använder alltså dessa operatorer på logiska värden eller uttryck ( antal == 2 && vikt < 20.0 ) // Jämförelserna utvärderas först och // därefter utvärderas && // båda jämförelserna måste vara sanna för // att hela uttrycket ska vara sant ( antal == 2 vikt < 20.0 ) // om någon av jämförelserna är sanna // är uttrycket sant Det finns även en unär logisk operator! eller not. Operatorn fungerar så att den vänder ett sant värde falskt, och tvärtom. Exempel (!( 3 > 4 ) ) // är sant ( not( 7 == 12 ) ) // är sant (! (4==4) ) // är falskt Det bör sägas ett varningens ord om likhetsjämförelser av flyttal. Om man har två flyttal är det ofta svårt att kontrollera om de är lika, eftersom jämförelsen kräver att de är exakt lika i varje bit. Då varningar utfärdas får man inte glömma bort att varna för en viss typ av sammansatta jämförelser. Betrakta följande programavsnitt int hur_gammal; cout << "Ange din ålder "<<endl; cin >> hur_gammal; // kolla om tonåring, äldre än 12 och yngre än 20 år if ( 12 < hur_gammal < 20 ) // FEL! cout << "Du är tonåring"<<endl; Villkoret kan till en början se riktigt ut, kompilatorn upptäcker troligtvis inget fel. Faktum är att skrivsättet är väldigt vanligt inom algebra. Om man däremot ser i detalj vad villkoret utvärderar ser man ett problem. Den första operationen som utförs är jämförelsen ( från vänster till höger ) 12 < hur_gammal
6 resultatet av denna operation är av typen bool och används som vänster operand i nästa < operation. Resultatet av uttrycket är antingen 0 eller 1, nästa jämförelse blir därför 1 < 20 om hur_gammal var större än 12 annars 0 < 20 Båda dessa villkor är sanna och hela uttrycket är i princip värdelöst. För att skriva jämförelsen på ett riktigt sätt måste man dela upp den i två jämförelser, dels 12 < hur_gammal och dels i hur_gammal < 20 kombinerade med && (and). // kolla om tonåring, äldre än 12 och yngre än 20 år if ( 12 < hur_gammal && hur_gammal < 20 ) // RÄTT! cout << "Du är tonåring"<<endl; Nästlade if satser Ett sats i satsblocket kan innehålla vilken annan typ av sats som helst, även andra if satser. Ett villkor sammansatt med && kan även skrivas om som ett nästlat villkor // kolla om tonåring, äldre än 12 och yngre än 20 år alternativ lösning if ( hur_gammal > 12) // personen är äldre än 12 if ( hur_gammal < 20 ) cout << "Du är tonåring"<<endl; Var uppmärksam på skillnaden mellan denna konstruktion och // kolla om tonåring, äldre än 12 och yngre än 20 år felaktig lösning if ( hur_gammal > 12) // personen är äldre än 12 cout << "Du är äldre än 12"<<endl; if ( hur_gammal < 20 ) // personen är äldre än 20 cout << "Du yngre än 20"<<endl; Se också hur indenteringen ändras för nästlade satser. Observera att kommentarerna inte påverkar if satserna och de satser de styr. Testa gärna de olika varianterna vid en dator.
7 #include<iostream> using namespace std; int main() double tal1, tal2; Exempel, enkel sortering av två tal // ledtext cout << "Detta program undersöker vilket av två tal som är störst"; cout << endl << "Ange det första talet:"<<endl; cin >> tal1; cout << "Ange det andra talet:"<<endl; cin >> tal2; if ( tal1 > tal2 ) cout << "Det första talet, "<<tal1; cout << " är störst"<<endl; else cout << "Det andra talet, "<< tal2<<" är störst"; return 0; Övning Komplettera programmet så att det även skriver ut det mindre av talen. Vad händer om talen är lika? 1.3 Iteration Iteration innebär en upprepning, repetition av satser. Vi har nu sett hur en villkorssats kan välja att utföra ett satsblock beroende på om ett villkor är uppfyllt, selektion. För selektion formulerades ett villkor om ett satsblock skulle behandlas eller inte. För iterationen gäller att dess satsblock repeteras till dess att villkoret inte är längre är sant. Man till exempel beskriva läsandet av en bok schematiskt med iteration 1: Öppna boken 2: Om det finns sidor kvar att läsa: 2.1: Läs en sida 2.2: Bläddra till nästa sida Kontrollera villkor 3: Stäng bok 4: Lämna tillbaks boken till biblioteket Essensen i en iteration kan man se i exemplet består av tre beståndsdelar. 1. Iterationsvillkor ( 2: Finns det sidor kvar att läsa ) 2. Sats som påverkar iterationsvillkoret, tar iterationen närmare slutförandet. ( 2.2: Bläddra till nästa sida )
8 3. Den sats som ska itereras. ( 2.1: Läs en sida ) Man skulle även kunna ta med den första satsen 1: Öppna boken, som möjliggör iterationen. Denna typ av sats som förbereder iterationen kallas för initieringssats. När man diskuterar iterationssatser i programkod kallar man dom ofta för "loopar". De iterationssatser som finns i kan delas in i två kategorier, nämligen Räknande loopar Villkorsloopar Exemplet ovan är ett typiskt exempel på en stegande loop. Man kan betrakta det som att man tar steg från sidan 1 till sidan 2 till sidan 3 osv. till den sista sidan i boken. Skillnaden mellan dessa två typer av loopar är i huvudsak satsen som påverkar iterationsvillkoret. I exemplet är det satsen att bläddra till nästa sida, dvs. ta ytterligare ett steg i boken, som påverkar iterationsvillkoret for satsen En for sats är en av de vanligaste satserna i programkod och är mycket viktigt att behärska. Syftet med for satsen är att skapa räknande loopar. Formen för en for sats är for ( initieringslista; iterationsvillkor; inkrementsatslista ) sats / satsblock Man kan i formen skönja flera likheter med if satsen. Den stora skillnaden ligger i initieringslistan och inkrementlistan, och naturligtvis det faktum att for satsen är iterativ. Kom ihåg att en lista är noll, ett eller flera element separerade med kommatecken. Vi kan nu visa på bokexemplet först schematiskt med en forsats: for(öppna bok; om det finns sidor kvar att läsa; bläddra till nästa sida ) Läs en sida; Stäng bok; Lämna tillbaka boken till biblioteket; Detta är principen bakom varje forsats. Denna typ av kod kallas för pseudokod och används med fördel om man vill diskutera programkodslösningar. En C++ kompilator förstår naturligtvis inte pseudokod, använd penna och papper istället. Bokexemplet som ett komplett program Det går att skapa ett enkelt komplett program av bokexemplet, om man på förhand bestämmer antalet sidor i boken. Vi fastställer härmed att antalet sidor är 12.
9 #include<iostream> using namespace std; int main() int antal_sidor = 12; cout << "Öppnar boken"<<endl; for( int nuvarande = 0; nuvarande < antal_sidor; nuvarande++) cout<<"läser en sida i boken"<<endl; cout<<"stänger boken"<<endl; cout<<"lämnar tillbaks boken till biblioteket"<<endl; return 0; Detta bokexempel läser naturligtvis inte igenom någon riktig bok, men visar ändå ganska tydligt hur iterationen fungerar. Programmet följer exakt samma ordning som det schematiska exemplet ovan utan forsats. Då programmet körs utförs följande satser i tur och ordning Rad 6: Heltalsvariabeln antal_sidor initieras till 12 Rad 7: Texten "Öppnar boken" skrivs till skärmen Rad 8: Heltalsvariabeln nuvarande initieras till noll. Detta är alltså en initieringslista med ett element. Variabeln nuvarande kallas allmänt för loopvariabel. Rad 8: Iterationsvillkoret kontrolleras. Om villkoret nuvarande < antal_sidor, dvs ( här: 0 < 12 : sant ) är sant ( ja ), utförs satsblocket tillhörande for satsen. Rad 10: Texten "Läser en sida i boken" skrivs på skärmen Rad 8: Inkrementsatsen, nuvarande++, utförs. Variabeln nuvarande får alltså värdet 1 Rad 8: Iterationsvillkoret kontrolleras. Nu kan villkoret läsas som 1 < 12 : sant, och satsblocket tillhörande for satsen utförs. Rad 10: Texten "Läser en sida i boken" skrivs på skärmen Rad 8: Inkrementsatsen, nuvarande++, utförs. Variabeln nuvarande får värdet 2 Iterationen fortsätter på detta vis med villkor, satsblock, inkrement, villkor, satsblock, inkrement osv. tills dess att villkoret inte längre är uppfyllt. Detta inträffar då variabeln nuvarande fått värdet 12. Satsutvärderingen blir då vid den sista iterationen Rad 8: Inkrementsats, nuvarande++ ger variabeln värdet 12. Rad 8: Iterationsvillkoret gör jämförelsen, nuvarande < antal_sidor (nu 12<12: falskt). Eftersom villkoret inte längre är sant avbryts iterationen och fortsätter med Rad 12: cout<<"stänger boken"<<endl; Rad 13: Skriver till skärmen "Lämna tillbaks " Satserna i programmet utförs i exakt samma ordning som i det första schematiska bokexemplet utan for sats.
10 Övning: Övertyga dig själv om att det första schematiska exemplet fungerar på samma sätt som for satsen i exemplet ovan Iterationsvariabeln Betrakta programavsnittet for( int i=0; i< 10;i++) cout<<"i = "<< i <<", "; cout satsen i satsblocket skriver ut texten "i = ", därefter värdet på variabeln i, därefter ett kommatecken. Eftersom satsen står i en forsats kommer iterationsvillkoret och inkrementsatsen att avgöra hur många gånger cout <<.. utförs. Om man kör ett komplett program med ovanstående forsats kommer man att få följande utskrift, observera särskilt start och slutvärdet på i. i = 0, i = 1, i = 2, i = 3, i = 4, i = 5, i = 6, i = 7, i = 8, i = 9, Press any key to continue Det som är särskilt intressant i denna forsats är hur iterationsvariabeln kan användas inuti forsatsen. Detta är en mycket användbar egenskap, i synnerhet vid olika typer av beräkningar. Om man sätter ett endl sist i cout satsen kommer det att skrivas ut på tabellform. Denna typ av utskrift tillsammans med formatering av tal beskrivet i avsnittet utskrift ger ett bra sätt att skriva ut tabeller med beräkningar. Exempel, summaberäkning med for sats Antag att vi vill beräkna summan av serien Utformning av lösning: De olika termerna i summan kan räknas fram med hjälp av for satsen. För att beräkna summan krävs ytterligare en variabel av heltalstyp, (int) + (int) ger resultat av typen int. Startvärdet i for satsen skall vara 1. Iterationsvillkoret skall vara utformat så att den sista iteration som utförs, skall vara för värdet 100. int total_summa = 0; // viktigt att nollställa for( int i = 1; i< 101; i++) total_summa += i; // öka total_summa med värdet på i cout<< "summan är:" << total_summa<<endl; Rad 1: Om man glömmer bort att nollställa total_summan kan man få helt oväntade resultat. Rad 2: Initieringssatsen låter värdet på i börja med 1 eftersom summeringen skulle börja med termen 1. Rad 2: Iterationsvillkoret ska medge att satsblocket utförs för värdet i = 100 men inte i = 101, villkoret avbryter nu vid jämförelsen 101 < 101.
11 Rad 4: Operatorn += används för att öka på värdet på variabeln total_summa med värdet av i. Kom ihåg utvärderingsordningen: initiering, villkor, satsblock, inkrement, villkor, satsblock, inkrement, villkor, satsblock, inkrement, villkor Resultatet blir: summan är:5050 Man kan även skriva for satsen med båda variabeldeklarationerna i initieringslistan for ( int total_summa = 0, int i = 0; i < 101; i++)... med samma resultat. Man bör undvika att lägga onödiga deklarationer i initeringslistan till forsatsen eftersom det kan försämra läsbarheten hos programmet Övning Skriv ett program som skriver ut treans multiplikationstabell upp till 10. Programutskrift 1*3 3 2*3 6 3*3 9 Tips: Skriv ut varje värde som en utmatning i en for sats, låt iterationsvariabeln stega från 1 till 10. Tecknen "*3 " på varje rad kan skrivas ut som vanlig text. Formatera utskriften med cout.width( ) while och do while satserna Den andra typen av iterationssatser är villkorsloopar. Skillnaden mellan dessa satser och forsatsen är att de används när man inte utför en räknande iteration, i synnerhet då man på förhand inte känner till hur många iterationer som ska utföras. Ett vanligt förekommande sammanhang för dessa iterationer är för felkontroll av inmatningar från användaren. Villkorslooparna kommer två olika varianter, en med preevaluering, while, och en med postevaluering, do while. Preevaluering innebär att ett villkor utvärderas innan ett satsblock utförs medan postevaluering innebär att ett villkor utvärderas efter ett satsblock utförs. While satsen While satsen använder preevaluering dvs. först utvärdera villkor därefter utförs tillhörande satsblock. Formen på en while sats är följande while ( iterationsvillkor ) sats / satsblock Funktionen hos satsen är densamma som hos for satsen, men den saknar både initieringslista och inkrementsatslista.
12 Exempel, inmatning av en födelsemånad. Programmet ska ta emot en inmatning om vilken månad som användaren är född i och därefter konstatera om användaren föddes tidigt på året eller sent på året. Programmet innehåller en felkontroll av inmatad månad. En programkörning kan se ut som Vilken månad är du född? Ange ett tal mellan 1 och Du har angett ett felaktigt tal, försök igen! 4 Du har angett ett felaktigt tal, försök igen! 2 Du är född tidigt på året. Programlösning #include<iostream> using namespace std; int main() int fodelse_manad; cout<<"vilken månad är du född? Ange en siffra mellan 1 och 12."<<endl; cin>> fodelse_manad; // felkontroll while( fodelse_manad < 1 fodelse_manad > 12 ) cout<<"du har angett ett felaktigt tal, försök igen!"<<endl; cin>> fodelse_manad; // slut felkontroll if ( fodelse_manad <=6 ) cout <<"Du är född tidigt på året"<<endl; else cout <<"Du är född sent på året"<<endl; return 0; Observera att det finns två satser för samma inmatning i programmet, en före iterationen och en inuti iterationen. Inmatningssatsen inuti iterationen kommer bara att utföras om man har matat in ett felaktigt värde vid den första inmatningen. For satsen som while sats For satsen och while satsen skiljer sig bara på for satsens initieringslista och dess inkrementlista. Eftersom en lista kan bestå av inget element är det syntaktiskt korrekt att helt utelämna dessa satser. Gör man det får man exakt samma funktion som hos while satsen. Exemplet ovan hade även kunnat skrivas med for sats genom att byta ut while satsen mot
13 for ( ; fodelse_manad < 1 fodelse_manad > 12 ; )... som tidigare Observera att for satsens semikolon inte får utelämnas. Do while satsen #include<iostream> using namespace std; int main() int fodelse_manad; Do while satsen har ett samma funktion som while satsen med den skillnaden att den använder sig av postevaluering, villkoret om att fortsätta iterationen utförs efter det tillhörande satsblocket. Det får till följd att satsblocket till en do while sats alltid kommer att utföras minst en gång. Formen på en do while sats är do sats / satsblock while ( iterationsvillkor ); Exemplet ovan skrivet med en do while sats kan bli do cout<<"vilken månad är du född? "; cout<<"ange en siffra mellan 1 och 12."<<endl; cin>> fodelse_manad; while( fodelse_manad < 1 fodelse_manad > 12 ); if ( fodelse_manad <=6 ) cout <<"Du är född tidigt på året"<<endl; else cout <<"Du är född sent på året"<<endl; return 0; I denna variant finns det bara en sats som tar emot inmatningen av månaden, så programkoden är något enklare, men användaren får heller inget tydligt felmeddelande att inmatningen som gjordes var felaktig. En programkörning kan se ut som Vilken månad är du född? Ange ett tal mellan 1 och Vilken månad är du född? Ange ett tal mellan 1 och Du är född sent på året.
14 #include<iostream> using namespace std; Exempel, nästlade loopar, multiplikationstabellen På samma sätt som en villkorssats kan innehålla vilken annan sats som helst kan iterationssatser även innehålla iterationssatser. Det blir då en sk. nästlad iteration. Ett tydligt exempel på hur det kan fungera är multiplikationstabellen int main() for( int i = 1; i <= 10;i++) // anger raden i tabellen for( int j = 1; j <= 10;j++) // skriv ett tal i tabellen cout.width( 5 ); cout << i*j ; cout<< endl; /// nästa rad i tabellen return 0; Observera indenteringen (indraget) av programkoden i forsatserna. Resultatet blir Press any key to continue Observera att rad 12: cout << i*j ; bara skriver ut ett tal åt gången, och resultatet innehållet en utskrift av hundra tal. cout satsen måste alltså ha utförts hundra gånger. Detta kommer sig av att den ena for satsen ligger i den andres satsblock. För varje gång som den första for satsen (rad 6) repeterar sitt satsblock kommer den inre for satsen (rad 8) att utföra cout satsen 10 gånger, vilket ger totalt hundra repetitioner av rad Övning Skriv multiplikationsprogrammet så att det använder while satser istället.
1 Iteration. 1.1 for-satsen
1 Iteration Iteration innebär en upprepning, repetition av satser. Vi har nu sett hur en villkorssats kan välja att utföra ett satsblock beroende på om ett villkor är uppfyllt, selektion. För selektion
System.out.println("Jaså du har "+ antalhusdjur+ " husdjur"); if ( antalhusdjur > 5 ) System.out.println("Oj det var många);
1 Villkor och styrsatser I de program vi sett tidigare har programkörning inneburit att sats efter sats utförts i den ordning de skrivits i källkoden. Vi har inte kunna ändra programmets uppförande beroende
TDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner
Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p
Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället
TDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Grundläggande satser och uttryck Eric Elfving Institutionen för datavetenskap 5 augusti 2014 Översikt Uttryck Litteraler Operatorer Satser Villkor Upprepning Teckenhantering
Repetera snabbt vad du lärde dig förra veckan. Du är nu redo att kasta dig in i nästa fas, teorin om villkor.
Lektion C2 Villkor Repetera snabbt vad du lärde dig förra veckan. Du är nu redo att kasta dig in i nästa fas, teorin om villkor. Du gör ofta val i livet, och valet du gör får olika konsekvenser och följder.
JavaScript del 3 If, Operatorer och Confirm
JavaScript del 3 If, Operatorer och Confirm Under förra uppgiften så kollade vi på hur användaren kan ge oss information via promt(), vi använde den informationen både för att skriva ut den och för att
C++ - En introduktion
C++ - En introduktion De imperativa grunderna för dig som kan programmera Eric Elfving Institutionen för datavetenskap 1 / 72 Översikt 1 Grunderna 2 Uttryck och satser 3 Funktioner 4 Poster 1 Grunderna
Data, typ, selektion, iteration
Data, typ, selektion, iteration En programmeringkurs på halvfart IDT, MDH ttp://www.negative-g.com/nolimits/no%20limits%20defunct%20coasters.htm 1 Dagens agenda Talrepresentation Typkonvertering Sekvens
Introduktion till programmering
Introduktion till programmering v. 1.12-2007-02-10 Mittuniversitetet Institutionen för Informationsteknologi och medier Datateknik Innehållsförteckning 1 Inledning...4 2 Språket C++...5 2.1 Valet av språket
Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program
Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik VT05 2 Repetition Repetition - Programmering i
Programmering i C, 7,5 hp
Programmering i C, 7,5 hp Föreläsning 4 VÄLKOMNA! 31 switch-satsen Antag att vi har en heltalsvariabel a som skall styra programflödet Antag vidare att a kan anta tex 5 olika värden 1,2,3,4,5 printf( Mata
1 Funktioner och procedurell abstraktion
1 Funktioner och procedurell abstraktion Det som gör programkonstruktion hanterlig och övergripbar och överhuvudtaget genomförbar är möjligheten att dela upp program i olika avsnitt, i underprogram. Vår
F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander
F5 Selektion och iteration ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Boolska uttryck Boolska uttryck använder sig av jämförelseoperatorer < > = ==!= Resultatets datatyp är boolean
TDIU01 (725G67) - Programmering i C++, grundkurs
. TDIU01 (725G67) - Programmering i C++, grundkurs Program, datatyper och IO Eric Elfving Institutionen för datavetenskap 7 oktober 2015 Översikt 2/14 Struktur på ett C++-program Köra ett program Variabler
Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt
Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling
1 Texthantering. 1.1 Typen char. Exempel, skriv ut alfabetet
1 Texthantering I detta avsnitt tas det upp två sätt att arbeta med text i C++ program. Det första sättet som behandlas är hanteringen av textfält. Texter i C++ består utav en serie med enstaka tecken
float Mindre rella tal ( floating point number ) double Rella tal/flyttal ( double precision floating point number )
1 Datatyper och Uttryck I räkneprogrammet tidigare såg vi att C++ kräver deklarationer av alla variabler som används. I räkneprogrammet användes bara variabler av heltalstyp, int, men det finns naturligtvis
Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska
Matlab-föreläsning 3 (4), 17 september, 2015 Innehåll Sekvenser (från förra föreläsningen) Upprepning med for-slingor och while-slingor Villkorssatser med if - then -else - Logik Sekvenser - repetion från
Logik och kontrollstrukturer
Logik och kontrollstrukturer Flödet av instruktioner i ett programmeringsspråk bygger vi upp med hjälp av dess kontrollstrukturer. I C har vi exemplen if, if else, while, do while. Dessutom finns switch
732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy cards. Slingor
732G11 Linköpings universitet 2011-02-01 1 2 3 Strukturdiagram Strukturdiagram används för att visa hur ett program fungerar. Man kan se alla val och upprepningar som sker i programmet. Består av tre (!)
Språket Python - Del 1 Grundkurs i programmering med Python
Hösten 2009 Dagens lektion Ett programmeringsspråks byggstenar Några inbyggda datatyper Styra instruktionsflödet Modulen sys 2 Ett programmeringsspråks byggstenar 3 ETT PROGRAMMERINGSSPRÅKS BYGGSTENAR
Klassdeklaration. Metoddeklaration. Parameteröverföring
Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar
TDDC76 - Programmering och Datastrukturer
TDDC76 - Programmering och Datastrukturer C++ - en introduktion Eric Elfving Institutionen för datavetenskap 1 / 72 Översikt 1 Grunderna 2 Uttryck och satser 3 Funktioner 4 Poster 1 Grunderna Ett första
Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk
Föreläsning 2 steknik och C DD1316 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program
Instuderingsfrågor till Steg 1
Instuderingsfrågor till Steg 1 Följande frågor har till avsikt att underlätta inläsningen av det teoriavsnitt som hör till steg1. Frågorna är anpassade till kursboken C++ from the Ground Up av Herbert
Logik och Jämförelser. Styrsatser: Villkorssatsen if och repetitonssatsen for. Scriptfiler. Kommentarer. Tillämpningar: Ett enkelt filter.
TAIU07 Föreläsning 3 Logik och Jämförelser. Styrsatser: Villkorssatsen if och repetitonssatsen for. Scriptfiler. Kommentarer. Tillämpningar: Ett enkelt filter. 27 januari 2016 Sida 1 / 21 Logiska variabler
Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek
De åtta primitiva typerna Java, datatyper, kontrollstrukturer Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Typ Innehåll Defaultvärde Storlek boolean true, false false 1 bit char Tecken \u000
Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program
Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik för ingenjörer, VT06 2 Repetition Repetition -
729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer
729G04 Programmering och diskret matematik Python 2: Villkorssatser, sanningsvärden och logiska operatorer Föreläsningsöversikt Vad händer när vi kör vår pythonkod? Programmerare Villkorssatser Jämförelser
PROGRAMMERING 2 GRUNDLÄGGANDE SEMANTIK 4
Modul 2 Byggstenar PROGRAMMERING 2 GRUNDLÄGGANDE SEMANTIK 4 Byggstenar 4 Nyckelord 4 Tecken 4 Syntax 5 Standardbibliotek 5 Vårt första program 5 Variabler 6 Konstanter 9 Operatorer 9 Övningar 9 Mer operatorer
Visual Basic, en snabbgenomgång
Visual Basic, en snabbgenomgång Variabler och Datatyper En variabel är som en behållare. Olika behållare passar bra till olika saker. I Visual Basic(härefter VB) finns olika typer av behållare för olika
Grunderna i C++ T A. Skapad av Matz Johansson BergströmLIMY
Grunderna i C++ ARK 385: Virtuella Verktyg i en Materiell värld AT Arkitektur & Teknik Chalmers Tekniska Högskola 2009 - Kursen skapades (3 förel.) 2010-6 förel. + 2 projekt 2011-8 förel. Helt omarbetade
Inledande programmering med C# (1DV402) Summera med while"-satsen
Summera med while"-satsen Upphovsrätt för detta verk Inledande programmering med C# (1DV402) Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får
Föreläsning 3. Iteration while-satsen
Föreläsning 3 Iteration while-satsen Datatypen double I en dator kan man inte lagra hur stora eller hur små tal som helst. De enkla datatyperna, som används för att lagra tal (t.ex. int och double), har
TDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Underprogram - Funktioner Eric Elfving Institutionen för datavetenskap 18 september 2014 Översikt 2/22 Återblick till satsblocken Funktioner - Namngivna satsblock
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?
Föreläsning 10 Datalogi 1 DA2001 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer på skärmen print( Hej ) print( Hur är det?
Grundläggande programmering med C# 7,5 högskolepoäng
Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Omtentamen DE13, IMIT13 och SYST13 samt öppen för alla (Ifylles av student) (Ifylles av student)
Programmering A. Johan Eliasson johane@cs.umu.se
Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer
JAVAUTVECKLING LEKTION 4
JAVAUTVECKLING LEKTION 4 2016 Mahmud Al Hakim mahmud.al.hakim@nackademin.se www.alhakim.se AGENDA Iterationer (loopar) Algoritmer Mer om felsökning 1 WHILE-SATSEN String s = JOptionPane.showInputDialog("Talet
Variabler och konstanter
Variabler och konstanter Deklareras automatisk när man stoppar in data i dem. X = 7 Y = A Z = Kalle Definieras av att de har: ett namn (X) en datatyp (Integer) ett värde (t.ex. 7) Lagras i datorns minne!
Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk
Föreläsning 2 steknik DD1310 Python introduktion Variabler Datatyper Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program är
Programmeringsteknik med C och Matlab
Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga
Iteration while-satsen
Datatypen double TDA143 I1 Programmerade system Föreläsning 3 (OH-bilder 3) Iteration while-satsen Christer Carlsson I en dator kan man inte lagra hur stora eller hur små tal som helst. De enkla datatyperna,
MMA132: Laboration 2 Matriser i MATLAB
MMA132: Laboration 2 Matriser i MATLAB Introduktion I den här labben skall vi lära oss hur man använder matriser och vektorer i MATLAB. Det är rekommerad att du ser till att ha laborationshandledningen
i LabVIEW. Några programmeringstekniska grundbegrepp
Institutionen för elektroteknik Några programmeringstekniska grundbegrepp 1999-02-16 Inledning Inom datorprogrammering förekommer ett antal grundbegrepp som är i stort sett likadana oberoende om vi talar
Objektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Kompilera och köra programmet under terminal 2: I Skapa Hej.java
Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??
Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära
732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner
732G11 Linköpings universitet 2011-01-21 1 2 3 4 5 6 Skapa program Kompilera: Källkod Kompilator bytekod Köra: Bytekod Virtuell maskin Ett riktigt program Hej.java class Hej { public static void main (
Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.
Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java
I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program
Kompilera och köra programmet Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 under terminal 2: I Skapa Hej.java
Exempel på ett litet Ada-program
Exempel på ett litet Ada-program -- En kommentar som beskriver något. with Ada.Text_IO; procedure Mini is -- Deklarationer. K : constant Integer := 5; X, Y : Integer; -- Körbar kod. Ada.Text_IO.Put( Utskrift
1 Datorn som miniräknare. 1.1 Räkneoperationer. 1.2 Variabler
1 Datorn som miniräknare I detta avsnitt tas upp hur man kan skriva program som utför enkla räkneoperationer och skriver resultat på skärmen. Syftet är i huvudsak att se hur flera satser kan bygga upp
C++ Lektion Tecken och teckenfält
C++ Lektion Tecken och teckenfält Teori Hittills har alla variabler du jobbat med varit olika typer av tal, men du kan också deklarera variabler som håller bokstavstecken. Denna variabeltyp kallas för
Introduktion till algoritmer - L0 - Grunder i C++ Matematikgymnasiet, Läsåret 2014-2015. L0 - Grunder i C++
Introduktion till algoritmer - L0 - Grunder i C++ Matematikgymnasiet, Läsåret 01-015 L0 - Grunder i C++ Det här är den första lektionen i kursen Introduktion till algoritmer vid Matematikgymnasiet, läsåret
1 Språket C Valet av språket C++ för kompendiet. 1.2 Språket. 1.3 Att programmera. 1.4 Hello World Börja programmera
1 Språket C++ 1.1 Valet av språket C++ för kompendiet Språket C++ är ett språk som utvecklats för storskalig objektorienterad utveckling av sofistikerade och komplexa system. Det ligger då i sakens natur
C++ - En introduktion
C++ - En introduktion De imperativa grunderna för dig som kan programmera Eric Elfving Institutionen för datavetenskap 1 / 77 Översikt 1 Grunderna 2 Uttryck och satser 3 Funktioner 4 Poster 1 Grunderna
2.1 Variabler. 2.2 Regler för namngivning i C. Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten Föreläsning 2
Föreläsning 2 2.1 Variabler Vi studerar exempel 1 från boken: int main(void) int a,b,c=7; float antal,pris=3.70,laengd; a=34; b=32767; antal=-123.978; pris=89.00; laengd=56; c=-38; laengd=laengd+1; Sex
Enkla datatyper minne
Enkla datatyper minne 143.56 sant Sonja A falskt 18 1999-10-29 Bertil Gralvik, KTH Ingenjörsskolan 1 Addera två tal Algoritmen Summera tal Mata in två tal Beräkna Skriv ut resultat Mata in tal 1 Mata in
Tentamen i Programmering grundkurs och Programmering C
1 of 7 Örebro universitet Institutionen för teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen fredag 15
Skizz till en enkel databas
Skizz till en enkel databas Data: Register En vektor Funktioner: Databas Initiera huvudloop Avsluta Poster (struct( struct) val Mata in Skriv ut Spara Hämta Ändra Radera Enligt diskussion 1999-11-23 Bertil
Användarhandledning Version 1.2
Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...
Programmering C: Tentamen of 5 Prioritet och associativitet hos operatorerna i C De viktigaste operatorerna: Prioritet Kategori Operator
Programmering C: Tentamen 2008-05-31 1 of 5 Örebro universitet Institutionen för teknik Thomas Padron-McCarthy (Thomas.Padron-McCarthy@tech.oru.se) Tentamen i Programmering grundkurs och Programmering
Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk
Föreläsning 2 steknik DD1310 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer funktioner betyder att instruera en dator Ett program
Repetition i Python 3. Exemplen fac. Exemplen fac motivering. Exemplen fac i Python
Repetition i Python 3 Exemplen fac Orginalet I Scheme använde vi rekursion för all slags repetition. Efterom Scheme är ett funktionellt språk återsänder alla språkkonstruktioner ett värde men i Python
Föreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera
Föreläsning 2 Variabler, tilldelning och kodblock if-satsen Logiska operatorer Andra operatorer Att programmera Variabler Det är i variabler som all data (information) lagras. Genom att ändra värde på
Introduktion till algoritmer - Lektion 1 Matematikgymnasiet, Läsåret 2014-2015. Lektion 1
Kattis Lektion 1 I kursen används onlinedomaren Kattis (från http://kattis.com) för att automatiskt rätta programmeringsproblem. För att få ett konto på Kattis anmäler du dig på Programmeringsolympiadens
C++ Funktioner 1. int summa( int a, int b) //funktionshuvud { return a+b; //funktionskropp } Värmdö Gymnasium Programmering B ++ Datainstitutionen
C++ Funktioner 1 Teori När programmen blir större och mer komplicerade är det bra att kunna dela upp programmet i olika delar som gör specifika saker, vilket kan göra programmet mer lättläst. Ett sätt
Föreläsning 1: Momstabellen i C++
Nu sätter vi igång med C++! Föreläsning 1: Momstabellen i C++ På den här föreläsningen skall jag ta ett stort exempel och ett par små och med dessa hoppas jag att täcka in mycket av det som är grundläggande.
For-sats/slinga. Notis
Notis I koden för exemplen förekommer kommentarer. Kommentarer i Matlabkoden identieras med prexet %. Kommentarer är text/kod som Matlab bortse från. Alltså all text/kod som ligger till höger och på samma
Föreläsning 2 Programmeringsteknik och C DD1316
Föreläsning 2 Programmeringsteknik och C DD1316 Föreläsning 2 Programmeringsteknik och C Datatyp Aritmetiska operatorer Omvandling av typer Reserverade ord Mikael Djurfeldt Logiska operatorer
Introduktion till programmering SMD180. Föreläsning 4: Villkor och rekursion
Introduktion till programmering Föreläsning 4: Villkor och rekursion 1 1 Några inbyggda funktioner (med resultat!) Konverterar mellan de grundläggande typerna: >>> int("32") 32 >>> int(3.999) 3 >>> float(32)
Lektion 1 - Steg 1. Introduktion. Hello World
Introduktion Kursen är utvecklad som ett projekt med syfte att stödja ett flexibelt lärande. Idéerna bakom den successiva examinationen är att synliggöra de enskilda inlärningsstegen i kursen. Tanken är
Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E. Föreläsning 4: Villkor och rekursion. Modulus-operatorn.
Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E Föreläsning 4: Villkor och rekursion Konverterar mellan de grundläggande typerna: >>> int("") >>> int(.999) >>> float().0
int iarray[]= new int[3]; // deklarera ett heltalsfält med tre heltal int jarray[]={ 1, 3, 5, 7, 9, 11, 13, 15}; // initierat fält 8 element
1 Arrayer Vid beräkningar med större datamängder än några enstaka tal är det bekvämt att kunna betrakta en talmängd som en enhet. Detta åstadkommer man genom att deklarera och instantiera fält. Ett annat
TDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Pekare och Listor Eric Elfving Institutionen för datavetenskap 31 oktober 2014 Översikt 2/41 Internminne Pekare Dynamiska datastrukturer (Enkellänkade) listor Arbeta
Lite logik. Kap 6: Sid 2
6 Loopar och val Lite logik Val mellan två alternativ Val mellan flera alternativ Sammansatta villkor Boolska variabler Jämför strängar While-loopar Do-loopar For-loopar Kortformer Kap 6: Sid 2 Lite logik
Beräkningsvetenskap föreläsning 2
Beräkningsvetenskap föreläsning 2 19/01 2010 - Per Wahlund if-satser if x > 0 y = 2 + log(x); else y = -1 If-satsen skall alltid ha ett villkor, samt en då det som skall hända är skrivet. Mellan dessa
OBS! All teori i detta och följande dokument kompletteras med genomgångar på lektionerna. Så det är viktigt att närvara och göra egna anteckningar.
Värmdö Gymnasium Programmering A 110123 Lektion C1 Grunder Att programmera handlar mycket om att lära sig att analysera det problem eller den funktion man vill att programmet ska ha, och översätta det
729G74 IT och programmering, grundkurs. Tema 3. Föreläsning 2 Jody Foo,
729G74 IT och programmering, grundkurs Tema 3. Föreläsning 2 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Repetition: syntax-quiz Fler for-loopar (över listor och dictionaries) range() Nästlade strukturer
TDDC77 Objektorienterad Programmering
TDDC77 Objektorienterad Programmering Föreläsning 3 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin 2018 Outline Operatorer Java Standard Library Inmatning Operatorer operatorer En operator är en
Programmeringsteknik I
Programmeringsteknik I Föreläsning 2: Grundläggande Java Johan Öfverstedt Java Grundläggande begrepp Datatyper Selektion if Räckvidd (scope) Iteration while Klasser Objekt Metoder Metodhuvudet Kodstandarden
Mer källkod. Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne. Erik Forslin. Rum 1445, plan 4 på Nada
Mer källkod Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne Erik Forslin efo@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 1 Styrstrukturer i Java En styrstruktur är något som påverkar
Övningsuppgifter till föreläsning 2 Variabler och uttryck
Sid 1 (5) Övningsuppgifter till föreläsning 2 Variabler och uttryck Syfte Syftet med övningsuppgifterna är att träna på: Aritmetik, variabler, tilldelning, scanf och printf Generellt Diskutera gärna uppgifterna
Objektorienterad programmering Föreläsning 2
Objektorienterad programmering Föreläsning 2 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Inläsning av data via dialogrutor Repetitioner (While-satsen och For-satsen) Nästlade
FÖRSLAG TILL LÖSNING AV Tentamen i Objektorienterad programmering C++ I
FÖRSLAG TILL LÖSNING AV Tentamen i Objektorienterad programmering C++ I 2002-03-18 Betygsgränser: 3 14 poäng 4 20 poäng 5 27 poäng Maxpoäng: Hjälpmedel: 32 poäng Bilagd ASCII-tabell Lycka till Per Ekeroot
Tentamen i. för D1 m fl, även distanskursen. lördag 26 februari 2011
1 of 7 Örebro universitet Akademin för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen
Lärobok Programmering 1 (C++) Nybörjarprogrammering
Lärobok Programmering 1 (C++) Nybörjarprogrammering En enkel start på din inlärning av den sköna programmeringskonsten. I boken arbetar vi med C++, men boken innehåller mycket generell kunskap. morgan.augustsson
Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera
Föreläsning 2 Operatorer Tilldelning Kodblock if satsen Logiska uttryck Att programmera En operator tar ett eller två data och producerar ett svar. Typexemplet är +. Den tar t.ex två heltal och producerar
Programmering i C. Christer Sandberg, Gunilla Eken, Stefan Bygde Olof Andersson Linus Källberg Caroline Uppsäll Johan Hägg
Programmering i C En tuff kurs på halvfart för nybörjare i programmering Christer Sandberg, Gunilla Eken, Stefan Bygde Olof Andersson Linus Källberg Caroline Uppsäll Johan Hägg 1 Idag Kursupplägg Satser
Dagens program. Programmeringsteknik och Matlab. Viktiga datum. Ett första exempel. Programmall, vad behöver vi i ett javaprogram?
Programmeringsteknik och Matlab Övning 2 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312
Booleska variabler och översättning mellan programuttryck och booleska variabler
Vad är Boolesk algebra Lite förenklat kan man säga att Boolesk algebra är räkneregler konstruerade av den engelske matematikern Gerge Boole för att kunna räkna med logiska uttryck. I den booleska algebran
MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...
Allt du behöver veta om MATLAB: Industristandard för numeriska beräkningar och simulationer. Används som ett steg i utvecklingen (rapid prototyping) Har ett syntax Ett teleskopord för «matrix laboratory»
Grunderna i stegkodsprogrammering
Kapitel 1 Grunderna i stegkodsprogrammering Följande bilaga innehåller grunderna i stegkodsprogrammering i den form som används under kursen. Vi kommer att kort diskutera olika datatyper, villkor, operationer
Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.
Att förstå variabler Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata. Vad är en variabel? En variabel är en plats att lagra information. Precis
729G04 Programmering och diskret matematik. Python 3: Loopar
729G04 Programmering och diskret matematik Python 3: Loopar Översikt Labbar Punktnotation och strängmetoder Loopar Labb 3 Labbar? Punktnotation Punktnotation Ni har stött på punktnotation tidigare - kapitel
Föreläsning 2. Täcker material från lektion 1, 2, 3 och 4:
(22 januari 2016 F2.1 ) Föreläsning 2 Täcker material från lektion 1, 2, 3 och 4: Datatyper Aritmetik Tecken och strängar Klasser, Objekt Metoder Villkor, villkorssatser och iterationer main-metoden Kodstandard
725G61 - Laboration 2 Loopar och arrayer. Johan Falkenjack
725G61 - Laboration 2 Loopar och arrayer Johan Falkenjack October 29, 2013 1 Inledning I labb 1 lärde vi oss om de primitiva datatyperna (och lite om String). Vi lärde oss också att använda variabler av
+Överskådlighet Normalt sätt blir ett program skrivet i det procedurella paradigmet överskådligt. Modifikationer på delproblem kan ske med lätthet.
Uppgift 1 Ett programmeringsparadigm är i grund och botten ett sätt att arbeta, ett sätt att möta problem. Det finns flera olika paradigm där varje paradigm har sina egna styrkor och svagheter. Det som
Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser
Introduktion till programmering Föreläsning 2: Variabler, uttryck och satser 1 1 Värden De grundläggande saker som en dator manipulerar resultaten av beräkningar kallas värden Värden vi stött på: 2 och