Skillnad mellan versioner av "Kap 1 Introduktion till programmering (C/Cpp 23)"

Från Mathonline
Hoppa till: navigering, sök
m
m
 
(35 mellanliggande versioner av samma användare visas inte)
Rad 1: Rad 1:
__TOC__
+
__NOTOC__
<b>Mån 18 sep, kl 13-16</b>
+
<!-- <big>Mån 18 sep, kl 13-16</big> -->
 
+
 
+
 
{| border="0" cellspacing="0" cellpadding="0" height="30" width="100%"
 
{| border="0" cellspacing="0" cellpadding="0" height="30" width="100%"
 
| style="border-bottom:1px solid #797979" width="5px" | &nbsp;
 
| style="border-bottom:1px solid #797979" width="5px" | &nbsp;
{{Not selected tab|[[Lektion 1 (C/Cpp 23)|Agenda]]}}
+
{{Not selected tab|[[Lektion 1 (C/Cpp 23)| <<&nbsp;&nbsp;Agenda]]}}
{{Selected tab|[[Kap 1 Introduktion till programmering|Genomgång 1]]}}
+
{{Selected tab|[[Kap 1 Introduktion till programmering (C/Cpp 23)|<span style="font-weight:lighter">Genomgång 1</span>]]}}
 
{{Not selected tab|[[Övningar 1 (C/Cpp 23)|Övningar 1]]}}
 
{{Not selected tab|[[Övningar 1 (C/Cpp 23)|Övningar 1]]}}
<!-- {{Not selected tab|[[Planering för preparandkursen i programmering|Kursens planering]]}} -->
+
{{Not selected tab|[[Innehåll Programmering 1|Innehåll och struktur]]}}
 +
<!-- {{Not selected tab|[http://mathonline.se/Planering_Progr_Cpp_ht_23.pdf Planering]}} -->
 
{{Not selected tab|[[Lektion 2 (C/Cpp 23)|Nästa lektion&nbsp;&nbsp;>> ]]}}
 
{{Not selected tab|[[Lektion 2 (C/Cpp 23)|Nästa lektion&nbsp;&nbsp;>> ]]}}
 
| style="border-bottom:1px solid #797979"  width="100%"| &nbsp;
 
| style="border-bottom:1px solid #797979"  width="100%"| &nbsp;
Rad 18: Rad 17:
 
<div class="ovnE">
 
<div class="ovnE">
 
<big>
 
<big>
Var och en har ett intuitivt svar på denna fråga. Vi vill precisera svaret genom att:
+
Var och en har ett intuitivt svar på denna fråga. Vi vill precisera svaret genom att
  
Sätta begreppet i rätt sammanhang, avgränsa det från andra, närbesläktade ämnen.
+
sätta begreppet i rätt sammanhang och avgränsa det från andra, närbesläktade ämnen.
  
 
Låt oss börja med att ge <i>negativa</i> svar:
 
Låt oss börja med att ge <i>negativa</i> svar:
Rad 32: Rad 31:
  
  
===== <b><span style="color:#931136">Slutsats från punkt 2) <math> \dots </math> ingen vetenskap:</span></b> =====
+
===== <span style="color:#931136">Slutsats från punkt 2) <math> \dots </math> ingen vetenskap:</span> =====
 
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Progr_Praktiskt_650.jpg]]</div>
 
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Progr_Praktiskt_650.jpg]]</div>
 
</div>
 
</div>
Rad 39: Rad 38:
 
== <b><span style="color:#931136">Två positiva svar</span></b> ==
 
== <b><span style="color:#931136">Två positiva svar</span></b> ==
 
<div class="ovnC">
 
<div class="ovnC">
=== <b><span style="color:#931136">1. Programmering som problemlösning</span></b> ===
+
=== <span style="color:#931136">1. Programmering som problemlösning</span> ===
 
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Vad_Progr_2a.jpg]]</div>
 
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Vad_Progr_2a.jpg]]</div>
  
  
=== <b><span style="color:#931136">2. Programmering som modellering</span></b> ===
+
=== <span style="color:#931136">2. Programmering som modellering</span> ===
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Program_Modell_650.jpg]]</div>
+
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Program_Modell_650a.jpg]]</div>
 
</div>
 
</div>
 
</div>
 
</div>
Rad 50: Rad 49:
  
 
= <b><span style="color:#931136">1.2 &nbsp;&nbsp; Kompilering och exekvering</span></b> =
 
= <b><span style="color:#931136">1.2 &nbsp;&nbsp; Kompilering och exekvering</span></b> =
<div class="ovnC">
+
<div class="ovnA">
 
<big>  
 
<big>  
 
Hur hamnar programkoden i datorn? Det handlar om samspelet mellan mjukvaran och hårdvaran.
 
Hur hamnar programkoden i datorn? Det handlar om samspelet mellan mjukvaran och hårdvaran.
Rad 66: Rad 65:
  
 
= <b><span style="color:#931136">Kompilering = översättning av källkod till maskinkod</span></b> =
 
= <b><span style="color:#931136">Kompilering = översättning av källkod till maskinkod</span></b> =
<div class="ovnA">
+
<div class="ovnC">
 
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Kompilering.jpg]]</div>
 
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Kompilering.jpg]]</div>
 
</div>
 
</div>
  
<!--
 
= <b><span style="color:#931136">Fortsätt med att läsa i [http://mathonline.se:1806/boken%20progr%20cpp.pdf <span style="color:blue">kursboken</span>]:</span></b> =
 
-->
 
  
= <b><span style="color:#931136">Olika typer av fel</span></b> =
+
= <b><span style="color:#931136">Editorer & IDE</span></b> =
 
<div class="ovnE">
 
<div class="ovnE">
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Olika_typer_fel.jpg]]</div>
+
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Editorer_IDE.jpg]]</div>
 
</div>
 
</div>
  
  
= <b><span style="color:#931136">2.3 &nbsp;&nbsp; Från C till C++</span></b> =
+
= <b><span style="color:#931136">Regler för filändelser</span></b> =
 
<div class="ovnC">
 
<div class="ovnC">
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Fran_C_Cpp_1.jpg]]</div>
+
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Regler_Filandelser_Cpp.jpg]]</div>
 +
</div>
  
  
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Fran_C_Cpp_2.jpg]]</div>
+
= <b><span style="color:#931136">Att hantera filändelser</span></b> =
 
+
<div class="ovnA">
 
+
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Hantering_Filandelser.jpg]]</div>
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Fran_C_Cpp_3.jpg]]</div>
+
 
</div>
 
</div>
  
<br>
 
  
= <b><span style="color:#931136">3.1 &nbsp;&nbsp; Vårt första C++ program</span></b> =
+
= <b><span style="color:#931136">Olika typer av fel</span></b> =
 
<div class="ovnE">
 
<div class="ovnE">
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: MyFirstc.jpg]]</div>
+
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Olika_typer_fel.jpg]]</div>
 
+
 
+
<big><big>I själva verket får man detta fönster när man exekverar programmet <b>MyFirst</b>:
+
 
+
 
+
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: MyFirst_Consoleb.jpg]]</div>
+
 
+
 
+
Förvrängningarna av <b>ä</b> och <b>ö</b> åtgärdas senare, se programmet <b>MyFirstSwed</b>.
+
 
+
Först måste vi reda ut några begrepp: Varför kallar vi koden <b>MyFirst</b> för <b>program</b>?</big></big>
+
 
</div>
 
</div>
  
  
= <b><span style="color:#931136">Vad är ett program i C/C++?</span></b> =
+
= [[Kap_1_Introduktion_till_programmering_(Forts.)#1.4_.C2.A0.C2.A0_Om_programmeringsspr.C3.A5ken_C_och_C.2B.2B|<b><span style="color:#931136">1.3 &nbsp;&nbsp; Om programmeringsspråken C och C++</span></b>]] =
<div class="border-divblue">
+
<big>
+
Ett C/C++ program är en samling av <b>funktioner</b> (C) och <b>klasser</b> (C++).
+
 
+
En och endast en av dessa funktioner måste vara <b>main()</b> som är start-
+
 
+
punkten för programmets exekvering.
+
 
+
Funktioner förekommer i <b>C</b> program, medan i <b>C++</b> kan även klasser vara
+
 
+
beståndsdelar av ett program.
+
 
+
I Visual Studio får det finnas endast <b>ett</b> main() i ett projekt.
+
</big>
+
</div>
+
 
+
 
+
= <b><span style="color:#931136">Funktionen main()</span></b> =
+
<div class="ovnE">
+
=== <b><span style="color:#931136">Programmets exekveringspunkt</span></b> ===
+
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Funktionen_maina.jpg]]</div>
+
</div>
+
  
  
= <b><span style="color:#931136">Gå vidare med [[Övningar 1 (C/Cpp 23)|<span style="color:blue">Dagens övningar</span>]] när du är klar med genomgången ovan.</span></b> =
+
== <b><span style="color:#931136">Gå vidare med [[Övningar 1 (C/Cpp 23)|<span style="color:blue">Dagens övningar</span>]] när du är klar med genomgången ovan.</span></b> ==
  
  

Nuvarande version från 20 augusti 2025 kl. 11.01

        <<  Agenda          Genomgång 1          Övningar 1          Innehåll och struktur          Nästa lektion  >>      


1.1    Vad är programmering?

Var och en har ett intuitivt svar på denna fråga. Vi vill precisera svaret genom att

sätta begreppet i rätt sammanhang och avgränsa det från andra, närbesläktade ämnen.

Låt oss börja med att ge negativa svar:

Vi vill diskutera vad programmering inte är för att närma oss det positiva svaret.

Tre negativa svar

Vad Progr 1b.jpg


Slutsats från punkt 2) \( \dots \) ingen vetenskap:
Progr Praktiskt 650.jpg


Två positiva svar

1. Programmering som problemlösning

Vad Progr 2a.jpg


2. Programmering som modellering

Program Modell 650a.jpg


1.2    Kompilering och exekvering

Hur hamnar programkoden i datorn? Det handlar om samspelet mellan mjukvaran och hårdvaran.

För att besvara frågan går vi tillbaka till de första datorerna.

John von Neumann-modellen

John Neuman Datora.jpg


John Neuman Texta.jpg


Kompilering = översättning av källkod till maskinkod

Kompilering.jpg


Editorer & IDE

Editorer IDE.jpg


Regler för filändelser

Regler Filandelser Cpp.jpg


Att hantera filändelser

Hantering Filandelser.jpg


Olika typer av fel

Olika typer fel.jpg


1.3    Om programmeringsspråken C och C++

Gå vidare med Dagens övningar när du är klar med genomgången ovan.






Copyright © 2023. All Rights Reserved.