คำถามติดแท็ก math

คำถามการเขียนโปรแกรมที่ได้รับผลกระทบอย่างมีนัยสำคัญหรือดีที่สุดที่กำหนดโดยคณิตศาสตร์พื้นฐานของปัญหา

26
คณิตศาสตร์เกี่ยวข้องกับการเขียนโปรแกรมอย่างไร [ปิด]
ฉันเพิ่งเริ่มต้นอนุปริญญาด้านการพัฒนาซอฟต์แวร์ ตอนนี้เรากำลังเริ่มต้นด้วย Java พื้นฐานและเช่นนั้น (จากด้านล่างคุณอาจจะพูด) ซึ่งก็ดีฉันไม่มีประสบการณ์การเขียนโปรแกรมนอกเหนือจากการรู้วิธีทำ "Hello World" ใน Java ฉันได้ยินอยู่เสมอว่าคณิตศาสตร์เกี่ยวข้องกับการเขียนโค้ด แต่มันเป็นอย่างไร ตัวอย่างทั่วไปอะไรที่จะแสดงให้เห็นว่าคณิตศาสตร์และการเขียนโปรแกรมไปด้วยกันหรือพึ่งพาซึ่งกันและกัน? ฉันขอโทษสำหรับคำถามของฉันที่คลุมเครือฉันแทบจะไม่ได้เริ่มคิดอย่างคร่าว ๆ เกี่ยวกับโลกที่ฉันกำลังก้าวเข้าสู่การเป็นนักเรียนลิงรหัส ...

30
คุณต้องเก่งคณิตศาสตร์หรือไม่เพื่อที่จะเป็นโปรแกรมเมอร์ที่ดี? [ปิด]
ดูเหมือนว่าภูมิปัญญาดั้งเดิมแสดงให้เห็นว่าโปรแกรมเมอร์ที่ดีก็เก่งด้านคณิตศาสตร์เช่นกัน หรือว่าทั้งสองเชื่อมโยงกันอย่างแท้จริง หนังสือการเขียนโปรแกรมจำนวนมากที่ฉันได้อ่านให้ตัวอย่างมากมายซึ่งเป็นวิธีแก้ปัญหาทางคณิตศาสตร์หรือเกี่ยวข้องกับคณิตศาสตร์ราวกับว่าตัวอย่างเหล่านี้เป็นสิ่งที่สมเหตุสมผลสำหรับคนส่วนใหญ่ ดังนั้นคำถามที่ฉันอยากจะลอยคือ: คุณต้องเก่งคณิตศาสตร์หรือไม่เพื่อที่จะเป็นโปรแกรมเมอร์ที่ดี ?
78 math 

10
เป็นการดีหรือไม่ที่จะแทนที่การหารด้วยการคูณเมื่อทำได้
เมื่อใดก็ตามที่ฉันต้องการการแบ่งตัวอย่างเช่นการตรวจสอบเงื่อนไขฉันต้องการ refactor การแสดงออกของการหารเป็นการคูณ: รุ่นเดิม: if(newValue / oldValue >= SOME_CONSTANT) เวอร์ชั่นใหม่: if(newValue >= oldValue * SOME_CONSTANT) เพราะฉันคิดว่ามันสามารถหลีกเลี่ยง: การหารด้วยศูนย์ ล้นเมื่อoldValueมีขนาดเล็กมาก นั่นถูกต้องใช่ไหม? มีปัญหาสำหรับนิสัยนี้หรือไม่?

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

5
คอมพิวเตอร์จะพยายามหารด้วยศูนย์หรือไม่
เราทุกคนรู้0/0เป็นUndefinedและกลับข้อผิดพลาดถ้าผมจะใส่ลงในเครื่องคิดเลขและถ้าผมจะสร้างโปรแกรม (ใน C อย่างน้อย) OS จะยุติมันเมื่อฉันพยายามที่จะหารด้วยศูนย์ แต่สิ่งที่ฉันสงสัยคือถ้าคอมพิวเตอร์พยายามแบ่งเป็นศูนย์หรือว่ามี "การป้องกันในตัว" ดังนั้นเมื่อมัน "เห็น" 0/0มันจะส่งกลับข้อผิดพลาดก่อนที่จะพยายามคำนวณ

11
มีหนังสือบัญญัติคณิตศาสตร์สำหรับโปรแกรมเมอร์หรือไม่ [ปิด]
ฉันเป็นโปรแกรมเมอร์ที่สอนตัวเอง ฉันไม่เก่งคณิตศาสตร์ คำแนะนำอะไรที่คุณสามารถให้เพื่อพัฒนาทักษะทางคณิตศาสตร์ของฉันเพื่อที่ฉันจะไม่รู้สึกปลอดภัยกับโปรแกรมเมอร์ของฉัน? ขั้นตอนหรือแนวทางใดบ้างที่คุณสามารถแนะนำเพื่อพัฒนาทักษะทางคณิตศาสตร์ของฉัน มีหนังสือที่มีมาตรฐาน de-พฤตินัยสำหรับอธิบายวิธีปฏิบัติที่ดีที่สุดวิธีการออกแบบและข้อมูลที่เป็นประโยชน์อื่น ๆ เกี่ยวกับคณิตศาสตร์สำหรับโปรแกรมเมอร์? หนังสือเล่มไหนที่ทำให้มันพิเศษ?
52 math 

14
เหตุใด DirectX จึงใช้ระบบพิกัดซ้าย?
ฉันถือว่าการโพสต์ใน Stack Overflow แต่คำถามก็ทำให้ฉันรู้สึกว่าเป็นเรื่องส่วนตัวเกินไปเพราะฉันไม่สามารถคิดถึงคำอธิบายทางเทคนิคที่สมเหตุสมผลสำหรับทางเลือกของ Microsoft ในเรื่องนี้ แต่คำถามนี้บั๊กฉันมานานและปัญหายังคงเกิดขึ้นในโครงการของฉันและฉันไม่เคยเห็นความพยายามที่จะอธิบายสิ่งนี้: OpenGLใช้ระบบพิกัดขวามือโดยที่ส่วน + Z ของระบบพิกัดโลกขยายไปยังผู้ชม DirectXใช้ระบบซ้ายมือที่ส่วน + Z ของพิกัดโลกขยายไปถึงหน้าจอห่างจากผู้ชม ฉันไม่เคยใช้Glide APIดังนั้นฉันจึงไม่รู้ว่ามันทำงานอย่างไร แต่จากสิ่งที่ฉันสามารถรวบรวมได้ก็ใช้ระบบมือซ้ายเช่นกัน มีเหตุผลทางเทคนิคสำหรับสิ่งนี้หรือไม่? และถ้าไม่เป็นเช่นนั้นมีความได้เปรียบทางความคิดบางอย่างเกี่ยวกับความถนัดเฉพาะของระบบพิกัดหรือไม่? ทำไมหนึ่งจะเลือกหนึ่งมากกว่าอีก?
52 math  directx  opengl 

5
รับรายการแบบสุ่มถ่วงน้ำหนัก
ยกตัวอย่างเช่นฉันมีตารางนี้ + ----------------- + | ผลไม้ | น้ำหนัก + ----------------- + | แอปเปิ้ล 4 | | ส้ม 2 | | มะนาว 1 | + ----------------- + ฉันต้องการคืนผลไม้แบบสุ่ม แต่แอปเปิ้ลควรจะเลือก 4 ครั้งบ่อยเท่ามะนาวและ 2 ครั้งบ่อยเท่าส้ม ในกรณีทั่วไปมากขึ้นควรเป็นf(weight)บ่อยครั้ง อัลกอริทึมทั่วไปที่ดีในการใช้พฤติกรรมนี้คืออะไร หรืออาจจะมีอัญมณีบางอย่างที่พร้อมใน Ruby? :) PS ฉันใช้อัลกอริทึมปัจจุบันใน Ruby https://github.com/fl00r/pickup
51 algorithms  ruby  math  random 

1
การรักษาโครงสร้างข้อมูล 1D เป็นกริด 2D
ฉันกำลังทำงานกับคลาสเนทีฟที่แสดงภาพ 2D เป็นอาร์เรย์ 1D หากคุณต้องการเปลี่ยนหนึ่งพิกเซลตัวอย่างเช่นตอนนี้คุณต้องได้รับดัชนีจากx,yพิกัด ดังนั้นสมมติว่าเรามีอาร์เรย์ 1D array1dดังนี้: array1d = [ a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y ] ในบริบทของโปรแกรมของเราarray1dหมายถึงกริด 2D: a b c d e f g h i j k …

10
จะตรวจสอบว่า 4 คะแนนเป็นสี่เหลี่ยมได้อย่างไร?
สมมติว่าฉันมี 4 คะแนน (เป็น 2 มิติ) ซึ่งแตกต่างจากกันและฉันต้องการทราบว่าพวกเขาเป็นรูปสี่เหลี่ยมจัตุรัสหรือไม่ ทำอย่างไร? (ให้กระบวนการง่ายที่สุดเท่าที่จะทำได้)

16
เหตุใดจึงต้องใช้หมายเลขฐานอื่น ๆ เมื่อตั้งโปรแกรม
เพื่อนร่วมงานของฉันและฉันกำลังคิดในใจของเราที่จะหาสาเหตุที่ทุกคนจะออกไปทางหมายเลขโปรแกรมในฐานอื่นที่ไม่ใช่ฐาน 10 ฉันแนะนำว่าบางทีคุณสามารถเพิ่มประสิทธิภาพสมการอีกต่อไปโดยการใส่ตัวแปรในฐานที่ถูกต้องที่คุณกำลังทำงานด้วย (ตัวอย่างเช่นถ้าคุณมีเพียงชุด 5 ของสิ่งที่ไม่มีเศษคุณสามารถใช้ฐาน 5) แต่ฉันไม่แน่ใจ ถ้ามันเป็นเรื่องจริง ความคิดใด ๆ

1
ทำไมเครื่องหมายรูปหมวกใช้สำหรับ XOR แทนการยกกำลัง?
ไม่ว่ามันจะเป็นปัญหาสำหรับทุกคนที่เคยประสบปัญหาเกี่ยวกับวากยสัมพันธ์นี้มาก่อน แต่ฉันเห็นความสับสนจำนวนมากที่เกิดขึ้นจากการใช้คาเร็ต ( ^) เนื่องจากการทำงานของ XOR แทนการปฏิบัติการยกกำลังทางคณิตศาสตร์ที่ยอมรับกันอย่างกว้างขวาง แน่นอนว่ามีหลายแห่งที่อธิบายและแก้ไขการใช้คาเร็ต (mis-) แต่ฉันไม่ได้เจอแหล่งข้อมูลที่ชัดเจนว่าทำไมคาเร็ตได้รับความหมายที่แตกต่างกัน มันเป็นเรื่องของความสะดวกสบายหรือไม่? อุบัติเหติ? เห็นได้ชัดว่าการใช้เหตุผลอาจแตกต่างกันไปในแต่ละภาษาดังนั้นข้อมูลใด ๆ ก็ตามจะมีความเฉียบแหลม

10
ทำไม Math.Sqrt () เป็นฟังก์ชันคงที่
ในการอภิปรายเกี่ยวกับวิธีการแบบคงที่และอินสแตนซ์ฉันคิดเสมอว่าSqrt()ควรเป็นวิธีการแบบอินสแตนซ์ของชนิดตัวเลขแทนวิธีแบบคงที่ ทำไมถึงเป็นอย่างนั้น? เห็นได้ชัดว่ามันทำงานกับค่า // looks wrong to me var y = Math.Sqrt(x); // looks better to me var y = x.Sqrt(); ToString()ชนิดของมูลค่าชัดสามารถมีวิธีการเช่นเดียวกับในหลายภาษามีวิธีการเช่น เพื่อตอบคำถามจากความคิดเห็น: ทำไม1.Sqrt()ไม่ควรถูกกฎหมาย? 1.ToString()คือ. บางภาษาไม่อนุญาตให้มีวิธีการในประเภทค่า แต่บางภาษาสามารถ ฉันกำลังพูดถึงสิ่งเหล่านี้รวมถึง Java, ECMAScript, C # และ Python (พร้อมคำ__str__(self)จำกัดความ) เช่นเดียวกับฟังก์ชั่นอื่น ๆ เช่นceil(), floor()ฯลฯ

4
คุณสามารถใช้ Pi เป็นเครื่องมือสร้างตัวเลขสุ่มอย่างหยาบได้หรือไม่?
ฉันเพิ่งเห็นคำถามนี้ที่ math.SE มันทำให้ฉันคิด สามารถใช้ Pi เป็นเครื่องมือสร้างตัวเลขสุ่มแบบสุ่มได้หรือไม่? ฉันหมายถึงผลลัพธ์เป็นที่รู้จักกันดี (คำนวณว่า pi ได้รับมานานเท่าไหร่แล้วตอนนี้?) แต่ Pi ก็ดูเหมือนจะสุ่มเมื่อใช้ตัวเลข 1 หลักในแต่ละครั้ง สิ่งนี้สมเหตุสมผลหรือไม่?

17
การแนะนำการเขียนโปรแกรมให้นักคณิตศาสตร์ [ปิด]
ตอนนี้ฉันเป็นโปรแกรมเมอร์ฉันอายุเกือบ 16 ปีและได้ลดอาชีพของฉันลงไปจนถึงระดับปริญญาวิทยาศาสตร์คอมพิวเตอร์หรือวิศวกรรมไฟฟ้า (ฉันรู้ว่าพวกเขาแตกต่างกันมาก แต่คำถามนี้เกี่ยวกับเพื่อนของฉัน) เพื่อนไม่แน่ใจ เขาเป็นที่สนใจอย่างมากในวิชาคณิตศาสตร์และเป็นสิ่งที่ดีมากที่มันและผมคิดว่าเขาจะสนุกกับการเขียนโปรแกรม แต่เขาไม่เต็มใจที่จะลอง ( แก้ไขเขาเป็นเต็มใจที่จะลอง แต่ไม่เคยทำมาก่อน) ทุกคนสามารถให้คำแนะนำสำหรับภาษาหรือเครื่องมือที่เขาสามารถตะลุยในการเขียนโปรแกรม (ในระดับพื้นฐานที่สมเหตุสมผลฉันสมมติ) เพื่อแก้ปัญหาคณิตศาสตร์หรือเกี่ยวข้องกับคณิตศาสตร์บางประเภท อย่างที่ฉันบอกว่าเขาสนุกกับคณิตศาสตร์มาก แต่ฉันคิดว่าเขาจะสนุกกับการเขียนโปรแกรมปัญหาคือฉันไม่ต้องการให้เขาถูกนำออกโดยสิ่งที่ไม่เกี่ยวข้องในระดับเบื้องต้นเช่นการจัดสรรหน่วยความจำและคณะ ฉันรู้ว่ามันสำคัญมาก แต่ประเด็นก็คือฉันต้องการให้เขาเรียนรู้การเขียนโปรแกรมด้วยคณิตศาสตร์สักเล็กน้อยจากนั้นก็หวังว่าถ้าเขาสนใจพอเขาสามารถเริ่มเรียนรู้การเขียนโปรแกรมเป็นการเขียนโปรแกรม แก้ไข: ไม่ใช่ว่าเขาไม่สนใจอย่างสมบูรณ์ - ยิ่งกว่านั้นเขาไม่ได้สำรวจพื้นที่อย่างแข็งขันมาก่อนอาจเป็นเพราะเขาไม่ได้รับแจ้งเกี่ยวกับเรื่องนี้ ฉันไม่ต้องการบังคับให้เขาทำสิ่งที่เขาไม่ต้องการฉันเห็นสิ่งนี้เป็นการผลักดันเล็กน้อยเพื่อให้เขาสามารถเรียนรู้เกี่ยวกับการเขียนโปรแกรม ถ้าเขาไม่ชอบมัน - ยุติธรรมมากพอฉันไม่สามารถควบคุมมันได้และไม่ต้องการ แต่ถ้าเขาชอบมันมันจะเป็นสิ่งที่ถูกต้อง
30 education  math 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.