Commit c0547f53 authored by Paffenholz, Andreas's avatar Paffenholz, Andreas

kapitel 5

parent 692f92be
/*************************************
* Beispielprogramm zur Vorlesung
* Einfuehrung in die Programmierung I
* Andreas Paffenholz
* TU Darmstadt, Wintersemester 2020/21
* (c) 2020-
*
* A v1
**************************************/
#include <stdio.h>
//#include "B_v1.h"
void f_A_call_from_main() {
printf("[f_A_1] aufgerufen\n");
// f_B_call_from_A();
}
void f_A_call_from_B() {
printf("[f_A_2] aufgerufen\n");
}
/*************************************
* Beispielprogramm zur Vorlesung
* Einfuehrung in die Programmierung I
* Andreas Paffenholz
* TU Darmstadt, Wintersemester 2020/21
* (c) 2020-
*
* B v1
**************************************/
#ifndef HEADER_A_DEF_H
#define HEADER_A_DEF_H
#include <stdio.h>
//#include "B_v2.h"
void f_A_call_from_main() {
printf("[f_A_1] aufgerufen\n");
// f_B_call_from_A();
}
void f_A_call_from_B() {
printf("[f_A_2] aufgerufen\n");
}
#endif
/*************************************
* Beispielprogramm zur Vorlesung
* Einfuehrung in die Programmierung I
* Andreas Paffenholz
* TU Darmstadt, Wintersemester 2020/21
* (c) 2020-
*
* A v3
**************************************/
#include <stdio.h>
#include "A_v3.h"
#include "B_v3.h"
void f_A_call_from_main() {
printf("[f_A_1] aufgerufen\n");
f_B_call_from_A();
}
void f_A_call_from_B() {
printf("[f_A_2] aufgerufen\n");
}
/*************************************
* Beispielprogramm zur Vorlesung
* Einfuehrung in die Programmierung I
* Andreas Paffenholz
* TU Darmstadt, Wintersemester 2020/21
* (c) 2020-
*
* A v3
**************************************/
#ifndef HEADER_A_DEF_H
#define HEADER_A_DEF_H
void f_A_call_from_main();
void f_A_call_from_B();
#endif
/*************************************
* Beispielprogramm zur Vorlesung
* Einfuehrung in die Programmierung I
* Andreas Paffenholz
* TU Darmstadt, Wintersemester 2020/21
* (c) 2020-
*
* B v1
**************************************/
#include <stdio.h>
//#include "A_v1.h"
void f_B_call_from_main() {
printf("[f_B_1] aufgerufen\n");
f_A_call_from_B();
}
void f_B_call_from_A() {
printf("[f_B_2] aufgerufen\n");
}
/*************************************
* Beispielprogramm zur Vorlesung
* Einfuehrung in die Programmierung I
* Andreas Paffenholz
* TU Darmstadt, Wintersemester 2020/21
* (c) 2020-
*
* B v2
**************************************/
#ifndef HEADER_B_DEF_H
#define HEADER_B_DEF_H
#include <stdio.h>
#include "A_v2.h"
void f_B_call_from_main() {
printf("[f_B_1] aufgerufen\n");
f_A_call_from_B();
}
void f_B_call_from_A() {
printf("[f_B_2] aufgerufen\n");
}
#endif
/*************************************
* Beispielprogramm zur Vorlesung
* Einfuehrung in die Programmierung I
* Andreas Paffenholz
* TU Darmstadt, Wintersemester 2020/21
* (c) 2020-
*
* B v3
**************************************/
#include <stdio.h>
#include "B_v3.h"
#include "A_v3.h"
void f_B_call_from_main() {
printf("[f_B_1] aufgerufen\n");
f_A_call_from_B();
}
void f_B_call_from_A() {
printf("[f_B_2] aufgerufen\n");
}
/*************************************
* Beispielprogramm zur Vorlesung
* Einfuehrung in die Programmierung I
* Andreas Paffenholz
* TU Darmstadt, Wintersemester 2020/21
* (c) 2020-
*
* B v3
**************************************/
#ifndef HEADER_B_DEF_H
#define HEADER_B_DEF_H
void f_B_call_from_main();
void f_B_call_from_A();
#endif
/*************************************
* Beispielprogramm zur Vorlesung
* Einfuehrung in die Programmierung I
* Andreas Paffenholz
* TU Darmstadt, Wintersemester 2020/21
* (c) 2020-
*
* Lokale Variablen in Bereichen
*
* Uebersetzen mit
* gcc bereiche.c -o bereiche
* Aufruf mit
* ./bereiche
**************************************/
#include <stdio.h>
int main() {
int x = 0;
{
printf("%d ",x);
int x = 1;
printf("%d ",x);
{
int x = 2;
printf(" %d ",x);
}
printf(" %d ",x);
}
printf(" %d\n",x);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
void collatz_multiply ( int c );
void collatz_divide (int c) {
do {
printf("%d ",c);
c = c/2;
} while ( c % 2 == 0 );
if ( c != 1 ) {
collatz_multiply(c);
}
}
void collatz_multiply ( int c ) {
printf("%d ",c);
collatz_divide(3*c+1);
}
int main(int argc, char** argv ) {
int s = atoi(argv[1]);
if ( s != 1 ) {
s % 2 == 0 ? collatz_divide(s) : collatz_multiply(s);
}
printf("1\n");
return 0;
}
/*************************************
* Beispielprogramm zur Vorlesung
* Einfuehrung in die Programmierung I
* Andreas Paffenholz
* TU Darmstadt, Wintersemester 2020/21
* (c) 2020-
*
* Laenge der Collatzfolge als Header
**************************************/
int collatz_laenge(int startwert) {
int c = startwert;
int laenge = 1;
while ( c != 1 ) {
if ( c % 2 == 0 ) {
c = c/2;
} else {
c = 3*c+1;
}
laenge = laenge + 1;
}
return laenge;
}
/*************************************
* Beispielprogramm zur Vorlesung
* Einfuehrung in die Programmierung I
* Andreas Paffenholz
* TU Darmstadt, Wintersemester 2020/21
* (c) 2020-
*
* Collatzfolge mit Header/Body
**************************************/
#include "collatz_lib_v2.h"
int collatz_laenge(int startwert) {
int c = startwert;
int laenge = 1;
while ( c != 1 ) {
if ( c % 2 == 0 ) {
c = c/2;
} else {
c = 3*c+1;
}
laenge = laenge + 1;
}
return laenge;
}
/*************************************
* Beispielprogramm zur Vorlesung
* Einfuehrung in die Programmierung I
* Andreas Paffenholz
* TU Darmstadt, Wintersemester 2020/21
* (c) 2020-
*
* Collatzfolge mit Header/Body
**************************************/
int collatz_laenge(int);
/*************************************
* Beispielprogramm zur Vorlesung
* Einfuehrung in die Programmierung I
* Andreas Paffenholz
* TU Darmstadt, Wintersemester 2020/21
* (c) 2020-
*
* Collatzfolge, Funktion in Header
*
* Uebersetzen mit
* gcc collatz_main.c -o collatz
* Aufruf mit
* ./collatz
**************************************/
#include <stdio.h>
#include "collatz_lib.h"
int main() {
int startwert = 0;
printf("Geben Sie eine positive ganze Zahl ein: ");
scanf("%d",&startwert);
int laenge = collatz_laenge(startwert);
printf("Die Collatz-Folge mit Start %d hat Laenge %d\n",startwert,laenge);
return 0;
}
/*************************************
* Beispielprogramm zur Vorlesung
* Einfuehrung in die Programmierung I
* Andreas Paffenholz
* TU Darmstadt, Wintersemester 2020/21
* (c) 2020-
*
* Collatzfolge mit Header/Body
*
* Uebersetzen mit
* gcc collatz_main_v2.c collatz_lib_v2.h -o collatz
* Aufruf mit
* ./collatz
**************************************/
#include <stdio.h>
#include "collatz_lib_v2.h"
int main() {
int startwert = 0;
printf("Geben Sie eine positive ganze Zahl ein: ");
scanf("%d",&startwert);
int laenge = collatz_laenge(startwert);
printf("Die Collatz-Folge mit Start %d hat Laenge %d\n",startwert,laenge);
return 0;
}
/*************************************
* Beispielprogramm zur Vorlesung
* Einfuehrung in die Programmierung I
* Andreas Paffenholz
* TU Darmstadt, Wintersemester 2020/21
* (c) 2020-
*
* for öffnet Bereich
*
* Uebersetzen mit
* gcc for_opens_block.c -o for_opens_block
* Aufruf mit
* ./for_opens_block
**************************************/
#include <stdio.h>
int main() {
int x = 5;
for ( int i = 0; i < 3; ++i ) {
printf("%d ",i);
int i = 5;
printf("%d ",i);
}
printf("\n");
return 0;
}
/*************************************
* Beispielprogramm zur Vorlesung
* Einfuehrung in die Programmierung I
* Andreas Paffenholz
* TU Darmstadt, Wintersemester 2020/21
* (c) 2020-
*
* globale Variable
*
* Uebersetzen mit
* gcc globale_variable.c -o globale_variable
* Aufruf mit
* ./globale_variable
**************************************/
#include <stdio.h>
int g = 4;
inf func() {
g++;
}
int main() {
printf("%d ", g);
func();
printf("%d ", g);
func();
printf("%d\n", g);
return 0;
}
/*************************************
* Beispielprogramm zur Vorlesung
* Einfuehrung in die Programmierung I
* Andreas Paffenholz
* TU Darmstadt, Wintersemester 2020/21
* (c) 2020-
*
* main v1
*
* Uebersetzen mit
* gcc main_v1.c -o main
* Aufruf mit
* ./main
**************************************/
#include "A_v1.h"
#include "B_v1.h"
int main() {
f_A_call_from_main();
f_B_call_from_main();
return 0;
}
/*************************************
* Beispielprogramm zur Vorlesung
* Einfuehrung in die Programmierung I
* Andreas Paffenholz
* TU Darmstadt, Wintersemester 2020/21
* (c) 2020-
*
* main v2
*
* Uebersetzen mit
* gcc main_v2.c -o main
* Aufruf mit
* ./main
**************************************/
#include "A_v2.h"
#include "B_v2.h"
int main() {
f_A_call_from_main();
f_B_call_from_main();
return 0;
}
/*************************************
* Beispielprogramm zur Vorlesung
* Einfuehrung in die Programmierung I
* Andreas Paffenholz
* TU Darmstadt, Wintersemester 2020/21
* (c) 2020-
*
* main v3
*
* Uebersetzen mit
* gcc main_v3.c -o main
* Aufruf mit
* ./main
**************************************/
#include "A_v3.h"
#include "B_v3.h"
int main() {
f_A_call_from_main();
f_B_call_from_main();
return 0;
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment