เริ่มต้นใช้งาน

เรียนรู้ตามตัวอย่าง

วิธีที่ดีที่สุดวิธีหนึ่งในการเรียนรู้วิธีเขียนโปรแกรมในภาษาใหม่คือการมองหาโปรแกรมตัวอย่างจำนวนมาก วิธีที่ดีที่สุดคือการคัดลอกและวาง แต่ละโปรแกรมด้านล่างลงในไฟล์ข้อความและคอมไพล์ จากนั้นให้ลองทำการทดสอบ การขยายโปรแกรมตัวอย่างเหล่านี้จะทำให้คุณคุ้นเคยกับแง่มุมต่างๆ ของ C++ และจะรู้สึกมั่นใจมากขึ้นเมื่อถึงเวลาเขียนโปรแกรมใหม่ตั้งแต่ต้น

ตัวอย่างที่ 1: ทำให้คอมไพเลอร์ทำงาน

หากคุณยังไม่ได้ทำ ให้คัดลอกและวางโปรแกรมคลาสสิกต่อไปนี้ลงในไฟล์ข้อความและคอมไพล์ ดูวิธีการรวบรวมได้ที่นี่

อาจเป็นไปได้ว่าคุณได้ดูรายละเอียดของโปรแกรมนี้ในบทแนะนำ เราจึงจะไม่ใส่คำอธิบายทีละบรรทัด อย่างไรก็ตาม มี 2-3 อย่างที่ควรสังเกตเกี่ยวกับความอ่านง่าย หมายถึงความคิดเห็นและการจัดรูปแบบที่ช่วยให้โปรแกรมอ่าน เข้าใจ และดูแลรักษาได้ง่าย

  • ทุกโปรแกรมที่เราเขียนจะเริ่มต้นด้วยความคิดเห็นในส่วนหัว โดยระบุชื่อผู้เขียน ข้อมูลติดต่อ คำอธิบายสั้นๆ และการใช้งาน (หากเกี่ยวข้อง) ทุกฟังก์ชันจะเริ่มต้นด้วยความคิดเห็นเกี่ยวกับการดำเนินการและการใช้งาน
  • เราจะเพิ่มความคิดเห็นแบบอธิบายโดยใช้ประโยคแบบเต็มในกรณีที่โค้ดไม่ได้บันทึกด้วยตัวเอง เช่น ในกรณีที่การประมวลผลซับซ้อน ไม่ชัดเจน น่าสนใจ หรือสำคัญ
  • ใช้ชื่อที่สื่อความหมายเสมอ: ตัวแปรคือคำตัวพิมพ์เล็กที่คั่นด้วย _ เช่น ตัวแปร my_variable ชื่อฟังก์ชันใช้อักษรตัวพิมพ์ใหญ่เพื่อทำเครื่องหมายคำ เช่น MyExcitingFunction() ค่าคงที่จะขึ้นต้นด้วย "k" และใช้ตัวอักษรพิมพ์ใหญ่เพื่อทำเครื่องหมายคำ เช่น kDaysInWeek
  • การเยื้องมีค่าพหุคูณของ 2 ระดับแรกคือเว้นวรรค 2 ช่อง หากต้องมีการเยื้องเพิ่มเติม เราจะใช้ 4 ช่อง 6 ช่อง ฯลฯ
// 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;
}

การทดลองบางส่วนที่น่าลอง:

  • สิ่งที่สำคัญที่สุดคือคุณสามารถคอมไพล์และเรียกใช้โปรแกรมนี้ได้
  • แก้ไขโปรแกรมข้างต้นเพื่อพิมพ์ "สวัสดีโลก!" 4 ครั้งต่อบรรทัดสำหรับ 6 บรรทัด โดยแต่ละบรรทัดจะพิมพ์ลงในช่อง 17 ช่อง ใช้ for-loops ในการดำเนินการนี้ คลิกที่นี่เพื่อดูข้อมูลเกี่ยวกับการจัดรูปแบบเอาต์พุตด้วย Cout คลิกที่นี่เพื่อดูวิธีแก้ปัญหา
  • ใช้โปรแกรมที่คุณเพิ่งดำเนินการไปหาวิธีพิมพ์ข้อความ "Hey World!" ตามการจัดแนวชิดซ้ายของช่องที่มีเว้นวรรค 17 ช่อง (ค่าเริ่มต้นคือด้านขวา) คลิกที่นี่เพื่อดูวิธีแก้ปัญหา

ตัวอย่างที่ 2: รับข้อมูล

การป้อนข้อมูลจากแป้นพิมพ์ใน C++ ทำได้ง่ายโดยใช้ cin มีตัวอย่างดังต่อไปนี้

// 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;
}

การทดสอบ

  • เมื่ออินพุตเกิดข้อผิดพลาด สตรีมจะ "พัก" cin จะแสดงผลเป็นเท็จ และโปรแกรมจะหยุด การป้องกันข้อผิดพลาดดังกล่าวเป็นเรื่องสำคัญมากเหมือนที่เราทำในโปรแกรมด้านบน แต่จะทำอย่างไรหากเราต้องการกู้คืนจากข้อผิดพลาดแทนที่จะต้องหยุดโปรแกรม การกู้คืนจากข้อผิดพลาดมี 2 ขั้นตอนดังนี้
    1. ล้างข้อผิดพลาดด้วย cin.clear()
    2. นำอักขระที่ไม่ถูกต้องออกจากสตรีม วิธีหนึ่งคือการใช้ cin.ignore()

เขียนโปรแกรมที่กู้คืนจากการป้อนข้อมูลที่ไม่ถูกต้องโดยใช้ 2 ขั้นตอนนี้ ใช้ Google เพื่อค้นหาวิธีการทำงานของวิธีการเหล่านี้ โปรดดูวิธีแก้ปัญหาที่นี่

ตัวอย่างที่ 3: โปรแกรมนี้ให้ผลอย่างไร

#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;
} 

ตัวอย่างที่ 4: การแยกส่วนทำให้ทุกอย่างง่ายขึ้น...

ถึงเวลาเขียนเกมคอมพิวเตอร์แล้ว ข้อแรกนี้จะง่ายนิดเดียว แต่นี่เป็นเพียงจุดเริ่มต้น งานของเราคือการเขียนโปรแกรมที่ใช้เกมทายปัญหา โปรแกรมของเราจะสร้างจำนวนสุ่มระหว่าง 0 ถึง 100 โดยผู้เล่นต้องเดาหมายเลขลับ โปรแกรมจะแสดงคำใบ้ เช่น "สูงเกินไป" หรือ "ต่ำเกินไป" จนกว่าผู้เล่นจะเดาหมายเลขลับได้ในที่สุด

เราจะดำเนินการเกี่ยวกับเกมนี้ใน 3 ขั้นตอน 

  1. หาวิธีสร้างตัวเลขสุ่มภายในช่วงของค่าที่ระบุ
  2. สร้างฟังก์ชันหลักที่ประมวลผลการคาดเดา 1 ครั้งจากโปรแกรมเล่นและให้คำใบ้
  3. เพิ่มส่วนที่เราต้องการเพื่อให้ผู้เล่นเดาได้หลายครั้งจนกว่าผู้เล่นจะเดาตัวเลขได้

ขั้นตอนการพัฒนานี้เรียกว่าการแยกส่วน ซึ่งหมายถึงการแบ่งงานออกเป็นงานย่อยๆ ซึ่งแต่ละรายการทำได้ง่ายๆ

เริ่มจากขั้นตอนที่ 1 ทำการค้นหาใน Google เพื่อดูวิธีสร้างตัวเลขสุ่มโดยใช้ C++ ลองค้นหาด้วย "rand C++" นี่คือวิธีแก้ปัญหาของเรา

สำหรับขั้นตอนที่ 2 เราต้องได้รับอินพุตที่เป็นจำนวนเต็มจากโปรแกรมเล่น (พร้อมการตรวจสอบข้อผิดพลาดที่เหมาะสมใน cin) และตรวจสอบกับหมายเลขลับ ลองเขียนเกมส่วนนี้ด้วยตนเองก่อนที่จะตรวจสอบวิธีแก้ปัญหาของเรา

สุดท้าย เราต้องเพิ่มห่วงที่ผู้เล่นต้องเดาไปเรื่อยๆ จนกว่าผู้เล่นจะเดาหมายเลขลับได้ในที่สุด หลังจากกรอกข้อมูลในโปรแกรมส่วนนี้เสร็จแล้ว คุณจะตรวจสอบโซลูชันของเราได้

การแยกตัวเป็นทักษะหนึ่งที่สำคัญที่สุดสำหรับโปรแกรมเมอร์ในการเรียนรู้ การแบ่งงานออกเป็นส่วนๆ ที่จัดการได้ แล้วทำให้เสร็จทีละอย่างถือเป็นสิ่งสำคัญ ไม่ว่าโปรเจ็กต์จะใหญ่หรือเล็กขนาดไหน นี่เป็นโอกาสอื่นๆ ที่คุณจะได้ฝึกแยกตัว

  • งานประจำวันจำนวนมากเปิดโอกาสให้สร้างทักษะในการแยกตัว คุณอาจแปลกใจถ้าได้รู้ว่าความคิดของคุณเป็นแบบนี้

    เช่น ถ้าผมต้องทำความสะอาดห้องครัวที่ยุ่งเหยิงจริงๆ (บางทีมีเด็กผู้หญิงแค่อบเค้ก) ผมแบ่งงานย่อยๆ ออกเป็นแผน และเพื่อให้มั่นใจว่าผมจะได้ไม่ต้องทำงานซ้ำอีกในภายหลัง ฉันไม่อยากล้างพื้นก่อนถ้ามีสิ่งของทุกชนิดบนเคาน์เตอร์ให้ทำความสะอาด ฉันเลยคงต้องไปล้างพื้นอีกรอบในภายหลัง ฉันอาจจะใส่ส่วนผสมทั้งหมดไปก่อน ย้ายจานทั้งหมดลงในอ่างล้างจาน ล้างเคาน์เตอร์ ล้างจาน แล้วสุดท้ายก็ทำความสะอาดพื้น ยังมีวิธีอื่นๆ อีกในการดำเนินงานนี้ แต่การลองคิดดูให้ดีก่อนจะช่วยให้ฉันวางแผนได้โดยไม่จำเป็นต้องดำเนินการซ้ำ

    ทำงานในแต่ละวันเป็นตัวอย่างสำหรับการพัฒนาทักษะการแตกตัว ใครจะไปรู้ นี่อาจจะทำให้รอบบ้านมีประสิทธิภาพมากขึ้นได้!

  • ตัวหารร่วมมากของจำนวนเต็ม 2 ตัวเป็นจำนวนมากที่สุดที่หารทั้ง 2 ตัวเท่าๆ กัน เช่น gcd(12, 18) = 6, gcd(−4, 14) = 2 วิธีที่มีประสิทธิภาพมากที่สุดในการคำนวณ GCP คือการใช้อัลกอริทึม Euclidean เขียนโปรแกรมที่มีฟังก์ชันเพื่อคำนวณ GCP สำหรับจำนวนเต็ม 2 ตัว ลองใช้ฟังก์ชันนี้โดยไม่เกิดซ้ำก่อน ซึ่งจะช่วยให้คุณเข้าใจวิธีการทำงานของอัลกอริทึม

    กำหนดงานย่อยให้ชัดเจน เช่น ค้นหาโค้ดสำหรับอัลกอริทึม Euclidean สร้างฟังก์ชันแบบไม่เกิดซ้ำสำหรับอัลกอริทึม หรือที่นี่คือวิธีแก้ปัญหาของเรา

ตัวอย่างที่ 5: ปริศนาคณิตศาสตร์

พลังหนึ่งของการประมวลผลคือสามารถทำการค้นหาวิธีแก้ปัญหาที่เข้มข้น การลองผิดลองถูกนั้นทำงานได้ดีสำหรับบางปัญหา อันที่จริงแล้ว คอมพิวเตอร์อาจ ถนัดเป็นพิเศษเกี่ยวกับปัญหานี้ ลองพิจารณาประเด็นนี้

ม้าราคา 300 บาท หมูราคา 90 บาท และกระต่ายราคาเพียง 20 บาท ชาวนาซื้อสัตว์ 100 ตัวในราคา 3, 000 บาท เขาซื้อสัตว์แต่ละตัวมากี่ตัว 

มีวิธีแก้ปัญหานี้ที่ง่ายมาก ดูว่าคุณหาเจอหรือไม่ ก่อนที่จะดูของเรา

อีกหนึ่งตัวอย่างให้ลองมีดังนี้
คุณจัดเรียงหนังสือ 6 เล่มจากซ้ายไปขวาบนชั้นวางได้หลายวิธี

ครั้งนี้เราจะมอบวิธีแก้ปัญหาให้คุณและให้คุณเขียนโปรแกรม 720

ตัวอย่างที่ 6: สตริงสำหรับการพิจารณาของคุณ

โปรแกรมต่อไปนี้จะให้ผลลัพธ์อะไรบ้าง

#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;
}

คลิกที่นี่เพื่อรับความช่วยเหลือ

ตัวอย่างที่ 7: ขั้นตอนถัดไปกับการแยกส่วน - วันแรกในการทำงาน

คุณเพิ่งได้ตำแหน่งเป็นพนักงานขายของบริษัท ExerShoe ซึ่งเชี่ยวชาญเรื่องรองเท้าออกกำลังกายระดับไฮเอนด์ราคาประมาณคู่ละ $225 หัวหน้าให้ค่าตอบแทน 3 แบบ ซึ่งคุณจะต้องเลือกก่อนเริ่มงานวันแรก

  1. เงินเดือนทั่วไป $600 ต่อสัปดาห์
  2. เงินเดือน $7.00 ต่อชั่วโมงและค่าคอมมิชชันจากการขาย 10%
  3. ไม่มีเงินเดือน แต่มีค่าคอมมิชชัน 20% และรองเท้าแต่ละคู่ที่ขายอยู่ที่ $20

ในฐานะที่คุณเป็นโปรแกรมเมอร์ระดับ C++ ผู้เชี่ยวชาญ จึงสามารถเขียนโปรแกรมเพื่อช่วยตัดสินใจเลือกค่าตอบแทนที่ดีที่สุดได้

วิธีทั่วไปในการแยกองค์ประกอบสำหรับโปรแกรมขนาดใหญ่คือการสร้างฟังก์ชันหลักที่อ่านคล้ายเค้าโครงในการแก้ไขปัญหา จากนั้น เราจะเขียนฟังก์ชันเพื่อทำงานแต่ละอย่าง

นี่คือบัตรผ่านครั้งแรกในโปรแกรมหลัก:

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

ก่อนที่จะดูโซลูชันของเรา ให้ตรวจดูว่าคุณใช้แต่ละฟังก์ชันเหล่านี้ได้หรือไม่

ตัวอย่างที่ 8: มีให้บริการอะไรบ้าง

โปรแกรมต่อไปนี้จะให้ผลลัพธ์เป็นอย่างไร

// 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;
}

เมื่อคุณหาคำตอบของคุณได้แล้ว โปรดดูรหัสเวอร์ชันที่มีการแสดงความคิดเห็นของเราที่นี่

ตัวอย่างที่ 9: การประมวลผลไฟล์

การประมวลผลไฟล์ใน C++ ดำเนินการโดยใช้ fstream หากต้องการบันทึกเป็นไฟล์ เราจะประกาศในสตรีม และเปิดด้วยโหมด "ออก" ลองดูในตัวอย่างต่อไปนี้

// 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;
} 
  • ดูว่าคุณจะสามารถเปิดไฟล์ที่เพิ่งสร้างขึ้นและแสดงข้อมูลได้ไหมที่นี่คือวิธีแก้ปัญหาของเรา
  • คราวนี้มาดูกันว่าคุณจะแก้ไขโปรแกรมนี้เพื่ออนุญาตให้ผู้ใช้ป้อนเรคคอร์ดข้อมูลจำนวนมากโดยใช้ลูปได้หรือไม่ นอกจากนี้เรายังต้องการอ่านข้อมูลทั้งหมด ครั้งละบันทึกด้วยที่นี่คือวิธีแก้ปัญหาของเรา

ตอนนี้คุณพร้อมที่จะลองทำแบบฝึกหัดและโปรเจ็กต์ด้วยตัวคุณเองแล้ว

การเป็นวิศวกรซอฟต์แวร์ของ Google

อ่านข้อมูลเกี่ยวกับการทำงานที่ Google ได้ในเว็บไซต์นี้

แบบฝึกหัดและโครงการ

แบบฝึกหัดต่อไปนี้จะทำให้คุณมีแบบฝึกหัดที่ใช้ C++ พื้นฐานมากขึ้น เราไม่มีวิธีแก้ปัญหาสำหรับแบบฝึกหัดและโครงงานเหล่านี้เนื่องจากเราต้องการให้คุณทำงานร่วมกับนักเรียนในหลักสูตรนี้

  1. เสียงคริกเก็ตในสนามทั่วไปจะส่งเสียงร้องตามอุณหภูมิปัจจุบันโดยตรง การนำค่า 40 บวกกับจำนวนครั้งที่คริกเก็ตส่งเสียงร้องใน 1 นาที แล้วหารค่านั้นด้วย 4 จะได้ทราบอุณหภูมิ เขียนโปรแกรมที่จะป้อนจำนวนเสียงร้องใน 1 นาทีและพิมพ์อุณหภูมิปัจจุบัน ตัวอย่างเช่น
    Number of chirps: 120
    The temperature is: 40.0 degrees. 
  2. เขียนโปรแกรมที่จะคำนวณเกรดสุดท้ายสำหรับหลักสูตรการเขียนโปรแกรมที่คุณกำลังเรียน รูปแบบการให้คะแนนมีดังนี้
    Final grades will be based on the following:
    40% Assignments   15% Midterm Examination
    35% Final Examination
    10% Class Participation Grade 

    โปรแกรมควรขอคะแนนงาน 4 คะแนนจากผู้ใช้ ได้แก่ เกรดกลางภาค ปลายภาค และเกรดภาคเรียน จากนั้นจึงคำนวณและพิมพ์คะแนนสุดท้าย ในการคำนวณ ให้นำคะแนนงาน 4 รายการมาเฉลี่ยรวมกันแล้วคูณด้วย 0.4 (40%) จากนั้นคุณนำคะแนนกลางเทอมไปคูณ 0.15 ผลสรุปสุดท้ายด้วย 0.35 และคะแนนการเข้าร่วมคูณ 0.1 จากนั้นนำผลลัพธ์ทั้งหมดของการคูณเหล่านี้มาบวกกัน

    ใช้ฟังก์ชันได้ทุกที่ในโปรแกรมนี้ คุณสร้างฟังก์ชันเพื่อรับอินพุตได้โดยส่งสตริงเป็นพารามิเตอร์ที่จะแสดงในคอลัมน์คำอธิบาย ตัวอย่างการเรียกใช้มีดังนี้

    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. เนื่องจากนาฬิกาจับเวลาอิเล็กทรอนิกส์มีราคาถูกลงและมีความถูกต้องแม่นยำมากขึ้น เราจึงจะหลงเชื่อ ด้วยการวัดเวลาที่เที่ยงตรงอย่างเหลือเชื่อ เขียนโปรแกรมที่ใช้ป้อนช่วงเวลาที่ระบุเป็นวินาที และแสดงผลจำนวนชั่วโมง นาที และวินาทีที่โปรแกรมแสดง เช่น
    Number of seconds: 3662
    Hours: 1
    Minutes: 1
    Seconds: 2     
  4. ต่อไปนี้ ให้แยกองค์ประกอบก่อนที่จะเขียนโปรแกรมของคุณ ใช้ฟังก์ชันต่างๆ เพื่อสร้างโปรแกรมที่มีโครงสร้างดีทุกครั้งที่เป็นไปได้

  5. สมมติว่าเราต้องการพิมพ์แบนเนอร์สำหรับรายการต่อไปนี้

    "FreeZY BREEZE ทำให้ 3 ต้นมีอิสระ"

    เราอยากให้ตัวอักษรค่อนข้างใหญ่เพราะเป็นแบนเนอร์

    FFFFF
    F
    FFF
    F
    F
    
    EEEEE
    E
    EEE
    E
    EEEEE
    
    ฯลฯ

    การเป็นตัวจำแนกโจทย์ที่ดีพอ คุณคงสังเกตเห็นว่าแทนที่จะใส่แท็กทั้งหมดไว้ในฟังก์ชันหลัก การใช้ฟังก์ชันหลักจะมีประสิทธิภาพมากกว่า เราจึงอาจมีฟังก์ชัน "printE" และฟังก์ชัน "printZ" และอื่นๆ

    เขียนโปรแกรมพร้อมฟังก์ชันที่สร้างแบนเนอร์ของคำหรือวลีที่มีตัวอักษรซ้ำกันจำนวนมาก สิ่งที่สามารถทำได้มีดังนี้

    FREEZY BREEZE MAKES FLEAS
    SNEEZE TWEETLE BEETLE PADDLE BATTLE
    SIX SICK CHICKS KICK
    SUE SEWS SUE'S SOCKS
    BEN BENDS BIM'S BROOM 
  6. นี่คือโจทย์ "ตัวเลขมหัศจรรย์" คือการขอให้ผู้ใช้ป้อนตัวเลข 3 หลักที่ตัวเลขหลักแรกมากกว่าตัวเลขสุดท้าย โปรแกรมจะกลับจำนวนดังกล่าวและหักลบการกลับรายการออกจากตัวเลขเดิม สุดท้าย ให้กลับตัวเลขผลลัพธ์แล้วเพิ่มลงในรูปแบบที่ยังไม่ได้ย้อนกลับ แสดงผลลัพธ์สุดท้าย ตัวเลขเดิมที่ผู้ใช้ป้อนต้องเป็นประเภทจำนวนเต็ม (ไม่ใช่อักขระ 3 ตัว) ลองนึกถึงวิธีเขียนฟังก์ชันที่ใช้จำนวนเต็มเป็นอินพุตและแสดงผลกลับของตัวเลขนั้น ตัวอย่าง:
    input number: 901
    reverse it: 109
    subtract: 901 - 109 = 792
    reverse it: 297
    add: 297 + 792 = 1089   
  7. กฎหมายกำหนดให้ผู้ผลิตผลิตภัณฑ์อาหารกำหนดวันที่หมดอายุสำหรับผลิตภัณฑ์ของตน แต่มีช่องโหว่ในกฎหมาย กล่าวคือ ไม่จำเป็นต้องระบุวันที่หมดอายุในรูปแบบใดรูปแบบหนึ่งโดยเฉพาะ ดังนั้น จึงอาจเขียนเป็นภาษาสวาฮิลีได้แต่ยังถือว่าถูกกฎหมายอยู่

    Nadine ลูกพี่ลูกน้องคนที่ 3 ของ Ralph Nader เป็นสายลับ Food Quality Spy เธอได้รู้ว่าผู้ผลิตผลิตภัณฑ์อาหารหลายรายเริ่มเข้ารหัสวันที่หมดอายุของผลิตภัณฑ์ เพื่อป้องกันไม่ให้ลูกค้าทราบว่าสินค้านั้นเก่าแค่ไหน

    แต่การเข้ารหัสจะช่วยให้ผู้ค้าของชำสามารถรู้วันที่หมดอายุได้หากต้องการ ด้วยเหตุผลบางอย่าง

    วิธีการเข้ารหัสที่นิยมใช้กัน

    • เข้ารหัสเดือนตั้งแต่ ม.ค. ถึง ธ.ค. เป็น 'A' ถึง 'L'
    • เข้ารหัสตัวเลขแต่ละหลักของวันที่เป็น "Q" ถึง "Z"
    • เข้ารหัสปีเป็น "A" ถึง "Z" หมายถึง 1 ถึง 26 ซึ่งจะนำไปเพิ่มลงในปี 1995

    เนตรพบขนมปังก้อนใหญ่ที่สงสัยเป็นอย่างมากเกี่ยวกับวันที่นี้ว่า ARZM เขียนโปรแกรมเพื่อกำหนดวันที่

  8. นี่เป็นการอุปมาอุปไมยของไพ่ชื่อดัง ขอให้ผู้ใช้ป้อนตัวเลข 3 หลัก ให้คิดว่าตัวเลขเป็น ABC (โดยที่ A, B, C เป็นเลข 3 หลักของตัวเลข) ทีนี้จงหาตัวเลขที่เหลือที่เกิดจาก ABC, BCA และ CAB เมื่อหารด้วย 11 เราจะเรียกเศษเหล่านี้ว่า X, Y, Z เพิ่มเป็น X+Y, Y+Z, Z+X หากผลรวมใดเป็นจำนวนคี่ ให้เพิ่มหรือลดลง 11 (การดำเนินการใดก็ตามที่ทำให้ได้จำนวนบวกน้อยกว่า 20 โปรดทราบว่าหากผลรวมคือ 9 ให้รายงานการดำเนินการนี้และหยุดกระบวนการนี้) สุดท้าย ให้หารผลรวมด้วย 2 ก้อน ตัวเลขที่ได้คือ A, B, C เขียนโปรแกรมที่ใช้อัลกอริทึมนี้

แอปพลิเคชัน: การนำเสนอเพลงด้วยภาพเคลื่อนไหว

วิศวกรซอฟต์แวร์สร้างสรรค์แอปพลิเคชันมากมายที่มักเป็นนวัตกรรมและน่าสนใจ ในแต่ละโมดูลของหลักสูตรนี้ เรานำเสนอแอปพลิเคชันต่างๆ ที่วิศวกรออกแบบและนำมาใช้ เพื่อช่วยให้คุณเข้าใจส่วนต่างๆ ทั้งหมดที่วิศวกรทำงาน

แอปพลิเคชันหนึ่งที่น่าสนใจที่นี่สร้างขึ้นเพื่อแสดงภาพดนตรี