From 1e54b3859cde63470bcf14e55710d27d81a8b17f Mon Sep 17 00:00:00 2001 From: Peter Gerwinski <peter.gerwinski@hs-bochum.de> Date: Thu, 30 Mar 2023 14:25:22 +0200 Subject: [PATCH] Vorbereitung 30.3.2023 --- 20230323/ad-20230323.pdf | Bin 257953 -> 256699 bytes 20230323/ad-20230323.tex | 10 +- 20230323/ad-20230323.txt | 10 + 20230323/const-01.c | 11 + 20230323/const-02.c | 10 + 20230323/const-03.c | 15 + 20230323/const-04.c | 16 + 20230323/const-05.c | 16 + 20230323/const-06.c | 11 + 20230323/const-07.c | 19 + 20230323/const-08.c | 19 + 20230323/const-09.c | 19 + 20230323/const-10.c | 16 + 20230323/const-11.c | 18 + 20230323/dynmem-01.c | 11 + 20230323/dynmem-02.c | 11 + 20230323/dynmem-03.c | 11 + 20230323/dynmem-04.c | 11 + 20230323/functions-01.c | 17 + 20230323/functions-02.c | 18 + 20230323/functions-02.s | 72 ++ 20230323/functions-03.c | 18 + 20230323/functions-04.c | 17 + 20230323/functions-05.c | 23 + 20230323/hello.pas | 5 + 20230323/lib-01.c | 6 + 20230323/lib-01.h | 1 + 20230323/lib-02.c | 6 + 20230323/lib-02.h | 1 + 20230323/lib-03.c | 6 + 20230323/lib-03.h | 1 + 20230323/lib-04.c | 6 + 20230323/lib-04.h | 4 + 20230323/lib-05.c | 6 + 20230323/lib-05.h | 9 + 20230323/lib-06.c | 6 + 20230323/lib-06.h | 9 + 20230323/lists-01.c | 12 + 20230323/lists-02.c | 12 + 20230323/lists-03.c | 19 + 20230323/lists-04.c | 25 + 20230323/lists-05.c | 25 + 20230323/lists-06.c | 25 + 20230323/lists-07.c | 25 + 20230323/lists-08.c | 25 + 20230323/lists-09.c | 33 + 20230323/lists-10.c | 33 + 20230323/lists-11.c | 38 + 20230323/lists-12.c | 38 + 20230323/lists-13.c | 44 ++ 20230323/lists-14.c | 44 ++ 20230323/lists-15.c | 44 ++ 20230323/lists-16.c | 44 ++ 20230323/lists-17.c | 50 ++ 20230323/lists-18.c | 52 ++ 20230323/lists-19.c | 52 ++ 20230323/namespaces-01.c | 6 + 20230323/namespaces-02.c | 8 + 20230323/namespaces-03.c | 9 + 20230323/namespaces-04.c | 17 + 20230323/namespaces-05.c | 17 + 20230323/operators-01.cpp | 7 + 20230323/operators-02.cpp | 9 + 20230323/operators-03.cpp | 10 + 20230323/operators-04.cpp | 15 + 20230323/operators-05.c | 21 + 20230323/operators-06.c | 20 + 20230323/operators-07.c | 20 + 20230323/operators-08.c | 21 + 20230323/operators-09.c | 21 + 20230323/prog-01.c | 7 + 20230323/prog-01.s | 19 + 20230323/prog-02.c | 7 + 20230323/prog-03.c | 10 + 20230323/prog-04.c | 7 + 20230323/prog-05.c | 7 + 20230323/prog-06.c | 7 + 20230323/prog-06a.c | 7 + 20230323/references-01.c | 14 + 20230323/references-02.c | 14 + 20230323/references-03.c | 15 + 20230323/references-04.c | 10 + 20230323/references-04.s | 26 + 20230323/references-05.c | 10 + 20230323/void-01.c | 7 + 20230323/void-02.c | 13 + 20230323/void-03.c | 13 + 20230323/void-04.c | 13 + 20230323/void-05.c | 12 + 20230323/void-06.c | 12 + 20230330/Zeichen_123.pdf | 1 + 20230330/ad-20230330.pdf | Bin 0 -> 110523 bytes 20230330/ad-20230330.tex | 755 +++++++++++++++++++ 20230330/logo-hochschule-bochum-cvh-text.pdf | 1 + 20230330/logo-hochschule-bochum.pdf | 1 + 20230330/pgslides.sty | 1 + 96 files changed, 2292 insertions(+), 3 deletions(-) create mode 100644 20230323/ad-20230323.txt create mode 100644 20230323/const-01.c create mode 100644 20230323/const-02.c create mode 100644 20230323/const-03.c create mode 100644 20230323/const-04.c create mode 100644 20230323/const-05.c create mode 100644 20230323/const-06.c create mode 100644 20230323/const-07.c create mode 100644 20230323/const-08.c create mode 100644 20230323/const-09.c create mode 100644 20230323/const-10.c create mode 100644 20230323/const-11.c create mode 100644 20230323/dynmem-01.c create mode 100644 20230323/dynmem-02.c create mode 100644 20230323/dynmem-03.c create mode 100644 20230323/dynmem-04.c create mode 100644 20230323/functions-01.c create mode 100644 20230323/functions-02.c create mode 100644 20230323/functions-02.s create mode 100644 20230323/functions-03.c create mode 100644 20230323/functions-04.c create mode 100644 20230323/functions-05.c create mode 100644 20230323/hello.pas create mode 100644 20230323/lib-01.c create mode 100644 20230323/lib-01.h create mode 100644 20230323/lib-02.c create mode 100644 20230323/lib-02.h create mode 100644 20230323/lib-03.c create mode 100644 20230323/lib-03.h create mode 100644 20230323/lib-04.c create mode 100644 20230323/lib-04.h create mode 100644 20230323/lib-05.c create mode 100644 20230323/lib-05.h create mode 100644 20230323/lib-06.c create mode 100644 20230323/lib-06.h create mode 100644 20230323/lists-01.c create mode 100644 20230323/lists-02.c create mode 100644 20230323/lists-03.c create mode 100644 20230323/lists-04.c create mode 100644 20230323/lists-05.c create mode 100644 20230323/lists-06.c create mode 100644 20230323/lists-07.c create mode 100644 20230323/lists-08.c create mode 100644 20230323/lists-09.c create mode 100644 20230323/lists-10.c create mode 100644 20230323/lists-11.c create mode 100644 20230323/lists-12.c create mode 100644 20230323/lists-13.c create mode 100644 20230323/lists-14.c create mode 100644 20230323/lists-15.c create mode 100644 20230323/lists-16.c create mode 100644 20230323/lists-17.c create mode 100644 20230323/lists-18.c create mode 100644 20230323/lists-19.c create mode 100644 20230323/namespaces-01.c create mode 100644 20230323/namespaces-02.c create mode 100644 20230323/namespaces-03.c create mode 100644 20230323/namespaces-04.c create mode 100644 20230323/namespaces-05.c create mode 100644 20230323/operators-01.cpp create mode 100644 20230323/operators-02.cpp create mode 100644 20230323/operators-03.cpp create mode 100644 20230323/operators-04.cpp create mode 100644 20230323/operators-05.c create mode 100644 20230323/operators-06.c create mode 100644 20230323/operators-07.c create mode 100644 20230323/operators-08.c create mode 100644 20230323/operators-09.c create mode 100644 20230323/prog-01.c create mode 100644 20230323/prog-01.s create mode 100644 20230323/prog-02.c create mode 100644 20230323/prog-03.c create mode 100644 20230323/prog-04.c create mode 100644 20230323/prog-05.c create mode 100644 20230323/prog-06.c create mode 100644 20230323/prog-06a.c create mode 100644 20230323/references-01.c create mode 100644 20230323/references-02.c create mode 100644 20230323/references-03.c create mode 100644 20230323/references-04.c create mode 100644 20230323/references-04.s create mode 100644 20230323/references-05.c create mode 100644 20230323/void-01.c create mode 100644 20230323/void-02.c create mode 100644 20230323/void-03.c create mode 100644 20230323/void-04.c create mode 100644 20230323/void-05.c create mode 100644 20230323/void-06.c create mode 120000 20230330/Zeichen_123.pdf create mode 100644 20230330/ad-20230330.pdf create mode 100644 20230330/ad-20230330.tex create mode 120000 20230330/logo-hochschule-bochum-cvh-text.pdf create mode 120000 20230330/logo-hochschule-bochum.pdf create mode 120000 20230330/pgslides.sty diff --git a/20230323/ad-20230323.pdf b/20230323/ad-20230323.pdf index 6ecdfeb0c0151704df14f3a8ea5b018c89050ab8..61ace7eff5b78b7d6d1412203328b0544f2e041c 100644 GIT binary patch delta 6751 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 delta 7920 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 diff --git a/20230323/ad-20230323.tex b/20230323/ad-20230323.tex index eb10a72..da19574 100644 --- a/20230323/ad-20230323.tex +++ b/20230323/ad-20230323.tex @@ -1,4 +1,4 @@ -% ad-20230322.pdf - Lecture Slides on Algorithms and Data Structures in C/C++ +% ad-20230323.pdf - Lecture Slides on Algorithms and Data Structures in C/C++ % Copyright (C) 2018, 2019, 2020, 2021, 2022, 2023 Peter Gerwinski % % This document is free software: you can redistribute it and/or @@ -20,7 +20,7 @@ % Attribution-ShareAlike 3.0 Unported License along with this % document. If not, see <http://creativecommons.org/licenses/>. -% README: Einführung +% README: Einführung in C++ \documentclass[10pt,t]{beamer} @@ -37,7 +37,7 @@ \title{Algorithmen und Datenstrukturen in C/C++} \author{Prof.\ Dr.\ rer.\ nat.\ Peter Gerwinski} -\date{22.\ März 2023} +\date{23.\ März 2023} \begin{document} @@ -1034,6 +1034,8 @@ \end{lstlisting} \end{frame} +\iffalse + \subsection{Objekte} \begin{frame}[fragile] @@ -1085,4 +1087,6 @@ \end{itemize} \end{frame} +\fi + \end{document} diff --git a/20230323/ad-20230323.txt b/20230323/ad-20230323.txt new file mode 100644 index 0000000..28d8a7b --- /dev/null +++ b/20230323/ad-20230323.txt @@ -0,0 +1,10 @@ +Lösung zur Übungsaufgabe, 23.03.2023, 15:17:55 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +(b) Trivial. + +(a) Wir setzen (b) als gelöst voraus und bringen die doppelt verkettette Liste + in die umgekehrte Reihenfolge (lists-19.c). + +(c) O(n) + +(d) O(1) diff --git a/20230323/const-01.c b/20230323/const-01.c new file mode 100644 index 0000000..3712356 --- /dev/null +++ b/20230323/const-01.c @@ -0,0 +1,11 @@ +#include <stdio.h> + +const int n = 5; +int prime[n] = { 2, 3, 5, 7, 11 }; + +int main (void) +{ + for (int i = 0; i < 5; i++) + printf ("%d\n", prime[i]); + return 0; +} diff --git a/20230323/const-02.c b/20230323/const-02.c new file mode 100644 index 0000000..01db0ac --- /dev/null +++ b/20230323/const-02.c @@ -0,0 +1,10 @@ +#include <stdio.h> + +int main (void) +{ + const int n = 5; + int prime[n] = { 2, 3, 5, 7, 11 }; + for (int i = 0; i < 5; i++) + printf ("%d\n", prime[i]); + return 0; +} diff --git a/20230323/const-03.c b/20230323/const-03.c new file mode 100644 index 0000000..f110f47 --- /dev/null +++ b/20230323/const-03.c @@ -0,0 +1,15 @@ +#include <stdio.h> + +int main (void) +{ + const int n = 5; + int prime[n]; + prime[0] = 2; + prime[1] = 3; + prime[2] = 5; + prime[3] = 7; + prime[4] = 11; + for (int i = 0; i < 5; i++) + printf ("%d\n", prime[i]); + return 0; +} diff --git a/20230323/const-04.c b/20230323/const-04.c new file mode 100644 index 0000000..881e75c --- /dev/null +++ b/20230323/const-04.c @@ -0,0 +1,16 @@ +#include <stdio.h> + +const int n = 5; +int prime[n]; + +int main (void) +{ + prime[0] = 2; + prime[1] = 3; + prime[2] = 5; + prime[3] = 7; + prime[4] = 11; + for (int i = 0; i < 5; i++) + printf ("%d\n", prime[i]); + return 0; +} diff --git a/20230323/const-05.c b/20230323/const-05.c new file mode 100644 index 0000000..3e4d4cb --- /dev/null +++ b/20230323/const-05.c @@ -0,0 +1,16 @@ +#include <stdio.h> + +#define n 5 +int prime[n]; + +int main (void) +{ + prime[0] = 2; + prime[1] = 3; + prime[2] = 5; + prime[3] = 7; + prime[4] = 11; + for (int i = 0; i < 5; i++) + printf ("%d\n", prime[i]); + return 0; +} diff --git a/20230323/const-06.c b/20230323/const-06.c new file mode 100644 index 0000000..84e47ff --- /dev/null +++ b/20230323/const-06.c @@ -0,0 +1,11 @@ +#include <stdio.h> + +const int n = 6; +int prime[n] = { 2, 3, 5, 7, 11, 13 }; + +int main (void) +{ + for (int i = 0; i < n; i++) + printf ("%d\n", prime[i]); + return 0; +} diff --git a/20230323/const-07.c b/20230323/const-07.c new file mode 100644 index 0000000..d6dc6bf --- /dev/null +++ b/20230323/const-07.c @@ -0,0 +1,19 @@ +#include <stdio.h> + +int fak (int n) +{ + int f = 1; + for (int i = 2; i <= n; i++) + f *= i; + return f; +} + +const int n = fak (3); +int prime[n] = { 2, 3, 5, 7, 11, 13 }; + +int main (void) +{ + for (int i = 0; i < n; i++) + printf ("%d\n", prime[i]); + return 0; +} diff --git a/20230323/const-08.c b/20230323/const-08.c new file mode 100644 index 0000000..dd3c794 --- /dev/null +++ b/20230323/const-08.c @@ -0,0 +1,19 @@ +#include <stdio.h> + +constexpr int fak (int n) +{ + int f = 1; + for (int i = 2; i <= n; i++) + f *= i; + return f; +} + +const int n = fak (3); +int prime[n] = { 2, 3, 5, 7, 11, 13 }; + +int main (void) +{ + for (int i = 0; i < n; i++) + printf ("%d\n", prime[i]); + return 0; +} diff --git a/20230323/const-09.c b/20230323/const-09.c new file mode 100644 index 0000000..b157c30 --- /dev/null +++ b/20230323/const-09.c @@ -0,0 +1,19 @@ +#include <stdio.h> + +constexpr int fak (int n) +{ + if (n <= 1) + return 1; + else + return n * fak (n - 1); +} + +const int n = fak (3); +int prime[n] = { 2, 3, 5, 7, 11, 13 }; + +int main (void) +{ + for (int i = 0; i < n; i++) + printf ("%d\n", prime[i]); + return 0; +} diff --git a/20230323/const-10.c b/20230323/const-10.c new file mode 100644 index 0000000..1bc3e58 --- /dev/null +++ b/20230323/const-10.c @@ -0,0 +1,16 @@ +#include <stdio.h> + +constexpr int fak (int n) +{ + return n <= 1 ? 1 : n * fak (n - 1); +} + +const int n = fak (3); +int prime[n] = { 2, 3, 5, 7, 11, 13 }; + +int main (void) +{ + for (int i = 0; i < n; i++) + printf ("%d\n", prime[i]); + return 0; +} diff --git a/20230323/const-11.c b/20230323/const-11.c new file mode 100644 index 0000000..d43dd4b --- /dev/null +++ b/20230323/const-11.c @@ -0,0 +1,18 @@ +#include <stdio.h> + +int eins = 1; + +constexpr int fak (int n) +{ + return n <= eins ? eins : n * fak (n - 1); +} + +const int n = fak (3); +int prime[n] = { 2, 3, 5, 7, 11, 13 }; + +int main (void) +{ + for (int i = 0; i < n; i++) + printf ("%d\n", prime[i]); + return 0; +} diff --git a/20230323/dynmem-01.c b/20230323/dynmem-01.c new file mode 100644 index 0000000..dc4d08f --- /dev/null +++ b/20230323/dynmem-01.c @@ -0,0 +1,11 @@ +#include <stdio.h> +#include <stdlib.h> + +int main (void) +{ + int *p = malloc (1); + *p = 42; + printf ("The answer is: %d\n", *p); + free (p); + return 0; +} diff --git a/20230323/dynmem-02.c b/20230323/dynmem-02.c new file mode 100644 index 0000000..e672738 --- /dev/null +++ b/20230323/dynmem-02.c @@ -0,0 +1,11 @@ +#include <stdio.h> +#include <stdlib.h> + +int main (void) +{ + int *p = malloc (sizeof (int)); + *p = 42; + printf ("The answer is: %d\n", *p); + free (p); + return 0; +} diff --git a/20230323/dynmem-03.c b/20230323/dynmem-03.c new file mode 100644 index 0000000..3bc009a --- /dev/null +++ b/20230323/dynmem-03.c @@ -0,0 +1,11 @@ +#include <stdio.h> +#include <stdlib.h> + +int main (void) +{ + int *p = new int; + *p = 42; + printf ("The answer is: %d\n", *p); + delete p; + return 0; +} diff --git a/20230323/dynmem-04.c b/20230323/dynmem-04.c new file mode 100644 index 0000000..a9dcabc --- /dev/null +++ b/20230323/dynmem-04.c @@ -0,0 +1,11 @@ +#include <stdio.h> +#include <stdlib.h> + +int main (void) +{ + int *p = new sizeof (int); + *p = 42; + printf ("The answer is: %d\n", *p); + delete p; + return 0; +} diff --git a/20230323/functions-01.c b/20230323/functions-01.c new file mode 100644 index 0000000..52c190d --- /dev/null +++ b/20230323/functions-01.c @@ -0,0 +1,17 @@ +#include <stdio.h> + +void print (const char *s) +{ + printf ("%s", s); +} + +void print (int i) +{ + printf ("%d", i); +} + +int main () +{ + print ("Hello, world!\n"); + print (42); +} diff --git a/20230323/functions-02.c b/20230323/functions-02.c new file mode 100644 index 0000000..da1fe26 --- /dev/null +++ b/20230323/functions-02.c @@ -0,0 +1,18 @@ +#include <stdio.h> + +void print (const char *s = "\n") +{ + printf ("%s", s); +} + +void print (int i) +{ + printf ("%d", i); +} + +int main () +{ + print ("Hello, world!\n"); + print (42); + print (); +} diff --git a/20230323/functions-02.s b/20230323/functions-02.s new file mode 100644 index 0000000..a8d4ed2 --- /dev/null +++ b/20230323/functions-02.s @@ -0,0 +1,72 @@ + .file "functions-02.c" + .text + .section .rodata.str1.1,"aMS",@progbits,1 +.LC0: + .string "%s" + .text + .globl _Z5printPKc + .type _Z5printPKc, @function +_Z5printPKc: +.LFB12: + .cfi_startproc + subq $8, %rsp + .cfi_def_cfa_offset 16 + movq %rdi, %rsi + leaq .LC0(%rip), %rdi + movl $0, %eax + call printf@PLT + addq $8, %rsp + .cfi_def_cfa_offset 8 + ret + .cfi_endproc +.LFE12: + .size _Z5printPKc, .-_Z5printPKc + .section .rodata.str1.1 +.LC1: + .string "%d" + .text + .globl _Z5printi + .type _Z5printi, @function +_Z5printi: +.LFB13: + .cfi_startproc + subq $8, %rsp + .cfi_def_cfa_offset 16 + movl %edi, %esi + leaq .LC1(%rip), %rdi + movl $0, %eax + call printf@PLT + addq $8, %rsp + .cfi_def_cfa_offset 8 + ret + .cfi_endproc +.LFE13: + .size _Z5printi, .-_Z5printi + .section .rodata.str1.1 +.LC2: + .string "Hello, world!\n" +.LC3: + .string "\n" + .text + .globl main + .type main, @function +main: +.LFB14: + .cfi_startproc + subq $8, %rsp + .cfi_def_cfa_offset 16 + leaq .LC2(%rip), %rdi + call _Z5printPKc + movl $42, %edi + call _Z5printi + leaq .LC3(%rip), %rdi + call _Z5printPKc + movl $0, %eax + addq $8, %rsp + .cfi_def_cfa_offset 8 + ret + .cfi_endproc +.LFE14: + .size main, .-main + .ident "GCC: (Debian 8.3.0-6) 8.3.0" + .section .note.GNU-stack,"",@progbits diff --git a/20230323/functions-03.c b/20230323/functions-03.c new file mode 100644 index 0000000..f4d8e8c --- /dev/null +++ b/20230323/functions-03.c @@ -0,0 +1,18 @@ +#include <stdio.h> + +void print (const char *s = "\n") +{ + printf ("%s", s); +} + +void print (int i = 42) +{ + printf ("%d", i); +} + +int main () +{ + print ("Hello, world!\n"); + print (42); + print (); +} diff --git a/20230323/functions-04.c b/20230323/functions-04.c new file mode 100644 index 0000000..15fc617 --- /dev/null +++ b/20230323/functions-04.c @@ -0,0 +1,17 @@ +#include <stdio.h> + +void print (const char *s = "\n") +{ + printf ("%s", s); +} + +void print (int i = 42) +{ + printf ("%d", i); +} + +int main () +{ + print ("Hello, world!\n"); + print (42); +} diff --git a/20230323/functions-05.c b/20230323/functions-05.c new file mode 100644 index 0000000..2bc97b1 --- /dev/null +++ b/20230323/functions-05.c @@ -0,0 +1,23 @@ +#include <stdio.h> + +extern "C" +{ + void print (const char *s = "\n"); + void print (int i); +} + +void print (const char *s = "\n") +{ + printf ("%s", s); +} + +void print (int i) +{ + printf ("%d", i); +} + +int main () +{ + print ("Hello, world!\n"); + print (42); +} diff --git a/20230323/hello.pas b/20230323/hello.pas new file mode 100644 index 0000000..88c1587 --- /dev/null +++ b/20230323/hello.pas @@ -0,0 +1,5 @@ +program Hello; + +begin + WriteLn ('Hello, world!') +end. diff --git a/20230323/lib-01.c b/20230323/lib-01.c new file mode 100644 index 0000000..6cb904e --- /dev/null +++ b/20230323/lib-01.c @@ -0,0 +1,6 @@ +#include <stdio.h> + +void hello (void) +{ + printf ("Hello, world!\n"); +} diff --git a/20230323/lib-01.h b/20230323/lib-01.h new file mode 100644 index 0000000..ef003b4 --- /dev/null +++ b/20230323/lib-01.h @@ -0,0 +1 @@ +extern void hello (void); diff --git a/20230323/lib-02.c b/20230323/lib-02.c new file mode 100644 index 0000000..5dcb5be --- /dev/null +++ b/20230323/lib-02.c @@ -0,0 +1,6 @@ +#include <stdio.h> + +void _Z5hellov (void) +{ + printf ("Hello, world!\n"); +} diff --git a/20230323/lib-02.h b/20230323/lib-02.h new file mode 100644 index 0000000..8811c09 --- /dev/null +++ b/20230323/lib-02.h @@ -0,0 +1 @@ +extern void _Z5hellov (void); diff --git a/20230323/lib-03.c b/20230323/lib-03.c new file mode 100644 index 0000000..6cb904e --- /dev/null +++ b/20230323/lib-03.c @@ -0,0 +1,6 @@ +#include <stdio.h> + +void hello (void) +{ + printf ("Hello, world!\n"); +} diff --git a/20230323/lib-03.h b/20230323/lib-03.h new file mode 100644 index 0000000..ef003b4 --- /dev/null +++ b/20230323/lib-03.h @@ -0,0 +1 @@ +extern void hello (void); diff --git a/20230323/lib-04.c b/20230323/lib-04.c new file mode 100644 index 0000000..6cb904e --- /dev/null +++ b/20230323/lib-04.c @@ -0,0 +1,6 @@ +#include <stdio.h> + +void hello (void) +{ + printf ("Hello, world!\n"); +} diff --git a/20230323/lib-04.h b/20230323/lib-04.h new file mode 100644 index 0000000..b48fe90 --- /dev/null +++ b/20230323/lib-04.h @@ -0,0 +1,4 @@ +extern "C" +{ + extern void hello (void); +} diff --git a/20230323/lib-05.c b/20230323/lib-05.c new file mode 100644 index 0000000..6cb904e --- /dev/null +++ b/20230323/lib-05.c @@ -0,0 +1,6 @@ +#include <stdio.h> + +void hello (void) +{ + printf ("Hello, world!\n"); +} diff --git a/20230323/lib-05.h b/20230323/lib-05.h new file mode 100644 index 0000000..4083fbc --- /dev/null +++ b/20230323/lib-05.h @@ -0,0 +1,9 @@ +#ifdef __cplusplus +extern "C" { +#endif + +extern void hello (void); + +#ifdef __cplusplus +} +#endif diff --git a/20230323/lib-06.c b/20230323/lib-06.c new file mode 100644 index 0000000..ea70e7d --- /dev/null +++ b/20230323/lib-06.c @@ -0,0 +1,6 @@ +#include <stdio.h> + +void print (const char *s) +{ + printf ("%s", s); +} diff --git a/20230323/lib-06.h b/20230323/lib-06.h new file mode 100644 index 0000000..8fc2c17 --- /dev/null +++ b/20230323/lib-06.h @@ -0,0 +1,9 @@ +#ifdef __cplusplus +extern "C" { +#endif + +extern void print (const char *s = "Hello, world!\n"); + +#ifdef __cplusplus +} +#endif diff --git a/20230323/lists-01.c b/20230323/lists-01.c new file mode 100644 index 0000000..1e9ad39 --- /dev/null +++ b/20230323/lists-01.c @@ -0,0 +1,12 @@ +#include <stdio.h> + +typedef struct +{ + int content; + node *prev, *next; +} node; + +int main (void) +{ + return 0; +} diff --git a/20230323/lists-02.c b/20230323/lists-02.c new file mode 100644 index 0000000..3b2b2a1 --- /dev/null +++ b/20230323/lists-02.c @@ -0,0 +1,12 @@ +#include <stdio.h> + +typedef struct node +{ + int content; + struct node *prev, *next; +} node; + +int main (void) +{ + return 0; +} diff --git a/20230323/lists-03.c b/20230323/lists-03.c new file mode 100644 index 0000000..f6bac29 --- /dev/null +++ b/20230323/lists-03.c @@ -0,0 +1,19 @@ +#include <stdio.h> + +typedef struct node +{ + int content; + struct node *prev, *next; +} node; + +int main (void) +{ + node node1 = { 1, NULL, NULL }; + node node2 = { 2, &node1, NULL }; + node1.next = &node2; + node node3 = { 3, &node2, NULL }; + node2.next = &node3; + node node4 = { 4, &node3, NULL }; + node3.next = &node4; + return 0; +} diff --git a/20230323/lists-04.c b/20230323/lists-04.c new file mode 100644 index 0000000..b961a30 --- /dev/null +++ b/20230323/lists-04.c @@ -0,0 +1,25 @@ +#include <stdio.h> + +typedef struct node +{ + int content; + struct node *prev, *next; +} node; + +int main (void) +{ + node node1 = { 1, NULL, NULL }; + node node2 = { 2, &node1, NULL }; + node1.next = &node2; + node node3 = { 3, &node2, NULL }; + node2.next = &node3; + node node4 = { 4, &node3, NULL }; + node3.next = &node4; + + for (node *p; p->next; p = p->next) + { + printf ("%d\n", p->content); + } + + return 0; +} diff --git a/20230323/lists-05.c b/20230323/lists-05.c new file mode 100644 index 0000000..72c172a --- /dev/null +++ b/20230323/lists-05.c @@ -0,0 +1,25 @@ +#include <stdio.h> + +typedef struct node +{ + int content; + struct node *prev, *next; +} node; + +int main (void) +{ + node node1 = { 1, NULL, NULL }; + node node2 = { 2, &node1, NULL }; + node1.next = &node2; + node node3 = { 3, &node2, NULL }; + node2.next = &node3; + node node4 = { 4, &node3, NULL }; + node3.next = &node4; + + for (node *p = &node1; p->next; p = p->next) + { + printf ("%d\n", p->content); + } + + return 0; +} diff --git a/20230323/lists-06.c b/20230323/lists-06.c new file mode 100644 index 0000000..22b8bef --- /dev/null +++ b/20230323/lists-06.c @@ -0,0 +1,25 @@ +#include <stdio.h> + +typedef struct node +{ + int content; + struct node *prev, *next; +} node; + +int main (void) +{ + node node1 = { 1, NULL, NULL }; + node node2 = { 2, &node1, NULL }; + node1.next = &node2; + node node3 = { 3, &node2, NULL }; + node2.next = &node3; + node node4 = { 4, &node3, NULL }; + node3.next = &node4; + + for (node *p = NULL; p->next; p = p->next) + { + printf ("%d\n", p->content); + } + + return 0; +} diff --git a/20230323/lists-07.c b/20230323/lists-07.c new file mode 100644 index 0000000..079d37e --- /dev/null +++ b/20230323/lists-07.c @@ -0,0 +1,25 @@ +#include <stdio.h> + +typedef struct node +{ + int content; + struct node *prev, *next; +} node; + +int main (void) +{ + node node1 = { 1, NULL, NULL }; + node node2 = { 2, &node1, NULL }; + node1.next = &node2; + node node3 = { 3, &node2, NULL }; + node2.next = &node3; + node node4 = { 4, &node3, NULL }; + node3.next = &node4; + + for (node *p = &node1; p->next->next; p = p->next) + { + printf ("%d\n", p->content); + } + + return 0; +} diff --git a/20230323/lists-08.c b/20230323/lists-08.c new file mode 100644 index 0000000..a2e8375 --- /dev/null +++ b/20230323/lists-08.c @@ -0,0 +1,25 @@ +#include <stdio.h> + +typedef struct node +{ + int content; + struct node *prev, *next; +} node; + +int main (void) +{ + node node1 = { 1, NULL, NULL }; + node node2 = { 2, &node1, NULL }; + node1.next = &node2; + node node3 = { 3, &node2, NULL }; + node2.next = &node3; + node node4 = { 4, &node3, NULL }; + node3.next = &node4; + + for (node *p = &node1; p; p = p->next) + { + printf ("%d\n", p->content); + } + + return 0; +} diff --git a/20230323/lists-09.c b/20230323/lists-09.c new file mode 100644 index 0000000..8aec3f8 --- /dev/null +++ b/20230323/lists-09.c @@ -0,0 +1,33 @@ +#include <stdio.h> + +typedef struct node +{ + int content; + struct node *prev, *next; +} node; + +node *reverse_list (node *root) /* erst mal nur für 1. Element tauschen */ +{ + node *tmp = root->next; + root->next = root->prev; + root->prev = &tmp; + return root; +} + +int main (void) +{ + node node1 = { 1, NULL, NULL }; + node node2 = { 2, &node1, NULL }; + node1.next = &node2; + node node3 = { 3, &node2, NULL }; + node2.next = &node3; + node node4 = { 4, &node3, NULL }; + node3.next = &node4; + + for (node *p = &node1; p; p = p->next) + { + printf ("%d\n", p->content); + } + + return 0; +} diff --git a/20230323/lists-10.c b/20230323/lists-10.c new file mode 100644 index 0000000..91c87b1 --- /dev/null +++ b/20230323/lists-10.c @@ -0,0 +1,33 @@ +#include <stdio.h> + +typedef struct node +{ + int content; + struct node *prev, *next; +} node; + +node *reverse_list (node *root) /* erst mal nur für 1. Element tauschen */ +{ + node *tmp = root->next; + root->next = root->prev; + root->prev = tmp; + return root; +} + +int main (void) +{ + node node1 = { 1, NULL, NULL }; + node node2 = { 2, &node1, NULL }; + node1.next = &node2; + node node3 = { 3, &node2, NULL }; + node2.next = &node3; + node node4 = { 4, &node3, NULL }; + node3.next = &node4; + + for (node *p = &node1; p; p = p->next) + { + printf ("%d\n", p->content); + } + + return 0; +} diff --git a/20230323/lists-11.c b/20230323/lists-11.c new file mode 100644 index 0000000..feb4972 --- /dev/null +++ b/20230323/lists-11.c @@ -0,0 +1,38 @@ +#include <stdio.h> + +typedef struct node +{ + int content; + struct node *prev, *next; +} node; + +node *reverse_list (node *root) /* erst mal nur für 1. Element tauschen */ +{ + node *tmp = root->next; + root->next = root->prev; + root->prev = tmp; + return root; +} + +int main (void) +{ + node node1 = { 1, NULL, NULL }; + node node2 = { 2, &node1, NULL }; + node1.next = &node2; + node node3 = { 3, &node2, NULL }; + node2.next = &node3; + node node4 = { 4, &node3, NULL }; + node3.next = &node4; + + for (node *p = &node1; p; p = p->next) + { + p = reverse_list (p); + } + + for (node *p = &node1; p; p = p->next) + { + printf ("%d\n", p->content); + } + + return 0; +} diff --git a/20230323/lists-12.c b/20230323/lists-12.c new file mode 100644 index 0000000..3600744 --- /dev/null +++ b/20230323/lists-12.c @@ -0,0 +1,38 @@ +#include <stdio.h> + +typedef struct node +{ + int content; + struct node *prev, *next; +} node; + +node *reverse_list (node *root) /* erst mal nur für 1. Element tauschen */ +{ + node *tmp = root->next; + root->next = root->prev; + root->prev = tmp; + return root; +} + +int main (void) +{ + node node1 = { 1, NULL, NULL }; + node node2 = { 2, &node1, NULL }; + node1.next = &node2; + node node3 = { 3, &node2, NULL }; + node2.next = &node3; + node node4 = { 4, &node3, NULL }; + node3.next = &node4; + + for (node *p = &node1; p; p = p->next) + { + p = reverse_list (p); + } + + for (node *p = &node1; p; p = p->prev) + { + printf ("%d\n", p->content); + } + + return 0; +} diff --git a/20230323/lists-13.c b/20230323/lists-13.c new file mode 100644 index 0000000..b5c5f27 --- /dev/null +++ b/20230323/lists-13.c @@ -0,0 +1,44 @@ +#include <stdio.h> + +typedef struct node +{ + int content; + struct node *prev, *next; +} node; + +node *reverse_list (node *root) /* erst mal nur für 1. Element tauschen */ +{ + node *tmp = root->next; + root->next = root->prev; + root->prev = tmp; + return root; +} + +int main (void) +{ + node node1 = { 1, NULL, NULL }; + node node2 = { 2, &node1, NULL }; + node1.next = &node2; + node node3 = { 3, &node2, NULL }; + node2.next = &node3; + node node4 = { 4, &node3, NULL }; + node3.next = &node4; + + for (node *p = &node1; p; p = p->next) + { + printf ("%d: %016zx\n", p->content, p); + } + + for (node *p = &node1; p; p = p->next) + { + p = reverse_list (p); + printf ("%d: %016zx next: %016zx prev: %016zx\n", p->content, p, p->next, p->prev); + } + + for (node *p = &node1; p; p = p->prev) + { + printf ("%d\n", p->content); + } + + return 0; +} diff --git a/20230323/lists-14.c b/20230323/lists-14.c new file mode 100644 index 0000000..643a81e --- /dev/null +++ b/20230323/lists-14.c @@ -0,0 +1,44 @@ +#include <stdio.h> + +typedef struct node +{ + int content; + struct node *prev, *next; +} node; + +node *reverse_list (node *root) /* erst mal nur für 1. Element tauschen */ +{ + node *tmp = root->next; + root->next = root->prev; + root->prev = tmp; + return root; +} + +int main (void) +{ + node node1 = { 1, NULL, NULL }; + node node2 = { 2, &node1, NULL }; + node1.next = &node2; + node node3 = { 3, &node2, NULL }; + node2.next = &node3; + node node4 = { 4, &node3, NULL }; + node3.next = &node4; + + for (node *p = &node1; p; p = p->next) + { + printf ("%d: %016zx\n", p->content, (size_t) p); + } + + for (node *p = &node1; p; p = p->next) + { + p = reverse_list (p); + printf ("%d: %016zx next: %016zx prev: %016zx\n", p->content, (size_t) p, (size_t) p->next, (size_t) p->prev); + } + + for (node *p = &node1; p; p = p->prev) + { + printf ("%d\n", p->content); + } + + return 0; +} diff --git a/20230323/lists-15.c b/20230323/lists-15.c new file mode 100644 index 0000000..20085e8 --- /dev/null +++ b/20230323/lists-15.c @@ -0,0 +1,44 @@ +#include <stdio.h> + +typedef struct node +{ + int content; + struct node *prev, *next; +} node; + +node *reverse_list (node *root) /* erst mal nur für 1. Element tauschen */ +{ + node *tmp = root->next; + root->next = root->prev; + root->prev = tmp; + return root; +} + +int main (void) +{ + node node1 = { 1, NULL, NULL }; + node node2 = { 2, &node1, NULL }; + node1.next = &node2; + node node3 = { 3, &node2, NULL }; + node2.next = &node3; + node node4 = { 4, &node3, NULL }; + node3.next = &node4; + + for (node *p = &node1; p; p = p->next) + { + printf ("%d: %016zx\n", p->content, (size_t) p); + } + + for (node *p = &node1; p; p = p->prev) + { + p = reverse_list (p); + printf ("%d: %016zx next: %016zx prev: %016zx\n", p->content, (size_t) p, (size_t) p->next, (size_t) p->prev); + } + + for (node *p = &node1; p; p = p->next) + { + printf ("%d\n", p->content); + } + + return 0; +} diff --git a/20230323/lists-16.c b/20230323/lists-16.c new file mode 100644 index 0000000..ab1a12f --- /dev/null +++ b/20230323/lists-16.c @@ -0,0 +1,44 @@ +#include <stdio.h> + +typedef struct node +{ + int content; + struct node *prev, *next; +} node; + +node *reverse_list (node *root) /* erst mal nur für 1. Element tauschen */ +{ + node *tmp = root->next; + root->next = root->prev; + root->prev = tmp; + return root; +} + +int main (void) +{ + node node1 = { 1, NULL, NULL }; + node node2 = { 2, &node1, NULL }; + node1.next = &node2; + node node3 = { 3, &node2, NULL }; + node2.next = &node3; + node node4 = { 4, &node3, NULL }; + node3.next = &node4; + + for (node *p = &node1; p; p = p->next) + { + printf ("%d: %016zx\n", p->content, (size_t) p); + } + + for (node *p = &node1; p; p = p->prev) + { + p = reverse_list (p); + printf ("%d: %016zx next: %016zx prev: %016zx\n", p->content, (size_t) p, (size_t) p->next, (size_t) p->prev); + } + + for (node *p = &node4; p; p = p->next) + { + printf ("%d\n", p->content); + } + + return 0; +} diff --git a/20230323/lists-17.c b/20230323/lists-17.c new file mode 100644 index 0000000..ec7764a --- /dev/null +++ b/20230323/lists-17.c @@ -0,0 +1,50 @@ +#include <stdio.h> + +typedef struct node +{ + int content; + struct node *prev, *next; +} node; + +node *reverse_node (node *root) /* 1 Element umdrehen */ +{ + node *tmp = root->next; + root->next = root->prev; + root->prev = tmp; + return root; +} + +node *reverse_list (node *root) /* Ganze Liste umdrehen */ +{ + for (node *p = root; p; p = p->prev) + { + p = reverse_node (p); + printf ("%d: %016zx next: %016zx prev: %016zx\n", p->content, (size_t) p, (size_t) p->next, (size_t) p->prev); + } + return root; +} + +int main (void) +{ + node node1 = { 1, NULL, NULL }; + node node2 = { 2, &node1, NULL }; + node1.next = &node2; + node node3 = { 3, &node2, NULL }; + node2.next = &node3; + node node4 = { 4, &node3, NULL }; + node3.next = &node4; + + for (node *p = &node1; p; p = p->next) + { + printf ("%d: %016zx\n", p->content, (size_t) p); + } + + node *root = reverse_list (&node1); + + for (node *p = root; p; p = p->next) + { + printf ("%d\n", p->content); + } + + return 0; +} diff --git a/20230323/lists-18.c b/20230323/lists-18.c new file mode 100644 index 0000000..dd87704 --- /dev/null +++ b/20230323/lists-18.c @@ -0,0 +1,52 @@ +#include <stdio.h> + +typedef struct node +{ + int content; + struct node *prev, *next; +} node; + +node *reverse_node (node *root) /* 1 Element umdrehen */ +{ + node *tmp = root->next; + root->next = root->prev; + root->prev = tmp; + return root; +} + +node *reverse_list (node *root) /* Ganze Liste umdrehen */ +{ + while (root && root->next) + root = root->next; + for (node *p = root; p; p = p->prev) + { + p = reverse_node (p); + printf ("%d: %016zx next: %016zx prev: %016zx\n", p->content, (size_t) p, (size_t) p->next, (size_t) p->prev); + } + return root; +} + +int main (void) +{ + node node1 = { 1, NULL, NULL }; + node node2 = { 2, &node1, NULL }; + node1.next = &node2; + node node3 = { 3, &node2, NULL }; + node2.next = &node3; + node node4 = { 4, &node3, NULL }; + node3.next = &node4; + + for (node *p = &node1; p; p = p->next) + { + printf ("%d: %016zx\n", p->content, (size_t) p); + } + + node *root = reverse_list (&node1); + + for (node *p = root; p; p = p->next) + { + printf ("%d\n", p->content); + } + + return 0; +} diff --git a/20230323/lists-19.c b/20230323/lists-19.c new file mode 100644 index 0000000..51845a0 --- /dev/null +++ b/20230323/lists-19.c @@ -0,0 +1,52 @@ +#include <stdio.h> + +typedef struct node +{ + int content; + struct node *prev, *next; +} node; + +node *reverse_node (node *root) /* 1 Element umdrehen */ +{ + node *tmp = root->next; + root->next = root->prev; + root->prev = tmp; + return root; +} + +node *reverse_list (node *root) /* Ganze Liste umdrehen */ +{ + node *leaf = root; + for (node *p = root; p; p = p->prev) + { + p = reverse_node (p); + printf ("%d: %016zx next: %016zx prev: %016zx\n", p->content, (size_t) p, (size_t) p->next, (size_t) p->prev); + leaf = p; + } + return leaf; +} + +int main (void) +{ + node node1 = { 1, NULL, NULL }; + node node2 = { 2, &node1, NULL }; + node1.next = &node2; + node node3 = { 3, &node2, NULL }; + node2.next = &node3; + node node4 = { 4, &node3, NULL }; + node3.next = &node4; + + for (node *p = &node1; p; p = p->next) + { + printf ("%d: %016zx\n", p->content, (size_t) p); + } + + node *root = reverse_list (&node1); + + for (node *p = root; p; p = p->next) + { + printf ("%d\n", p->content); + } + + return 0; +} diff --git a/20230323/namespaces-01.c b/20230323/namespaces-01.c new file mode 100644 index 0000000..ccb22b1 --- /dev/null +++ b/20230323/namespaces-01.c @@ -0,0 +1,6 @@ +#include <iostream> + +int main () +{ + std::cout << "Hello, world!" << std::endl; +} diff --git a/20230323/namespaces-02.c b/20230323/namespaces-02.c new file mode 100644 index 0000000..d7dfdab --- /dev/null +++ b/20230323/namespaces-02.c @@ -0,0 +1,8 @@ +#include <iostream> + +using namespace std; + +int main () +{ + cout << "Hello, world!" << endl; +} diff --git a/20230323/namespaces-03.c b/20230323/namespaces-03.c new file mode 100644 index 0000000..c733c6f --- /dev/null +++ b/20230323/namespaces-03.c @@ -0,0 +1,9 @@ +#include <iostream> + +using std::cout; +using std::endl; + +int main () +{ + cout << "Hello, world!" << endl; +} diff --git a/20230323/namespaces-04.c b/20230323/namespaces-04.c new file mode 100644 index 0000000..8180bda --- /dev/null +++ b/20230323/namespaces-04.c @@ -0,0 +1,17 @@ +#include <iostream> + +using std::cout; +using std::endl; + +namespace my_output +{ + void hello () + { + cout << "Hello, world!" << endl; + } +} + +int main () +{ + hello (); +} diff --git a/20230323/namespaces-05.c b/20230323/namespaces-05.c new file mode 100644 index 0000000..a3ba2cc --- /dev/null +++ b/20230323/namespaces-05.c @@ -0,0 +1,17 @@ +#include <iostream> + +using std::cout; +using std::endl; + +namespace my_output +{ + void hello () + { + cout << "Hello, world!" << endl; + } +} + +int main () +{ + my_output::hello (); +} diff --git a/20230323/operators-01.cpp b/20230323/operators-01.cpp new file mode 100644 index 0000000..04f85e5 --- /dev/null +++ b/20230323/operators-01.cpp @@ -0,0 +1,7 @@ +#include <iostream> + +int main () +{ + std::cout << "Hello, world!" << std::endl; + return 0; +} diff --git a/20230323/operators-02.cpp b/20230323/operators-02.cpp new file mode 100644 index 0000000..6fdfbb7 --- /dev/null +++ b/20230323/operators-02.cpp @@ -0,0 +1,9 @@ +#include <iostream> + +int main () +{ + std::cout << "Hello, world!" << std::endl; + int a = 1 << 7; + std::cout << a << std::endl; + return 0; +} diff --git a/20230323/operators-03.cpp b/20230323/operators-03.cpp new file mode 100644 index 0000000..035c629 --- /dev/null +++ b/20230323/operators-03.cpp @@ -0,0 +1,10 @@ +#include <iostream> + +int main () +{ + std::cout << "Hello, world!" << std::endl; + int a = 1; + a << 7; + std::cout << a << std::endl; + return 0; +} diff --git a/20230323/operators-04.cpp b/20230323/operators-04.cpp new file mode 100644 index 0000000..fa0440a --- /dev/null +++ b/20230323/operators-04.cpp @@ -0,0 +1,15 @@ +#include <stdio.h> + +int operator << (int a, int b) +{ + a = b; + printf ("%d\n", b); + return b; +} + +int main () +{ + int a = 1; + a << 7; + return 0; +} diff --git a/20230323/operators-05.c b/20230323/operators-05.c new file mode 100644 index 0000000..852fd5b --- /dev/null +++ b/20230323/operators-05.c @@ -0,0 +1,21 @@ +#include <stdio.h> + +struct vector +{ + double x, y, z; +}; + +vector operator + (vector u, vector v) +{ + vector w = { u.x + v.x, u.y + v.y, u.z + v.z }; + return w; +} + +int main () +{ + vector a = { 1, 1, 0 }; + vector b = { 0, 1, 1 }; + vector w = a + b; + printf ("(%lf,%lf,%lf)\n", w.x, w.y, w.z); + return 0; +} diff --git a/20230323/operators-06.c b/20230323/operators-06.c new file mode 100644 index 0000000..fe57dd8 --- /dev/null +++ b/20230323/operators-06.c @@ -0,0 +1,20 @@ +#include <stdio.h> + +struct vector +{ + int x, y; +}; + +vector operator ++ (vector &u) +{ + vector w = { ++u.x, ++u.y }; + return w; +} + +int main () +{ + vector a = { 1, 0 }; + printf ("(%lf,%lf)\n", a++); + printf ("(%lf,%lf)\n", a); + return 0; +} diff --git a/20230323/operators-07.c b/20230323/operators-07.c new file mode 100644 index 0000000..7c1492c --- /dev/null +++ b/20230323/operators-07.c @@ -0,0 +1,20 @@ +#include <stdio.h> + +struct vector +{ + int x, y; +}; + +vector operator ++ (vector &u) +{ + vector w = { ++u.x, ++u.y }; + return w; +} + +int main () +{ + vector a = { 1, 0 }; + printf ("(%d,%d)\n", ++a); + printf ("(%d,%d)\n", a); + return 0; +} diff --git a/20230323/operators-08.c b/20230323/operators-08.c new file mode 100644 index 0000000..472668d --- /dev/null +++ b/20230323/operators-08.c @@ -0,0 +1,21 @@ +#include <stdio.h> + +struct vector +{ + int x, y; +}; + +vector operator ++ (vector &u) +{ + vector w = { ++u.x, ++u.y }; + return w; +} + +int main () +{ + vector a = { 1, 0 }; + vector b = ++a; + printf ("(%d,%d)\n", b.x, b.y); + printf ("(%d,%d)\n", a.x, a.y); + return 0; +} diff --git a/20230323/operators-09.c b/20230323/operators-09.c new file mode 100644 index 0000000..10c148c --- /dev/null +++ b/20230323/operators-09.c @@ -0,0 +1,21 @@ +#include <stdio.h> + +struct vector +{ + int x, y; +}; + +vector operator ++ (vector &u, int) +{ + vector w = { u.x++, u.y++ }; + return w; +} + +int main () +{ + vector a = { 1, 0 }; + vector b = a++; + printf ("(%d,%d)\n", b.x, b.y); + printf ("(%d,%d)\n", a.x, a.y); + return 0; +} diff --git a/20230323/prog-01.c b/20230323/prog-01.c new file mode 100644 index 0000000..e372c2d --- /dev/null +++ b/20230323/prog-01.c @@ -0,0 +1,7 @@ +#include "lib-01.h" + +int main (void) +{ + hello (); + return 0; +} diff --git a/20230323/prog-01.s b/20230323/prog-01.s new file mode 100644 index 0000000..db76d36 --- /dev/null +++ b/20230323/prog-01.s @@ -0,0 +1,19 @@ + .file "prog-01.c" + .text + .globl main + .type main, @function +main: +.LFB0: + .cfi_startproc + subq $8, %rsp + .cfi_def_cfa_offset 16 + call _Z5hellov@PLT + movl $0, %eax + addq $8, %rsp + .cfi_def_cfa_offset 8 + ret + .cfi_endproc +.LFE0: + .size main, .-main + .ident "GCC: (Debian 8.3.0-6) 8.3.0" + .section .note.GNU-stack,"",@progbits diff --git a/20230323/prog-02.c b/20230323/prog-02.c new file mode 100644 index 0000000..e372c2d --- /dev/null +++ b/20230323/prog-02.c @@ -0,0 +1,7 @@ +#include "lib-01.h" + +int main (void) +{ + hello (); + return 0; +} diff --git a/20230323/prog-03.c b/20230323/prog-03.c new file mode 100644 index 0000000..323ebea --- /dev/null +++ b/20230323/prog-03.c @@ -0,0 +1,10 @@ +extern "C" +{ + #include "lib-01.h" +} + +int main (void) +{ + hello (); + return 0; +} diff --git a/20230323/prog-04.c b/20230323/prog-04.c new file mode 100644 index 0000000..3c0d13d --- /dev/null +++ b/20230323/prog-04.c @@ -0,0 +1,7 @@ +#include "lib-04.h" + +int main (void) +{ + hello (); + return 0; +} diff --git a/20230323/prog-05.c b/20230323/prog-05.c new file mode 100644 index 0000000..1fc2304 --- /dev/null +++ b/20230323/prog-05.c @@ -0,0 +1,7 @@ +#include "lib-05.h" + +int main (void) +{ + hello (); + return 0; +} diff --git a/20230323/prog-06.c b/20230323/prog-06.c new file mode 100644 index 0000000..b000486 --- /dev/null +++ b/20230323/prog-06.c @@ -0,0 +1,7 @@ +#include "lib-06.h" + +int main (void) +{ + print (); + return 0; +} diff --git a/20230323/prog-06a.c b/20230323/prog-06a.c new file mode 100644 index 0000000..1357ca1 --- /dev/null +++ b/20230323/prog-06a.c @@ -0,0 +1,7 @@ +#include "lib-06.h" + +int main (void) +{ + print ("Hallo, Welt!\n"); + return 0; +} diff --git a/20230323/references-01.c b/20230323/references-01.c new file mode 100644 index 0000000..7075924 --- /dev/null +++ b/20230323/references-01.c @@ -0,0 +1,14 @@ +#include <stdio.h> + +void calc_answer (int *a) +{ + *a = 42; +} + +int main (void) +{ + int a; + calc_answer (&a); + printf ("The answer is: %d\n", a); + return 0; +} diff --git a/20230323/references-02.c b/20230323/references-02.c new file mode 100644 index 0000000..b39fc23 --- /dev/null +++ b/20230323/references-02.c @@ -0,0 +1,14 @@ +#include <stdio.h> + +void calc_answer (int &a) +{ + a = 42; +} + +int main (void) +{ + int a; + calc_answer (a); + printf ("The answer is: %d\n", a); + return 0; +} diff --git a/20230323/references-03.c b/20230323/references-03.c new file mode 100644 index 0000000..407af23 --- /dev/null +++ b/20230323/references-03.c @@ -0,0 +1,15 @@ +#include <stdio.h> + +void calc_answer (int &a, int &b) +{ + a = 42; + b = 137; +} + +int main (void) +{ + int a; + calc_answer (a, a); + printf ("The answer is: %d\n", a); + return 0; +} diff --git a/20230323/references-04.c b/20230323/references-04.c new file mode 100644 index 0000000..fc0a8b4 --- /dev/null +++ b/20230323/references-04.c @@ -0,0 +1,10 @@ +#include <stdio.h> + +int main (void) +{ + int a; + int &b = a; + b = 42; + printf ("The answer is: %d\n", a); + return 0; +} diff --git a/20230323/references-04.s b/20230323/references-04.s new file mode 100644 index 0000000..62fb68e --- /dev/null +++ b/20230323/references-04.s @@ -0,0 +1,26 @@ + .file "references-04.c" + .text + .section .rodata.str1.1,"aMS",@progbits,1 +.LC0: + .string "The answer is: %d\n" + .text + .globl main + .type main, @function +main: +.LFB12: + .cfi_startproc + subq $8, %rsp + .cfi_def_cfa_offset 16 + movl $42, %esi + leaq .LC0(%rip), %rdi + movl $0, %eax + call printf@PLT + movl $0, %eax + addq $8, %rsp + .cfi_def_cfa_offset 8 + ret + .cfi_endproc +.LFE12: + .size main, .-main + .ident "GCC: (Debian 8.3.0-6) 8.3.0" + .section .note.GNU-stack,"",@progbits diff --git a/20230323/references-05.c b/20230323/references-05.c new file mode 100644 index 0000000..e2149eb --- /dev/null +++ b/20230323/references-05.c @@ -0,0 +1,10 @@ +#include <stdio.h> + +int main (void) +{ + int a; + int *b = &a; + *b = 42; + printf ("The answer is: %d\n", a); + return 0; +} diff --git a/20230323/void-01.c b/20230323/void-01.c new file mode 100644 index 0000000..845c95a --- /dev/null +++ b/20230323/void-01.c @@ -0,0 +1,7 @@ +#include <stdio.h> + +int main () +{ + printf ("Hello, world!\n"); + return 0; +} diff --git a/20230323/void-02.c b/20230323/void-02.c new file mode 100644 index 0000000..cbd2a92 --- /dev/null +++ b/20230323/void-02.c @@ -0,0 +1,13 @@ +#include <stdio.h> + +int answer (a) + int a; +{ + return 2 * a; +} + +int main () +{ + printf ("The answer is: %d\n", answer (21)); + return 0; +} diff --git a/20230323/void-03.c b/20230323/void-03.c new file mode 100644 index 0000000..2ec05e3 --- /dev/null +++ b/20230323/void-03.c @@ -0,0 +1,13 @@ +#include <stdio.h> + +int answer (a) + int a; +{ + return 2 * a; +} + +int main () +{ + printf ("The answer is: %d\n", answer ("Einundzwanzig.")); + return 0; +} diff --git a/20230323/void-04.c b/20230323/void-04.c new file mode 100644 index 0000000..4fb9aba --- /dev/null +++ b/20230323/void-04.c @@ -0,0 +1,13 @@ +#include <stdio.h> + +int answer (a) + int a; +{ + return 2 * a; +} + +int main () +{ + printf ("The answer is: %d\n", answer ("Einundzwanzig.", "bitte verdoppeln")); + return 0; +} diff --git a/20230323/void-05.c b/20230323/void-05.c new file mode 100644 index 0000000..0113c0d --- /dev/null +++ b/20230323/void-05.c @@ -0,0 +1,12 @@ +#include <stdio.h> + +int hello () +{ + printf ("Hello, world!\n"); +} + +int main () +{ + hello ("Wörldt"); + return 0; +} diff --git a/20230323/void-06.c b/20230323/void-06.c new file mode 100644 index 0000000..589cbf8 --- /dev/null +++ b/20230323/void-06.c @@ -0,0 +1,12 @@ +#include <stdio.h> + +hello () +{ + printf ("Hello, world!\n"); +} + +int main () +{ + hello ("Wörldt"); + return 0; +} diff --git a/20230330/Zeichen_123.pdf b/20230330/Zeichen_123.pdf new file mode 120000 index 0000000..fdbc897 --- /dev/null +++ b/20230330/Zeichen_123.pdf @@ -0,0 +1 @@ +../common/Zeichen_123.pdf \ No newline at end of file diff --git a/20230330/ad-20230330.pdf b/20230330/ad-20230330.pdf new file mode 100644 index 0000000000000000000000000000000000000000..88e233f08b41cba2ac18e8bd3fd7991ac2601106 GIT binary patch literal 110523 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 literal 0 HcmV?d00001 diff --git a/20230330/ad-20230330.tex b/20230330/ad-20230330.tex new file mode 100644 index 0000000..b23d92c --- /dev/null +++ b/20230330/ad-20230330.tex @@ -0,0 +1,755 @@ +% ad-20230330.pdf - Lecture Slides on Algorithms and Data Structures in C/C++ +% Copyright (C) 2018, 2019, 2020, 2021, 2022, 2023 Peter Gerwinski +% +% This document is free software: you can redistribute it and/or +% modify it either under the terms of the Creative Commons +% Attribution-ShareAlike 3.0 License, or under the terms of the +% GNU General Public License as published by the Free Software +% Foundation, either version 3 of the License, or (at your option) +% any later version. +% +% This document is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this document. If not, see <http://www.gnu.org/licenses/>. +% +% You should have received a copy of the Creative Commons +% Attribution-ShareAlike 3.0 Unported License along with this +% document. If not, see <http://creativecommons.org/licenses/>. + +% README: Objekte + +\documentclass[10pt,t]{beamer} + +\usepackage{pgslides} +\usepackage{tikz} +%\usepackage{rotating} + +\newcommand{\underconstruction}{% + \begin{picture}(0,0) + \color{black} + \put(6,-2.2){\makebox(0,0)[b]{\includegraphics[width=1.5cm]{Zeichen_123.pdf}}} + \put(6,-2.5){\makebox(0,0)[t]{\shortstack{Änderungen\\vorbehalten}}} + \end{picture}} + +\title{Algorithmen und Datenstrukturen in C/C++} +\author{Prof.\ Dr.\ rer.\ nat.\ Peter Gerwinski} +\date{30.\ März 2023} + +\begin{document} + +\maketitleframe + +\nosectionnonumber{\inserttitle} + +\begin{frame} + + \shownosectionnonumber + + \begin{itemize} + \item[\textbf{1}] \textbf{Einführung} + \underconstruction + \hfill\makebox(0,0)[br]{\raisebox{2.25ex}{\url{https://gitlab.cvh-server.de/pgerwinski/ad.git}}} +% \item[\textbf{i}] \textbf{Gesellschaftliche Auswirkungen\\ +% von Algorithmen und Datenstrukturen} + \item[\textbf{2}] \textbf{Datenorganisation} + \item[\textbf{3}] \textbf{Optimierung} + \item[\textbf{4}] \textbf{Hardwarenahe Algorithmen} + \item[\textbf{5}] \textbf{Datenkodierung} + \color{gray} + \item[\textbf{6}] \textbf{Numerik} + \end{itemize} + +\end{frame} + +\section{Einführung in C++} +\addtocounter{subsection}{-1} +\subsection{Was ist C?} + +\begin{frame} + + \showsection + \showsubsection + + Etabliertes Profi-Werkzeug + \begin{itemize} + \item + kleinster gemeinsamer Nenner für viele Plattformen\\ + \begin{picture}(0,1) + \color{red} + \put(7.2,0.6){\tikz{\draw[-latex](0.0,0.0)--(0.0,0.4);}} + \put(7.2,0.5){\makebox(0,0)[t]{\color{black}Hardware und/oder Betriebssystem}} + \end{picture} + \item + Hardware direkt ansprechen und effizient einsetzen + \item + \dots\ bis hin zu komplexen Software-Projekten + \medskip + \arrowitem + Man kann Computer vollständig beherrschen. + \end{itemize} + +\end{frame} + +\begin{frame} + + \showsection + \showsubsection + + \begin{picture}(0,0) + \put(5.3,-2.5){\makebox(0,0)[tl]{\begin{minipage}{7cm} + \emph{C makes it easy to shoot yourself in the foot.} + \begin{flushright} + Bjarne Stroustrup, ca.~1986\\ + \href{http://www.stroustrup.com/bs_faq.html\#really-say-that}% + {\nolinkurl{http://www.stroustrup.com/bs_faq.html}\\ + \nolinkurl{\#really-say-that}} + \end{flushright} + \end{minipage}}} + \end{picture}% + Etabliertes Profi-Werkzeug + \begin{itemize} + \item + kleinster gemeinsamer Nenner für viele Plattformen + \item + Hardware direkt ansprechen und effizient einsetzen + \item + \dots\ bis hin zu komplexen Software-Projekten + \item + leistungsfähig, aber gefährlich + \end{itemize} + + \medskip + "`High-Level-Assembler"' + \begin{itemize} + \item + kein "`Fallschirm"' + \item + kompakte Schreibweise + \end{itemize} + + \medskip + Unix-Hintergrund + \begin{itemize} + \item + Baukastenprinzip + \item + konsequente Regeln + \item + kein "`Fallschirm"' + \end{itemize} + +\end{frame} + +\subsection{Was ist C++?} + +\begin{frame} + + \showsection + \showsubsection + + \begin{picture}(0,0) + \put(6.3,-0.2){\makebox(0,0)[tl]{\begin{minipage}{6cm} + \emph{C++ is a better C.} + \begin{flushright} + Bjarne Stroustrup, Autor von C++\\ + \url{http://www.stroustrup.com/C++.html} + \end{flushright} + \end{minipage}}} + \put(5.3,-2.5){\makebox(0,0)[tl]{\begin{minipage}{7cm} + \emph{C makes it easy to shoot yourself in the foot;\\ + C++ makes it harder, but when you do\\ + it blows your whole leg off.} + \begin{flushright} + Bjarne Stroustrup, Autor von C++, ca.~1986\\ + \href{http://www.stroustrup.com/bs_faq.html\#really-say-that}% + {\nolinkurl{http://www.stroustrup.com/bs_faq.html}\\ + \nolinkurl{\#really-say-that}} + \end{flushright} + \end{minipage}}} + \end{picture}% + Etabliertes Profi-Werkzeug + \begin{itemize} + \item + kompatibel zu C + \end{itemize} + + \medskip + + C++ unterstützt + \begin{itemize} + \item + \newterm{objektorientierte\\ + Programmierung} + \item + \newterm{Datenabstraktion} + \item + \newterm{generische\\ + Programmierung} + \end{itemize} + + \vspace{0cm plus 1 filll} + + \textbf{Motivation:}\\[\smallskipamount] + Vermeidung unsicherer Techniken,\\ + insbesondere von Präprozessor-Konstruktionen und Zeigern,\\ + unter Beibehaltung der Effizienz + +\end{frame} + +\subsection{Elementare Neuerungen in C++ gegenüber C} + +\begin{frame}[fragile] + \showsubsection + \begin{itemize} +% \pause + \item + Kommentare mit \lstinline{//} +% \pause + \item + Konstante: +% \begin{onlyenv}<3> +% \begin{lstlisting}[gobble=10] +% const int answer = 42; +% \end{lstlisting} +% \end{onlyenv} + \begin{lstlisting}[gobble=8] + const int n = 5; + int prime[n] = { 2, 3, 5, 7, 11 }; + \end{lstlisting} +% \pause + \item + Ab C++11: \lstinline{constexpr}-Funktionen\\ +% \only<1->{{\color{red}\dots\ anscheinend auch ohne "`constexpr"' \dots}\\} + C++11: darf nur aus einem einzigen \lstinline{return}-Statement bestehen\\ + \textarrow\ \lstinline{?:} statt \lstinline{if}, Rekursion statt Schleife\\ + C++-14: auch Verzweigungen und Schleifen erlaubt +% \pause + \item + leere Parameterliste: \lstinline{void} optional\\ + in C: ohne \lstinline{void} = Parameterliste wird nicht geprüft +% \pause + \item + Operatoren \lstinline{new} und \lstinline{delete}\\ + als Alternative zu den Funktionen \lstinline{malloc()} und \lstinline{free()} + \end{itemize} +\end{frame} + +\subsection{Referenz-Typen} + +\begin{frame}[fragile] + \showsubsection + \begin{lstlisting} + void calc_answer (int &answer) + { + answer = 42; + } + \end{lstlisting} + \medskip + \dots\ als Alternative zu \dots + \medskip + \begin{lstlisting} + void calc_answer (int *answer) + { + *answer = 42; + } + \end{lstlisting} + \begin{itemize} + \item + Zeiger "`verborgen"', übersichtlicher und sicherer + \item + Es gibt keinen \lstinline{NULL}-Wert.\\ + \textarrow\ Für verkettete Listen u.\,ä.: Tricks erforderlich + \end{itemize} +\end{frame} + +\subsection{Überladbare Operatoren und Funktionen} + +\begin{frame}[fragile] + \showsubsection + \begin{lstlisting} + #include <iostream> + + int main () + { + std::cout << "Hello, world!" << std::endl; + return 0; + } + \end{lstlisting} + +% \pause + \bigskip + + Bemerkungen: + \begin{itemize} + \item + Compilieren mit \lstinline[style=cmd]{g++} + statt \lstinline[style=cmd]{gcc}:\\ + C++-Bibliotheken mit einbinden + \item + Der Operator \lstinline{<<} hat normalerweise keinen Seiteneffekt, + hier schon. + \end{itemize} +\end{frame} + +\begin{frame}[fragile] + \showsubsection + \begin{lstlisting} + #include <iostream> + + struct vector + { + double x, y, z; + }; + + vector operator + (vector u, vector v) + { + vector w = { u.x + v.x, u.y + v.y, u.z + v.z }; + return w; + } + \end{lstlisting} + + \begin{itemize} + \item + \lstinline{++} wird zum Präfix-Operator. + \item + \lstinline{++} mit zusätzlichem (ungenutzten) \lstinline{int}-Parameter\\ + wird zum Postfix-Operator. + \end{itemize} +\end{frame} + +\begin{frame}[fragile] + \showsubsection + \begin{lstlisting} + void print (const char *s) + { + printf ("%s", s); + } + + void print (int i) + { + printf ("%d", i); + } + \end{lstlisting} +% \pause + \bigskip + Optionale Parameter: + \medskip + \begin{lstlisting} + void print (const char *s = "\n") + { + printf ("%s", s); + } + \end{lstlisting} +% \pause + \begin{picture}(0,0) + \color{red} + \put(5.50,5.40){\makebox(0,0)[br]{\tikz{\draw[-latex](0.0,0.0)--(-2.0,0.6);}}} + \put(5.50,4.85){\makebox(0,0)[tr]{\tikz{\draw[-latex](0.0,0.0)--(-2.0,-0.2);}}} + \put(5.6,5.0){\begin{minipage}{5cm} + Für den Linker:\\ + veränderte, eindeutige Namen + \end{minipage}} + \put(5.50,1.55){\makebox(0,0)[tr]{\tikz{\draw[-latex](0.0,0.0)--(-0.6,0.4);}}} + \put(5.6,1.0){\begin{minipage}{5cm} + wird vom Compiler erledigt + \end{minipage}} +% \pause + \put(7.0,3.6){\makebox(0,0)[b]{\tikz{\draw[-latex](0.0,0.0)--(0.0,0.9);}}} + \put(5.6,3.0){\begin{minipage}{5cm} + Wenn man das nicht will:\\ + extern \char`"C\char`"\ \{ \dots \} + \end{minipage}} + \end{picture} +\end{frame} + +\subsection{Namensräume} + +\begin{frame}[fragile] + \showsubsection + \begin{lstlisting} + #include <iostream> + + using namespace std; + + int main () + { + cout << "Hello, world!" << endl; + return 0; + } + \end{lstlisting} + +% \pause + \bigskip + + \begin{lstlisting} + namespace my_output + { + ... + } + + using namespace my_output; + \end{lstlisting} +\end{frame} + +\subsection{Objekte} + +\begin{frame}[fragile] + \showsubsection + \begin{center} + \begin{minipage}{5cm} + \begin{lstlisting}[gobble=8] + ¡struct TBase + { + };¿ + \end{lstlisting} + \end{minipage}\\[0.5cm] + \begin{minipage}{6cm} + \begin{lstlisting}[gobble=8] + ¡struct TInteger: public TBase + { + int content; + };¿ + \end{lstlisting} + \end{minipage} + \begin{minipage}{5cm} + \begin{lstlisting}[gobble=8] + ¡struct TString: public TBase + { + char *content; + };¿ + \end{lstlisting} + \end{minipage} + \end{center} +\end{frame} + +\addtocounter{subsection}{-1} +\subsection{Objekte: Zugriffsrechte} + +\begin{frame}[fragile] + \showsubsection + \begin{itemize} + \item + \lstinline{public}, \lstinline{private}, \lstinline{protected}\\[\smallskipamount] + nicht nur Bürokratie, sondern auch Kapselung\\ + (Maßnahme gegen "`Namensraumverschmutzung"') + \medskip + \item + \lstinline{struct}: standardmäßig \lstinline{public}\\[\smallskipamount] + \lstinline{class}: standardmäßig \lstinline{private} + \medskip + \item + \lstinline{friend}-Funktionen und -Klassen + \medskip + \item + Klasse als Namensraum:\\ + \lstinline{static}-"`Member"'-Variable\\ + \lstinline{static}-"`Methoden"'\\ + Deklarationen von z.\,B.\ Konstanten und Typen + \end{itemize} +\end{frame} + +\addtocounter{subsection}{-1} +\subsection{Objekte: Konstruktoren und Destruktoren} + +\begin{frame}[fragile] + \showsubsection + \begin{itemize} + \item + leerer Standard-Konstrutor + \item + \newterm{Copy-Konstruktor} + \item + Konstruktor-Aufruf als "`Initialisierung"' + \item + Konstruktor-Aufruf mit \lstinline{new}\\ + Destruktor-Aufruf mit \lstinline{delete} + \item + automatischer Destruktor-Aufruf\\ + beim Verlassen des Gültigkeitsbereichs + \end{itemize} +\end{frame} + +\subsection{Strings} + +\begin{frame}[fragile] + \showsubsection + \begin{itemize} + \item + \lstinline{#include <string>} + \item + String-Klasse + \item + String-Konstante sind \lstinline{const char *} + \item + C-kompatiblen String extrahieren: \lstinline{c_str ()} + \item + In String schreiben: \lstinline{#include <sstream>}, \lstinline{ostringstream} + \end{itemize} +\end{frame} + +\iffalse + +\subsection{Templates} + +\begin{frame}[fragile] + \showsubsection + Anwendung desselben Quelltextes auf verschiedene Datentypen + \begin{itemize} + \item + \lstinline{template <typename x> ...} + \item + \lstinline{template <class x> ...} + \end{itemize} +% \pause + Vorsicht: Fehler werden erst bei Instantiierung erkannt! +% \pause + \begin{itemize} + \item + Template-Spezialisierung:\\ + \lstinline{template <> foo <int> ...} + \end{itemize} +\end{frame} + +\subsection{Container-Templates} + +\begin{frame} + \showsection + \showsubsection + \vspace*{-0.25cm} + \begin{tabular}{ll} + \lstinline|array| & Array mit fester Größe \\ + \lstinline|bitset| & festes Array von Bits (Booleans) \\ + \lstinline|vector| & dynamisches Array \\ + \lstinline|vector <bool>| & dynamisches Bit-Array \\ + \lstinline|forward_list| & einfach-verkettete Liste \\ + \lstinline|list| & doppelt-verkettete Liste \\ + \lstinline|set| & binärer Baum \\ + \lstinline|multiset| & mehrfache Elemente zulässig \\ + \lstinline|unordered_set| & Hash-Tabelle \\ + \lstinline|unordered_multiset| & mehrfache Elemente zulässig \\ + \lstinline|map| & binärer Baum mit separaten Schlüsselwerten \\ + \lstinline|multimap| & mehrere Elemente pro Schlüssel \\ + \lstinline|unordered_map| & Hash-Tabelle mit separaten Schlüsselwerten \\ + \lstinline|unordered_multimap| & mehrere Elemente pro Schlüssel \\ + \lstinline|stack| & Stack \\ + \lstinline|queue| & FIFO \\ + \lstinline|deque| & \emph{\textbf{d}ouble-\textbf{e}nded \textbf{que}ue} \\ + \lstinline|priority_queue| & geordneter Push-Pop-Container + \end{tabular} + \vspace*{-1cm} +\end{frame} + +\subsection{Iteratoren} + +\begin{frame}[fragile] + \showsection + \showsubsection + + Pointer-Arithmetik: + \medskip + \begin{lstlisting} + int prime[5] = { 2, 3, 5, 7, 11 }; + for (int *p = prime; p != prime + 5; p++) + std::cout << *p << std::endl; + \end{lstlisting} + + \bigskip + Iterator als Verallgemeinerung: + \medskip + \begin{lstlisting} + std::array <int, 5> prime = { { 2, 3, 5, 7, 11 } }; + for (std::array <int, 5>::iterator p = prime.begin (); p != prime.end (); p++) + std::cout << *p << std::endl; + \end{lstlisting} +\end{frame} + +\subsection{Exceptions} + +\begin{frame}[fragile] + \showsubsection + \begin{lstlisting} + try + { + ... + throw <value>; + ... + } + catch (<type> <variable>) + { + ... + } + catch ... + \end{lstlisting} + \vspace*{-4.6cm}\hspace*{5cm} + \begin{minipage}{7cm} + \begin{itemize} + \item + Nach den \lstinline{catch()}-Statements wird, + soweit nicht anders programmiert, das Programm fortgesetzt. + \medskip + \item + \lstinline{throw;} (ohne Wert):\\ + an übergeordneten Exception-Handler weiterreichen + \medskip + \item + C-Äquivalent:\\ + \lstinline{setjmp()}, \lstinline{longjmp()} + \medskip + \item + speziell für \lstinline{<type>}:\\ + Nachfahren von \lstinline{class exception} + \medskip + \item + veraltet:\\ + \newterm{dynamic exception specifications} + \end{itemize} + \end{minipage} +\end{frame} + +\nosectionnonumber{\inserttitle} + +\begin{frame} + + \shownosectionnonumber + + \begin{itemize} + \item[\textbf{1}] \textbf{Einführung} + \underconstruction + \hfill\makebox(0,0)[br]{\raisebox{2.25ex}{\url{https://gitlab.cvh-server.de/pgerwinski/ad.git}}} + \item[\textbf{2}] \textbf{Einführung in C++} + \begin{itemize} + \vspace*{-\smallskipamount} + \item[\dots] + \item[2.6] Namensräume + \color{medgreen} + \item[2.7] Objekte + \item[2.8] Strings + \item[2.9] Templates + \item[2.10] Exceptions + \color{red} + \item[2.11] Typ-Konversionen + \item[2.12] Container-Templates + \item[2.13] Iteratoren + \end{itemize} + \item[\textbf{3}] \textbf{Datenorganisation} +% \begin{itemize} +% \item Listen, Bäume, Hash-Tabellen, \dots +% \end{itemize} + \item[\textbf{4}] \textbf{Datenkodierung} +% \begin{itemize} +% \item Fehlererkennung und -korrektur +% \item Kompression +% \item Kryptographie +% \end{itemize} + \item[\textbf{5}] \textbf{Hardwarenahe Algorithmen} +% \begin{itemize} +% \item FFT, CORDIC, \dots +% \end{itemize} + \item[\textbf{6}] \textbf{Optimierung} +% \begin{itemize} +% \item Wegfindung, \dots +% \end{itemize} + \color{gray} + \item[\textbf{7}] \textbf{Numerik} + \end{itemize} + +\end{frame} + +\subsection{Typ-Konversionen} + +\begin{frame}[fragile] + \showsubsection + + \begin{itemize} + \item + In C: + \begin{lstlisting}[gobble=8] + char *hello = "Hello, world!"; + uint64_t address = (uint64_t) hello; + printf ("%" PRIu64 "\n", address); + \end{lstlisting} + \smallskip + \item + alternative Syntax in C++: + \begin{lstlisting}[gobble=8] + char *hello = "Hello, world!"; + uint64_t address = uint64_t (hello); + cout << address << endl; + \end{lstlisting} + \smallskip + \item + zusätzlich in C++:\\ + implizite und explizite Typumwandlung zwischen Zeigern auf Klassen\\ + \lstinline{dynamic_cast<>()}\\ + \lstinline{static_cast<>()}\\ + \lstinline{reinterpret_cast<>()}\\ + \lstinline{const_cast<>()} + \end{itemize} +\end{frame} + +\begin{frame}[fragile] + \showsubsection + + \url{http://www.cplusplus.com/doc/tutorial/typecasting/} + + \begin{itemize} + \item + Zuweisung: Zeiger auf abgeleitete Klasse an Zeiger auf Basisklasse\\ + \textarrow\ implizite Typumwandlung möglich + \smallskip + \item + Zuweisung: Zeiger auf Basisklasse an Zeiger auf abgeleitete Klasse\\ + \textarrow\ nur explizite Typumwandlung möglich:\\ + \hspace*{0.76cm}\lstinline{dynamic_cast<>()}, \lstinline{static_cast<>()} + \smallskip + \item + implizite Typumwandlungen in der Klasse definieren: + \begin{itemize} + \item + Initialisierung durch Konstruktor + \item + Zuweisungs-Operator + \item + Typumwandlungsoperator + \end{itemize} + \smallskip + \item + implizite Typumwandlungen ausschalten:\\ + Schlüsselwort \lstinline{explicit} + \end{itemize} +\end{frame} + +\begin{frame}[fragile] + \showsubsection + + \url{http://www.cplusplus.com/doc/tutorial/typecasting/} + + \begin{itemize} + \item + \lstinline{dynamic_cast<>()}\\ + Zuweisung: Zeiger auf Basisklasse an Zeiger auf abgeleitete Klasse\\ + explizite Typumwandlung mit Prüfung, ggf.\ Exception + \smallskip + \item + \lstinline{static_cast<>()}\\ + Zuweisung: Zeiger auf Basisklasse an Zeiger auf abgeleitete Klasse\\ + explizite Typumwandlung ohne Prüfung + \smallskip + \item + \lstinline{reinterpret_cast<>()}\\ + Typumwandlung ohne Prüfung zwischen Zeigern untereinander\\ + und zwischen Zeigern und Integer-Typen + \smallskip + \item + \lstinline{const_cast<>()}\\ + "`\lstinline{const}"' ein- bzw.\ ausschalten + \end{itemize} +\end{frame} + +\fi + +\end{document} diff --git a/20230330/logo-hochschule-bochum-cvh-text.pdf b/20230330/logo-hochschule-bochum-cvh-text.pdf new file mode 120000 index 0000000..a059461 --- /dev/null +++ b/20230330/logo-hochschule-bochum-cvh-text.pdf @@ -0,0 +1 @@ +../common/logo-hochschule-bochum-cvh-text.pdf \ No newline at end of file diff --git a/20230330/logo-hochschule-bochum.pdf b/20230330/logo-hochschule-bochum.pdf new file mode 120000 index 0000000..b6b9491 --- /dev/null +++ b/20230330/logo-hochschule-bochum.pdf @@ -0,0 +1 @@ +../common/logo-hochschule-bochum.pdf \ No newline at end of file diff --git a/20230330/pgslides.sty b/20230330/pgslides.sty new file mode 120000 index 0000000..5be1416 --- /dev/null +++ b/20230330/pgslides.sty @@ -0,0 +1 @@ +../common/pgslides.sty \ No newline at end of file -- GitLab