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

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

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

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

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

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

Att komma igång. Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera och ett enkelt program

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

Uttryck och villkor. Föreläsning 2

Uttryck och villkor. Föreläsning 2

Föreläsning 2. Operativsystem och programmering

Instruktioner för att kunna programmera på skolans datorer

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

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

Introduktion till programmering och Python Grundkurs i programmering med Python

Introduktion till programmering, hösten 2011

Planering Programmering grundkurs HI1024 HT 2014

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera

Programmeringsteknik med C och Matlab

NetBeans 7. Avsikt. Projektfönster

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

Objektorienterad Programmering (TDDC77)

NetBeans 5.5. Avsikt. Projektfönster

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

Grundkurs i programmering - intro

En kort text om programmering i C.

Planering Programmering grundkurs HI1024 HT data

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

Planering Programmering grundkurs HI1024 HT TIDAA

*Pekarvärden *Pekarvariabler & *

Programmering i C, 7,5 hp

Eclipse. Avsikt. Nu ska ett fönster liknande figuren till höger synas.

Loopar och datatyper. Föreläsning 3

Innehålls förteckning

Föreläsning 9. Repetition och exempelproblem

tentamensdags och lab 3

Loopar och datatyper. Föreläsning 3

TDIU01 - Programmering i C++, grundkurs

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

Code-Lite tutorial ( /RoJ)

Extramaterial till Matematik Y

Repetition C-programmering

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.

Föreläsning 10. Pekare (Pointers)

Programmering, grundkurs, 8.0 hp HI1024, HI1900 etc., Tentamen TEN1. Måndagen den 10 januari 2011,

Introduktion C-programmering

Objektorienterad programmering i Java I

2.1 Variabler. 2.2 Regler för namngivning i C. Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten Föreläsning 2

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

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Användarhandledning Version 1.2

Indexerade variabler

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

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

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Programmering i C++ Kompilering från kommandoraden

Övning 1. Datateknik A, Java I, 5 poäng. Att ladda hem och installera Java Att skriva ditt första Javaprogram Att kompilera och exekvera ditt program

Arrays (indicerade variabler) Föreläsning 6

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg

Programmering i C. Christer Sandberg, Gunilla Eken, Stefan Bygde Olof Andersson Linus Källberg Caroline Uppsäll Johan Hägg

Laboration 1 Introduktion till Visual Basic 6.0

1 Datorer och program

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

Laboration 10 - Eclipse

Övningar i 2D2050. Per-Anders Staav (kallas Pa) Epost: eller

Så här skriver du ditt första program i C++

Att använda pekare i. C-kod

Program. Kapitel make Program Interpreterande och kompilerande program

OOP Objekt-orienterad programmering

Program & programmering

Objektorienterad programmering i Java

Agenda. Arrayer deklaration, åtkomst Makron Flerdimensionella arrayer Initiering Strängar Funktioner och arrayer. Övningar nu och då

Objektorienterad Programmering (TDDC77)

Inledande programmering med C# (1DV402) Introduktion till C#

Skriv i mån av plats dina lösningar direkt i tentamen. Skriv ditt kodnummer längst upp på varje blad.

Arrays (indicerade variabler) Föreläsning 4

Introduktion till användning av linux-servern sledge och några övningsuppgifter

Föreläsning 1: Intro till kursen och programmering

Editering, Kompilering och Exekvering av Javaprogram

F4. programmeringsteknik och Matlab

Föreläsning 13. In- och utmatning

Klassdeklaration. Metoddeklaration. Parameteröverföring

Enkla datatyper minne

Funktioner och programstruktur. Föreläsning 5

I denna laboration undersöker vi hur aritmetiska beräkningar utförs. Vi tittar på olika variabeltyper: 8-bitars, 16-bitars, 32-bitars och flyttal.

Johan Karlsson Datavetenskap för teknisk kemi, 10p, moment 1 Datavetenskap Umeå Universitet. Tentamen

Hantering av textsträngar och talsträngar. William Sandqvist

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

Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell

TDIU01 (725G67) - Programmering i C++, grundkurs

HI1024 Programmering, grundkurs TEN

Grundläggande programmering DVG A08 & ISG A04. Allmän information. Å vem är jag då. Karlstads Universitet, Johan Öfverberg 1

Programmering för språkteknologer I, VT2012. Rum

Programmeringsteknik med C och Matlab

Lektion Java Grunder. Javas historia. Programmeringsspråket Java. Skillnaderna mellan Java och C++ JVM (Javas Virtuella Maskin)

Inledande programmering med C# (1DV402) 27+15=42 1 (22)

Variabler använder man sig av för att under programkörningen spara data eller information i primärminnet. En variabel har typ, namn och värde.

Föreläsning 1: Intro till kursen och programmering

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

Transkript:

Att komma igång Föreläsning 1

Att komma igång Vad är programmering? Boken! Kurs-PM Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera Variabler printf scanf

Vad är programmering? Ett väldigt kraftfullt, effektivt och roligt sätt att kommunicera med en dator Att skapa program / applikationer till en dator eller annan hårdvara (mobil, dammsugare, brödrost, miniräknare) Ett strukturerat generellt sätt att lösa problem

Hur lär man sig att programmera? Övning övning övning programmering är ett hantverk! Det är helt avgörande att ni jobbar med uppgifterna som hör till varje föreläsning direkt. Endast föreläsningen ger ingenting! Gör allt ni kan för att hålla er i fas. Ni får/bör hjälpa varandra men aldrig kopiera kod. Du måste förstå vad du programmerar vad varje rad gör! För att lära dig programmera (och för att hitta fel) måste du kunna läsa koden såsom en dator (kompilator) läser koden.

Vad har du lärt dig när kursen är klar? C Programmering Problemlösning

Boken! Ni behöver läsa boken både för att lära er sånt vi inte hinner på föreläsningen och för att lära er att lära från en bok. Har ni använt boken aktivt under kursen kommer den senare vara en följeslagare genom er programmeringskarriär som ni kan gå tillbaka till igen och igen både för att repetera och för att lära er nytt. Det är dessutom boken ni får ha med er på den praktiska tentamen. Hittar ni i boken är den då ett mycket bra stöd.

Kurs - PM Genomgång

Vad är ett program? En processor kan endast utföra extremt enkla operationer såsom: flytta ett tal i minnet till en annan plats, lägga ihop ett tal med ett annat tal, dela ett tal med två osv. Ett program som processorn kör måste därför bestå av sådana enkla instruktioner. Dessutom finns hoppinstruktioner som gör att den kan köra om sekvenser av koden (oftast efter att ha bytt plats på talen i minnet). Förutom vid hoppinstruktioner utför processorn instruktionerna i ordning en efter en. - ett sådant enkelt program som processorn kan förstå sägs vara i maskinkod Oftast vill man själv inte programmera i maskinkod då det blir extremt arbetsamt att få datorn att göra något användbart. Istället programmerar vi i något högnivåspråk, t.ex C. Denna kod kallas källkod (C-kod). Denna kompileras sedan av en kompilator (ett program) till maskinkod ett program som processorn kan förstå. Filen som vi då får kallas för exekverbar eller körbar.

Kompilerande-Interpreterande Det ovan beskrivna sättet att arbeta beskriver hur man arbetar med kompilerande språk. Ex. C, C++, Fortran I interpreterande språk kompileras inte koden i förväg. Istället låter vi ett program översätta åt processorn varje gång vi kör koden. Dessa program kallas interpreterande. Ex. Basic, Lisp Samma språk kan ha båda möjligheterna. (Java är ett mellanting)

Programmeringsmiljö För att kunna programmera behöver vi editor för att skriva vår kod kompilator kompilerar vår kod till ett körbart program Kompilatorn består ofta av flera program (preprocessor, kompilator, länkare) som skapar vårt körbara program i flera steg. Alla program man använder för att programmera (oftast fler än ovan, tex debugger) utgör ens programmeringsmiljö. Det är helt avgörande för er framgång på kursen att ni redan idag får igång en sådan på er dator. Förhoppningsvis har ni gjort detta på introkursen men annars se till att ni inte går härifrån förrän ni lyckats. Gå in på introkursen HF0010 (länk finns på kth-social) och följ instruktionen i föreläsning 3. Kom ihåg att installera Codeblocks med mingw inkluderad.

Hello World! Är ett litet program som gör minsta möjliga för att testa att man har en fungerande programmeringsmiljö och att man förstår hur man använder den: #include <stdio.h> int main(void) { printf("hello World! \n"); return 0; } Ett litet första steg mot fantastiska program! Börja alltid med detta i en ny miljö och backa alltid hit om du har problem.

Codeblocks Välj File->New->Empty file Välj File->Save file as Spara filen som hello.c i en katalog på hårddisken där du vill ha dina program. Kom ihåg att göra back-up-er på denna katalog! Filen kan heta vad den vill men namnet får endast innehålla bokstäver och siffror och inte mellanslag, å, ä eller ö. Skriv i texten från föregående bild och spara. Om du kopierar kan du få med konstiga tecken. T.ex kan bli felaktiga. Välj Build->Build Det har nu skapats en fil hello.o (objektsfil) och en fil hello.exe (körbar fil) Välj Build->Run Kommandotolken öppnas och programmet körs. Du kan också köra programmet genom att dubbelklicka på det i utforskaren (kommandotolken stängs dock direkt programmet har kört klart) eller genom att öppna kommandotolken och gå till rätt katalog och där köra kommandot hello.exe. OBS stäng aldrig ner kommandotolken med X utan tryck return. Har programmet hängt sig kan du prova ctrl-c. Gäller särskilt på tentamen!

Kommandotolken Om man inte vill använda Codeblocks för att köra gcc (eller mingw som den heter för windows) så behöver man sätta path-variabeln så att den har en pekare till kompilatorn och andra gcc-exe-filer. Exakt hur man gör detta varierar mellan windowsversioner. Om ni gör detta var försiktiga så att ni endast lägger till en path och inte tar bort något. Har man gjort detta kan man köra programmen i kommandotolken: C:\>cd CProgram C:\CProgram>gcc Hello.c -o Hello.exe C:\CProgram>Hello.exe Hello World! Detta är dock inte prioriterat just nu utan det är viktigare att ni kommer igång med att programmera!

Ett enkelt program /* Calculation of distance when travelling at speed 25 m/s */ #include <stdio.h> int main(void) { int distance,speed,time; speed = 25; printf("hur lang tid? "); scanf("%d", &time); Hur programmerar man? skriv en rad kompilera provkör osv Hur läser man ett program? Som en kompilator rad efter rad Vad gör varje tecken? Allt betyder något Målet är att förstå allt ibland får ni nu i början nöja er med att acceptera Kompilatorn är extremt kinkig ha tålamod kompileringsfel är enkla att fixa! distance = speed * time; } printf("med 25 m/s kommer du att fardas %d m.\n",distance); printf("lycka till pa farden\n"); return 0; Observera indentering! -tabbningen

Variabler Måste deklareras innan de används: int i; float x,z; //int blir variabelns datatyp dvs heltal //-decimaltal Ges ett värde med tilldelning = (ej lika med!) i=4; x=3.4; Kan sedan användas i uttryck: z= i*x+2; Ska normalt ges så beskrivande namn som möjligt. Får ej börja med siffra, innehålla mellanslag eller reserverade ord: numberof, weight1, weigtht2, nrofcars, nrof_cars

Resistorer #include <stdio.h> int main(void) { float r1,r2,r3; printf("resistans hos R1 (ohm) : "); scanf("%f",&r1); printf("resistans hos R2 (ohm) : "); scanf("%f",&r2); r3=r1*r2/(r1+r2); printf("r3 beraknas till %6.3f ohm\n",r3); return 0; }

Funktionen printf(string, ) Ex: printf( antal: %d, vikt %f,numberof,weight); Omvandlingsspecifikationer: %m.px (alt %-m.px för vänsterjusterat) m p minsta antalet platser utskriften blir (större vid behov) -valfri antalet decimaler -valfri X d betyder heltal e betyder decimaltal i grundpotensform f betyder decimaltal Escape sequences: \n ny rad \t tabb \

Exempel printf #include <stdio.h> int main(void) { int numberof=6; float weight=3.2f; //f förtydligar att det är float printf("antal: %d, vikt: %f\n", numberof, weight); float angle = 12.3456f; printf("vinkeln:%8.2f radianer\n",angle); } return 0; utskrift: Antal: 6, vikt: 3.200000 Vinkeln: 12.35 radianer

Funktionen scanf(string, ) Ex: scanf("%d%f", &numberof, &weight); -låter oss läsa in ett heltal till variabeln numberof och ett decimaltal till variabeln weight från användaren. Om användaren matar in: 4 3.7 <enter> får antal värdet 4 och vikten värdet 3.7 &-tecknet före variabelnamnet kallas adress-operatorn och gör att vi skickar minnesadressen istället för värdet till scanf. scanf behöver ju veta var den ska stoppa data! Viktigt!

Exempel scanf #include <stdio.h> int main(void) { int dividend,divisor; printf("kvot:"); scanf("%d / %d",&dividend,&divisor); printf("%d/%d=%d\n", dividend, divisor, dividend/divisor); } return 0; Kvot:7/3 7/3=2