Skillnad mellan versioner av "Kap 1 Olika programmeringsmiljöer"

Från Mathonline
Hoppa till: navigering, sök
(Skapade sidan med '__NOTOC__ {| border="0" cellspacing="0" cellpadding="0" height="30" width="100%" | style="border-bottom:1px solid #797979" width="5px" |   {{Not selected tab|Kursen Pro...')
 
m
 
(32 mellanliggande versioner av samma användare visas inte)
Rad 2: Rad 2:
 
{| 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" |  
 
| style="border-bottom:1px solid #797979" width="5px" |  
{{Not selected tab|[[Kursen Programmering av inbyggda system|Kursens presentation]]}}
+
{{Not selected tab|[[Lektion 1 (Inbyggd)| <<&nbsp;&nbsp;Agenda]]}}
{{Not selected tab|[[Media: Innehall_Inbyggda.pdf|Innehåll & struktur]]}}
+
{{Not selected tab|[[Programmering av inbyggda system: Innehåll och struktur|Innehåll & struktur]]}}
{{Selected tab|[[Kap 1 Introduktion till inbyggda system|Dagens genomgång]]}}
+
{{Selected tab|[[Kap 1 Olika programmeringsmiljöer|Dagens genomgång]]}}
 
{{Not selected tab|[[Övningar 1 (Inbyggd)|Dagens övningar]]}}
 
{{Not selected tab|[[Övningar 1 (Inbyggd)|Dagens övningar]]}}
 
{{Not selected tab|[[Lektion 2 (Inbyggd)|Nästa lektion&nbsp;&nbsp;>> ]]}}
 
{{Not selected tab|[[Lektion 2 (Inbyggd)|Nästa lektion&nbsp;&nbsp;>> ]]}}
 
| style="border-bottom:1px solid #797979"  width="100%"| &nbsp;
 
| style="border-bottom:1px solid #797979"  width="100%"| &nbsp;
 
|}
 
|}
 +
 
<br>
 
<br>
  
= <b><span style="color:#931136">1.1 &nbsp; Vad är objektorienterad programmering?</span></b> =
+
= <b><span style="color:#931136">1.1 &nbsp; Om C/C++</span></b> =
<div class="ovnE">
+
<big><big>
+
:Gå igenom texten (PDF 7 sidor)<span>:</span>
+
<math> \qquad\;\;\, </math><div class="smallBox">[[Media: Vad_OOP.pdf|<b><span style="color:blue">Vad är objektorienterad programmering?</span></b>]]</div><math> \qquad\;\;\, </math>
+
</big></big>
+
</div>
+
  
 +
<br>
  
= <b><span style="color:#931136">1.2 &nbsp; Klassbegreppet</span></b> =
 
<div class="ovnC">
 
=== <b><span style="color:#931136">En klass som ett C# program</span></b> ===
 
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Firsta.jpg]]</div>
 
 
 
<big><big>Varför står metoden <b><span style="color:red">Main()</span></b> i en <b><span style="color:red">klass</span></b>, nämligen <b><span style="color:blue">class First</span></b> &nbsp;?
 
 
Eftersom koden ska vara ett <b><span style="color:red">C# program</span></b>, nämligen:
 
 
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: CsPrograma.jpg]]</div>
 
 
Koden ovan (<b><span style="color:blue">class First</span></b>) är det det enklast tänkbara <b><span style="color:red">C# programmet</span></b>.
 
 
Metoden <b><span style="color:red">Main()</span></b> kan inte skrivas utanför klassen.
 
</big></big>
 
</div>
 
 
 
= <b><span style="color:#931136">Definition 1 av klass</span></b> =
 
 
<div class="ovnE">
 
<div class="ovnE">
 
+
<big><big>
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: VadKlass.jpg]]</div>
+
:Gå igenom texten<span>:</span>
 
+
<div class="smallBox">[[Media: Progr_Hist_Unicodea.pdf|<b><span style="color:blue">Ur Programmerigens historia</span></b>]]</div>
 
+
<big><big><b><span style="color:red">Generell</span></b> är en klass därför att den beskriver en <b>kategori</b> av saker och ting:
+
 
+
* &nbsp; &nbsp; ett <b>begrepp</b>
+
 
+
* &nbsp; &nbsp; en <b>idé</b>
+
 
+
* &nbsp; &nbsp; en <b>mall</b>.
+
 
+
Enligt klassens mall kan sedan <b>objekt</b> av denna klass skapas. Medan klassen
+
 
+
är abstrakt, är objekten verkliga eller virtuella saker och ting i den reala världen.
+
 
+
<b><span style="color:red">Modulär</span></b> är en klass därför att den kodas som en separat och namngiven modul
+
 
+
så att den kan användas av vilka andra program som helst. Liksom en Legobit
+
 
+
för att kunna konstruera andra program. Principen heter <b>modularisering</b>.
+
 
+
<b><span style="color:red">Klass och objekt är två olika begrepp.</span></b>
+
 
+
<b>Exempel:</b>
+
 
+
Pepparkakor är <b><span style="color:red">objekt.</span></b>
+
 
+
Pepparkaksformen är <b><span style="color:red">klassen.</span></b>
+
 
</big></big>
 
</big></big>
 
</div>
 
</div>
  
  
= <b><span style="color:#931136">Definition 2 av klass</span></b> =
+
= <b><span style="color:#931136">Om Python</span></b> =
<div class="ovnA">
+
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Def_2_klass.jpg]]</div>
+
 
+
 
+
<big><big>Ett begrepp kan ha olika definitioner om de inte motsäger varandra och belyser olika
+
 
+
aspekter av begreppet. Sammanhanget i vilket begreppet används avgör betydelsen.</big></big>
+
</div>
+
 
+
 
+
= <b><span style="color:#931136">1.3 &nbsp; Modulariseringsprocessen</span></b> =
+
<div class="ovnE">
+
=== <b><span style="color:#931136">Utan modularisering: all kod i Main()</span></b> ===
+
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: All_in_Main.jpg]]</div>
+
</div>
+
 
+
 
+
= <b><span style="color:#931136">Modularisering på metodnivå</span></b> =
+
 
<div class="ovnC">
 
<div class="ovnC">
<big><big>
+
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Om_Python.jpg]]</div>
Modulariseringens <b>1:a steg: <span style="color:red">Logiken</span></b> flyttas till en <b><span style="color:red">ny metod Ok()</span></b> utanför Main().
+
</big></big>
+
 
+
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Method_Module.jpg]]</div>
+
 
+
 
+
<big><big>Klassen <b>Method</b> har två metoder: <b>Main()</b> och <b>Ok()</b>: Main() anropar Ok(). Vid anrop:
+
 
+
skickas den aktuella parametern input till den formella parametern passwd och retur-
+
 
+
värdet av typ <b>bool</b> returneras via Ok() till Main() och används i if-satsens samt loopens villkor.
+
</big></big>
+
 
</div>
 
</div>
  
  
= <b><span style="color:#931136">Modularisering på klassnivå</span></b> =
 
<div class="ovnA">
 
<big><big>
 
Modulariseringens <b>2:a steg:</b> Metoden Ok() flyttas till en annan klass = <b>ny datatyp</b>.
 
 
I Main() skapas ett <b><span style="color:red">objekt</span></b> av den nya datatypen Password och
 
 
<b><span style="color:red">objektets metod</span></b> Ok() anropas i Main().
 
</big></big>
 
 
=== <b><span style="color:#931136">Klassen Password</span></b> ===
 
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Password.jpg]]</div>
 
 
 
<big><big>
 
Klasserna <b><span style="color:#931136">Password</span></b> och <b><span style="color:#931136">PasswordUse</span></b> utgör ETT <b><span style="color:red">objektorienterat</span></b> program.
 
</big></big>
 
 
=== <b><span style="color:#931136">Klassen PasswordUse</span></b> ===
 
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: PasswordUse.jpg]]</div>
 
 
 
=== <b><span style="color:#931136">Ett körexempel</span></b> ===
 
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: PasswordUseKorexa.jpg]]</div>
 
</div>
 
  
  
Rad 154: Rad 49:
  
  
[[Matte:Copyrights|Copyright]] © 2023 TechPages AB. All Rights Reserved.
+
[[Matte:Copyrights|Copyright]] © 2024 <b><span style="color:blue">Lieta AB</span></b>. All Rights Reserved.

Nuvarande version från 25 augusti 2024 kl. 11.02

        <<  Agenda          Innehåll & struktur          Dagens genomgång          Dagens övningar          Nästa lektion  >>      


1.1   Om C/C++


Gå igenom texten:


Om Python

Om Python.jpg











Copyright © 2024 Lieta AB. All Rights Reserved.