From 262f1d3f7361006c74b58b0eb36bcf1592d4e047 Mon Sep 17 00:00:00 2001 From: lukas-heiligenbrunner Date: Tue, 14 Mar 2023 19:05:25 +0100 Subject: [PATCH] init template presentation --- main.tex | 323 ++++++++++++++++++++++++++++++++++++++++++++++++++++ sources.bib | 18 +++ 2 files changed, 341 insertions(+) create mode 100644 main.tex create mode 100644 sources.bib diff --git a/main.tex b/main.tex new file mode 100644 index 0000000..b28f635 --- /dev/null +++ b/main.tex @@ -0,0 +1,323 @@ +\documentclass[usenames,dvipsnames]{beamer} +%---------------------------------------------------------------------------------------- +% Struktur und Pointer Referat +% 20.04.2020 +%---------------------------------------------------------------------------------------- +\usetheme{focus} + +\usepackage[utf8]{inputenc} + +\usepackage{booktabs} +\usepackage{amsmath} +\usepackage{hyperref} +\usepackage{graphicx} +\usepackage{listings} +\usepackage{xcolor} + +% Farbdefinitionen +\definecolor{backgroundcoloreq}{RGB}{180,140,0} +\definecolor{codegreen}{rgb}{0,0.6,0} +\definecolor{codegray}{rgb}{0.5,0.5,0.5} +\definecolor{codepurple}{rgb}{0.58,0,0.82} +\definecolor{codeorange}{RGB}{190,100,0} + + +\lstset{ + language=C, + basicstyle=\ttfamily, + numbers=left, + numberstyle=\tiny, + tabsize=4, + columns=fixed, + showstringspaces=false, + showtabs=false, + breaklines=true, + keepspaces, + morekeywords={std}, + keywordstyle=\color{blue}\ttfamily, + stringstyle=\color{red}\ttfamily, + commentstyle=\color{OliveGreen!85}\ttfamily, + numberstyle=\tiny\color{codegray}, + basicstyle=\footnotesize\selectfont\ttfamily, +% keyword highlighting + classoffset=1, % starting new class + otherkeywords={>,<,.,;,-,+,!,=,~,:,[,],NULL,&}, + morekeywords={>,<,.,;,-,+,!,=,~,:,[,],NULL,&}, + keywordstyle=\color{codeorange}, + classoffset=0 +} + +%---------------------------------------------------------------------------------------- +% TITLE SLIDE +%---------------------------------------------------------------------------------------- + +\title{Cross-Model Pseudo-Labeling} + +\subtitle{for Semi-Supervised Action Recognition} + +\author{Lukas Heiligenbrunner} + +\date{\today} + +%------------------------------------------------ + +\begin{document} + +%------------------------------------------------ + + \begin{frame} + \maketitle + \end{frame} + +%---------------------------------------------------------------------------------------- +% SECTION 2 +%---------------------------------------------------------------------------------------- + + + \section{The Problem} % Section title slide, unnumbered + +%------------------------------------------------ + + \begin{frame}{Missing Labels} + \begin{itemize} + \item Variable die Speicheradresse enthält + \item Pointer zeigt wo das Objekt zu finden ist. + \item nicht alle Pointer enthalten Adresse + \begin{itemize} + \item NULL-Pointer + \end{itemize} + \item Operator * + \begin{itemize} + \item definiert einen Pointer + \item Wert eines Pointers + \end{itemize} + \item Operator \& + \begin{itemize} + \item Adresse einer Variable + \end{itemize} + \end{itemize} + \end{frame} + +%------------------------------------------------ + + \begin{frame}[fragile]{Pointer Syntax} + \begin{lstlisting} +#include +int main() +{ + // Variable definieren + int num = 10; + + // Pointer definieren + int *p; + + // Adresse von num --> p zuweisen + p = # + + printf("Num: %d", *p); + return 0; +} + \end{lstlisting} + \end{frame} + +%------------------------------------------------ + + \begin{frame}{Pointer in Java} + \begin{itemize} + \item Alle Objekte automatisch Pointer + \item Primitives (int, float, double) keine Pointer + \end{itemize} + \end{frame} + +%---------------------------------------------------------------------------------------- +% SECTION 2 +%---------------------------------------------------------------------------------------- + + + \section{Strukturen} % Section title slide, unnumbered + +%------------------------------------------------ + + \begin{frame}{Strukturen Allgemein} + \begin{itemize} + \item kategorisieren von Variablen + \begin{itemize} + \item Variablen \textit{(int, char, double, float)} + \item Pointer + \item Arrays + \end{itemize} + \item Keyword \textit{struct} + \item verbessert Übersicht + \item Schritt Richtung Objektorientierung + \item ideal für Listen und Baumstruktur + \end{itemize} + \end{frame} + +%------------------------------------------------ + + \begin{frame}[fragile, allowframebreaks]{C Syntax} + Definition: + \begin{lstlisting} +struct Adresse { + char name[50]; + int *nummer; + short hausnummer; + long plz; +};\end{lstlisting} + Anwendung: + \begin{lstlisting} +// Variable der Struktur erstellen +struct Adresse adresseKurt; +// Zugriff auf die Elemente +strcpy(adresseKurt.name, "Kurt Kanns"); +adresseKurt.hausnummer = 23; +int nr = 4; +adresseKurt.nummer = &nr; +adresseKurt.plz = 45678;\end{lstlisting} + + \framebreak + + Typdefinition mit typedef: + \begin{lstlisting} +struct Adresse { + char name[50]; + short hausnummer; +}; +typedef struct Adresse Adr; + +Adr a1,a2; // Datentyp Adr + \end{lstlisting} + + Kombination: + \begin{lstlisting} +typedef struct Adresse { + char name[50]; + short hausnummer; +} Adr; + +Adr a1,a2; // Datentyp Adr + \end{lstlisting} + \end{frame} + + \begin{frame}{Sonstiges} + \begin{itemize} + \item Strukturtypdeklaration: struct Adresse \{…\}; + \item Zugriff auf einzelne Komponenten durch\\ + Punktnotation: (Adresse1.Vorname = “Peter“); + \item Pfeilnotation (->) wenn struct Pointer + \item Gesamtlänge der Struktur: sizeof() + \item Weiteres hinzufügen von Komponenten während der Laufzeit nicht möglich. + \end{itemize} + \end{frame} + +%------------------------------------------------ + + \begin{frame}[fragile]{Strukturen als Funktionsargument} + Ohne Typedef: + \begin{lstlisting} +void testfunc(struct Adresse a){ + long plz = a.plz; +} + \end{lstlisting} + Mit Typedef: + \begin{lstlisting} +void testfunc(Adr a){ + long plz = a.plz; +} + \end{lstlisting} + \end{frame} + +%------------------------------------------------ + + \begin{frame}[fragile]{Strukturen in Java} + \begin{itemize} + \item existieren nicht + \item stattdessen Klassen + \end{itemize} + \begin{lstlisting}[language=java] +public class Adresse +{ + String name; + String strasse; + short hausnummer; + long plz; + String stadt; +} + \end{lstlisting} + \end{frame} + +%---------------------------------------------------------------------------------------- +% SECTION 3 +%---------------------------------------------------------------------------------------- + + + \section{Anwendung} % Section title slide, unnumbered + +%------------------------------------------------ + + \begin{frame}[fragile]{Struktur als Pointer} + \begin{lstlisting} +struct mystruct { + int data; +}; +typedef struct MyStruct MyStruct; + +void beispiel(MyStruct * str) { + int d = str->data; + int dd = (*str).data; // equivalent +} + +int main(){ + MyStruct struc; + struc.data = 5; + beispiel(&struc); + + return 0; +} + \end{lstlisting} + \end{frame} + +%------------------------------------------------ + + \begin{frame}[fragile]{Verkettete Listen} + \begin{lstlisting} +struct node { + int data; + struct node* next; /* Typ Node hier nicht moeglich + da erst spaeter definiert */ +}; +typedef struct node Node; + +void beispiel() { + // Erstellen von root + Node *root = malloc(sizeof(Node)); + + root->data = 17; + + // Anhaengen eines Knotens + Node *secondNode = malloc(sizeof(Node)); + root->next = secondNode; + secondNode->data = 19; +} + \end{lstlisting} + \end{frame} + +%------------------------------------------------ + + \begin{frame}[focus] + Danke für eure Aufmerksamkeit! + \end{frame} + +%---------------------------------------------------------------------------------------- +% CLOSING/SUPPLEMENTARY SLIDES +%---------------------------------------------------------------------------------------- + + \appendix + + \begin{frame}{Quellen} + \nocite{*} % Display all references regardless of if they were cited + \bibliography{sources} + \bibliographystyle{plain} + \end{frame} + +\end{document} diff --git a/sources.bib b/sources.bib new file mode 100644 index 0000000..126ae6f --- /dev/null +++ b/sources.bib @@ -0,0 +1,18 @@ +@misc{structtutorialspoint, + Title = {struct basics}, + howpublished = {\url{https://www.tutorialspoint.com/cprogramming/c_structures.htm}}, + note = {Aufgerufen: 2020-04} +} + +@misc{structchowto, + Title = {struct basics}, + howpublished = {\url{http://www.c-howto.de/tutorial/strukturierte-datentypen/strukturen/}}, + note = {Aufgerufen: 2020-04} +} + +@misc{pointertutorialspoint, + Title = {Pointer basics}, + howpublished = {\url{https://www.tutorialspoint.com/cprogramming/c_pointers.htm}}, + note = {Aufgerufen: 2020-04} +} +