Björn Abelli
Programmeringens grunder
med exempel i C#

Detta är en lärobok i grundläggande programmering. Den fokuserar på att lära ut det som är gemensamt för de flesta programmeringsspråk – de grundläggande elementen och programkonstruktionerna och hur dessa relaterar till varandra, oberoende av språket. Vilket språk programmet skrivs i måste vara underordnat den uppgift programmet skall lösa. Boken går därför igenom grunderna i strukturerad programmering och visar otaliga exempel i såväl flödesdiagram, strukturdiagram, pseudokod som i källkod. I slutet av boken finns kapitel som går igenom grunderna även i objektorienterad programmering.

Boken tonar ner inlärningen av ett specifikt programmeringsspråk, men i slutändan måste program ändå skrivas i något språk. Exemplen är skrivna i C# som har slagit igenom som ett praktiskt programmeringsspråk på mycket kort tid och redan börjat göra sitt intåg i högskolekurser i programmering.

I första hand är boken avsedd för nybörjare i programmering på högskolenivå, som vill lära sig programmeringens grunder.

För att köpa boken, kontakta din bokhandlare eller beställ den direkt från Studentlitteratur.

ISBN: 91-44-03597-7

Förord
Inledning

     Källkodsexempel och bokens notation
     Disposition

Del 1 Programmering och datorn

Vad är ett program, egentligen ?
     Datorns språk
     Assembler
     Högnivåspråk
     Kompilering
     Interpretering
     Bytekod och JIT-kompilering
     Länkning
     Mer om kompilering och interpretering
     Kategorier av högnivåspråk
     Programflöde och användarinteraktion
     Exempel från olika programmeringsspråk
     Att göra ett program i C#

Utvecklingsprocesserna
     Databehandling och informationssystem
     Systemutvecklingsprocessen
     Programmeringsprocessen
     Det minsta systemet

Problemlösning
     Vad är problem?
     Vad är problemlösning?
     Strukturerad problemlösning
     Strukturerad programmering

Del 2 Grundläggande element

Byggstenarna
     Först lite om C#
     Literaler och variabler
     Kommentarer i källkoden
     Konstanter
     Uttryck och operatorer
     Datatyper
     Vektorer
     Posttyper
     Fler operatorer
     Procedurer och funktioner
     Variablers synlighet och räckvidd
     Värde- och referenstyper
     Skräpsamling
     Några färdiga funktioner
     Datum

Inmatning och utmatning (tangentbord och skärm
     System.Out och System.Error
     Escapesekvenser
     System.In

Namnrymder

Felsökning och felhantering
     Avlusning
     Kompileringsfel
     Logiska fel
     Spårutskrifter
     Undantagshantering (Exceptions)

Jämförelser med några andra språk
     Datatyper
     Operatorer
     Vektorer
     Posttyper
     Procedurer och funktioner
     Datum
     Undantagshantering

Del 3 Strukturerad programmering

Gör ritningen innan du bygger huset
     Beskrivningar av algoritmen
     Flödesdiagram
     Jackson Structured Programming (JSP)
     Pseudokod

Elementen i strukturerad programmering
     Sekvenser
     Selektioner
     Iterationer
     Fällor vid iterationer och selektioner
     Strukturerad programmeing utav metoder

Några grundläggande standardalgoritmer
     Utökning av en vektor
     Minskning av en vektor
     Sortering
     Sökning
     Sorteringar och sökningar på annat än heltal
     Förena vektorer (merge)
     Länkade listor
     Binära sökträd

Skrivning och läsning till och från datafiler
     Att skriva till en textfil
     Att läsa från en textfil

Jämförelser med några andra språk
     Strukturerad programmering
     Filhantering

Del 4 Objektorientering

Objektorienterade utvecklingsprocesser
     Grundläggande principer
     Vad är objekt?
     Unified Modeling language (UML)

Klasser och objekt
     Skapa och använda objekt
     Sekvensdiagram

Operationer och metoder
     Instans- och klassmetoder
     Konstruktor och destruktor

Arv
     Enkelt eller multipelt arv
     Abstrakta klasser
     Interface

Samlingsklasser
     Istället för vektorer
     Mer om sorteringar

Polymorfism
     Polymorfa variabler
     Dynamisk bindning

Associationer
     Associationer, aggregat och komposition
     Kardinalitet och optionalitet
     Mer om associationer

Räckvidd och synlighet
     Instans- och klassvariabler
     Inkapsling av attribut och metoder

Grafiska användargränssnitt
     Grafiska objekt

Händelsehanterare

Knappar och rutor
     Kryssrutor (CheckBox)
     Alternativknappar (RadioButton och GroupBox)
     Popmeny (ComboBox)
     Massor av grafiska komponenter

Del 5 Bilagor, tabeller, mm

     Ordlista
     Sökvägen till kompilatorn
     Nyckelorden i C#
     Operatorerna i C#
     Prioritetsordningen i C#
     Hur du förskönar din källkod
     Tips för att lära sig nya språk
     Sakregister


För att kontakta mig för synpunkter, kommentarer eller frågor kring boken eller denna webbsida, finns en särskild epostadress:

grundprog@abelli.se

Disclaimer: The email-addresses found on this site belongs to swedish citizens, and accordingly swedish legislation on unsolicited commercial email (UCE, UBE) is valid. Hereby we inform all intended parties that sending UCE, UBE or other forms of SPAM to any addresses on or connected to this site is prohibited, and will be prosecuted, as well as reported to authorities and organizations to block your internet resources from the rest of the internet.