Programmiersprache(n) für Technische Anwendungen am Beispiel der Programmiersprache C
|
|
- Bella Roth
- vor 8 Jahren
- Abrufe
Transkript
1 Programmiersprache(n) für Technische am Beispiel der Programmiersprache C BelegNr Dies sind Hilfsblätter zur Vorlesung. Sie ersetzen nicht die Vorlesung sondern dienen zur Orientierung und Unterstützen die visuelle Darstellung des Gesagten. Dipl. math Gerd H. Neugebauer Computer Science and Engineering
2 Inhalte der Vorlesung C Übersicht Programmiersprachen, Historisches, strukturierte Programme Informationsquellen Wir lernen in C zu programmieren Datenformate, Datentypen, Bezeichner, Variablen einfache Programme, printf, scanf, Formatierung Anweisungen, Operatoren, logische + arithmetische Verknüpfung Kontrollstrukturen: if, switch, while, do, for Funktionen, Prototypen, Parameterübergabe Felder, Zeichenketten, Zeiger Speicherklassen, Präprozessor, Bibliotheken Speicherverwaltung: malloc, free Dateiverwaltung Erweiterung von C aufgrund von C++ Grundlagen der Objektorientierung 2
3 Lernziel Erlernen von grundlegenden Programmierkenntnissen Erlernen der grundlegenden Sprachelemente von C Selbständiges Erstellen von einfachen C-Programmen Fehlersuche in Programmen (Debugging) Nicht Lernziel Windows Programmierung mit MFC (Microsoft Foundation Classes) oder Windows API (application programming interface) Der Software Entwicklungs Prozess 3
4 Programmieren Lernen Man lernt Bergsteigen nicht dadurch, daß man sich mit einem Hubschrauber auf den Gipfel fliegen läßt. Wer schnell auf einen Berggipfel gelangen muss, der soll ruhig einen Hubschrauber anmieten, nur wird er dabei eben nicht Bergsteigen lernen. Man lernt und versteht meist wenig, wenn man nur das letzte Kapitel eines Lehrbuches liest oder die Lösungen zu Übungsaufgaben nur abschreibt. So ist es auch mit dem Programmieren. Man lernt programmieren und gewinnt Erfahrung nur durch 4 üben, üben und nochmals üben
5 interessante Links Informationen zu C, C++ Online Version des Buches C von A bis Z C-Programmierung für Noch-Nicht-Programmierer Oli s C/C++ Link Programmieren in C und C++ Wiki-books Compiler Bloodshed Dev C++ 5 (freeware) LCC-win32 (non comercial use) MS Visual C++ (Express Edition) Programmierung/Computer Liste der verfügbaren RRZN-Handbücher Ein Computer Lexikon Eine freie Enzyklopädie (mit Themen auch um den Computer) The developement of the C language 5
6 Literaturverzeichnis Bücher C Programmieren von Anfang an H. Erlenkötter, rororo, ISBN , Kosten: 9,90 Die Programmiersprache C. Ein Nachschlagewerk C++ für C-Programmierer Begleitmaterial zu Vorlesungen / Kursen Regionales Rechenzentrum Niedersachsen RRZN erhältlich bei H. Ünsal (Geb. 1, Raum 327), Kosten um 4,00 Programmieren in C Kernighan/Ritchie, Hanser Verlag, 1983, ISBN Die C++ Programmiersprache Bjarne Stroustrup, Addison-Wesley, 1997, ISBN Algorithmen in C Robert Sedgewick, Addison-Wesley, 1997, ISBN Fundamental Algorithms Seminumerical Algorithms Sorting and Searching Donald E. Knuth, Addison-Wesley, 3 Bände, um
7 Einige Programmiersprachen FORTRAN FORmula TRANslation bei IBM John Backus ALGOL ALGOrithmic Language , Gesellschaft für angewandte Mathematik und Mechanik COBOL COmmon Business Oriented Language , US Verteidigungsministerium BASIC Beginners All-purpose Symbolic Instruction Code 1964 am Dartmouth College, John G. Kemeny und Thomas E. Kurtz Pascal (zu Ehren des Mathematikers und Philosophen Blaise Pascal) 1971 bei ETH Zürich, Niklaus Wirth C 1972 bei Bell Laboratories, Dennis Ritchie Info über die Entwicklung Java (nach OAK = Object Application Kernel) , Sun Microsystems, James Gosling 7
8 Entwicklung von Programmiersprachen 8
9 Programmiersprachen sind formale Sprachen, mit denen eine lauffähige Software entwickelt werden kann die auf einer Zielplattform (Hardware) zum Ablauf gebracht wird unter der Kontrolle eines Betriebsystems (auch Software). sind künstlich geschaffene Sprachen (Notationen) zur Formulierung von Rechenvorschriften, bei welcher Daten mit geeigneten Operationen in der Gestalt von Textkürzeln verknüpft und verändert werden. können klassifiziert werden. erste Generation Maschinencode die zweite Generation Assembler, die dritte Generation 3GL ablauforientierte Progrmmiersprachen 9 wie Basic, Cobol, Fortran, C, C++ und Java die vierte Generation Software-Tools für CASE-Methoden die fünfte Generation KI-Programmsprachen
10 Historisches BCPL B C C++ Dennis Richie (links) und Ken Thompson vor einem PDP-11 System. 10
11 Programmiersprache C Ken Thompson entwickelte unter Anlehnung an die Programmiersprache BCPL die Sprache B 1973 erstmalig von Dennis Ritchie in den Bell Laboratorien für das Unix-Betriebssystem auf einer DEC PDP-11 implementiert derzeit gängigste imperative Programmiersprache maschinennah und damit sehr schnell ohne dabei auf höhere Konzepte, Strukturierbarkeit, zu verzichten. der Befehlssatz ist auf wenige elementare Befehle beschränkt komplexe Befehle müssen zusammengesetzt werden relativ leichte Portabilität auf andere Rechner. Nachteilig ist die erschwerte Lesbarkeit (Write Only Language) der Programm-Listings. 11
12 4GL = 4th generation language Bei den Programmiersprachen der vierten Generation (4GL) handelt es sich um mehr als Programmier-"Sprachen", nämlich um umfassende Entwicklungssysteme. Bei diesen Programmiersprachen stehen Objektorientierung, Skalierbarkeit, Datenbankzugriff und die Komponenten-Architektur im Vordergrund. 4GL-Programmiersprachen wie Centura Team Developer, Uniface, Oracle Developer oder Powerbuilder entlasten den Programmierer von systemnahen Vorgängen. Speicherplatz für Programme und Daten müssen nicht explizit beim Betriebssystem anfordern werden und man braucht sich auch nicht um das Freimachen des Speicherplatzes zu kümmern. Ebenso entfällt das Hantieren mit Pointern auf Speicherbereichen. 12
13 C C++ C# C++ ist die Weiterentwicklung der Programmiersprache C für die objektorientierte Programmierung. Es ist eine eigenständige Programmiersprache, die in den 80er-Jahren entwickelt wurde. C++ hat gegenüber C zusätzliche Befehle und Operatoren für die Formatierung und das Arbeiten mit Modulen es zeichnet sich durch eine strenge Typisierung aus. bei C# (gesprochen: C-Sharp) handelt es sich um eine von Microsoft entwickelte objektorientierte Programmiersprache, angelehnt an C++ und Java. C# vereinfacht die Portierung von Programm-Codes mit C# erstellten Programme können einfacher mit Programmen verknüpft werden, die auf anderen Programmiersprachen basieren. 13
14 Mit IDE von der Idee zum Programm Summe zweier natürlicher Zahlen a und b Computer lateinisch computare, soviel wie rechnen Festlegung Algorithmus:c = a + b Quelldatei (Source-File) erstellt mit Editor Übersetzerprogramm (Compiler) IDE = Integrated Development Environment Assembler / Maschinensprache LOAD a,%r0 LOAD b,%r1 Linker (Verbindung von fertigen Objekten) ADD %r0,%r1 STORE %r1,c 14 Software
15 Beschreibung von Algorithmen Umgangssprache Pseudocode Programmablaufplan Datenflußplan Struktogramm Einlesen X Einlesen Y Wenn X > Y Dann Z = X Sonst Z = Y Ausgabe Z Der Motor M läuft solange die Tasten A und B gedrückt werden. 15
16 Programmablaufplan - Flußdiagramm Terminalausgabe Hello graphische Beschreibungen und übersichtliche Darstellung von Programmabläufen und / oder von Entscheidungsabläufen umfangreiche Teilaufgaben können als Blöcke dargestellt werden, die dann in weiteren Flußdiagrammen (Ablaufplänen) verfeinert werden können. Programmablaufsymbole sind in DIN 66001, DIN 66262, (Informationsverarbeitung, Sinnbilder und ihre Anwendung), festgelegt. Verzweigung Mehrfach Verzweigung Flußlinien Verarbeitungsblock Unterprogramm Verbindungsstelle Zusammenführung 16
17 Programmablaufplan - weitere Elemente Folge von Anweisungen Bedingte Verarbeitung Schleife mit Abbruchbedingung Endlosschleife Schleife mit Abfrage am Ende Schleife mit Abfrage am Anfang Ein Programmablaufplan stellt die Verarbeitungsfolgen (sequentiell) in einem Programm dar. DieVerbindungen zeigen die Reihenfolgen der Verarbeitungen auf. Daten werden nicht dargestellt. 17
18 Datenflußpläne enthalten Symbole für die Verarbeitungen und den Zugriff auf Daten Die Verbindungen deuten die Zugriffsmöglichkeiten an. Modifikation Vorbereitung manuelle manuelle Eingabe Verarbeitung Plattenspeicher Zentralspeicher Datenträger Daten (allg.) Ein- /Ausgabe Anzeige Dokument mehrere Dokumente 18
19 Struktogramme strukturierter Programmentwurf nach DIN für die graphische Darstellung von Verarbeitungsfolgen werden Sinnbilder nach NASSI-SHNEIDERMAN verwendet Ein Block heißt strukturiert, wenn zu seinem Aufbau nur elementare Anweisungen (Verarbeitung), Anweisungsfolgen (Sequenz), Verzweigungen (Selektion) und Schleifen (Wiederholung, Iteration) benutzt werden. V U_Progr Block V B B V B E 1 E 2 V 1 V 2 E 1 E 2 E 3 E 4 V 1 V 2 V 3 V 4 B Anweisungs -block Unter- Programm Block im Block Schleife mit Bedingung am Ende Schleife mit Bedingung am Anfang alternative Verzweigung mehrfache Verzweigung 19
20 Zahlensysteme Dualsystem (Basis 2) 2 Ziffern 0, 1 Oktalsystem (Basis 8) 8 Ziffern 0, 1, 2, 3, 4, 5, 6, 7 Dezimalsystem (Basis 10) 10 Ziffern 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Hexadezimalsystem (Basis 16) 16 Ziffern 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F Computer arbeiten mit digitalen Informationen d.h mit dem Dualsystem mit den zwei Zuständen 0 und 1 d.h. unsere Dezimalzahlen liegen im Computer in digitaler Form vor 100 Dezimal = Binär Binär = Zweiwertig 10, 11, 12, 13, 14, 15 DIGITAL ist die Eigenschaft eines Elements oder Signals, nur diskrete (nicht stetig veränderbare)werte annehmen zu können 20
21 Umwandlung von Zahlen Dual-, Oktal-, Dezimal- und auch Hexadezimalsysteme sind Stellenwertsysteme (Positionssysteme) d.h. die Wertigkeit der jeweiligen Ziffer ergibt sich durch den Wert der Stelle (Position) multipliziert mit dem Wert der Ziffer. Der Wert der Zahl ergibt sich durch Addition der Werte der jeweiligen Stellen. Beispiel: 123 dezimal = 1 Hunderter + 2 Zehner + 3 Einer = 1 * * * dual = 1 Vierer + 0 Zweier + 1 Einer = 1 * * * 2 0 7F hexadezimal = 7 Sechzehner + 15 Einer = 7 * (16) * (16) 0 21
22 Vorzeichenbehaftete Zahlen Bei Dezimalzahlen Vorzeichen als zusätzliches Zeichen um darzustellen ob Zahl positiv oder negativ +100 und -80 Da der Computer nur binäre Informationen verarbeitet kann kein zusätzliches Vorzeichen verwendet werden das Vorzeichen muß sich aus der Codierung der Zahl ergeben Darstellungsformen Vorzeichen-Betragsdarstellung oberstes bit ist das Vorzeichen-Bit also bei 8 bit = = +1 Einer-Komplement durch Invertierung aller bits also bei 8 bit = = - 1 Zwei Darstellungen für 0 +0 und -0 unterscheiden sich 22
23 Zweier-Komplement Um die negative Zahl gleichen Betrages zu erhalten bildet man zunächst das Einer-Komplement (durch Inversion) und addiert dann 1 dazu 23
24 Gleitkommazahlen Festkommazahlen ungeeignet für große Wertebereiche Darstellung mit Dezimalpunkt oder mit Exponent und Dezimalpunkt 1.001* *10 2 im Dualsystem standardisiert nach IEEE 754 mit Vorzeichen, Mantisse und Exponent 3 Gleitpunktformate: 32 bit Gleikomma Format 1 sign bit, 8 bit Exponent, 23 bit Mantisse 64 bit Gleitkomma Format 1 sign bit, 11 bit Exponent, 52 bit Mantisse 80 bit Gleitkomma Format 1 sign bit, 15 bit Exponent, 64 bit Mantisse Seee eeee emmmm mmmm mmmm mmmm mmmm mmmm negative Zahlen durch Betrag und Vorzeichen (sign bit) 24
25 Darstellung von Buchstaben (Textzeichen) Verschiedene Codierungsarten möglich ausgehend vom 7 bit ASCII Code (American Standard Code for Information Interchange) am häufigsten 8 bit ISO-Latin1-Code wobei die Codewerte der ASCII Codierung entsprechen Zeichen 0 = 30 hexadezimal = 3*16 = 48 dezimal = binär Differenz zwischen Zeichen A - Zeichen a = 41H - 61H = 20H = 32 dezimal 25
26 Ablauf der Programmentwicklung Programmieren = Fehlersuche Entwicklung des Algorithmus (auf Papier oder mit Hilfsmitteln) Flußdiagramm, Struktogramm, UML, etc. Erstellung eines Projektes zur Ablage aller Entwicklungsdateien eines Programmes Sourcecode, Header Dateien Resource Dateien (internationale Texte, Icons, Grafiken, Layouts) fremde Bibliotheken make Dateien, Abhängigkeitslisten Schreiben des eigenen Sourcecodes Compilieren und Linken Iterativer Prozeß Laden und Programmtest Fehler 1. Art : Syntaxfehler : Sourcecode entspricht nicht den Regeln Fehler 2. Art : Laufzeitfehler : Source entspricht den Regeln, führt aber bei der Ausführung zu Problemen Überlauf, Schutzverletzung, IO-Probleme... Warnstufen so hoch wie möglich, Einsatz von Lint Fehler 3. Art : logische Fehler: Programm läuft, führt aber NICHT zu den gewünschten Ergebnissen Test und Fehlersuche durch Testcases abgeleitet aus Anforderungen 26
Kontrollstrukturen - Universität Köln
Kontrollstrukturen - Universität Köln Mario Manno Kontrollstrukturen - Universität Köln p. 1 Was sind Sprachen Auszeichnungssprachen HTML, XML Programmiersprachen ASM, Basic, C, C++, Haskell, Java, Pascal,
MehrGrundlagen der Informatik
Mag. Christian Gürtler Programmierung Grundlagen der Informatik 2011 Inhaltsverzeichnis I. Allgemeines 3 1. Zahlensysteme 4 1.1. ganze Zahlen...................................... 4 1.1.1. Umrechnungen.................................
MehrEntwurf von Algorithmen - Kontrollstrukturen
Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer
MehrProf. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Zahlensysteme und Datendarstellung
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Zahlensysteme und Datendarstellung Zahlensysteme Problem: Wie stellt man (große) Zahlen einfach, platzsparend und rechnergeeignet
MehrE-PRIME TUTORIUM Die Programmiersprache BASIC
E-PRIME TUTORIUM Die Programmiersprache BASIC BASIC Beginner s All-purpose Symbolic Instruction Code symbolische Allzweck-Programmiersprache für Anfänger Design-Ziel klar: Eine einfache, für Anfänger geeignete
MehrAllgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h>
Allgemeines Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C #include main() { printf( hello world\n ); } Peter Sobe 1 Die Großfamilie der C-Sprachen
MehrInformationssysteme Gleitkommazahlen nach dem IEEE-Standard 754. Berechnung von Gleitkommazahlen aus Dezimalzahlen. HSLU T&A Informatik HS10
Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754 Berechnung von Gleitkommazahlen aus Dezimalzahlen Die wissenschaftliche Darstellung einer Zahl ist wie folgt definiert: n = f * 10 e. f ist
Mehr1. Formulieren Sie den Algorithmus <Bedienung eines Getränkeautomaten> nach den oben genannten Kriterien.
Java 1 Einführung Grundlegende Übungsaufgaben Arbeitsauftrag 1.1 1. Formulieren Sie den Algorithmus nach den oben genannten Kriterien. Beispiel: Bedienung eines Getränkeautomaten
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18
Kapitel 3 Datentypen und Variablen Seite 1 von 18 Datentypen - Einführung - Für jede Variable muss ein Datentyp festgelegt werden. - Hierdurch werden die Wertemenge und die verwendbaren Operatoren festgelegt.
MehrTechnische Informatik - Eine Einführung
Martin-Luther-Universität Halle-Wittenberg Fachbereich Mathematik und Informatik Lehrstuhl für Technische Informatik Prof. P. Molitor Ausgabe: 2005-02-21 Abgabe: 2005-02-21 Technische Informatik - Eine
MehrEinführung in die Informatik I
Einführung in die Informatik I Das Rechnen in Zahlensystemen zur Basis b=2, 8, 10 und 16 Prof. Dr. Nikolaus Wulff Zahlensysteme Neben dem üblichen dezimalen Zahlensystem zur Basis 10 sind in der Informatik
MehrZahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = 1100110011 binär
Zahlensysteme Menschen nutzen zur Angabe von Werten und zum Rechnen vorzugsweise das Dezimalsystem Beispiel 435 Fische aus dem Teich gefischt, d.h. 4 10 2 + 3 10 1 +5 10 0 Digitale Rechner speichern Daten
MehrÜbungen zu Informatik 1
Communication Systems Group (CSG) Prof. Dr. Burkhard Stiller, Universität Zürich, Binzmühlestrasse 14, CH-8050 Zürich Telefon: +41 44 635 6710, Fax: +41 44 635 6809, stiller@ifi.uzh.ch Fabio Hecht, Telefon:
Mehr1. Das dekadische Ziffernsystem (Dezimalsystem) Eine ganze Zahl z kann man als Summe von Potenzen zur Basis 10 darstellen:
Zahlensysteme. Das dekadische Ziffernsystem (Dezimalsystem) Eine ganze Zahl z kann man als Summe von Potenzen zur Basis darstellen: n n n n z a a... a a a Dabei sind die Koeffizienten a, a, a,... aus der
Mehr2 Darstellung von Zahlen und Zeichen
2.1 Analoge und digitale Darstellung von Werten 79 2 Darstellung von Zahlen und Zeichen Computer- bzw. Prozessorsysteme führen Transformationen durch, die Eingaben X auf Ausgaben Y abbilden, d.h. Y = f
MehrInformationsdarstellung im Rechner
Informationsdarstellung im Rechner Dr. Christian Herta 15. Oktober 2005 Einführung in die Informatik - Darstellung von Information im Computer Dr. Christian Herta Darstellung von Information im Computer
MehrArbeiten mit UMLed und Delphi
Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf
MehrZahlensysteme: Oktal- und Hexadezimalsystem
20 Brückenkurs Die gebräuchlichste Bitfolge umfasst 8 Bits, sie deckt also 2 8 =256 Möglichkeiten ab, und wird ein Byte genannt. Zwei Bytes, also 16 Bits, bilden ein Wort, und 4 Bytes, also 32 Bits, formen
MehrInhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.
1. Einführung in die Informatik Inhalt 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele Peter Sobe 1 Darstellung von Algorithmen Aus den Einführungsbeispielen und
MehrEinführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition
In den nachfolgenden Schritten finden Sie beschrieben, wie Sie in der Entwicklungsumgebung Microsoft Visual Studio 2010 eine Projektmappe, ein Projekt und einen ersten Quellcode erstellen, diesen kompilieren,
MehrZeichen bei Zahlen entschlüsseln
Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren
MehrRepräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen
Kapitel 4: Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht Codierung von rationalen Zahlen Konvertierung
MehrEin polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird.
Zahlensysteme Definition: Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird. In der Informatik spricht man auch von Stellenwertsystem,
MehrVertiefungsstoff zum Thema Darstellung von Zahlen
Vertiefungsstoff zum Thema Darstellung von Zahlen Addition von Zahlen in BCD-Kodierung Einerkomplementdarstellung von ganzen Zahlen Gleitpunktdarstellung nach dem IEEE-754-Standard 1 Rechnen mit BCD-codierten
MehrKapitel 4A: Einschub - Binärcodierung elementarer Datentypen. Einschub: Teile aus Kapitel 2 in Küchlin/Weber: Einführung in die Informatik
Einschub: Binärcodierung elementarer Datentypen Teile aus Kapitel 2 in Küchlin/Weber: Einführung in die Informatik Unterscheide Zahl-Wert Zahl-Bezeichner Zu ein- und demselben Zahl-Wert kann es verschiedene
MehrC++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang
Einleitung Dieses Buch wendet sich an jeden Leser, der die Programmiersprache C++ neu lernen oder vertiefen möchte, egal ob Anfänger oder fortgeschrittener C++-Programmierer. C++ ist eine weitgehend plattformunabhängige
MehrInformationen zur Verwendung von Visual Studio und cmake
Inhaltsverzeichnis Informationen zur Verwendung von Visual Studio und cmake... 2 Erste Schritte mit Visual Studio... 2 Einstellungen für Visual Studio 2013... 2 Nutzung von cmake... 6 Installation von
MehrAlgorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen.
Algorithmik II SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen.de Homepage der Vorlesung Vorbemerkungen I http://www8.informatik.uni-erlangen.de/immd8
Mehr1 Mathematische Grundlagen
Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.
MehrVermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.
1 2 3 4 Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg. Gerade beim Einstig in der Programmierung muss kontinuierlich
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrEinführung in. Logische Schaltungen
Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von
MehrGrundlagen der Informatik Übungen 1.Termin
: : : : : : : : : : : : : : : : : : : : : : Grundlagen der Informatik Übungen 1.Termin Dipl.-Phys. Christoph Niethammer Grundlagen der Informatik 2012 1 : : : : : : : : : : : : : : : : : : : : : : Kontakt
MehrDownloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler
Downloadfehler in DEHSt-VPSMail Workaround zum Umgang mit einem Downloadfehler Downloadfehler bremen online services GmbH & Co. KG Seite 2 Inhaltsverzeichnis Vorwort...3 1 Fehlermeldung...4 2 Fehlerbeseitigung...5
MehrBinäre Gleitkommazahlen
Binäre Gleitkommazahlen Was ist die wissenschaftliche, normalisierte Darstellung der binären Gleitkommazahl zur dezimalen Gleitkommazahl 0,625? Grundlagen der Rechnerarchitektur Logik und Arithmetik 72
MehrHistorischer Abriss. 1956 Fortran Backus (IBM) Formula Translator. 1960 Algol 60 Naur et al. Algorithmic Language
Vorbemerkungen Dozent Veranstaltung Inhalt Spann (Rechenzentrum des Mathematischen Instituts) Systemadministration der Linux-Netze der Mathematik wissenschaftl. Arbeitsgebiet: Numerische Mathematik 1.
Mehr2. Negative Dualzahlen darstellen
2.1 Subtraktion von Dualzahlen 2.1.1 Direkte Subtraktion (Tafelrechnung) siehe ARCOR T0IF Nachteil dieser Methode: Diese Form der Subtraktion kann nur sehr schwer von einer Elektronik (CPU) durchgeführt
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrZahlensysteme Seite -1- Zahlensysteme
Zahlensysteme Seite -- Zahlensysteme Inhaltsverzeichnis Dezimalsystem... Binärsystem... Umrechnen Bin Dez...2 Umrechnung Dez Bin...2 Rechnen im Binärsystem Addition...3 Die negativen ganzen Zahlen im Binärsystem...4
MehrInstallation OMNIKEY 3121 USB
Installation OMNIKEY 3121 USB Vorbereitungen Installation PC/SC Treiber CT-API Treiber Einstellungen in Starke Praxis Testen des Kartenlesegeräts Vorbereitungen Bevor Sie Änderungen am System vornehmen,
MehrLösungen: zu 1. a.) 0 0 1 1 b.) 1 1 1 1 c.) 0 1 1 0 + 1 1 0 0 + 0 0 1 1 + 0 1 1 1 1 1 1 1 1 0 0 1 0 1 1 0 1
Lösungen: zu 1. a.) 0 0 1 1 b.) 1 1 1 1 c.) 0 1 1 0 + 1 1 0 0 + 0 0 1 1 + 0 1 1 1 1 1 1 1 1 0 0 1 0 1 1 0 1 vorzeichenlose Zahl: 15 vorzeichenlose Zahl: 18 vorzeichenlose Zahl: 13 Zweierkomplement: - 1
MehrVisual Basic Express erstes Projekt anlegen
Inhalt Dokument Beschreibung... 1 Erstes Projekt anlegen... 1 Verweise hinzufügen... 2 Imports setzen... 5 Public Class vorbereiten... 6 Mehrere Tools programmieren... 7 Dokument Beschreibung Nach der
MehrIT-Basics 2. DI Gerhard Fließ
IT-Basics 2 DI Gerhard Fließ Wer bin ich? DI Gerhard Fließ Telematik Studium an der TU Graz Softwareentwickler XiTrust www.xitrust.com www.tugraz.at Worum geht es? Objektorientierte Programmierung Konzepte
MehrProgrammiersprachen und Programmierkonzepte
Programmiersprachen und Programmierkonzepte Inhalt Programmiersprachen- Entwicklung Programmiersprachen und Programmierparadigmen Die Geschichte der Programmiersprachen Anfänge vor 200 Jahren Programmierbare
MehrMatrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 -
Matrix42 Use Case - Sicherung und Rücksicherung persönlicher Version 1.0.0 23. September 2015-1 - Inhaltsverzeichnis 1 Einleitung 3 1.1 Beschreibung 3 1.2 Vorbereitung 3 1.3 Ziel 3 2 Use Case 4-2 - 1 Einleitung
MehrDatentypen. Agenda für heute, 4. März, 2010. Pascal ist eine streng typisierte Programmiersprache
Agenda für heute, 4. März, 2010 Zusammengesetzte if-then-else-anweisungen Datentypen Pascal ist eine streng typisierte Programmiersprache Für jeden Speicherplatz muss ein Datentyp t (Datenformat) t) definiert
MehrVersion 0.3. Installation von MinGW und Eclipse CDT
Version 0.3 Installation von MinGW und Eclipse CDT 1. Stellen Sie fest, ob Sie Windows in der 32 Bit Version oder in der 64 Bit Version installiert haben. 2. Prüfen Sie, welche Java Runtime vorhanden ist.
MehrPlotten von Linien ( nach Jack Bresenham, 1962 )
Plotten von Linien ( nach Jack Bresenham, 1962 ) Ac Eine auf dem Bildschirm darzustellende Linie sieht treppenförmig aus, weil der Computer Linien aus einzelnen (meist quadratischen) Bildpunkten, Pixels
MehrBinärdarstellung von Fliesskommazahlen
Binärdarstellung von Fliesskommazahlen 1. IEEE 754 Gleitkommazahl im Single-Format So sind in Gleitkommazahlen im IEEE 754-Standard aufgebaut: 31 30 24 23 0 S E E E E E E E E M M M M M M M M M M M M M
Mehr4. Übungsblatt zu Mathematik für Informatiker I, WS 2003/04
4. Übungsblatt zu Mathematik für Informatiker I, WS 2003/04 JOACHIM VON ZUR GATHEN, OLAF MÜLLER, MICHAEL NÜSKEN Abgabe bis Freitag, 14. November 2003, 11 11 in den jeweils richtigen grünen oder roten Kasten
MehrEin Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch
Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,
MehrLizenzierung von SharePoint Server 2013
Lizenzierung von SharePoint Server 2013 Das Lizenzmodell von SharePoint Server 2013 besteht aus zwei Komponenten: Serverlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung der Zugriffe
MehrBinär- und Hexadezimal-Zahl Arithmetik.
Binär- und Hexadezimal-Zahl Arithmetik. Prof. Dr. Dörte Haftendorn, MuPAD 4, http://haftendorn.uni-lueneburg.de Aug.06 Automatische Übersetzung aus MuPAD 3.11, 24.04.02 Version vom 12.10.05 Web: http://haftendorn.uni-lueneburg.de
MehrMusterlösung 2. Mikroprozessor & Eingebettete Systeme 1
Musterlösung 2 Mikroprozessor & Eingebettete Systeme 1 WS2014/2015 Hinweis: Die folgenden Aufgaben erheben nicht den Anspruch, eine tiefergehende Kenntnis zu vermitteln; sie sollen lediglich den Einstieg
MehrComputerarithmetik ( )
Anhang A Computerarithmetik ( ) A.1 Zahlendarstellung im Rechner und Computerarithmetik Prinzipiell ist die Menge der im Computer darstellbaren Zahlen endlich. Wie groß diese Menge ist, hängt von der Rechnerarchitektur
MehrAutoCAD 2007 - Dienstprogramm zur Lizenzübertragung
AutoCAD 2007 - Dienstprogramm zur Lizenzübertragung Problem: Um AutoCAD abwechselnd auf mehreren Rechnern einsetzen zu können konnte man bis AutoCAD 2000 einfach den Dongle umstecken. Seit AutoCAD 2000i
MehrN Bit binäre Zahlen (signed)
N Bit binäre Zahlen (signed) n Bit Darstellung ist ein Fenster auf die ersten n Stellen der Binär Zahl 0000000000000000000000000000000000000000000000000110 = 6 1111111111111111111111111111111111111111111111111101
Mehr5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu
Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten
MehrProbeklausur Wirtschaftsinformatik 1 Fachbereich BW, für WINFOBA
Probeklausur Wirtschaftsinformatik 1 Fachbereich BW, für WINFOBA Dipl.-Ing. Klaus Knopper 10.02.2013 Hinweis: Bitte schreiben Sie auf das Deckblatt und auf jede Seite Ihren Namen und/oder Ihre Matrikelnummer,
MehrInformatik 12 Datenbanken SQL-Einführung
Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung
Mehr1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
MehrGrundlagen der Informatik 2 Grundlagen der Digitaltechnik. 1. Zahlensysteme
Grundlagen der Informatik 2 Grundlagen der Digitaltechnik 1. Zahlensysteme Prof. Dr.-Ing. Jürgen Teich Dr.-Ing. Christian Haubelt Lehrstuhl für Hardware-Software Software-Co-Design Grundlagen der Digitaltechnik
MehrGrundlagen der Informatik I Informationsdarstellung
Grundlagen der Informatik I Informationsdarstellung Einführung in die Informatik, Gumm, H.-P./Sommer, M. Themen der heutigen Veranstaltung. ASCIi Code 2. Zeichenketten 3. Logische Operationen 4. Zahlendarstellung
MehrKapitel 1: Einführung
10 Kapitel 1: Einführung 1.1 Was ist eine Programmiersprache? 1.2 Details zu C++ 1.3 Phasen der Programmierung 1.4 Ein erstes Programm: Hello World! 1.5 Addition zweier Zahlen 1.6 Entscheidungen 1.1 Was
MehrBITte ein BIT. Vom Bit zum Binärsystem. A Bit Of Magic. 1. Welche Werte kann ein Bit annehmen? 2. Wie viele Zustände können Sie mit 2 Bit darstellen?
BITte ein BIT Vom Bit zum Binärsystem A Bit Of Magic 1. Welche Werte kann ein Bit annehmen? 2. Wie viele Zustände können Sie mit 2 Bit darstellen? 3. Gegeben ist der Bitstrom: 10010110 Was repräsentiert
MehrPrimzahlen und RSA-Verschlüsselung
Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also
MehrErweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:
VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt
MehrMicrosoft Access 2010 Navigationsformular (Musterlösung)
Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft Access 2010 Navigationsformular (Musterlösung) Musterlösung zum Navigationsformular (Access 2010) Seite 1 von 5 Inhaltsverzeichnis Vorbemerkung...
MehrDaten verarbeiten. Binärzahlen
Daten verarbeiten Binärzahlen In Digitalrechnern werden (fast) ausschließlich nur Binärzahlen eingesetzt. Das Binärzahlensystem ist das Stellenwertsystem mit der geringsten Anzahl von Ziffern. Es kennt
MehrLehrer: Einschreibemethoden
Lehrer: Einschreibemethoden Einschreibemethoden Für die Einschreibung in Ihren Kurs gibt es unterschiedliche Methoden. Sie können die Schüler über die Liste eingeschriebene Nutzer Ihrem Kurs zuweisen oder
MehrTutorium Informatik 1. Aufgabe 2: Formatierte Ein- und Ausgabe
Tutorium Informatik 1 Aufgabe 2: Formatierte Ein- und Ausgabe Fachbereich: Elektrotechnik Inhaltsverzeichnis 1 Aufgabe 1 2 Benötigte Funktionen und Schlüsselwörter 2 Robert Halas / FH Regensburg - 2003
MehrIhr Ideen- & Projektmanagement-Tool
Planungsbox 2.9 Ihr Ideen- & Projektmanagement-Tool Planungsbox verknüpft Notizen, Termine, Dateien, email- & Internetadressen, ToDo-Listen und Auswertungen Planungsbox verwaltet ToDo-Listen, Termine und
MehrSchmitt, Günter (1996): Fortran 90 Kurs technisch orientiert, R. Oldenbourg Verlag, München
MANUEL KALLWEIT & FABIAN KINDERMANN Literaturempfehlung: Vorlesungsskript von Heidrun Kolinsky zu FORTRAN 90/95: http://www.rz.uni-bayreuth.de/lehre/fortran90/vorlesung/index.html Schmitt, Günter (1996):
MehrHello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.
Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike
MehrBinäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
MehrSysteme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss
Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige
Mehr2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE
2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2.1 Die Einrichtung der Benutzeroberfläche Das Einrichten einer Android-Eclipse-Entwicklungsumgebung zur Android-Entwicklung ist grundsätzlich nicht
MehrProgrammieren für Ingenieure Sommer 2015. Ein Rechner. Rechner sind überall. Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet.
Programmieren für Ingenieure Sommer 2015 Andreas Zeller, Universität des Saarlandes Ein Rechner Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet. Rechner sind überall Ihr Rechner
MehrMediator 9 - Lernprogramm
Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop
MehrGrundlagen der Programmiersprache C++
/ TU Braunschweig Grundlagen der Programmiersprache C++ Um den Studierenden den Einstieg in die FE-Programmierung zu erleichtern werden die wesentlichen Elemente eines C-Programmes beschrieben, soweit
MehrAnzeige von eingescannten Rechnungen
Anzeige von eingescannten Rechnungen Wenn Sie sich zu einer Eingangsrechnung die eingescannte Originalrechnung ansehen möchten, wählen Sie als ersten Schritt aus Ihrem Benutzermenü unter dem Kapitel Eingangsrechnung
Mehr1 Informationelle Systeme begriffliche Abgrenzung
1 Informationelle Systeme begriffliche Abgrenzung Im Titel dieses Buches wurde das Wort Softwaresystem an den Anfang gestellt. Dies ist kein Zufall, denn es soll einen Hinweis darauf geben, dass dieser
Mehr1 Vom Problem zum Programm
Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren
MehrAGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b
AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität
MehrLeichte-Sprache-Bilder
Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen
MehrDer SD-Kartenslot befindet sich an der rechten Gehäuseseite unterhalb der rechteckigen hellgrauen Gummiabdeckung.
1.1 Steckplatz für eine SD-Karte zur Datensicherung 1.2 Verwenden Sie eine SD-Karte zur Datensicherung Ihrer aktuellen Programmierung und die Berichte. Sollte die Kasse einmal einen technischen Defekt
MehrInformatikgrundlagen (WS 2015/2016)
Informatikgrundlagen (WS 2015/2016) Klaus Berberich (klaus.berberich@htwsaar.de) Wolfgang Braun (wolfgang.braun@htwsaar.de) 0. Organisatorisches Dozenten Klaus Berberich (klaus.berberich@htwsaar.de) Sprechstunde
MehrEinführung in die C-Programmierung
Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).
MehrAutoTexte und AutoKorrektur unter Outlook verwenden
AutoTexte und AutoKorrektur unter Outlook verwenden Die Hilfsmittel "AutoKorrektur" und "AutoTexte", die schon unter Microsoft Word das Arbeiten erleichtern, sind natürlich auch unter Outlook verfügbar.
MehrHandbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager
Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager Dateiname: ecdl2_03_05_documentation Speicherdatum: 22.11.2004 ECDL 2003 Modul 2 Computermanagement und Dateiverwaltung
MehrProgrammieren I. Administratives / Java Installation. Thomas Vetter, Brian Amberg, Andreas Forster. 21. September 2010 UNIVERSITÄT BASEL
Programmieren Administratives / Java nstallation Thomas Vetter, Brian Amberg, Andreas Forster UNVERSTÄT BASEL 21. September 2010 Teil Administratives Allgemein Personen Dozent: Prof. Thomas Vetter Assistenten:
MehrKontrollstrukturen, Strukturierte Programmierung
, Strukturierte Programmierung Steuer- und Kontrollfluss Strukturierte Programmierung Arten von Strukturblöcken Sequenz Alternative Iteration C-Spezifisches Seite 1 Elementare Algorithmen SelectionSort
Mehr10.3.1.8 Übung - Konfigurieren einer Windows 7-Firewall
5.0 10.3.1.8 Übung - Konfigurieren einer Windows 7-Firewall Drucken Sie diese Übung aus und führen Sie sie durch. In dieser Übung werden Sie erfahren, wie man die Windows 7-Firewall konfiguriert und einige
MehrTerminabgleich mit Mobiltelefonen
Terminabgleich mit Mobiltelefonen Sie können Termine- und Aufgaben aus unserem Kalender, sowie die Adressdaten aus dem Hauptprogramm mit Ihrem Mobiltelefon abgleichen. MS Outlook dient dabei als Schnittstelle
MehrBedingungen. Bedingungen. Bedingungen
Oftmals ist das Arbeiten mit notwendig. Dabei können sich die auf Formatierungen beziehen, aber auch auf Transformationen. Bedingte Formatierung Datentransformation 24.04.2006 Einführung in Excel 91 24.04.2006
MehrGrundlagen der Theoretischen Informatik, SoSe 2008
1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)
MehrErstellen von x-y-diagrammen in OpenOffice.calc
Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei
MehrErstellen eigener HTML Seiten auf ewon
ewon - Technical Note Nr. 010 Version 1.2 Erstellen eigener HTML Seiten auf ewon 30.08.2006/SI Übersicht: 1. Thema 2. Benötigte Komponenten 3. Funktionsaufbau und Konfiguration 3.1. Unterpunkt 1 3.2. Unterpunkt
MehrDie Programmiersprache C
Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,
MehrÜbung: Verwendung von Java-Threads
Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum
Mehr