init template presentation

This commit is contained in:
lukas-heiligenbrunner 2023-03-14 19:05:25 +01:00
parent 9f8c649e11
commit 262f1d3f73
2 changed files with 341 additions and 0 deletions

323
main.tex Normal file
View File

@ -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 <stdio.h>
int main()
{
// Variable definieren
int num = 10;
// Pointer definieren
int *p;
// Adresse von num --> p zuweisen
p = &num;
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(<Struktur>)
\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}

18
sources.bib Normal file
View File

@ -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}
}