Einführung in die Programmierung Laborübung bei Korcan Y. Kirkici. 6.Übung bis

Ähnliche Dokumente
Grundlagen der Programmierung

Einführung in die Programmierung Laborübung bei Korcan Y. Kirkici. 3.Übung bis

Grundlagen der Technischen Informatik. 4. Übung

Grundlagen der Technischen Informatik. 4. Übung

Grundlagen der Technischen Informatik. 4. Übung

Lösung 2. Übungsblatt

Wertebereiche, Overflow und Underflow

Grundlagen der Technischen Informatik. 4. Übung

Grundlagen der Technischen Informatik. 4. Übung

N Bit Darstellung von Gleitkommazahlen

Einstieg in die Informatik mit Java

Der Zahlenformatstandard IEEE 754

Rechnen in B. Ralf Dorn. 3. September Heinrich-Hertz-Gymnasium. R. Dorn (H 2 O) Informatik LK 3. September / 6

IEEE 754 Encoding. Wie stellt man im IEEE 754 Format eigentlich die 0 dar!? Double Precision (Bias=1023)

2 Programmieren in Java I noch ohne Nachbearbeitung

RO-Tutorien 3 / 6 / 12

Gleitkommazahlen. JOHANNES KEPLER UNIVERSITY LINZ Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 74

DuE-Tutorien 16 und 17

Typ : void* aktuelle Parameter Pointer von beliebigem Typ

Grundlagen der Programmierung

Übersicht. Peter Sobe 1

Die Zahl ist: (z 2, z 1, z 0 ) (z ) : 7 = 0 Rest z 2

PIC16 Programmierung in HITECH-C

Welche Informatik-Kenntnisse bringen Sie mit?

Vorkurs C++ Programmierung

1.5 Einführung und Zahlensysteme/Darstellung gebrochener Zahlen

Objekte werden eindeutig beschrieben durch ihren Typ und einen beliebig wählbaren Bezeichner.

Verwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion. Programmieren in C

Informatik I (D-ITET)

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit

5.1 Basistypen. Wie viele Werte kann man mit n Bit darstellen? 30. Jan Felix Brandt, Harald Räcke 70/596

Zahlen in Binärdarstellung

2.5 Primitive Datentypen

Einleitung Grundlagen Erweiterte Grundlagen Zusammenfassung Literatur. C: Funktionen. Philip Gawehn

Praxis der Programmierung

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

Lösungsvorschlag 6. Übung Technische Grundlagen der Informatik II Sommersemester Aufgabe 6.1: Multiplikation von positiven Dualzahlen

Grundlagen der Programmierung

Funktionen. mehrfach benötigte Programmteile nur einmal zu schreiben und mehrfach aufzurufen

bei Unterlauf wird stattdessen Hälfte des Divisors addiert Ersparnisse einer Addition bzw. Subtraktion

in vielen technischen und wissenschaftlichen Anwendungen erforderlich: hohe Präzision große Dynamik möglich durch Verwendung von Gleitkommazahlen

4 Formelsammlung C/C++

4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen

Institut für Programmierung und Reaktive Systeme 20. November Programmieren I. 4. Übungsblatt

C++ Teil 4. Sven Groß. 30. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 16

7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter});

Übung Informatik I - Programmierung - Blatt 2

3/4/2009. Schalter: Ein vs. Aus Lochkarten: Loch vs. Kein Loch Boolean/Wahrheitswerte: true vs. false

Propädeutikum. Dipl.-Inf. Frank Güttler M. Sc. Stephan Fischer

Einstieg in die Informatik mit Java

2. Programmierung in C

Primzahlen und Programmieren

4.2 Programmiersprache C

Grundlagen der Technischen Informatik. 4. Übung

Einführung in die Programmierung

5 Zahlenformate und deren Grenzen

2. Programmierung in C

Binäre Division. Binäre Division (Forts.)

Zum Nachdenken. Wenn die Zahl (123) hat, was könnte dann (123,45) 10

Das Verfahren in Hardware

Probeklausur Java Einführung in die Informatik. Wintersemester 2014/2015. Musterlösung

1.6 Programmstrukturen/Abweisende Schleife

Einstieg in die Informatik mit Java

Einführung in die Programmierung Wintersemester 2008/09

Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung

Probeklausur Java Einführung in die Informatik. Wintersemester 2014/2015

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

Angewandte Mathematik und Programmierung

Ziele sind das Arbeiten mit Funktionen (Modularisierung, Parameterübergabe), sowie - Reihentyp (Array)

Grundlagen der Programmierung

Teil II. Schaltfunktionen

Praxisorientierte Einführung in C++ (Variadische Funktionen)

HaDePrak WS 05/ Versuch

Lösungsvorschlag zu 1. Übung

Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen

Algorithmen & Programmierung. Reelle Zahlen in C (1) Darstellung reeller Zahlen

Das erste C-Programm Gliederung

Teil II. Literatur zur C-Programmierung:

Grundlagen der Technischen Informatik Wintersemester 12/13 J. Kaiser, IVS-EOS

Einstieg in die Informatik mit Java

Pseudo-Programmiersprache

Informatik I (D-MAVT)

Physische Datenstrukturen

Einführung Sprachfeatures Hinweise, Tipps und Styleguide Informationen. Einführung in C. Patrick Schulz

Praxis der Programmierung

Musterlösung 2. Mikroprozessor & Eingebettete Systeme 1

Algorithmen & Programmierung. Reelle Zahlen in C (2) Rechnen mit Gleitkommazahlen

Wertebereich und Genauigkeit der Zahlendarstellung

Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 4

2.1.2 Gleitkommazahlen

Klausur. 2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben.

Anweisungen zur Ablaufsteuerung

Herzlich willkommen!

Einstieg in die Informatik mit Java

2. Programmierung in C

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Informatik I Übung, Woche 41

Transkript:

22.11.2013 Einführung in die Programmierung Laborübung bei Korcan Y. Kirkici 6.Übung 18.11. bis 22.11.2013 1

BEFRAGUNG Quelle: http://1.bp.blogspot.com/- waaowrew9gc/tuhgqro4u_i/aaaaaaaaaey/3xhl 4Va2SOQ/s1600/crying%2Bmeme.png Laborübung Korcan Kirkici 2 2

heutige Themen Funktionen Gleitkommaformat nach IEEE754 Laborübung Korcan Kirkici 3 3

Funktionen Uns sind schon einige Funktionen bekannt: main() printf () scanf() Definition: Funktion = Unterprogramm Laborübung Korcan Kirkici 4 4

Funktionen Beispiel: Quelle: http://openbook.galileocomputing.de/c_von_a_bis_z/009_c_funktionen _004.htm#mjdf9a752645c46e2afe9989858d1fe010 Laborübung Korcan Kirkici 5 5

Funktionen Aufbau: Rückgabetyp Funktionsname(Parameterliste) { Anweisungen; } Ziel: Bessere Lesbarkeit Wiederverwendbarkeit Fehler schneller auffindbar Laborübung Korcan Kirkici 6 6

Funktionen Analogie zur Mathematik: Parameterliste Funktionsname Rückgabetyp f(x) = 3x f : N R Anweisungen Laborübung Korcan Kirkici 7 7

Funktionen Funktionsaufruf: 1. vor der main-funktion (empfohlen) 2. nach der main-funktion Laborübung Korcan Kirkici 8 8

Funktionsaufruf 1. vor der main-funktion automatische Deklaration (vor dem Aufruf) Quelle: http://openbook.galileocomputing.de/c_von_a_bis_z/009_c_funktionen _004.htm#mjdf9a752645c46e2afe9989858d1fe010 Laborübung Korcan Kirkici 9 9

Funktionsaufruf 2. nach der main-funktion manuelle Deklaration (Vorwärtsdeklaration) Quelle: http://openbook.galileocomputing.de/c_von_a_bis_z/009_c_funktionen _005.htm#mje421cf9136c8c0c1fa1f340719d12e5b Laborübung Korcan Kirkici 10 10

Funktionsaufruf Achtung: int potenz(float, float); keine Bezeichner notwendig Bezeichner stehen in keinem Zusammenhang mit Variablen void == kein Wert int klick1 ()!= int klick1 (void) Funktionsaufruf in einer Funktion möglich außer bei void-rückgabewert: return nicht vergessen! Laborübung Korcan Kirkici 11 11

1. Aufgabe Beschreibe folgende Deklarationen: char wandle_zeichen(char); float potenz(float, float); float potenz(float basis, float exponent); void zeichne_kreis(int radius); int zufallszahl(void); Laborübung Korcan Kirkici 12 12

Gleitkommazahl nach IEEE754 Quelle: http://cms.unikassel.de/unicms/fileadmin/groups/w_221700/edu/ws2012_13/mp_es1/loes3_mp_es1_ws1213.pdf Vorzeichen: positiv=0 negativ=1 Exponent: Exponent (e) + Verschiebekonstante (bias) bias = 127 = 7F 16 = 0111 1111 2 Mantisse: Normalisieren Laborübung Korcan Kirkici 13 13

Gleitkommazahl nach IEEE754 Beispiel: 7543,53125 10 1.Schritt: Vorzeichen bestimmen: positiv V=0 2.Schritt: Mantisse (ganzzahlig): 7543 10 = 1110101110111 2 3.Schritt: Mantisse (nicht-ganzzahlig): 0,53125 10 =?? Laborübung Korcan Kirkici 14 14

Nachkommstellen-Konvertierung Quelle: http://www.dirkwhoffmann.de/ti/slides/ti1_zahlendarstellung.pdf oder der Rest sich wiederholt oder gewünschte Genauigkeit erreicht ist Laborübung Korcan Kirkici 15 15

Gleitkommazahl nach IEEE754 Beispiel: 7543,53125 10 1.Schritt: Vorzeichen bestimmen: positiv V=0 2.Schritt: Mantisse (ganzzahlig): 7543 10 = 1110101110111 2 3.Schritt: Mantisse (nicht-ganzzahlig): 0,53125 10 =?? Laborübung Korcan Kirkici 16 16

Gleitkommazahl nach IEEE754 Beispiel: 7543,53125 10 1.Schritt: Vorzeichen bestimmen: positiv V=0 2.Schritt: Mantisse (ganzzahlig): 7543 10 = 1110101110111 2 3.Schritt: Mantisse (nicht-ganzzahlig): 0,53125 10 =?? 0,53125 * 2 = 1,0625 Rest 1 0,0625 * 2 = 0,125 Rest 0 0,125 * 2 = 0,25 Rest 0 0,25 * 2 = 0,5 Rest 0 0,5 * 2 = 1,0 Rest 1 0,53125 10 =10001 2 Laborübung Korcan Kirkici 17 17

Gleitkommazahl nach IEEE754 Beispiel: 7543,53125 10 1.Schritt: Vorzeichen bestimmen: positiv V=0 2.Schritt: Mantisse (ganzzahlig): 7543 10 = 1110101110111 2 3.Schritt: Mantisse (nicht-ganzzahlig): 0,53125 10 =10001 2 7543,53125 10 = 1110101110111,10001 2 7543,53125 10 = 1110101110111,10001000000 2 (24 bit) 4.Schritt: Normalisierung 1110101110111,10001000000 = 1110101110111,10001000000 * 2 0 = 1,11010111011110001000000 * 2 12 E = 12 Exponent = 12+127 = 139 10 Mantisse Exponent = 10001010 2 Laborübung Korcan Kirkici 18 18

Gleitkommazahl nach IEEE754 Beispiel: 7543,53125 10 1.Schritt: Vorzeichen bestimmen: positiv V=0 2.Schritt: Mantisse (ganzzahlig): 7543 10 = 1110101110111 2 3.Schritt: Mantisse (nicht-ganzzahlig): 0,53125 10 =10001 2 7543,53125 10 = 1110101110111,10001 2 7543,53125 10 = 1110101110111,10001000000 2 (24 bit) 4.Schritt: Normalisierung 1110101110111,10001000000 = 1110101110111,10001000000 * 2 0 = 1,11010111011110001000000 * 2 12 E = 12 Exponent = 12+127 = 139 10 Mantisse Exponent = 10001010 2 (5.Schritt: Exponent) Laborübung Korcan Kirkici 19 19

Gleitkommazahl nach IEEE754 Beispiel: 7543,53125 10 1.Schritt: Vorzeichen bestimmen: positiv V=0 2.Schritt: Mantisse (ganzzahlig): 7543 10 = 1110101110111 2 3.Schritt: Mantisse (nicht-ganzzahlig): 0,53125 10 =10001 2 4.Schritt: Normalisierung 5.Schritt: Exponent 139 10 = 10001010 Ergebnis: 7543,53125 10 = 0100 0101 0110 1011 1011 1100 0100 0000 Laborübung Korcan Kirkici 20 20

Gleitkommazahl nach IEEE754 Besonderheiten: NULL : Exponent 0, Mantisse 0 NaN (Not a Number) : NaN Unendlich: Exponent 255 Laborübung Korcan Kirkici 21 21

2. Aufgabe Stelle die Zahl 625,453 10 im IEE 754 Format dar! Laborübung Korcan Kirkici 22 22

2. Aufgabe Stelle die Zahl 625,453 10 im IEE 754 Format dar! Lösung: 625,453 10 = 0100 0100 0001 1100 0101 1100 1111 1101 Laborübung Korcan Kirkici 23 23

3. Aufgabe Taschenrechnerprogramm erstellen unter Berücksichtigung des heutigen Themas (Funktionen). Laborübung Korcan Kirkici 24 24

4. Aufgabe Zahl PI auf verschiedene Weisen berechnen lassen. Input: Berechnungsart Output: PI (optional: Vergleich der Ergebnisse) ---------------------------------------------------------------------------------------------- Srinivasa Ramanujan Aiyangar Leibniz BBP-Reihe Laborübung Korcan Kirkici 25 25

nächste Woche Schleifen for while do-while switch-anweisung random-funktion Laborübung Korcan Kirkici 26 26