Övningar 40 (C/Cpp 23)

Från Mathonline
Version från den 24 november 2023 kl. 19.11 av Taifun (Diskussion | bidrag)

Hoppa till: navigering, sök

Mån 27 nov, kl 13-16


        <<  Agenda          Genomgång 40          Övningar 40          Innehåll & struktur          Nästa lektion  >>      


Dagens övningar

  •     Läs Vad är en databas? i kursboken, sid 158.
  •     Läs om Olika databasmodeller i kursboken, sid 159.
  •     Läs om Relationsdatabaser i kursboken, sid 160-167.
  •     Besvara nedanstående frågor om databaser.
   Svar till alla frågor kan du hitta i texterna ovan.
   Skriv gärna dina svar i ett textdokument.
   Ingen inlämning krävs. Arbeta gärna gruppvis.


Frågor om databaser

1)   Med vilken kod allokeras minne för vanliga variabler?

2)   Nämn tre saker som händer när man deklarerar och initierar variabler av enkel datatyp.

3)   Är "pekare" en datatyp?

4)   Är pekare-till-int en enkel eller en sammansatt datatyp? Eller inget av dem?

5)   Varför kan man kalla pekaren för ett parallellt system? Parallellt till vad?

6)   Är pekare ett nytt koncept som har kommit till när C++ skapades?

7)   Hur ska man tolka talesättet "p pekar på a"?

8)   Kan pekaren ersätta namnet till en vanlig variabel?

9)   Om 5 är värdet till en int-variabel, vad är då "värdet" av en pekare som pekar på a?

10)   Kan adressoperatorn & skrivas framför en deklarerad, men oinitierad vanlig variabel?

11)   Kan adressoperatorn & skrivas framför en pekarvariabel? Om ja, vad är resultatet?

12)   Vad är fördelen med att använda hexadecimala tal för representation av adresser?

13)   Hur många bytes behövs för lagring av adresser?

14)   Kan man initiera en pekarvariabel utan att ha deklarerad en vanlig variabel?

15)   På sid 276 i kursboken (sid 5 i texten "Kap 10 Pekare") finns det skrivfel.

  Kan du hitta dem?

16)   Vilka två betydelser har asterisken * i pekarsammanhang?

17)   Vad är den inversa operatorn till adressoperatorn & ?

18)   Kan värdeoperatorn * skrivas framför en vanlig variabel?

19)   Vad betyder *(&vanligVar)?

20)   Vad betyder &(*pekarVar)?

21)   Kan värdeoperatorn tillämpad på en pekare ersätta namnet på en vanlig variabel?

22)   Om svaret på frågan 21 ovan är ja, vad är förutsättningen för det?

23)   Om adressen till platsen där en bil är parkerad, kan jämföras med pekaren till en

  vanlig variabel, vilken annan information om bilen som identifierar bilen, kan jämföras
  med den vanliga variabeln?

24)   Vad gör satsen int *pekInt = new int; ?

25)   Vad händer om man efter satsen i fråga 24 ovan skriver *pekInt = 78; ?

26)   Hur kan man modifiera satsen i fråga 24, för att inkludera i den satsen i fråga 25?

27)   Är arrayen som skapas i satsen int *no = new int[4]; redan initierad?

28)   Vad ersätts en arrays indexering av, om den skapas av new?

29)   Om man skickar en array av char som aktuell parameter till en funktion, kan den

  formella parametern vara av en annan datatyp? I så fall vilken?

30)   Vad avgör vilken metod för parameteröverföring C++ väljer vid anrop av funktioner?

31)   När tillämpas automatiskt värdeanrop och när referensanrop vid överföring av

  en funktions parametrar?

32)   Vad är skillnaden mellan värde- och referensanrop?

33)   Redogör för- och nackdelarna av arraynotation gentemot pekarnotation?

34)   Kan man blanda array- och pekarnotation i ett C++ program?

35)   Varför har man i andra universella programmeringsspråk som t.ex. C#, Java, Python, ...

  avskaffat pekarkonceptet?


Fortsätt med att använda en del av övningstiden för Inlämningsuppgift 3.

Deadline är den 15/12.



Extra uppgifter

För alla som önskar ha mer att koda (frivillgt):
\( \qquad\;\;\, \)\( \qquad\;\;\, \)








Copyright © 2023. All Rights Reserved.