JavaRush /จาวาบล็อก /Random-TH /Harvard CS50: การบ้านสัปดาห์ที่ 1 (การบรรยายที่ 3 และ 4)
Masha
ระดับ

Harvard CS50: การบ้านสัปดาห์ที่ 1 (การบรรยายที่ 3 และ 4)

เผยแพร่ในกลุ่ม
Harvard CS50: การบ้านสัปดาห์ที่ 1 (การบรรยายที่ 3 และ 4) - 1เพื่อนๆ คุณสามารถรวบรวมข้อมูลทางทฤษฎีพื้นฐานได้จากบันทึกการสัมมนา นอกเหนือจากพื้นฐานของ C แล้ว ยังบอกวิธีเชื่อมต่อกับคลาวด์ IDE CS50 แบบพิเศษ (ซึ่งต้องทำเพื่อรันและตรวจสอบงาน) และอธิบายคำสั่ง Linux พื้นฐานและโครงสร้างภาษาที่จำเป็น หากเนื้อหาที่นำเสนอในการบรรยายและหมายเหตุเกี่ยวกับ C ไม่เพียงพอสำหรับคุณ ให้หันไปหาแหล่งอื่น เช่น รายการที่อยู่ท้ายบทความนี้ ในหัวข้อ " วัสดุเพิ่มเติม "
  • เป้าหมายในสัปดาห์แรก
  • IDECS50
  • อัพเดตบรรทัดคำสั่งและเวิร์กเบนช์
  • ทำงานที่ IDE
  • สวัสดีซี!
  • แมลง?
  • การตรวจสอบความถูกต้อง: การทดสอบ check50
  • พื้นฐาน C: เปรียบเทียบกับ Scratch
  • ประเภทข้อมูลพื้นฐานในภาษาซี
  • ห้องสมุดซี
  • สวัสดี C อีกครั้ง: การวิเคราะห์ไวยากรณ์ของโปรแกรมที่ง่ายที่สุด
  • เพิ่มเติมเล็กน้อยเกี่ยวกับ I/O ใน C
วัสดุในหัวข้อนี้:
  • การป้อนข้อมูลที่ผ่านการตรวจสอบแล้ว: ฟังก์ชันพิเศษของไลบรารี cs50.h
  • ภารกิจที่ 1. การคำนวณการใช้น้ำอย่างชาญฉลาด
  • ภารกิจที่ 2 มาริโออยู่กับเรา!
  • ภารกิจที่ 3 ถึงเวลารับการเปลี่ยนแปลง
  • วิธีตรวจสอบรหัสของคุณและรับเครื่องหมาย
  • ทรัพยากรรหัส
  • วรรณกรรมเพิ่มเติม

การป้อนข้อมูลที่ผ่านการตรวจสอบแล้ว: ฟังก์ชันพิเศษของไลบรารี cs50.h

เพื่อให้หลักสูตรนี้สะดวกยิ่งขึ้น เราได้พัฒนาไลบรารีพิเศษ CS50 ซึ่งมีฟังก์ชันที่มีประโยชน์มากสำหรับการประมวลผลข้อมูลที่ผู้ใช้ป้อนโดยเฉพาะ
  • GetString()อ่านสตริงที่ผู้ใช้ป้อน

  • GetInt()อ่านสตริงที่ผู้ใช้ป้อนและตรวจสอบว่ามีจำนวนเต็มหรือไม่

  • GetFloat()อ่านสตริงที่ผู้ใช้ป้อนและตรวจสอบว่ามีหมายเลขทศนิยมหรือไม่

  • GetLongLong()อ่านสตริงที่ผู้ใช้ป้อนและตรวจสอบว่ามีจำนวนจริงที่ยาวหรือไม่

ภารกิจที่ 1. การคำนวณการใช้น้ำอย่างชาญฉลาด

Harvard CS50: การบ้านสัปดาห์ที่ 1 (การบรรยายที่ 3 และ 4) - 2มีเหตุผล: ยิ่งคุณอาบน้ำนานเท่าไร น้ำก็จะถูกใช้ไปกับกระบวนการนี้มากขึ้นเท่านั้น ลองคิดดูว่าเท่าไหร่? แม้ว่าฝักบัวของคุณแทบจะไม่ได้เปิด แต่มีน้ำไหลออกประมาณ 6 ลิตรต่อนาที และนี่คือน้ำ 12 ขวดที่คุณพกติดตัวไปดื่ม โดยปกติแล้วคนจะอาบน้ำประมาณ 10 นาที โดยรวมแล้วคุณต้องใช้ขวดครึ่งลิตร 120 ขวด ค่อนข้างมาก! สร้างไฟล์water.cใน~/workspace/pset1. โปรแกรมควรนับจำนวนขวดที่ใช้อาบน้ำขึ้นอยู่กับเวลา นั่นคือ:
  1. โปรแกรมจะถามผู้ใช้ถึงจำนวนนาทีที่ใช้ในการอาบน้ำ
  2. ผู้ใช้ป้อนจำนวนเต็มบวก
  3. โปรแกรมแสดงจำนวนขวดที่ผู้ใช้ใช้
username:~/workspace/pset1 $ ./water
minutes: 10
bottles: 120
เพื่อความง่าย คราวนี้เราจะถือว่าผู้ใช้ป้อนจำนวนนาทีอย่างถูกต้องเสมอ นั่นคือ เราไม่ได้ตรวจสอบว่าตัวเลขที่ป้อนเป็นจำนวนบวกและจำนวนเต็มหรือไม่ ต่อไปเราจะเรียนรู้วิธีการเขียนเช็ค แต่ตอนนี้ก็เพียงพอแล้ว เพื่อตรวจสอบว่าโปรแกรมทำงานอย่างถูกต้องcheck50,คุณต้องป้อนบรรทัดต่อไปนี้ในเทอร์มินัล:
check50 2015.fall.pset1.water water.c
และถ้าคุณต้องการดูว่าโปรแกรมwaterที่เขียนโดยเจ้าหน้าที่ประจำหลักสูตรทำงานอย่างไร ให้รันคำสั่งต่อไปนี้:
~cs50/pset1/water

ภารกิจที่ 2 มาริโออยู่กับเรา!

Harvard CS50: การบ้านสัปดาห์ที่ 1 (การบรรยายที่ 3 และ 4) - 3คุณรู้จักช่างประปาที่มีชื่อเสียงที่สุดในโลกหรือไม่? ด้วยความช่วยเหลือของ Nintendo ชายผู้มีหนวดและอวบอ้วนเล็กน้อยสวมหมวกแก๊ปสีแดงได้กลายเป็นฮีโร่สำหรับนักเล่นเกมหลายรุ่น หากคุณไม่รู้ว่าเรากำลังพูดถึงใคร นี่คือลิงก์ไปยังเกมคลาสสิกปี 1985 : เชื่อฉันสิ มันยังดีและคุ้มค่าที่จะลองเล่น! คุณยังสามารถค้นหาเวอร์ชันของ Super Mario สุดคลาสสิกสำหรับสมาร์ทโฟนหรือโปรแกรมจำลองออฟไลน์ได้ เราต้องการทั้งหมดนี้เพื่อการพัฒนาทั่วไป น่าเสียดายที่ยังไม่ใช่งาน ;) และภารกิจก็คือสิ่งนี้ ในตอนท้ายของระดับ Mario แรก ผู้เล่นทุกคนเห็นปิรามิดครึ่งนี้: สร้างไฟล์mario.cใน~/workspace/pset1. โปรแกรมของเราจะวาดครึ่งปิรามิดคล้ายกับที่คุณเห็น แต่โดยตรงในคอนโซลโดยไม่มีกราฟิก: แต่ละบล็อกจะประกอบด้วยไอคอนแฮช (#) แม้ว่าคุณจะยังไม่รู้ว่าต้องทำอย่างไร แต่เชื่อฉันสิ: มันง่าย เพื่อให้ปัญหาน่าสนใจยิ่งขึ้น เราจะเพิ่มความสามารถในการกำหนดความสูงของครึ่งปิรามิดโดยใช้จำนวนเต็มที่ไม่เป็นลบตั้งแต่ 0 ถึง 23 ความสูงของปิรามิดในภาพถือว่าอยู่ในตำแหน่งที่สูงที่สุด นั่นคือเท่ากับ 8 หากผู้ใช้กรอกหมายเลขผิดต้องขอให้เขาทำใหม่อีกครั้งหนึ่ง จากนั้นสร้าง (โดยใช้ printf ปิรามิด) ดูแลจัดมุมซ้ายล่างของครึ่งปิรามิดให้ตรงกับขอบด้านซ้ายของหน้าต่างเทอร์มินัล ดังตัวอย่างด้านล่าง ข้อความที่ขีดเส้นใต้คือข้อความที่ผู้ใช้ป้อนเอง
username:~/workspace/pset1 $ ./mario

height: 8
       ##
      ###
     ####
    #####
   ######
  #######
 ########
#########
โปรดสังเกตว่าคอลัมน์ขวาสุดสองคอลัมน์มีความสูงเท่ากัน ยังไม่คุ้มที่จะสร้างท่อ เมฆ และมาริโอเอง =) อย่างน้อยก็เพื่องานนี้ หากผู้ใช้ป้อนข้อมูลไม่ถูกต้อง (ไม่ได้ใส่ตัวเลข หรือ ใส่ตัวเลขที่น้อยกว่า 1 หรือมากกว่า 23) โปรแกรมควรขอให้เขาป้อนข้อมูลอีกครั้ง ดังตัวอย่างด้านล่าง โดยที่ข้อความที่ขีดเส้นใต้คือว่าอะไร ผู้ใช้เข้ามาจากแป้นพิมพ์ หากต้องการอ่านสตริงที่ป้อน ให้ใช้GetInt. สามารถช่วยตรวจสอบอินพุตที่ไม่ถูกต้องได้ แต่ไม่ใช่ในทุกกรณี
username:~/workspace/pset1 $ ./mario
Height: -2
Height: -1
Height: foo
Retry: bar
Retry: 1
##
ในการคอมไพล์โปรแกรม ให้ป้อนบรรทัดในเทอร์มินัล:
make mario
หรือเวอร์ชันที่โปร่งใสกว่าแต่ยาวกว่า:
clang -o mario mario.c -lcs50
หลังจากนั้นให้รันโปรแกรมเพื่อดำเนินการ:
./mario
หากคุณต้องการตรวจสอบว่าโปรแกรมทำงานอย่างถูกต้อง ให้รันcheck50:
check50 2015.fall.pset1.mario mario.c
และถ้าคุณต้องการเล่นกับมาริโอเวอร์ชั่นผู้ช่วยหลักสูตร ให้พิมพ์บรรทัดต่อไปนี้:
~cs50/pset1/mario

ภารกิจที่ 3 ถึงเวลารับการเปลี่ยนแปลง

Harvard CS50: การบ้านสัปดาห์ที่ 1 (การบรรยายที่ 3 และ 4) - 4ในละติจูดของเราเราไม่ได้เห็นสิ่งนี้ แต่ในสหรัฐอเมริกาดูเหมือนว่ามีของเล่นดังกล่าวดังแสดงในรูปภาพ: กระบอกสูบได้รับการออกแบบมาสำหรับเหรียญที่มีเส้นผ่านศูนย์กลางต่างกัน (และนิกาย) ซึ่งถูกปล่อยออกมาโดยกลไกสปริง และสามารถติดตัวเครื่องเข้ากับเข็มขัดของแคชเชียร์เด็กได้ อย่างไรก็ตาม จะเกิดอะไรขึ้นถ้ามีคนจ่ายเงินก้อนใหญ่ให้กับแคชเชียร์? ลองนึกภาพว่าการนับเหรียญเพื่อการเปลี่ยนแปลงจะลำบากแค่ไหน เพื่อลดจำนวนเหรียญที่ออกให้น้อยที่สุด คุณสามารถใช้อัลกอริธึมที่เรียกว่า "โลภ" ตามที่กำหนดโดยสถาบันมาตรฐานและเทคโนโลยีแห่งชาติ (NIST) พวกเขามักจะค้นหาวิธีแก้ปัญหาที่เหมาะสมที่สุดในแต่ละขั้นตอนในการแก้ปัญหา โดยถือว่าวิธีแก้ปัญหาขั้นสุดท้าย (ที่ได้รับจากขั้นตอนดังกล่าวทั้งหมด) ก็จะมีความเหมาะสมที่สุดเช่นกัน มันหมายความว่าอะไร? ลองจินตนาการว่าแคชเชียร์เป็นหนี้เงินทอนของลูกค้าจำนวน 41 เซ็นต์ และเขามีเหรียญทรงกระบอกอยู่บนเข็มขัดสำหรับทอนในสกุลเงิน 25, 10, 5 และ 1 เซ็นต์ แคชเชียร์ที่ได้รับคำแนะนำจากอัลกอริธึม "โลภ" จะต้องการให้จำนวนเงินสูงสุดทันทีในขั้นตอนแรก ณ จุดนี้ ทางออกที่ดีที่สุดหรือดีที่สุดคือแจกเงิน 25 เพนนี 41-25 = 16 เหลือเงินอีก 16 เพนนีที่ต้องจ่าย แน่นอนว่า 25 เพนนีมากเกินไปจึงเหลือ 10 16-10 = 6 ตอนนี้เราแจก 5 เพนนีตามหลักการเดียวกันแล้ว 1 ดังนั้นผู้ซื้อจะได้รับเพียงสี่เหรียญในสกุลเงิน 25, 10 , 5 และ 1 เพนนี ปรากฎว่าคำแนะนำทีละขั้นตอน "โลภ" ในการออกเงินนั้นเหมาะสมที่สุดไม่เพียงแต่ในกรณีนี้เท่านั้น แต่ยังรวมไปถึงสกุลเงินดอลลาร์สหรัฐด้วย (และสหภาพยุโรปด้วย) นั่นคือหากแคชเชียร์มีเหรียญในสกุลเงินเพียงพอ อัลกอริธึมจะทำงานได้ดีที่สุด นั่นคือจะออกเหรียญจำนวนขั้นต่ำจากทุกกรณีที่เป็นไปได้ แล้วเราต้องทอนเหรียญขั้นต่ำเป็นจำนวนเท่าใด? นี่คือภารกิจที่สามของเรา สร้าง ไฟล์greedy.cในไดเรกทอรีของคุณ ให้ไว้: เหรียญในสกุลเงิน 25, 10, 5, 1 เซ็นต์โปรแกรมควร:~/workspace/pset1
  1. ถามผู้ใช้ว่าจะแจกเงินจำนวนเท่าใด
  2. คำนวณจำนวนเหรียญขั้นต่ำที่คุณสามารถทำได้
บันทึก:เราจะใช้ฟังก์ชันGetFloatจากไลบรารี CS50 สำหรับอินพุต และprintfจากไลบรารี I/O มาตรฐานสำหรับเอาต์พุต นอกจากนี้โปรแกรมจะต้องตรวจสอบความถูกต้องของอินพุตด้วย เราขอให้คุณใช้GetFloatเพื่อให้ผู้ใช้สามารถป้อนค่าเป็นดอลลาร์และเซนต์โดยคั่นด้วยจุด ตัวอย่างเช่น หากเราเป็นหนี้ $9.75 ผู้ใช้ควรป้อน 9.75 แต่ไม่ใช่ $9.75 หรือ 975 คุณต้องแน่ใจว่าผู้ใช้ป้อนตัวเลขที่เหมาะสม GetFloatสมมติว่าไม่เป็นลบ ฟังก์ชัน เองจะไม่ช่วยในเรื่องนี้ หากผู้ใช้ป้อนข้อมูลไม่ถูกต้อง คุณต้องขอให้เขาทำซ้ำและรันโปรแกรมด้วยข้อมูลที่ถูกต้องเท่านั้น ระวังความไม่ถูกต้องที่มีอยู่ในตัวเลขทศนิยม ตัวอย่างเช่น 0.01 ไม่สามารถแสดงเป็นfloat. ลองใช้เอาต์พุตที่จัดรูปแบบ เช่น มีทศนิยม 50 ตำแหน่ง โดยใช้โค้ดด้านล่าง:
float f = 0.01;
printf("%.50f\n", f);
อย่างไรก็ตามก่อนที่จะนับสิ่งใด ๆ จะต้องแปลงจำนวนเงินทั้งหมดเป็นเซนต์ (และในเวลาเดียวกันก็แปลงจากเป็นfloat) intซึ่งจะช่วยหลีกเลี่ยงข้อผิดพลาดและความยากลำบากมากมาย เพื่อให้แน่ใจว่าเครื่องวิเคราะห์โค้ดอัตโนมัติของเราสามารถตรวจสอบปัญหาของคุณได้อย่างถูกต้อง ตรวจสอบให้แน่ใจว่าบรรทัดสุดท้ายของผลลัพธ์ของโปรแกรมของคุณไม่มีข้อมูลอื่นใดนอกจากจำนวนเหรียญขั้นต่ำ: จำนวนเต็มที่มี \n ตามหลัง (ผู้ที่เรียนรู้ JavaRush ตระหนักดีถึงสิ่งที่เรากำลังพูดถึงที่นี่ =)) ด้านล่างนี้เป็นตัวอย่างผลลัพธ์ของโปรแกรมของคุณควรมีลักษณะดังนี้
username:~/workspace/pset1 $ ./greedy
O hai! How much change is owed?
0.41
4
เมื่อพิจารณาถึงธรรมชาติของจำนวนจุดลอยตัว คุณสามารถละเว้นศูนย์และป้อนตัวเลขดังกล่าวในรูปแบบ .41 ได้ แน่นอนว่าผู้ใช้ที่ต้องการตรวจสอบโปรแกรมว่ามีความเป็นไปได้ในการป้อนข้อมูลที่ไม่ถูกต้องทั้งหมดควรเห็นดังนี้:
username:~/workspace/pset1 $ ./greedy
O hai! How much change is owed?
-0.41
How much change is owed?
-0.41
How much change is owed?
foo
Retry: 0.41
4
ตามข้อกำหนดเหล่านี้และตัวอย่างที่คุณเห็นด้านบน โค้ดของคุณน่าจะมีการวนซ้ำบางประเภท หากขณะทดสอบแอปพลิเคชัน คุณพบว่าการวนซ้ำไม่หยุด คุณสามารถขัดจังหวะการทำงานของโปรแกรมได้ด้วยการกด Ctrl-c (บางครั้งหลายครั้ง) คุณรู้วิธีคอมไพล์และรันโปรแกรมอยู่แล้ว หากคุณต้องการตรวจสอบว่าโปรแกรมของคุณทำงานอย่างถูกต้องหรือไม่ โดยใช้ยูทิลิตี้check50ให้ป้อนบรรทัดต่อไปนี้ในเทอร์มินัล:
check50 2015.fall.pset1.greedy greedy.c
และถ้าคุณต้องการเล่นกับโปรแกรมนี้ที่จัดทำโดยผู้ช่วยหลักสูตรให้เขียนคำสั่งต่อไปนี้:
~cs50/pset1/greedy

วิธีตรวจสอบรหัสของคุณและรับเครื่องหมาย

  1. ตัวเลือกที่ 1

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

    check50 2015.fall.pset1.name name.c

    เข้าไปในบรรทัดเทอร์มินัลของ CS50 IDE หรือไม่ nameชื่อไฟล์งานของคุณอยู่ที่ไหน

  2. ตัวเลือกที่ 2

    หากคุณต้องการได้เกรด (โดยพื้นฐานแล้วเหมือนกับการรันเช็ค 50 แต่ด้วยการจำผลลัพธ์และกรอกแบบฟอร์มเป็นภาษาอังกฤษบางส่วน ให้ทำตามขั้นตอนเหล่านี้:

    • ขั้นตอนที่ 1 จาก 2

      1. เมื่อแอปพลิเคชันพร้อม ให้เข้าสู่ระบบ CS50 IDE
      2. ที่มุมซ้ายบนของ CS50 IDE ภายในไฟล์เบราว์เซอร์ ไม่ใช่หน้าต่างเทอร์มินัล คลิกซ้ายหรือคลิกขวาที่ไฟล์ hello.c ของคุณ (ไฟล์ที่อยู่ในไดเร็กทอรี pset1) แล้วคลิกดาวน์โหลด คุณควรพบว่าเบราว์เซอร์โหลด hello.c แล้ว
      3. ทำซ้ำสำหรับน้ำค.
      4. ทำซ้ำสำหรับ mario.c
      5. ทำซ้ำสำหรับ gredy.c
      6. ในแท็บหรือหน้าต่างแยกต่างหาก ให้เข้าสู่ระบบ CS50ส่ง
      7. คลิกส่งที่มุมซ้ายล่างของหน้าต่าง
      8. ใต้ Problem Set 1 ในหน้าต่างที่ปรากฏขึ้น ให้คลิกที่ Upload New Submission
      9. ในหน้าต่างที่ปรากฏขึ้น คลิกเพิ่มไฟล์... หน้าต่างชื่อ Open Files ควรปรากฏขึ้น
      10. นำทางไปยังตำแหน่งที่ดาวน์โหลด hello.c โดยปกติจะอยู่ในโฟลเดอร์ดาวน์โหลดหรือในโฟลเดอร์ที่กำหนดให้คุณเป็นค่าเริ่มต้นสำหรับการดาวน์โหลด เมื่อคุณพบ hello.c แล้ว ให้คลิกที่มันหนึ่งครั้งเพื่อทำเครื่องหมาย จากนั้นคลิก เปิด
      11. คลิกเพิ่มไฟล์... อีกครั้ง จากนั้นหน้าต่างเปิดไฟล์จะปรากฏขึ้นอีกครั้ง
      12. ตอนนี้ค้นหาไฟล์ water.c ในลักษณะเดียวกัน คลิกที่มันจากนั้นคลิกเปิด (หรือ "เปิด")
      13. ตอนนี้ค้นหา mario.c และยังคลิกเปิดในลักษณะเดียวกัน
      14. ทุกอย่างเหมือนกันกับไฟล์ greedy.c
      15. คลิกเริ่มอัปโหลดเพื่อเริ่มอัปโหลดไฟล์ของคุณไปยังเซิร์ฟเวอร์ CS50
      16. บนหน้าจอที่ปรากฏขึ้น คุณจะเห็นหน้าต่างชื่อไม่มีไฟล์ที่เลือก หากคุณเลื่อนเคอร์เซอร์ไปทางซ้ายของหน้าจอ คุณจะเห็นรายการไฟล์ที่คุณดาวน์โหลด คลิกที่แต่ละรายการเพื่อยืนยันเนื้อหาของแต่ละรายการ (ไม่จำเป็นต้องคลิกปุ่มหรือไอคอนอื่น) หากคุณแน่ใจว่าคุณพร้อมที่จะส่งไฟล์เพื่อตรวจสอบถือว่าเสร็จสิ้นแล้ว! หากคุณต้องการตรวจสอบโค้ดของคุณอีกครั้งด้วยตนเองหรือแก้ไขสิ่งใด ให้กลับไปที่การส่ง CS50 และทำซ้ำขั้นตอนเหล่านี้ คุณสามารถส่งซ้ำได้หลายครั้งตามที่คุณต้องการ เฉพาะการส่งล่าสุดเท่านั้นที่จะได้รับการประเมิน
  3. ขั้นตอนที่ 2 จาก 2 (ไม่จำเป็นสำหรับการประเมิน หาก =))

    ตอนนี้ไปที่https://www.edx.org/course/cs50s-introduction-computer-science-harvardx-cs50xซึ่งคุณจะพบแบบฟอร์มพิเศษ ในนั้นคุณต้องตอบคำถามเชิงทฤษฎีหลายข้อแล้วคลิกส่งใต้คำถามเหล่านั้น

ต้องมีคำถามที่มีเครื่องหมายดอกจัน:
  • เอาล่ะ น่าจะเห็นอันนี้มา! เพียงไม่กี่ประโยค ห้องสมุดคืออะไร? * (อธิบายสั้นๆ ว่าห้องสมุดคืออะไร)
  • ในเวลาเพียงไม่กี่ประโยค#include <cs50.h> เมื่อคุณเขียนมันลงบนบางโปรแกรมจะมีบทบาทอย่างไร? *(บทบาทของบรรทัด #include <cs50.h> ที่ปรากฏที่ด้านบนของบางโปรแกรมคืออะไร?)
  • คุณจะบอกว่าคุณใช้เวลากับ Problem Set 0: Scratch ประมาณกี่ชั่วโมง
  • คุณจะบอกว่าคุณใช้เวลากับชุดปัญหา 1: C ประมาณกี่ชั่วโมง
  • คุณมีความคิดเห็นอย่างไรกับ CS50x จนถึงตอนนี้? *(ความคิดเห็นของคุณเกี่ยวกับ CS50 ในขณะนี้ เลือกตัวเลือกที่ชอบหรือไม่ชอบ)
  • คุณเคยขอความช่วยเหลือจากเพื่อนร่วมชั้นหรือเจ้าหน้าที่ผ่านกลุ่ม Facebook ของ CS50s ที่ http://www.facebook.com/groups/cs50 หรือไม่? *(ได้สอบถามนักศึกษาหรือผู้ช่วยคนอื่นๆ ในกลุ่ม facebook บ้างแล้ว)
  • คุณเคยขอความช่วยเหลือจากเพื่อนร่วมชั้นหรือเจ้าหน้าที่ผ่าน Subreddit ของ CS50 ที่ http://www.reddit.com/r/cs50 *(คุณได้ขอความช่วยเหลือจากนักเรียนหรือผู้ช่วยคนอื่น ๆ ผ่าน Subreddit บ้างไหม)
  • คุณเคยขอความช่วยเหลือจากเพื่อนร่วมชั้นหรือเจ้าหน้าที่ผ่านทาง Twitter โดยใช้ @cs50 หรือ #cs50 หรือไม่? *(คุณได้ขอความช่วยเหลือจากนักเรียนหรือ TA คนอื่นๆ บน Twitter โดยใช้ @cs50 หรือ #cs50)
เพื่อนๆ หากคุณมีคำถามใดๆ เขียนไว้ในความคิดเห็นใต้คำแนะนำนี้ หากคุณยังไม่ถึง JavaRush ระดับ 5 เพื่อรับคำเชิญเข้าสู่ข้อมูล เราขอแนะนำให้คุณทำเช่นนั้น ได้ฟรี น่าสนใจ และไม่ยากมาก

ทรัพยากรรหัส:

  1. การบรรยายครั้งที่สาม

    http://cdn.cs50.net/2015/fall/lectures/1/w/src1w.zip

  2. บรรยายครั้งที่สี่

    http://cdn.cs50.net/2015/fall/lectures/1/f/src1f.zip

    http://cdn.cs50.net/2015/fall/lectures/1/f/src1f/

วรรณกรรมเพิ่มเติม

http://cpp.com.ru/kr_cbook - หนังสือคลาสสิกภาษา C เวอร์ชันภาษารัสเซียจากผู้แต่งภาษา - Brian Kernighan และ Dennis Ritchie เป็นที่รู้จักกันอย่างแพร่หลายในแวดวงแคบในชื่อ K&R อย่างไรก็ตาม ฉบับแปลไม่ใช่ฉบับใหม่ล่าสุด อ่านสามบทแรก จะมีเนื้อหามากกว่าที่คุณต้องการเล็กน้อย แต่ก็เพียงพอที่จะแก้ปัญหาได้ https://computer.howstuffworks.com/c.htmเป็นแหล่งข้อมูลที่แนะนำโดยผู้เขียน CS50 เป็นภาษาอังกฤษ. หน้าหนังสือ 1-7, 9 และ 10
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION