Programmeringsteknik med C och Matlab
|
|
- Ingrid Olofsson
- för 9 år sedan
- Visningar:
Transkript
1 Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32
2 Mer organisatoriskt Imorgon: Datorintro i lab Logga in Hitta er hemkatalog Ansluta till institutionens linux-servrar Öppna en editor Etc. Information om institutionens datorsystem: Videos för den här kursen: Björklund (UmU) Programmeringsteknik 2 / 32
3 Mer organisatoriskt Vad går labbarna ut på? Arbeta med övningsuppgifter från hemsidan eller kursboken. Arbeta med de obligatoriska inlämningsuppgifterna. Möjlighet att fråga labhandledare. OBS! Gå till din egen grupps labtillfällen, inte andra gruppers. Björklund (UmU) Programmeringsteknik 3 / 32
4 Datatyper och variabler Datatyper En datatyp är ungefär vad den låter som: den beskriver en viss typ av data. I C finns ett antal inbyggda datatyper. Till att börja med nöjer vi oss med att använda tre av dem: Typ int char double Användning Heltal (integers) Tecken (characters) Flyttal (double precision floating point numbers) Vi talar om för datorn vilken typ viss data har för att den ska veta 1. hur mycket utrymme i minnet vår data behöver och 2. vilka operationer som kan användas för att manipulera den. Björklund (UmU) Programmeringsteknik 4 / 32
5 Datatyper och variabler Variabler En variabel är en plats i datorns minne som används för att lagra data ett program behöver. Varje variabel har en typ. Variabler måste deklareras i programmet, så att kompilatorn vet att den måste reservera minnesutrymmet. Varje variabel har ett namn som vi själva väljer. int n; double x, y; char c; Björklund (UmU) Programmeringsteknik 5 / 32
6 Datatyper och variabler Variabelnamn Följande regler gäller för variabelnamn: 1. Namnet måste bestå uteslutande av engelska bokstäver, siffror och understreck. 2. Namnet får inte börja med en siffra. 3. Namnet får inte vara ett av C:s reserverade ord. 4. Namnet bör inte vara definierat i något av C:s standardbibliotek. Några exempel på tillåtna variabelnamn: tal1, tal2, inkomst_per_kapita, LOEN_PER_PERSON, n, c Namn kan vara hur långa som helst, men bara de första 31 tecknen räknas. Rekommendation Använd bara variabelnamn som hjälper dig och andra att komma ihåg till vad variabeln används. Björklund (UmU) Programmeringsteknik 6 / 32
7 Datatyper och variabler Tilldelning till variabler När vi deklarerat en variabel kan vi använda den för att lagra data: int n; double x, y; char c; n = 5; x = ; c = B ; Att lagra ett värde i en variabel kallas att göra en tilldelning. Generellt har tilldelningar formen variabel = uttryck ; Uttrycket utvärderas, vilket ger ett värde som lagras i variabeln. Uttrycket måste ge ett värde av samma datatyp som variabeln. Observera att data som tidigare fanns lagrad i variabeln förstörs. Björklund (UmU) Programmeringsteknik 7 / 32
8 Datatyper och variabler Aritmetiska uttryck Aritmetiska uttryck byggs upp av variabler, konstanter och aritmetiska operatorer. Till operatorerna hör +, -, *, /, %. Operatorerna +, -, *, / kan användas för både flyttal och heltal. Om båda värdena är heltal blir resultatet ett heltal, annars ett flyttal. Observera att / med två heltal betyder heltalsdivision. Operatorn % är modulo-operatorn och ger resten vid heltalsdivision av två tal. Den kan alltså bara användas på heltal. Uttryck Värde Typ int double double 14.0 / double 14 / 5 2 int 14 % 5 4 int Björklund (UmU) Programmeringsteknik 8 / 32
9 Datatyper och variabler Variabler i uttryck. Mer tilldelningar När variabler används i stället för konstanter i uttryck används det värde som är lagrat i variabeln. int n, m; n = 5; m = n + 3; Värdet lagrat i m är nu 8. int n; n = 5; n = n + 3; Värdet lagrat i n är nu 8. Björklund (UmU) Programmeringsteknik 9 / 32
10 Datatyper och variabler Tilldelningar: initialisering och syntaktiskt socker Variabler kan också tilldelas i samband med att de deklareras. Detta kallas ofta initialisering. int n = 3, m = 4; I C kan vi också använda en hel del praktiska förkortningar i samband med variabeltilldelningar (s.k. syntaktiskt socker): Förkortning Uttydning n += 3 n = n + 3 n -= 3 n = n - 3 n *= 3 n = n * 3 n /= 3 n = n / 3 n++ n = n + 1 n-- n = n - 1 Björklund (UmU) Programmeringsteknik 10 / 32
11 Ett körbart C-program Vårt första C-program #include <stdio.h> int main(void){ int n; } /* Läs in ett heltal från användaren */ printf("skriv in ett heltal > "); scanf("%d", &n); /* Lägg till 1 till talet */ n++; /* Skriv ut det nya talet */ printf("talet efter ditt tal är %d\n", n); return 0; Björklund (UmU) Programmeringsteknik 11 / 32
12 Ett körbart C-program Vårt första C-program rad för rad #include <stdio.h> Säger till C:s preprocessor att vi kommer att använda funktioner från standardbiblioteket stdio (standard input/output library). int main(void){... } Varje C-programm måste ha en main-funktion som körs när programmet startar. Denna funktion har returtyp int, vilket betyder att den när den avslutas kommer att lämna ett heltal ifrån sig. Funktionen har inga inparametrar, vilket visas av ordet void När programmet startar och main anropas kommer all kod mellan { och } att köras. Björklund (UmU) Programmeringsteknik 12 / 32
13 Ett körbart C-program Vårt första C-program rad för rad int n; Definierar variabeln n som kan användas för att lagra heltal. /* Läs in ett heltal från användaren */... /* Lägg till 1 till talet */... /* Skriv ut det nya talet */ Det här är kommentarer som är till för att göra koden lättare att läsa för människor. Kompilatorn bortser från dem. Som kommentar räknas allt mellan /* och */. Björklund (UmU) Programmeringsteknik 13 / 32
14 Ett körbart C-program Vårt första C-program rad för rad printf("skriv in ett heltal > "); Skriver ut texten Skriv in ett heltal > på skärmen. scanf("%d", &n); Läser vad användaren skriver in och lagrar det i variabeln n. Både printf och scanf är funktioner från stdio och vi kommer att lära oss mer om dem senare. Björklund (UmU) Programmeringsteknik 14 / 32
15 Ett körbart C-program Vårt första C-program rad för rad n++; Har samma effekt som n = n+1; printf("talet efter ditt tal är %d\n", n); %d är en platshållare för ett heltal och talar om för printf att den ska ta värdet av sitt andra argument och skriva ut där %d står. \n är en så kallad escape sequence och står för radbrytning (newline). Om värdet som lagras i variabeln n är 3 kommer kommandot alltså att skriva ut följt av en radbrytning. Talet efter ditt tal är 3 Björklund (UmU) Programmeringsteknik 15 / 32
16 Ett körbart C-program Vårt första C-program rad för rad return 0; Avslutar main-funktionen (och därmed programmet) med returvärde 0. I princip skulle vi kunna fånga upp returvärdet och använda det på något sätt, men här har vi inget behov av det. Det är etablerad praxis att låta main-funktionen returnera just 0 när dess returvärde inte spelar någon roll. Sammanfattning Vårt första program uppmanar användaren att skriva in ett heltal, läser talet och skriver ut det närmast större talet. Björklund (UmU) Programmeringsteknik 16 / 32
17 Ett körbart C-program Kompilera Antag att vi har sparat vårt program i fieln plus_ett.c. Vi kan då kompilera det med följande kommando: gcc -Wall plus_ett.c -o plus_ett gcc anropar Gnu Compiler Collection -Wall säger till kompilatorn att varna för allt som verkar suspekt (Warn All). plus_ett.c är filen vi vill ha kompilerad. Att den slutar med.c talar om för kompilatorn att det är ett C-program vi vill kompilera. -o plus_ett betyder att vi vill att filen med det körbara program som kompilatorn producerar ska heta plus_ett. Björklund (UmU) Programmeringsteknik 17 / 32
18 Funktioner Funktioner i C En funktion i C är ett stycke kod som tar ett specifikt antal inparametrar, var och en av en specificerad typ, gör beräkningar och returnerar ett värde av en specifik typ. Att använda sig av funktioner tjänar huvudsakligen två syften: Abstraktion: Kod som använder sig av, eller anropar funktionen behöver inte bry sig om hur funktionen beräknar sitt resultat. Om vi vill ändra sättet funktionen beräknar sitt resultat på, behöver vi bara göra det på ett ställe. Kodekonomi: Om du märker att du upprepar samma stycke kod på flera ställen i ett program hör det antagligen hemma i en funktion. Björklund (UmU) Programmeringsteknik 18 / 32
19 Funktioner Exempel int plus(int n, int m){ return n + m; } Ett klot med radie r har volym 4Πr 3 /3: double klotvolym(double radie){ double resultat; resultat = 4 * ; resultat *= radie * radie * radie; resultat /= 3; } return resultat; Björklund (UmU) Programmeringsteknik 19 / 32
20 Funktioner Funktionsdeklarationer Det vi just såg var två funktionsdefinitioner. Vi kan också deklarera funktioner utan att definiera dem: int plus(int n, int m); double klotvolym(double radie); En funktionsdeklaration kan ses som ett löfte: definitionen kommer att finnas någon annan stans. Björklund (UmU) Programmeringsteknik 20 / 32
21 Funktioner Funktionsanrop När vi väl definierat en funktion kan vi använda den. Det gör vi med funktionsanrop. plus(5,3); anropar funktionen plus med parametrarna 5 och 3. Anropet kommer att returnera värdet 8. Vi kan också använda variabler i funktionsanrop: plus(n, 3); Det värde funktionen får som parameter är värdet som är lagrat i variabel n inte variabeln själv. (Kom ihåg att en variabel är en plats i minnet.) Björklund (UmU) Programmeringsteknik 21 / 32
22 Funktioner Funktioner i tilldelningar Ett anrop till en funktion går också att använda som uttryck i en tilldelning: double klotvolym(double radie){... } int main(void){ double b; b = klotvolym(2.0); } return 0; För att tilldelningen ska fungera måste funktionens returtyp stämma överens med variabelns typ. Björklund (UmU) Programmeringsteknik 22 / 32
23 Funktioner void Det går också att skriva funktioner som inte tar någon indata och inte returnerar någonting: void hej(void){ printf("hej Världen!\n", n); } Funktioner som inte returnerar något kallas ofta procedurer. Generellt schema returtyp funktionsnamn(typ 1 namn 1,, typ n namn n) { lokala variabeldeklarationer beräkningar } Björklund (UmU) Programmeringsteknik 23 / 32
24 Funktioner Boolska test Boolska test (döpta efter den engelske matematikern George Boole ) är uttryck som returnerar ett Boolskt värde, dvs antingen sant eller falskt. Boolska test använder sig ofta av villkors-operatorer. De vanligaste villkorsoperatorerna < mindre än > större än <= mindre än eller lika med >= större än eller lika med == lika med!= inte lika med Om n och m är variabler av typen int, så returnerar uttrycket n >= m sant om värdet som sparats i n är minst lika stort som värdet som lagrats i m. Annars returnerar uttrycket falskt. Björklund (UmU) Programmeringsteknik 24 / 32
25 Funktioner Boolska värden i C C har ingen egen datatyp för de Boolska värdena sant och falskt. I stället används int. Värdet 0 representerar falskt. Alla andra värden representerar sant (oftast används värdet 1). En vanlig felkälla n == 5; är ett boolskt test, som returnerar sant eller falskt (beroende på värdet lagrat i variabeln n). n = 5; är en tilldelning, som lagrar värdet 5 i variabeln n. Björklund (UmU) Programmeringsteknik 25 / 32
26 Funktioner Kombinationer av Boolska test Ibland kan vi vilja uttrycka saker som om 5 > n och i q eller om p 4. I C åstadkommer vi det med hjälp av de Boolska operatorerna && (och), (eller) och! (inte): (5 > n && i <= q)! (p == 4) Låt A och B vara godtyckliga Boolska uttryck. Uttryck Uttydning Sant om A && B A och B A och B båda är sanna A B A eller B minst en av A och B är sann!a inte A A inte är sant Björklund (UmU) Programmeringsteknik 26 / 32
27 Funktioner Att välja vilka satser som ska utföras Ett program som alltid utför exakt samma operationer, oavsett indata, kan visserligen vara användbart, men kan sällan göra något riktigt intressant. Antag att vi vill skriva en funktion som returnerar absolutbeloppet av ett flyttal. double absolutevalue(double x){???? } Vi vill säga något i stil med om x 0, returnera x, annars x. Vi vill alltså, beroende på ett variabelvärde kunna välja vilken sats programmet ska utföra. Generellt sett kan val bero på indata eller på värden programmet redan beräknat. Björklund (UmU) Programmeringsteknik 27 / 32
28 Funktioner if-satser Den enklaste konstruktionen för att uttrycka ett val i C är if-satser. double absolutevalue(double x){ if( x >= 0 ) return x; } return -x; Satsen return x; utförs om villkoret x >= 0 är uppfyllt (sant). Björklund (UmU) Programmeringsteknik 28 / 32
29 Funktioner Syntax för if-satser Det generella schemat för if-satser är C-syntax if( VILLKOR ) SATS; eller, om vi vill ha mer än en sats utförd, C-syntax if( VILLKOR ){ SATS1; SATS2;... } Björklund (UmU) Programmeringsteknik 29 / 32
30 Funktioner Enten - Eller Ofta vill vi inte bara att vissa satser ska utföras om villkoret är uppfyllt, utan också att andra satser ska utföras om villkoret inte är uppfyllt. void printparity(int n){ if( (n % 2) == 0 ) printf( The number is even.\n ); else printf( The number is odd.\n ); } Björklund (UmU) Programmeringsteknik 30 / 32
31 Funktioner Nästlade if-satser Det finns inget som hindrar att satsen som följer if eller else är en if-sats: if( n == 0 ) if ( m > 1 ) return m; if( n >= 0 ) printf( The number n is non-negative. ); else if( m < 0 ) printf( Both numbers are negative.\n ); else printf( Only n is negative\n ); Björklund (UmU) Programmeringsteknik 31 / 32
32 Funktioner Sammansatta Boolska uttryck som villkor Koden if( n == 0 ) if ( m > 1 ) return m; gör samma sak som if ( n == 0 && m > 1 ) return m; Generellt sett kan vilket uttryck som helst som returnerar en int användas som villkor, till exempel anrop till funktioner med returtyp int. Björklund (UmU) Programmeringsteknik 32 / 32
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
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 -
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
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
SMD 134 Objektorienterad programmering
SMD 134 Objektorienterad programmering Dagens agenda: Typer i Java: primitiva datatyperna, referenstyper Variabler och variabeltilldelningar med primitiva typer Konstanter av de olika typerna. Heltalsräkning
Inledande programmering med C# (1DV402) 27+15=42 1 (22)
27+15=42 1 (22) Variabler Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll
Tentamen OOP 2015-03-14
Tentamen OOP 2015-03-14 Anvisningar Fråga 1 och 2 besvaras på det särskilt utdelade formuläret. Du får gärna skriva på bägge sidorna av svarsbladen, men påbörja varje uppgift på ett nytt blad. Vid inlämning
Övningar Dag 2 En första klass
Kurs i C++ Sid 1 (5) Övningar Dag 2 En första klass Denna övning går ut på att steg för steg bygga upp en klass och skapa objekt. Vi kommer att utgå från en sammansatt datatyp i en struct och parallellt
Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)
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å
Föreläsning 1 & 2 INTRODUKTION
Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga
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
Tentamen i. för D1 m fl, även distanskursen. fredag 13 januari 2012
1 of 6 Ö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ösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Omtentamen i Programmering C, 5p, fristående, kväll, 040110.
1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Denna tenta kommer att vara färdigrättad On 14/1-04 och kan då hämtas på mitt
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
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
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
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
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
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
*Pekarvärden *Pekarvariabler & *
*Pekarvärden *Pekarvariabler & * Motivering Pekare är ett fundamentalt koncept i C (och C++) Multipla returvärden från funktioner. Arrayer hanteras via pekare Dynamiskt minne (kommer i slutet av kursen)
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 C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08
Programmering A C# VT 2010 Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Innehåll Hjälp och referenser... 3 Kap 1 Introduktion... 3 Steg för steg... 3 Kapitel 2 Variabler...
Lösningar till uppgifterna sätts ut på kurssidan på nätet idag kl 13.00. Omtentamen i Programmering C, 5p, A1, D1, E1, Fri, Pr1, Te/Ek1, 040607.
1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till uppgifterna sätts ut på kurssidan på nätet idag kl 13.00. Denna tenta kommer att vara färdigrättad On 9/6 och kan då hämtas på mitt tjänsterum,
Att använda pekare i. C-kod
Att använda pekare i C-kod (Bör användas av de som känner sig lite hemma med C-programmering!) Rev 1, 2005-11-23 av Ted Wolfram www.wolfram.se Syfte: Man kan tycka att det är komplicerat att använda pekare
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
C-programmering, föreläsning 1 Jesper Wilhelmsson
C-programmering, föreläsning 1 Jesper Wilhelmsson Introduktion till C Variabler, Typer, Konstanter Operatorer Villkorliga satser if-else, switch Loopar for, while, do... while Inmatning och utmatning stdin
Översikt 732G11 PROGRAMMERING 1. Personal. Kursens mål. Litteratur. Kursens innehåll 2010-04-22
Översikt 732G11 PROGRAMMERING 1 Institutionen för datavetenskap Om kursen Vad är programmering (bra för)? Programmeringsspråket Java Utvecklingsmiljön Eclipse Genomgång av några programexempel Programmering
Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09
Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09 1. Introduktion till webbprogrammering Webbprogrammering består av ett antal
Objektorienterad programmering i Java
Objektorienterad programmering i Java Föreläsning 4 Täcker i stort sett kapitel 6 i kursboken Java Software Solutions 1 Läsanvisningar Den här föreläsningen är uppbyggd som en fortsättning av exemplet
Sätt att skriva ut binärträd
Tilpro Övning 3 På programmet idag: Genomgång av Hemtalet samt rättning Begreppet Stabil sortering Hur man kodar olika sorteringsvilkor Inkapsling av data Länkade listor Användning av stackar och köer
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
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 Denna gång Reflektioner kring OU1 Funktioner Reflektioner
Föreläsning 3.1: Datastrukturer, en översikt
Föreläsning.: Datastrukturer, en översikt Hittills har vi i kursen lagt mycket fokus på algoritmiskt tänkande. Vi har inte egentligen ägna så mycket uppmärksamhet åt det andra som datorprogram också består,
TENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: 13-06-05 Tid: kl 16.00-20.
Umeå Universitet Datavetenskap Anders Broberg 130605 TENTAMEN Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg VT-13 Datum: 13-06-05 Tid: kl 16.00-20.00 Namn: Personnummer:
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
Ö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
Föreläsning 2: Avlusning och antilustekniker
2D1458, Problemlösning och programmering under press Föreläsning 2: Avlusning och antilustekniker Datum: 2007-09-11 Skribent(er): Emil Hesslow, Stefan Pettersson Föreläsare: Per Austrin Föreläsningen handlade
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
Uttryck och villkor. Föreläsning 2
Uttryck och villkor Föreläsning 2 Dagens kluring Finn fem fel! #include int main(void) printf("resistans hos R1 (ohm) : ") scanf("%d",r1); printf("resistans hos R2 (ohm) : "); scanf("%d",r2);
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
Tentamen i. för D1 m fl, även distanskursen. lördag 19 januari 2013
1 of 7 Örebro universitet Institutionen 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
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
Chapter 3: Using Classes and Objects
Chapter 3: Using Classes and Objects I dessa uppgifter kommer du att lära dig om hur man använder klasser och metoder från java biblioteket. Du kommer inte att förstå allt som händer bakom metod anrop
KPP053, HT2015 MATLAB, Föreläsning 1. Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner
KPP053, HT2015 MATLAB, Föreläsning 1 Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner MATLAB Väletablerat Mycket omfattande program GNU OCTAVE Öppen
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)
Föreläsning 4. Val, boolska värden, läsbarhet, osv
Föreläsning 4 Val, boolska värden, läsbarhet, osv Exempel /* Programmeringsteknik med C och Matlab Programmering i C HT13 Exempel Fil: plus_one.c Författare: Jonny Pettersson Användare: jonny Datum: 7
Parameteröverföring. Exempel. Exempel. Metodkropp
Exempel atriangle.changesize (100, 50); // OK atriangle.changesize (100); // fel antal atriangle.changesize ( 1, 50); // fel datatyp char c = atriangle.getarea (); // fel datatyp Parameteröverföring I
"if"-satsen. Inledande programmering med C# (1DV402)
"if"-satsen Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll i verket if-satsen
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
Uttryck och villkor. Föreläsning 2
Uttryck och villkor Föreläsning 2 Dagens kluring Finn fem fel! #include int main(void) printf("resistans hos R1 (ohm) : ") scanf("%d",r1); printf("resistans hos R2 (ohm) : "); scanf("%d",r2);
DD1361 Programmeringsparadigm. Carina Edlund
DD1361 Programmeringsparadigm Carina Edlund carina@nada.kth.se Funktionell programmering Grundidéen med funktionell programmering är att härma matematiken och dess funktionsbegrepp. Matematiskt funktionsbegrepp
Föreläsning 6: Introduktion av listor
Föreläsning 6: Introduktion av listor Med hjälp av pekare kan man bygga upp datastrukturer på olika sätt. Bland annat kan man bygga upp listor bestående av någon typ av data. Begreppet lista bör förklaras.
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
Programmeringsuppgifter 1
Programmeringsuppgifter 1 Redovisning: Ni demo-kör och förklarar för handledaren några av de program ni gjort. Ni behöver inte hinna allt, redovisa så långt ni kommit. Om ni hinner mer kan ni alltid redovisa
Agenda. Arrayer deklaration, åtkomst Makron Flerdimensionella arrayer Initiering Strängar Funktioner och arrayer. Övningar nu och då
Agenda Arrayer deklaration, åtkomst Makron Flerdimensionella arrayer Initiering Strängar Funktioner och arrayer Övningar nu och då 1 Motivering I de flesta problem ingår att hantera multipla data I de
För att skriva data till skärmen ( konsolen) används objektet System.out tillsammans med metoden println eller print.
1 Inmatning och utskrift Inmatning från tangentbord och utskrift till skärm sker i java med hjälp av objekten System.out och System.in. Dessa båda objekt är exempel på strömmar. En ström är en typ som
Föreläsning 4: Poster
Föreläsning 4: Poster Följande är genomgånget: type Person_Type is Namn : String(30); Skonr : Float; Kon : Boolean; Diskussion runt detta med olika typer m.m. Har tagit upp vilka operationer man kan göra
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
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
Skriv i mån av plats dina lösningar direkt i tentamen. Skriv ditt kodnummer längst upp på varje blad.
5(16) Tentamen på kurserna Programmeringsteknik med C och Matlab Programmering i C Tid: 2/11-11, kl. 9-13 Lärare: Jonny Pettersson Totalt: 60 poäng Betyg 3: 30 poäng Betyg 4: 39 poäng Betyg 5: 48 poäng
Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.
Bankkonto - övning Övningar att göra efter lärardemostration. Filen bankkonto.zip innehåller ett projekt med klassen Bankkonto. Zippa upp denna fil och öppna projektet i BlueJ och skriv vidare på klassen
Objektorienterad programmering D2
Objektorienterad programmering D2 Laboration nr 2. Syfte Att få förståelse för de grundläggande objektorienterade begreppen. Redovisning Källkoden för uppgifterna skall skickas in via Fire. För senaste
4 Sammansatta datatyper
4 Sammansatta datatyper De enkla datatyper som vi hittills använt är otillräckliga när man ska hantera stora datamängder. Vill man exempelvis läsa in 100 reella mätvärden, som man tillfälligt vill spara
Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten 2010
Föreläsning 6 Kapitel 5 5.1 switch-satsen Vi ser på ett par exempel ur boken: int a; srand(time(0)); a=rand()%6+1; if(a==1) printf("hej Du glade\n"); else if(a==2) printf("god dag\n"); else if(a==3) printf("är
Innehållsförteckning. Exempel. Åtkomst & användarhandledning
Framsidan Framsidan på din labrapport kan du utforma ganska fritt. Tänk bara på att den ska vara läsbar, och innehålla (minst) följande information: Ditt namn Din e-mail adress här på CS! Kursens namn
Institutionen för datavetenskap 2014/15
LUNDS TEKNISKA HÖGSKOLA Datorer och datoranvändning Institutionen för datavetenskap 2014/15 ME en dator 1 Inledning ME är en påhittad dator, men den har likheter med riktiga datorer: det finns ett maskinspråk
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
Examination i. PROGRAMMERINGSTEKNIK F1/TM1 TIN212 (Dugga) Dag: Onsdag Datum: 2014-12-17 Tid: 9.00-12.00 (OBS 3 tim) Rum: V
Data och Informationsteknik / Computer Science and Engineering Chalmers University of Technology and University of Gothenburg Erland Holmström Göteborg 16 dec 2014 Examination i PROGRAMMERINGSTEKNIK F1/TM1
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
HI1025 Operativsystem, KTH Haninge, VT2012
Del 2 av kursen: Systemprogrammering. Tillfälle 5 (F): Introduktion till programmering med parallella processer: fork(), wait(), exit(), getpid(), getppid(), execl(), execvp(). 1. Parallella processer
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
DD1314 Programmeringsteknik
Skolan för Datavetenskap och kommunikation DD1314 Programmeringsteknik Föreläsning 1 o print o variabler o reserverade ord o input o kommentarer o beräkningar o datatyper o if-satser Kursinformation Programmering:
Introduktionslaboration
TDDC76 Laborationshandledning 1 TDDC76 Programmering och datastrukturer Introduktionslaboration Denna introduktionslaboration introducerar programmeringsspråket C++, hur du skriver enkla C++-program samt
Programmeringsteknik med C och Matlab
Programmeringsteknik med C och Matlab Kapitel 6: Filhantering Henrik Björklund Umeå universitet 13 oktober 2009 Björklund (UmU) Programmeringsteknik 13 oktober 2009 1 / 22 Textfiler Filer är sekvenser
Tentamen i Programmering grundkurs och Programmering C
1 of 7 Örebro universitet Institutionen 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
C++ Slumptalsfunktioner + switch-satsen
C++ Slumptalsfunktioner + switch-satsen Veckans avsnitt består av ett antal lite udda funktioner man kan ha nytta av när man skriver program. Det är en slumptalsgenerator och lite annat smått och gott.
Övning från förra gången: readword
(9 september 2010 T4.1 ) Övning från förra gången: readword /** readword.c * * int readword(char w[], int n) { * * Läser tecken tills en bokstav påträffas. * Läser och lagrar sedan högst n-1 bokstäver
Textsträngar från/till skärm eller fil
Textsträngar från/till skärm eller fil Textsträngar [Kapitel 8.1] In- och utmatning till skärm [Kapitel 8.2] Rekursion Gränssnitt Felhantering In- och utmatning till fil Histogram 2010-10-25 Datorlära,
Planering Programmering grundkurs HI1024 HT 2014
Planering Programmering grundkurs HI1024 HT 2014 Föreläsning V36 Föreläsning 1 Vad är programmering? Boken! Kurs-PM Vad är ett program? Kompilerande- Interpreterande Programmeringsmiljö Hello World! Att
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
Föreläsning 6 pekare och pekare tillsammans med arrayer
Föreläsning 6 pekare och pekare tillsammans med arrayer Vi ska nu undersöka vad pekare egentligen är och hur de relaterar till arrayer. Det är ett centralt tema i C-programmering. Vi följer boken och går
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
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!
TAIU07 Matematiska beräkningar med Matlab
TAIU07 Matematiska beräkningar med Matlab Datorlektion 2. Villkor och Repetition 1 Logiska uttryck Uppgift 1.1 Låt a=3 och b=6 Vad blir resultatet av testerna ab? Uppgift 1.2 Låt a, b,
Hjälpmedel för kompilatorkonstruktion, DVB004
Hjälpmedel för kompilatorkonstruktion, DVB004 Version 4.2 021104 Göran Fries 031104 GF Kompilatorn kan lämpligen konstrueras i tre ganska fristående pass (p1,p2,p3). Första passet gör en lexikalisk analys,
Funktioner och programstruktur. Föreläsning 5
Funktioner och programstruktur Föreläsning 5 Dagens kluring int v[10]=1,2,3,4,5,6,7,8,9,10; int i; for(i=0;i
En kort text om programmering i C.
En kort text om programmering i C C skapades 1972 av Brian Ritchie och Dennis Kerighan på Bell Labs i USA Det blev det språk som är mest använt genom tiderna Det finns många olika språk Pascal, FORTH,
Funktioner och programstruktur. Föreläsning 5
Funktioner och programstruktur Föreläsning 5 Dagens kluring int v[10]=1,2,3,4,5,6,7,8,9,10; int i; for(i=0;i
Boken?!?! Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera och ett enkelt program Variabler printf
Föreläsning1 Boken?!?! Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera och ett enkelt program Variabler printf scanf Ni behöver läsa boken både för att
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
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
a), c), e) och g) är olikheter. Av dem har c) och g) sanningsvärdet 1.
PASS 9. OLIKHETER 9. Grundbegrepp om olikheter Vi får olikheter av ekvationer om vi byter ut likhetstecknet mot något av tecknen > (större än), (större än eller lika med), < (mindre än) eller (mindre än
5 Grundläggande in- och utmatning
5 Grundläggande in- och utmatning För att användaren skall kunna kommunicera med programmet krävs att man inkluderar ett eller flera bibliotek med rutiner. I Ada finns det ett antal paket som gör detta
Algoritmanalys. Genomsnittligen behövs n/2 jämförelser vilket är proportionellt mot n, vi säger att vi har en O(n) algoritm.
Algoritmanalys Analys av algoritmer används för att uppskatta effektivitet. Om vi t. ex. har n stycken tal lagrat i en array och vi vill linjärsöka i denna. Det betyder att vi måste leta i arrayen tills
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 (
MMA132: Laboration 1 Introduktion till MATLAB
MMA132: Laboration 1 Introduktion till MATLAB De flesta numeriska metoder låter oss få en tillräckligt bra lösning på ett matematiskt problem genom att byta ut komplexa matematiska operationer med kombinationer
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
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
EnKlass. Instans 3 av EnKlass. Instans 2 av EnKlass
Övningstillfälle 4 Klasser och objekt (s. 221 ff.) Syfte 1: En naturlig fortsättning på koncepten abstraktion och inkapsling! Funktion (återanvändning av skyddad, säker och testad kod) Modul (återanvändning
Dynamisk HTML JavaScript och webbläsarens objektmodell
Dynamisk HTML 1 JavaScript och webbläsarens objektmodell Ove Lundgren (2009) Ove Lundgren - 1 - DOMDHTML2009.doc Innehåll Dynamisk HTML Webbläsarens variabler och metoder. Objektmodellen. Anropa metoder