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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ม้าราคา 300 บาท หมูราคา 90 บาท กระต่ายราคา 15 บาทเท่านั้น ชาวไร่ซื้อ 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 ต่อคู่ เจ้านายได้ให้ไว้ ค่าตอบแทนสามตัวเลือก ซึ่งคุณต้องเลือกก่อนที่จะเริ่มต้น วัน:

  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 ในการบันทึกลงในไฟล์ เราจะ ประกาศ ofstream และเปิดโดยใช้ "out" ตรวจสอบสิ่งนี้ ในตัวอย่างต่อไปนี้

// 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
    
    อื่นๆ

    การเป็นผู้แยกปัญหาที่ดี คุณคงสังเกตว่าแทนที่ ใส่ Couts ทั้งหมดไว้ในฟังก์ชันหลัก น่าจะมีประสิทธิภาพมากกว่า เพื่อทำให้ฟังก์ชันเหล่านั้นทำงานได้ เพื่อให้เรามี "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 หลัก ตัวเลขที่ตัวเลขแรกมากกว่าตัวเลขสุดท้าย โปรแกรมของคุณจะกลับด้าน ตัวเลข และลบการย้อนกลับออกจากจำนวนเดิม สุดท้าย กลับค่าตัวเลขผลลัพธ์ แล้วเพิ่มลงในรูปแบบที่ไม่กลับด้าน แสดงเอาต์พุต ผลลัพธ์สุดท้าย หมายเลขเดิมที่ผู้ใช้ป้อนต้องเป็นจำนวนเต็ม type (ไม่ใช่สามอักขระ) ลองคิดหาวิธีเขียนฟังก์ชันที่ต้องใช้ จำนวนเต็มเป็นอินพุตและแสดงผลกลับของตัวเลขนั้น ตัวอย่าง
    input number: 901
    reverse it: 109
    subtract: 901 - 109 = 792
    reverse it: 297
    add: 297 + 792 = 1089   
  7. กฎหมายกำหนดให้ผู้ผลิตอาหารระบุวันที่หมดอายุ บนผลิตภัณฑ์ของตน แต่มีช่องโหว่ในกฎหมาย คือ ไม่ได้ทำให้ วันที่หมดอายุให้อยู่ในรูปแบบที่เฉพาะเจาะจง ดังนั้น จึงสามารถเขียนเป็นภาษา ภาษาสวาฮีลีและยังคงถูกกฎหมาย

    นาดีนลูกพี่ลูกน้องของราล์ฟ เนเดอร์เป็นสายลับฟู้ดคุณภาพซึ่งทำงานด้วยตนเอง เธอได้เรียนรู้ว่าผู้ผลิตผลิตภัณฑ์อาหารหลายรายเริ่มใช้การเข้ารหัส วันที่หมดอายุของผลิตภัณฑ์เพื่อไม่ให้ลูกค้ารู้ว่า สิ่งต่างๆ อย่างไร

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

    วิธีการเข้ารหัสยอดนิยมวิธีหนึ่ง

    • เข้ารหัสเดือนจาก ม.ค. ถึง ธ.ค. เป็น '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 โปรดรายงานเรื่องนี้และหยุดกระบวนการ) สุดท้าย นำผลบวกแต่ละตัวมาหารครึ่ง ตัวเลขที่ได้คือ A, B, C เขียนหนังสือ โปรแกรมที่ใช้อัลกอริทึมนี้

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

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

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