Informationen für Einsteiger

Anhand von Beispielen lernen

Programmieren in einer neuen Sprache lernst du am besten, an vielen Beispielprogrammen. Kopieren Sie am besten jedes unten aufgeführte Programm in eine Textdatei umwandeln und diese kompilieren. Führen Sie dann die Tests durch. Wenn Sie diese Beispielprogramme erweitern, werden Sie mit verschiedenen Aspekten und Sie werden sicherer, wenn Sie Programme aus kratzen.

Beispiel 1: Bringen Sie Ihren Compiler zum Laufen!

Wenn Sie dies noch nicht getan haben, kopieren Sie das folgende klassische Programm und fügen Sie es ein in eine Textdatei konvertieren und diese kompilieren. Anweisungen zum Kompilieren sind verfügbar hier.

Vermutlich haben Sie dieses Programm in der Anleitung durchgearbeitet, Daher wird hier keine zeilenweise Beschreibung angegeben. Es gibt einige Dinge, in Bezug auf die Lesbarkeit. Bezieht sich auf Kommentare und Formatierungen, die das Lesen, Verstehen und Verwalten von Programmen erleichtern.

  • Jedes Programm, das wir schreiben, beginnt mit einem Kommentar in der Kopfzeile, in dem der Name angegeben ist. des Autors, seine Kontaktinformationen, eine kurze Beschreibung und (falls relevant). Jede Funktion beginnt mit einem Kommentar zum Vorgang und ihrer Verwendung.
  • Wir fügen erklärende Kommentare in vollständigen Sätzen hinzu, wenn der Code nicht selbst dokumentieren, z. B. wenn die Verarbeitung schwierig, nicht offensichtlich ist, interessant oder wichtig sind.
  • Verwenden Sie immer beschreibende Namen: Bei den Variablen werden Wörter mit Kleinschreibung getrennt angegeben. durch _, wie in my_variable. Funktionsnamen verwenden Großbuchstaben zum Markieren von Wörtern, wie MyExcitingFunction(). Konstanten beginnen mit einem „k“ und verwenden Sie Großbuchstaben zum Markieren von Wörtern, wie in kDaysInWeek.
  • Der Einzug ist ein Vielfaches von zwei. Die erste Ebene besteht aus zwei Leerzeichen. falls weiter Einrückung erforderlich. Wir verwenden vier Leerzeichen, sechs Leerzeichen usw.
// hello.cpp: Maggie Johnson
// Description: a program that prints the immortal saying "hello world"

#include <iostream>
using namespace std;

int main() {
  cout << "Hello World!" << endl;
  return 0;
}

Einige Experimente:

  • Das Wichtigste ist, sicherzustellen, dass Sie dieses Programm kompilieren und ausführen können.
  • Ändern Sie das obige Programm so, dass „Hello World!“ ausgegeben wird. 4-mal auf einer für 6 Zeilen, wobei jede in einem Feld von 17 Feldern gedruckt wird. Für Schleifen verwenden um dies zu tun. Klicken Sie hier, um Erfahren Sie, wie Sie Ausgabe mit cout formatieren. Klicken Sie hier, um Lösung sehen.
  • Finden Sie mit dem Programm heraus, das Sie gerade abgeschlossen haben, Welt!“ linksbündig in den Feldern mit 17 Leerzeichen (der Standardwert ist rechts ausgerichtet). Klicken Sie hier, um die Lösung anzuzeigen.

Beispiel 2: Eingabe abrufen

In C++ können Sie über die Tastatur mithilfe von cin problemlos Eingaben machen. Hier ein Beispiel:

// get_input.cpp: Maggie Johnson
// Description: Illustrate the use of cin to get input.

#include <iostream>
using namespace std;

int main() {
  int input_var = 0;
  // Enter the do while loop and stay there until either
  // a non-numeric is entered, or -1 is entered. Note that
  // cin will accept any integer, 4, 40, 400, etc.
  do {
    cout << "Enter a number (-1 = quit): ";
    // The following line accepts input from the keyboard into
    // variable input_var.
    // cin returns false if an input operation fails, that is, if
    // something other than an int (the type of input_var) is entered.
    if (!(cin >> input_var)) {
      cout << "You entered a non-numeric. Exiting..." << endl;
      break;
      // exit the do while loop
    }
    if (input_var != -1) {
      cout << "You entered " << input_var << endl;
    }
  } while (input_var != -1);
  cout << "All done." << endl;
  return 0;
}

Ein Experiment:

  • Bei einem Eingabefehler wird der Stream unterbrochen Cin Returns false und das Programm wird beendet. Es ist sehr wichtig, sich vor solchen Fehlern wie im obigen Programm. Aber was ist, wenn wir den Fehler beheben möchten, anstatt das Programm beenden zu lassen? Zur Wiederherstellung sind zwei Schritte Fehler: <ph type="x-smartling-placeholder">
      </ph>
    1. Löschen Sie den Fehler mit „cin.clear()“.
    2. Entferne die falschen Zeichen aus dem Stream. Eine Möglichkeit dafür ist cin.ignore().

Schreiben Sie ein Programm, das mit diesen beiden Schritten nach fehlerhaften Eingaben wiederhergestellt wird. Verwenden Sie Google, um herauszufinden, wie diese Methoden funktionieren. Hier finden Sie unsere Lösung.

Beispiel 3: Was gibt dieses Programm aus?

#include <iostream>
using namespace std;

int main() {
  cout << " 1\t2\t3\t4\t5\t6\t7\t8\t9" << endl << "" << endl;
  for (int c = 1; c < 10; c++) {
    cout << c << "| ";
    for (int i = 1; i < 10; i++) {
      cout << i * c << '\t';
    }
    cout << endl;
  }
  return 0;
} 

Beispiel 4: Durch die Zerlegung ist alles einfacher...

Zeit, dass wir anfangen, Computerspiele zu schreiben! Das erste wird ein bisschen einfach sein, aber es ist ein Anfang. Unsere Aufgabe ist es, ein Programm zu schreiben, Spiel. Unser Programm generiert eine Zufallszahl zwischen 0 und 100. Der Spieler muss die Geheimnummer zu erraten. Das Programm gibt Hinweise wie „Das ist zu hoch“ oder „das ist zu niedrig“ bis der Spieler die Geheimnummer erraten kann.

Wir arbeiten in drei Schritten an diesem Spiel. 

  1. Herausfinden, wie eine Zufallszahl innerhalb eines gegebenen Wertebereichs generiert wird
  2. Erstellen Sie eine Hauptfunktion, die eine Schätzung des Spielers verarbeitet und Hinweise.
  3. Fügen Sie alles hinzu, damit mehrere Versuche möglich sind, bis der Spieler erraten kann die Zahl.

Dieser Entwicklungsprozess wird als Zerlegung bezeichnet, was bedeutet, in Unteraufgaben unterteilt, die ganz einfach zu erledigen sind.

Führen Sie in Schritt 1 eine Google-Suche durch, um zu sehen, wie eine Zufallszahl generiert wird. mit C++. Suche nach "rand C++". Hier finden Sie unsere Lösung.

Für Schritt 2 müssen wir eine Ganzzahl-Eingabe vom Player erhalten (mit entsprechenden Fehlerprüfung für cin) und mit der Geheimnummer vergleichen. Versuchen und schreiben diesen Teil des Spiels selbst ein, bevor Sie in unseren -Lösung.

Schließlich müssen wir eine Schleife hinzufügen, durch die weiterhin Vorschläge vom Spieler gesammelt werden. bis sie die Geheimzahl erraten. Nach Abschluss dieses Teils der finden Sie in unserer Lösung.

Die Zerlegung ist eine der wichtigsten Fähigkeiten, die Programmierer lernen müssen. Die Fähigkeit, eine Aufgabe in überschaubare Teile zu zerlegen und diese dann abzuschließen entscheidend ist, egal wie groß oder klein das Projekt ist. Hier sind einige andere Möglichkeiten für Sie, Zerlegung zu üben.

  • Viele alltägliche Aufgaben bieten die Möglichkeit, Fähigkeiten zum Zerfall zu entwickeln. Es wird dich vielleicht überraschen, dass dein Geist einfach so funktioniert.

    Wenn ich z. B. eine sehr chaotische Küche (vielleicht einige Kleine Mädchen, die gerade einen Kuchen gebacken haben), teile ich die Aufgaben auf, um einen Plan zu erstellen. damit ich meine Arbeit später nicht noch einmal machen muss. Ich möchte die wenn alle möglichen Sachen auf den Arbeitsplätzen aufgeräumt sind, dann werde ich wahrscheinlich später noch einmal machen müssen. Vielleicht habe ich alle Zutaten nicht mehr weiter. das Geschirr in das Spülbecken schieben; die Arbeitsflächen reinigen; waschen das Geschirr; und schließlich den Boden aufräumen. Es gibt noch andere Möglichkeiten, aber wenn ich es erst durchdachte, kann ich einen Plan definieren, ist keine Nacharbeit erforderlich.

    Nutze alltägliche Aufgaben als Beispiele für die Entwicklung deiner Zersetzungsfähigkeiten. Wer weiß – vielleicht wirst du damit zu Hause effizienter!

  • Der größte gemeinsame Teiler zweier Ganzzahlen ist die größte Zahl, gleichmäßig verteilt. Beispiel: gcd(12; 18) = 6, gcd(−4, 14) = 2. Die GMD-Berechnung erfolgt am effizientesten mit dem euklidischen Algorithmus. Schreiben ein Programm mit einer Funktion zur Berechnung von gcd für zwei Ganzzahlen. Versuchen Sie, ohne Rekursion. Sie hilft Ihnen zu verstehen, wie der Algorithmus funktioniert.

    Definieren Sie Ihre Unteraufgaben explizit, zum Beispiel, indem Sie den Code für die euklidische Algorithmus; eine nicht-rekursive Funktion für den Algorithmus erstellen; usw. Hier finden Sie unsere Lösung.

Beispiel 5: Matherätsel

Eine der Stärken von Computing ist die Brute-Force-Suche nach für ein Problem zu finden. Testen und Fehler funktionieren bei einigen Problemen einwandfrei. Computer können solche Probleme besonders gut lösen. Bedenken Sie Folgendes:

Pferde kosten 10 €, Schweine 3 € und Kaninchen nur 0, 50 €. Ein Landwirt kauft 100 Tiere für 100 €. Wie viele von jedem Tier hat er gekauft? 

Für dieses Problem gibt es eine erstaunlich einfache Lösung. Vielleicht finden Sie bevor Sie sich unser ansehen.

Du kannst auch Folgendes ausprobieren:
Wie viele Möglichkeiten gibt es, sechs verschiedene Bücher von links nach rechts auf einem Regal anzuordnen?

Dieses Mal zeigen wir Ihnen nur die Lösung und lassen Sie das Programm schreiben: 720.

Beispiel 6: Zu berücksichtigende Strings

Was gibt das folgende Programm aus?

#include <iostream>
using namespace std;

int main() {
  string str1 = "To be or not to be, that is the question";
  string str2 = "only ";
  string str3 = str1.substr(6, 12);
  str1.insert(32, str2);
  str1.replace(str1.find("to be", 0), 5, "to jump");
  str1.erase(9, 4);
  cout << str1 << endl;
  for (int i = 0; i < str3.length(); i++)
    cout << str3[i]; cout << endl;
}

Klicken Sie auf finden Sie hier.

Beispiel 7: Nächste Schritte mit Zerlegung – Ihr erster Tag bei der Arbeit

Sie haben gerade eine Position als Vertriebsmitarbeiter bei der Firma ExerShoe erhalten, in hochwertigen Trainingsschuhen, die etwa 225 US-Dollar pro Paar kosten. Ihr Chef hat Ihnen drei Optionen für die Vergütung, die Sie auswählen müssen, bevor Sie Tag:

  1. Gehalt von 600 US-Dollar pro Woche;
  2. Ein Gehalt von 7,00 $pro Stunde zuzüglich einer 10% Verkaufsprovision;
  3. Kein Gehalt, aber 20% Provisionen und 20 $für jedes verkaufte Paar Schuhe

Als professioneller C++-Programmierer können Sie ein Programm schreiben, die beste Vergütung zu finden.

Ein gängiger Ansatz zur Zerlegung für ein größeres Programm besteht darin, eine Hauptfunktion, die sich wie ein Entwurf zur Lösung des Problems liest. Gehen Sie dann so vor: schreiben wir die Funktionen für die einzelnen Aufgaben.

Hier ist ein erster Durchgang im Hauptprogramm:

  GetInput(WeeklySales);
  CalcMethod1(WeeklySales);
  CalcMethod2(WeeklySales);
  CalcMethod3(WeeklySales); 

Prüfen Sie, ob Sie jede dieser Funktionen implementieren können, bevor Sie sich die unserer -Lösung.

Beispiel 8: Was ist wo verfügbar?

Was ist die Ausgabe des folgenden Programms?

// scope.cpp, Maggie Johnson
// Description: A program to illustrate different scopes

#include <iostream>
using namespace std;

int a = 18;
int b = 6;

int function1(int a, int b) {
  return a - b;
}

int function2() {
  int c;
  c = a + b;
  return c;
}

int main() {
  int b = 12;
  int c = 0;
  a = function1(b, a);
  c = function2();
  cout << "a: " << a << " b: " << b << " c: " << c << endl;
}

Wenn Sie eine Antwort gefunden haben, sehen Sie sich hier unsere kommentierte Version des Codes an.

Beispiel 9: Dateien verarbeiten

Die Dateiverarbeitung in C++ erfolgt mithilfe von fstream. Zum Speichern in einer Datei einen ofstream deklarieren und mit der Schaltfläche „out“ öffnen, . Prüfen wie im folgenden Beispiel dargestellt.

// file.cpp, Maggie Johnson
// Description: An illustration of file processing
#include <fstream>
#include <iostream>
using namespace std;

int main() {
  char first_name[30], last_name[30]; int age;
  char file_name[20];
  // Collect the data.
  cout << "Enter First Name: "; cin >> first_name;
  cout << "Enter Last Name: "; cin >> last_name;
  cout << "Enter Age: "; cin >> age;
  cout << endl << "Enter the name of the file: "; cin >> file_name;

  // Create an ofstream called People, open the stream for output.
  ofstream People(file_name, ios::out);
  // Write the output to the stream.
  People << first_name << endl << last_name << endl << age << endl; return 0;
} 

Jetzt können Sie einige Übungen und erstellen.

Wie die Arbeit als Softwareentwickler bei Google aussieht

Hier erfahren Sie, wie es ist, bei Google zu arbeiten. Website.

Übungen und Projekte

Die folgenden Trainings und üben Sie mit C++. Für diese Übungen bieten wir keine Lösungen an. und Projekten zu arbeiten, damit Sie mit anderen Schülern .

  1. Die üblichen Cricket-Töne piepsen direkt im Verhältnis zur aktuellen Temperatur. Die Anzahl der Pieptöne eines Cricket-Piepters pro Minute wird um 40 erhöht und dann wird geteilt gibt der Wert von 4 uns die Temperatur an. Schreiben Sie ein Programm, das als Eingabe verwendet die Anzahl der Pieptöne in einer Minute und gibt die aktuelle Temperatur aus. Für Beispiel:
    Number of chirps: 120
    The temperature is: 40.0 degrees. 
  2. Schreibe ein Programm, das deine Abschlussnote für einen Programmierkurs berechnet die Sie nehmen. So sieht das Benotungsschema aus:
    Final grades will be based on the following:
    40% Assignments   15% Midterm Examination
    35% Final Examination
    10% Class Participation Grade 

    Ihr Programm sollte die Nutzenden nach den vier Punktzahlen für Aufgaben, der Halbzeit, Abschluss- und Abschnittsnoten. Dann wird die Endpunktzahl berechnet und ausgedruckt. Für die Berechnungen ermitteln Sie den Durchschnitt der vier Punktzahlen für Aufgaben. und dann mit 0,4 (40%) multiplizieren. Dann multiplizieren Sie den Mittelwertwert 0,15, der Endstand um 0,35 und die Teilnahmebewertung um 0,1. Dann haben Sie alle Ergebnisse dieser Multiplikationen addieren.

    Verwenden Sie in diesem Programm wo immer möglich Funktionen. Sie können eine Funktion erstellen, , um die Eingabe zu erhalten, indem die anzuzeigende Zeichenfolge als Parameter übergeben wird. erklärenden Text. Hier ein Beispiel für eine Ausführung:

    Enter the score for the first assignment. 75
    Enter the score for the second assignment. 85
    Enter the score for the third assignment. 82
    Enter the score for the fourth assignment. 94
    Enter the score for the midterm. 81
    Enter the score for the final. 89
    Enter the score for the section grade. 100
    The final grade is: 86.9
  3. Da elektronische Stoppuhren immer günstiger und genauer werden, mit unglaublich genauen Zeitmessungen überschwemmt werden. Programm schreiben die als Eingabe einen in Sekunden angegebenen Zeitraum verwendet und die Zahl ausgibt, aus Stunden, Minuten und Sekunden. Beispiel:
    Number of seconds: 3662
    Hours: 1
    Minutes: 1
    Seconds: 2     
  4. Zerlegen Sie im Folgenden, bevor Sie Ihr Programm schreiben. Verwenden Sie nach Möglichkeit Funktionen, um gut strukturierte Programme zu erstellen.

  5. Angenommen, wir möchten ein Banner für Folgendes drucken:

    „FreeZY BREEZE lassen DREI Bäume hängen“

    Die Buchstaben sollen ziemlich groß sein, da dies ein Banner ist:

    FFFFF
    F
    FFF
    F
    F
    
    EEEEE
    E
    EEE
    E
    EEEEE
    
    usw.

    Da ihr ein gutes Problemlöser ist, habt ihr wahrscheinlich bemerkt, bündeln wir alle Auszüge in der Hauptfunktion, wäre das viel effizienter. um sie in Funktionen einzubauen. Wir könnten also „printE“ Funktion und „printZ“ und so weiter.

    Schreiben Sie ein Programm mit Funktionen, das ein Banner für ein Wort oder eine Wortgruppe erstellt mit vielen sich wiederholenden Buchstaben. Einige Möglichkeiten:

    FREEZY BREEZE MAKES FLEAS
    SNEEZE TWEETLE BEETLE PADDLE BATTLE
    SIX SICK CHICKS KICK
    SUE SEWS SUE'S SOCKS
    BEN BENDS BIM'S BROOM 
  6. Hier ist eine „magische Zahl“ Problem: Bitten Sie den Nutzer, eine dreistellige Zahl Zahl, deren erste Ziffer größer als die letzte ist. Dein Programm wird umgekehrt und die Umkehrung von der ursprünglichen Zahl subtrahieren. Schließlich: kehren die resultierende Zahl um und addieren sie zu ihrer nicht umgekehrten Form. Geben Sie den Endergebnis. Die ursprüngliche Zahl, die der Nutzer eingibt, muss eine Ganzzahl sein eingeben (nicht drei Zeichen). Überlegen Sie, wie Sie eine Funktion schreiben, die Ganzzahl als Eingabe und gibt die Umkehrung dieser Zahl zurück. Beispiel:
    input number: 901
    reverse it: 109
    subtract: 901 - 109 = 792
    reverse it: 297
    add: 297 + 792 = 1089   
  7. Das Gesetz verlangt von Herstellern von Lebensmitteln, Verfallsdaten anzugeben. in Bezug auf ihre Produkte, aber es gibt eine Gesetzgebung: Es erfordert keine das Verfallsdatum in einem bestimmten Format anzugeben. Es kann also so geschrieben werden, und trotzdem legal bleiben.

    Ralph Naders dritter Cousinin Nadine ist eine selbsternannte Agentin für Lebensmittelqualität. Sie hat erfahren, dass viele Lebensmittelhersteller damit begonnen haben, das Ablaufdatum des Produkts, damit die Kunden nicht wissen, sind.

    Aber die Codierung ermöglicht es Lebensmittelhändlern, das Ablaufdatum zu ermitteln, wenn sie es möchten.

    Eine beliebte Codierungsmethode:

    • die Monate von Januar bis Dezember als 'A' zu codieren bis 'L'
    • Codieren Sie jede Ziffer des Datums als "Q". bis "Z"
    • Codieren Sie das Jahr als "A". bis "Z" 1 bis 26, was dann 1995 hinzugefügt.

    Nadine hat ein besonders fragwürdiges Brot mit diesem Datum gefunden: ARZM. Schreibe ein Programm, um das Datum zu bestimmen.

  8. Das ist eine Zahlenanalytik zu einem bekannten Kartentrick. Nutzer zur Teilnahme auffordern eine dreistellige Zahl. Stellen Sie sich die Zahl als ABC vor (wobei A, B und C die drei Ziffern der Nummer). Suchen Sie nun die Reste der Zahlen, ABC, BCA und CAB bei Division durch 11. Diese Restwerte nennen wir X, Y, Z. Addieren Sie sie als X + Y, Y + Z, Z + X. Wenn eine der Summen ungerade sind, erhöhen oder um 11 verringern (je nachdem, welche Operation zu einer positiven Zahl weniger als 20; Wenn die Summe 9 ist, melden Sie dies und beenden Sie den Vorgang. Schließlich: jede Summe halbieren. Die daraus resultierenden Ziffern sind A, B und C. Schreiben ein Programm, das diesen Algorithmus implementiert.

Anwendung: Musik mit Animationen visualisieren

Softwareentwickler entwickeln eine breite Vielfalt an häufig interessanten und innovativen Anwendungen. In jedem Modul dieses Kurses stellen wir eine andere Anwendung vor, die von Entwicklern entwickelt und implementiert, damit Sie die verschiedenen Bereiche verstehen, Ingenieursarbeit.

Hier finden Sie eine interessante Auswahl. App zur Visualisierung von Musik.