หน้าหนังสือ
18

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

การคำนวณดำเนินการตามลำดับต่อไปนี้ ขั้นแรก ในตอนท้ายของแต่ละคอลัมน์ ให้ระบุระยะเวลาการทำงานของทีม Σtผม(ซึ่งสรุประยะเวลาการทำงานในทุกอาชีพ ดังนั้นสำหรับกองพลที่ 1 ระยะเวลานี้คือ 8 หน่วยสำหรับหน่วยที่ 2 - 12 เป็นต้น

ถัดไปที่มุมซ้ายบนของเซลล์แรกจะมีการป้อนเวลาเริ่มต้นของทีมที่ 1 ในการยึดครั้งที่ 1 (โดยปกติจะเป็นศูนย์) และที่มุมล่างขวาคือจุดสิ้นสุดของการทำงานของทีมซึ่งเท่ากับ เวลาเริ่มงานบวกระยะเวลาของงาน

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

ข้าว. 5.9. เมทริกซ์พร้อมผลลัพธ์ของการคำนวณการไหลแบบหลายจังหวะ

เนื่องจากระยะเวลารวมของการทำงานของกองพลที่ 2 ในตัวอย่างที่พิจารณานั้นมากกว่าระยะเวลาของการทำงานของกองพลที่ 1 (12>8) ดังนั้นการคำนวณจุดเริ่มต้นและจุดสิ้นสุดของการทำงานของกองพลที่ 2 บน การชักเริ่มต้นจากด้านบนคือ จากช่วงเวลาที่ฉันถูกจับกุมอย่างอิสระ เมื่อต้องการทำเช่นนี้ จากมุมล่างของเซลล์แรกของคอลัมน์แรก เวลาที่แสดงถึงการสิ้นสุดงานในอาชีพแรกจะถูกโอนไปที่มุมซ้ายบนของเซลล์แรกของคอลัมน์ที่สอง การคำนวณต่อไปนี้คล้ายกับการคำนวณครั้งก่อน

เนื่องจากระยะเวลาการทำงานของกองพลที่ 3 น้อยกว่าระยะเวลาการทำงานของกองพลที่ 2 (4<12), то расчет начал и окончаний работ 3-й бригады следует вести снизу вверх. Для этого вначале в левый угол последней клетки третьей графы переносят время окончания работ 2-й бригады на последней захватке. Одно­временно это время переносят в правый нижний угол вышележащей клетки, где это время соответствует окончанию работы 3-й бригады на предыдущей захватке. Начало работы бригады на этой захватке определяют как разность между этим временем и продол­жительностью работы бригады на захватке. Аналогичным образом заполняют все клетки матрицы. Цифра в нижнем углу последней клетки матрицы показывает общую продолжительность выполне­ния работ. В нашем примере она равна 20 ед. времени.

หลังจากคำนวณพารามิเตอร์การไหลโดยใช้เมทริกซ์แล้ว แนะนำให้สร้างไซโคลแกรมการไหลเพื่อความชัดเจน (รูปที่ 5.10)

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

ข้าว. 5.10. คำนวณไซโคลแกรมของการไหลแบบหลายจังหวะ

โดยใช้เมทริกซ์

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

ตัวอย่างเช่น ลองคำนวณพารามิเตอร์ของข้อมูลการไหลที่ไม่ใช่จังหวะ

ซึ่งนำเสนอในเมทริกซ์ (รูปที่ 5.11) ในขั้นตอนแรกของการคำนวณ จะมีการกำหนดสถานที่ของการบรรจบกันที่สำคัญของแต่ละคู่ของทีมที่อยู่ติดกัน (กระแสส่วนตัว) ในการดำเนินการนี้ ให้ค้นหาระยะเวลาการทำงานที่ยาวนานที่สุดบนด้ามจับของทั้งสองทีม โดยสรุประยะเวลาการทำงานของพวกเขาบนด้ามจับ โดยมีเงื่อนไขว่าการบรรจบกันที่สำคัญจะเกิดขึ้นที่ด้ามจับ I ก่อน จากนั้นจึงไปที่ด้ามจับ II เป็นต้น ผลลัพธ์การรวมจะถูกเขียนในแถวสุดท้ายของเมทริกซ์เป็นคอลัมน์ ตัวอย่างเช่น สำหรับกลุ่มที่ 1 และ 2 ระยะเวลาเหล่านี้จะเท่ากับค่าต่อไปนี้: โดยมีเงื่อนไขว่าแนวทางวิกฤตอยู่ที่การจับครั้งแรก - 3+1+2+2+2=10;

บน II--3+1+2+2+2=10; ในวันที่ 111-3+1+1+2+2=9 และสุดท้ายในวันที่ IV --3+1+1+1+2=8 ค่าที่ใหญ่ที่สุดของผลรวมที่ได้รับคือ 10 ซึ่งหมายความว่าการบรรจบกันที่สำคัญของทั้งสองกลุ่มที่อยู่ระหว่างการพิจารณาอยู่ที่การจับ I และ II ในทำนองเดียวกันจะพบสถานที่ของการบรรจบกันที่สำคัญของกลุ่มอื่น ๆ ทั้งหมด (กระแสเอกชน)

หลังจากกำหนดตำแหน่งของแนวทางวิกฤตแล้ว การคำนวณจะเริ่มต้นด้วยเซลล์เหล่านั้นของเมทริกซ์ซึ่งเป็นที่กำหนดแนวทางวิกฤต การคำนวณนั้นไม่แตกต่างจากที่กล่าวไว้ข้างต้นสำหรับการไหลแบบเฮเทอโรริธึม

ไซโคลแกรมของการไหลที่ไม่ใช่จังหวะซึ่งคำนวณบนเมทริกซ์ (รูปที่ 5.11) จะแสดงในรูปที่ 1 5.12.

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

เกณฑ์ ระยะเวลาการไหลเป็นสิ่งสำคัญเนื่องจากระยะเวลาส่งผลต่อประสิทธิภาพการก่อสร้าง

ข้าว. 5.11. เมทริกซ์พร้อมผลลัพธ์ของการคำนวณการไหลที่ไม่ใช่จังหวะ

การเพิ่มประสิทธิภาพของกระแสที่ไม่ใช่จังหวะเมื่อเวลาผ่านไป

ระยะเวลาของโฟลว์ขึ้นอยู่กับความเข้มข้นของแรงงานรวมของงาน จำนวนทีม และสำหรับโฟลว์ที่ไม่ใช่จังหวะ รวมถึงลำดับของการรวมไว้ในงานของพื้นที่ที่โฟลว์ดำเนินการด้วย การคำนวณแสดงให้เห็นว่าความแตกต่างระหว่างระยะเวลาการทำงานในการไหลที่ไม่ใช่จังหวะโดยมีลำดับการรวมพื้นที่ทำงาน (พื้นที่) น้อยที่สุดและมีเหตุผลมากที่สุดถึง 15-20%

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

ทีมงานกำลังทำงานจำนวนตัวเลือกถึง 479,001,600 ดังนั้นเมื่อจัดระเบียบกระแสที่ไม่ใช่จังหวะงานจึงเกิดขึ้นในการพัฒนาอัลกอริทึมสำหรับการแจงนับโดยตรงของลำดับการรวมอาชีพ (ส่วน) ในงาน

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

การพัฒนาชีวิตของคุณหลังจากฝึกฝนทักษะการบริหารเวลาขั้นพื้นฐานหมายถึงการทำงานในองค์ประกอบหลักสี่ประการของวันดีๆ (มหัศจรรย์!):

การเพิ่มประสิทธิภาพเวลาเป็นระยะทางการออกกำลังกาย

ในการฝึกระยะทาง การปรับเวลาให้เหมาะสมที่สุดประกอบด้วยงานต่อไปนี้:

1) มีการสร้างการวิเคราะห์“ ธุรกิจ - บริการ - ความว่างเปล่า”

2) ฉันเห็นความบันเทิงของฉัน ได้มีการตัดสินใจแล้ว

3) ฉันแปลความว่างเปล่าเป็นการบริการ บริการเป็นธุรกิจ

4) ฉันชอบจัดกิจกรรมคู่ขนาน

ดูตัวอย่างวิธีทำแบบฝึกหัดได้ที่:

โปรดให้เครดิตฉันด้วยแบบฝึกหัด "การเพิ่มประสิทธิภาพเวลา" 1) มีไฟล์ที่มีการบันทึกเวลาและพิจารณาอย่างน้อย 3 วันต่อสัปดาห์ (ในเวอร์ชันรวม: เช้าของวันหนึ่ง วันของอีกวันหนึ่ง เย็นวันที่สาม และอื่นๆ) 2) เธอ ให้คำมั่นสัญญาว่า “ข้าพเจ้าสามารถบันทึกตนเองใน “ความว่างเปล่า” ได้อย่างชัดเจน โดยปราศจากการหลอกลวงตนเอง ความจริง: “เป็นไปไม่ได้ที่จะแก้ไขตนเองในความว่างเปล่าเนื่องจากความว่างเปล่านั้นแทบจะหมดสิ้นไป” 3) ข้าพเจ้าให้คำมั่นสัญญาว่า “ฉันเปลี่ยน “ความว่างเปล่า” เป็น “การบริการ” อย่างน้อย 70% ของเวลา” เนื่องจากขาดความว่างเปล่า 4) ฉันกำหนดงานต่อไปนี้ให้กับตัวเอง - การวางแผนเวลาและการโอนบริการไปสู่การปฏิบัติ

ไฟล์ "การเพิ่มประสิทธิภาพเวลา" ช่วยให้มั่นใจได้ว่าการพักผ่อนจะใช้เวลาส่วนหนึ่งอย่างเหมาะสม ในขณะเดียวกัน ปรากฎว่าการพักผ่อนสำหรับฉันอาจเป็นทั้งการบริการและธุรกิจ ตัวอย่างเช่น: เพียงก้าวออกจากคอมพิวเตอร์แล้วสนทนากับเพื่อนของคุณ - บริการ; ใช้เวลาเดินเพียง 15 นาทีไปที่ร้านก็ได้ (ฉันซื้อของชำสำหรับมื้อกลางวันและที่บ้าน) นี่คือการค้นพบที่ขยายความเป็นไปได้

ฉันกำลังแนบภาพประกอบ: สถิติ 3 วัน โดยกลุ่ม ธุรกิจ/บริการ/ว่าง และสถิติที่สมบูรณ์ 1 วัน แน่นอนว่าสถิตินั้นเป็นค่าประมาณเนื่องจากงานบางอย่างสามารถนำมาประกอบกับทั้งงานงานและงานด้านการศึกษา (เช่น หมายเหตุเกี่ยวกับเกม “Balloon เป็นทั้งงานสร้างสรรค์ของ SPP และสรุปผลการฝึกอบรมในที่ทำงาน” ). ขณะเดียวกันสถานการณ์โดยรวมก็ยังมีความชัดเจนมากขึ้น

หากคุณต้องการคงเอกสารเดิมไว้ Natalya Dvorkina จะให้แบบฟอร์มสำเร็จรูปพร้อมสูตรการคำนวณในตัว

การเพิ่มประสิทธิภาพเวลานั้นฉลาด แต่เป็นผู้หญิง


เป้าหมาย: 1) วิเคราะห์ทิศทางหลักของการสิ้นเปลืองทรัพยากรเวลา หวาดกลัว และเริ่มใช้ชีวิตอย่างชาญฉลาดและมีสติ ดังที่นิโคไล อิวาโนวิชผู้ยิ่งใหญ่และเป็นที่รักสอน 2) ลดการมีส่วนร่วมในเรื่องไร้สาระโดยสิ้นเชิง

OZR: 1) สัปดาห์ที่ 1: การติดตามเฉยๆ ว่าที่ไหน ทำไม ด้วยผลลัพธ์อะไร กับความรู้สึกใดที่ฉันใช้ช่วงเวลาอันมีค่าของชีวิตที่มีค่าไม่น้อยไปกว่ากัน บนพื้นฐานนี้ ให้พัฒนางบประมาณเวลาสำหรับสัปดาห์ที่ 2 และ 3 2) 2-3 สัปดาห์: พอดีกับงบประมาณเวลาที่พัฒนาแล้ว ลดเวลาที่เสียให้เป็นศูนย์ ระบุปัญหาคอขวดและพัฒนาแนวทางแก้ไข

โหมดการทำงาน:กระตือรือร้น เวลาที่อยู่ในระยะไกลคือเวลาแห่งความตื่นตัว

การจดบันทึก:ทุกวัน บันทึกทันทีหลังจากเกิดเหตุการณ์จริง (ช่วงเวลา - ทุกๆ 15 นาที)

1. เวลาส่วนใหญ่ถูกครอบครองไม่ว่าคุณจะมองอย่างไรก็ตามโดยการนอนหลับ (ความพยายามที่จะลดเวลาลงทำให้ประสิทธิภาพของกิจกรรมตอนกลางวันลดลง) อันดับที่สอง – “การพัฒนา” (การเรียนรู้ภาษาชนชั้นกลางเป็นสิ่งจำเป็นสำหรับชีวิตสูงสุด) อันดับที่สาม - เหตุการณ์ปัจจุบันทุกประเภท (ช้อปปิ้ง ทำอาหาร ทำความสะอาดอพาร์ทเมนท์ ซักผ้าและรีดผ้าทุกประเภท ฯลฯ) เมื่อฉันคุ้นเคยกับกิจกรรมเอเลี่ยนสำหรับฉัน เวลาก็เริ่มลดลงอย่างเห็นได้ชัด นอกจากนี้ ปรากฎว่าคุณสามารถปอกมันฝรั่งและพึมพำคำกริยาที่ผิดปกติกับตัวเองได้ ซึ่งทำให้ทั้งจิตใจและท้องของคุณมีความสุข J

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

3. รายการ “อื่นๆ” มีความสำคัญมาก นี่คือการสนทนากับญาติ (ส่วนใหญ่เป็นลักษณะทางจิตบำบัดที่เกี่ยวข้องกับเหตุการณ์ล่าสุด)

4. เมื่อวิเคราะห์เวลาที่ใช้ในการเล่นกีฬาและเล่นตลก ฉันต้องเล่นกีฬาให้มากขึ้น และไม่ทำกิจกรรมที่เป็นประโยชน์อื่นๆ ให้น้อยลง แล้วทำไมไม่สำเร็จล่ะ!

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

สิ่งเดียวที่ดีคือมันไม่ต้องใช้เวลามากในการทำเรื่องไร้สาระเลย แม้ว่านิโคไล อิวาโนวิชจะคิดแตกต่างออกไป...

ขั้นแรก เราจะแสดงบนไซโคลแกรมถึงระยะเวลาของการดำเนินการครั้งแรกเป็น 200 นาทีนับตั้งแต่นั้น การดำเนินการครั้งแรกจะยาวนานที่สุด นอกจากนี้เรายังจะทำเครื่องหมายเวลาการผลิตของชุดการขนส่งแต่ละชุดด้วย (รูปที่ 3.6) จำนวนชุดการขนส่งทั้งหมดในตัวอย่างของเรา n/p=10/2=5 ชุด

ต่อไป เราจะอธิบายการประมวลผลชุดการขนส่งชุดแรกเป็นการดำเนินการ 2, 3 และ 4 บนไซโคลแกรม จุดเริ่มต้นของการประมวลผลชุดการขนส่งชุดแรกในการดำเนินการครั้งที่สองเกิดขึ้นพร้อมกับการสิ้นสุดการประมวลผลในชุดแรก (รูปที่ 3.7)

ข้าว. 3.7

ข้าว. 3.8

ข้าว. 3.9

ข้าว. 3.10

ข้าว. 3.11

ดังนั้นไซโคลแกรมของวงจรเทคโนโลยีระหว่างการประมวลผลชิ้นส่วนแบบขนานจะมีลักษณะดังนี้ (รูปที่ 3.12)

ข้าว. 3.12. Cyclogram ของศูนย์การค้าสำหรับการประมวลผลชิ้นส่วนแบบขนาน

การคำนวณพีซีระหว่างการประมวลผลชิ้นส่วนแบบขนาน:

การกำหนดระยะเวลาของวงจรการผลิตและวงจรเทคโนโลยีด้วยรูปแบบการเคลื่อนไหวต่อเนื่องแบบขนาน

มาเริ่มกำหนดระยะเวลาของรอบโดยการคำนวณวงจรทางเทคโนโลยี

การคำนวณ TC สำหรับการประมวลผลชิ้นส่วนตามลำดับแบบขนาน:

มาคำนวณการทับซ้อนบางส่วนของเวลาดำเนินการของการดำเนินการที่อยู่ติดกันแต่ละคู่กัน

ระยะเวลา TC(สุดท้าย)=650นาที

การคำนวณระยะเวลาของ TC สำหรับการประมวลผลชิ้นส่วนตามลำดับ - แบบขนาน:

Τts(นาร์-โนสล) = 650 – (120 + 80 + 80) = 370 นาที = 6.17 ชั่วโมง

การสร้างไซโคลแกรมของวงจรเทคโนโลยี

ขั้นแรกเราจะอธิบายระยะเวลาของการดำเนินการครั้งแรก 200 นาทีบนไซโคลแกรม (รูปที่ 3.13.)

ข้าว. 3.13.

ข้าว. 3.14.



ข้าว. 3.15.

ข้าว. 3.16.

ข้าว. 3.17.

ข้าว. 3.18.

ข้าว. 3.19.

ดังนั้นไซโคลแกรมของวงจรเทคโนโลยีสำหรับการประมวลผลชิ้นส่วนตามลำดับแบบขนานจะมีลักษณะดังนี้ (รูปที่ 3.20)

3.20. Cyclogram ของศูนย์การค้าสำหรับการประมวลผลชิ้นส่วนแบบขนาน

การคำนวณศูนย์ประมวลผลสำหรับการประมวลผลชิ้นส่วนตามลำดับแบบขนาน:

ลองคำนวณระยะเวลาของวงจรการผลิตโดยการแทนที่ข้อมูลในสูตร (5):

ออกกำลังกาย

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

สั่งงาน

ในการทำงานให้เสร็จสิ้นคุณต้องมี:

ก) ทำซ้ำกฎความปลอดภัยเมื่อทำงานกับอุปกรณ์คอมพิวเตอร์

b) ศึกษาหัวข้อ "การจัดกระบวนการผลิต" ของหลักสูตรการบรรยายตลอดจนส่วนทางทฤษฎีของการสอนระเบียบวิธีนี้

c) ทำการคำนวณตามวิธีการที่อธิบายไว้ในวรรค 3 ตามตัวเลือกงาน

d) สรุปผลตามผลลัพธ์ที่ได้รับ

e) ตามข้อกำหนดที่กำหนดในส่วนที่ 6 ให้จัดทำรายงานห้องปฏิบัติการ

e) ปกป้องงานในห้องปฏิบัติการ

ข้อกำหนดในการรายงาน

รายงานห้องปฏิบัติการจะต้องมี:

1) หน้าชื่อเรื่อง;

2) ชื่องานห้องปฏิบัติการ วัตถุประสงค์

3) การคำนวณวงจรเทคโนโลยีและการผลิต ไซโคลแกรมของวงจรเทคโนโลยีพร้อมคำอธิบายและความคิดเห็น

4) ข้อสรุปเกี่ยวกับงานที่ทำ


ตัวเลือกงาน

ตัวเลือก
จำนวนวันตามปฏิทิน
จำนวนวันทำการ
ระยะเวลาของกะการทำงาน h 7,8 7,8 7,9 7,85 7,9 7,85 7,9 7,85
อัตราการเปลี่ยนแปลง
เวลาระหว่างการปฏิบัติงานโดยเฉลี่ย tmo 45นาที 1ชม 15 นาที 30นาที 45นาที 1ชม 15 นาที 30นาที
ระยะเวลาของกระบวนการทางธรรมชาติtе 30นาที 12ชม. 3ชม. 30นาที 6ชม. 12ชม 3ชม 6ชม
ขนาดล็อตชิ้นส่วน
ขนาดล็อตโอน

ส่วน ก

พารามิเตอร์กระบวนการทางเทคโนโลยีสำหรับการผลิตชิ้นส่วน A แสดงไว้ในตาราง เอ1,เอ2

ตาราง A1

กระบวนการทางเทคโนโลยีสำหรับการผลิตชิ้นส่วน A

ยังไม่มีความคิดเห็น ชื่อการดำเนินงาน ตัวเลือก
มาตรฐานเวลา นาที
มิลลิ่ง
การหมุน
น่าเบื่อ
การขุดเจาะ
การบด

การเพิ่มประสิทธิภาพโปรแกรม เรียกการเปลี่ยนแปลงดังกล่าวที่ทำให้มีประสิทธิภาพมากขึ้นเช่น ทำให้หน่วยความจำมีประสิทธิภาพมากขึ้นและ/หรือเร็วขึ้นในการทำหน้าที่เดียวกันกับก่อนการเปลี่ยนแปลงการปรับให้เหมาะสม

เกณฑ์การปรับให้เหมาะสมโดยเฉพาะสองประการ - โดยทั่วไปเวลาดำเนินการของโปรแกรมและจำนวนหน่วยความจำที่ใช้นั้นขัดแย้งกัน เช่นเดียวกับการเขียนโปรแกรมที่มีประสิทธิผลจะมาพร้อมกับการทำงานของโปรแกรมเมอร์ที่เพิ่มขึ้น เป็นที่ทราบกันดีว่าตามกฎแล้วการลดเวลาการทำงานของโปรแกรมสามารถทำได้โดยการเพิ่มจำนวนหน่วยความจำที่ใช้และในทางกลับกัน ในกรณีนี้เมื่อเลือกเกณฑ์ที่ต้องการการพิจารณาฮิวริสติกของโปรแกรมเมอร์จะมีผลใช้บังคับโดยให้ความสำคัญกับหนึ่งในนั้น โดยทั่วไปแล้ว สถานการณ์เฉพาะจะกำหนดความสำคัญของการปรับโปรแกรมให้เหมาะสมในแง่ของเวลาหรือหน่วยความจำ ตัวอย่างเช่น หากโปรแกรมทำงานแบบเรียลไทม์ จะต้องให้ผลลัพธ์ตรงเวลา

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

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

มีสองวิธีในการเพิ่มประสิทธิภาพโปรแกรม: "การทำความสะอาด"และ การเขียนโปรแกรมใหม่ทั้งสองวิธีมีทั้งข้อดีและข้อเสีย

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

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

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

ขอแนะนำให้พัฒนาชุดกฎที่จะอำนวยความสะดวกในการสร้างโปรแกรมที่มีประสิทธิภาพมากขึ้นซึ่งไม่จำเป็นต้องมีการเพิ่มประสิทธิภาพในอนาคต

มาดูเทคนิคพื้นฐานที่ไม่ขึ้นกับเครื่องจักรสำหรับการเพิ่มประสิทธิภาพโปรแกรม

1) ส่วนหัวของข้อความ . หากข้อความส่วนใหญ่มีช่องว่าง (หรืออักขระซ้ำอื่น ๆ ) ดังนั้นเพื่อประหยัดหน่วยความจำคอมพิวเตอร์คุณควรใช้คำสั่งที่เติมช่องว่าง (อักขระ) ในส่วนนี้ของข้อความ

2) การเริ่มต้นตัวแปร . หากค่าเริ่มต้นถูกกำหนดให้กับตัวแปร (หรือค่าคงที่) ในเวลาเดียวกันกับตัวแปร
การประกาศจะช่วยประหยัดทั้งหน่วยความจำและเวลาดำเนินการ
โปรแกรมเพราะว่า ในกรณีนี้ตัวแปรจะได้รับค่าเริ่มต้น
ค่า ณ เวลาคอมไพล์โปรแกรม ไม่ใช่ที่รันไทม์
การดำเนินการ

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

3) คุณ ตัวแปรน้อยลง. ใช้จ่าย "ชั่วคราว"
ตัวแปรในส่วนของโปรแกรม (เช่น ตัวควบคุม
ตัวแปรลูป) ยังคงครอบครองพื้นที่หน่วยความจำและ
ในระหว่างการดำเนินการส่วนที่เหลือของโปรแกรม
จะต้องถูกลบออก (ทำความสะอาด)

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

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

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

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

ตัวอย่างเช่น ถ้าองค์ประกอบอาร์เรย์ A(1) เป็นจำนวนเต็ม ดังนั้นในตัวดำเนินการ FOR I :=l THEN 1000 DO A (I ):= 0.0; จะมีการแปลง 1,000 ประเภทจากจำนวนจริงเป็นจำนวนเต็ม ที่นี่คุณต้องเขียน: A(1):= 0;.

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

C1:= 5. + B 1*D **2;

C2:= B+ บาป (R);

C3:= 5.+ ก(1)*ก(2);

C:= (C1 + C2)*NW;

สามารถแทนที่ได้ด้วยอันหนึ่ง

C: = (5 + B 1*D **2 + B + SIN (R))*(5 + A(1)*A (2));

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

สันนิษฐานว่าตัวแปรที่อยู่ด้านซ้ายของคำสั่งที่ถูกลบจะไม่ถูกใช้ในคำสั่งอื่น

6) การระบุตัวแปร . หากโปรแกรมมี
โอเปอเรเตอร์ของรูปแบบ A: = B จากนั้นในคำสั่งต่อๆ ไปทั้งหมดของโปรแกรม คุณสามารถแทนที่ตัวแปร A ด้วยตัวแปร B หรือค่าตัวเลขของตัวแปร B และลบโอเปอเรเตอร์ A: = B

หากตัวแปร A เป็นตัวแปรที่มีการจัดทำดัชนี คำสั่ง A: = B จะยังคงอยู่ในโปรแกรม และตัวแปร A จะถูกแทนที่ด้วยตัวแปร B ในบางคำสั่ง

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

8) การกำจัดงบที่ล้มเหลว . ในโปรแกรมจริง อาจมีส่วนที่มีคำสั่งที่ไม่สามารถเรียกทำงานได้ นั่นคือ คำสั่งที่ไม่ได้ถูกดำเนินการสำหรับชุดข้อมูลเริ่มต้นใดๆ

ลักษณะที่ปรากฏของตัวดำเนินการดังกล่าวสามารถอธิบายได้ด้วยเหตุผลสองประการ:

1) ค. ในกระบวนการดีบั๊กโปรแกรมหรือแก้ไขโปรแกรมเมอร์อาจลืมเกี่ยวกับคำสั่งดังกล่าวหรือไม่ต้องการค้นหาหรือไม่สามารถติดตามผลที่ตามมาทั้งหมดที่เกิดจากการแก้ไขบางส่วนของโปรแกรมได้

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

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

9) การใช้งาน I/O การดำเนินการ I/O ใช้เวลานานและควรลดลงเหลือน้อยที่สุด ไม่จำเป็นต้องป้อนข้อมูลที่สามารถคำนวณภายในโปรแกรมได้!

คำสั่ง I/O สองคำสั่งที่ต่อเนื่องกันสำหรับอุปกรณ์เดียวกันสามารถรวมเป็นคำสั่งเดียวได้ ซึ่งจะช่วยลดจำนวนการเรียกรูทีน I/O ของระบบ ซึ่งจะลดเวลาการทำงานของโปรแกรมลง

หลังจากดีบั๊กโปรแกรมแล้ว อย่าลืมลบคำสั่ง I/O ที่ไม่จำเป็น (โดยปกติจะเป็นการดีบั๊ก) ออกทั้งหมด

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

10) การระบุขั้นตอน (ฟังก์ชัน) . หากโปรแกรมมี
ลำดับของตัวดำเนินการที่เหมือนกันซึ่งแตกต่างกัน
เฉพาะตัวระบุและค่าคงที่ที่แตกต่างกันเท่านั้น
อาจมีประโยชน์ในการแยกออกเป็นขั้นตอน (หรือฟังก์ชัน) นี้
ลดข้อความโปรแกรมลงอย่างมาก แต่ช้าลง
การนำไปปฏิบัติเพราะว่า การเข้าและออกจากโพรซีเดอร์เป็นการดำเนินการที่ต้องใช้แรงงานมาก และการทำงานกับพารามิเตอร์จะช้ากว่าการทำงานกับตัวแปรในเครื่อง

จะดีกว่าถ้าใช้ไม่ใช่ขั้นตอน แต่แยกโมดูล

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

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

หากมีการดำเนินการคำสั่งจำนวนมากหลายครั้งและในที่ต่างกันในโปรแกรม แน่นอนว่าจะต้องแยกคำสั่งเหล่านั้นออกเป็นขั้นตอนแยกต่างหาก แต่มันไม่ฉลาดเลยที่จะเรียกขั้นตอนเล็กๆ สอง (สาม...?) ครั้ง

การลดจำนวนของโพรซีเดอร์ (ฟังก์ชัน) ทำได้โดยการแทนที่ตัวดำเนินการเรียกด้วยเนื้อหาของโพรซีเดอร์ (ฟังก์ชัน) เหล่านี้ และแทนที่

พารามิเตอร์ที่เป็นทางการพร้อมกับพารามิเตอร์จริงที่สอดคล้องกัน แต่ข้อความของโปรแกรมจะเพิ่มขึ้นตามจำนวนคำสั่งที่สอดคล้องกัน

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

12) ทางเลือก เมื่อจำเป็นต้องเปรียบเทียบตัวแปรตัวหนึ่งกับหลายค่า โปรแกรมเมอร์บางคนเขียนสิ่งนี้ (รูปแบบการเขียนโปรแกรมที่แย่มาก):

ที่ปรึกษาทางการเงิน= 1แล้ว... ;

IFA=2แล้ว... ;

ที่ปรึกษาทางการเงิน= 3แล้ว... ;

ในกรณีนี้ แม้ว่า A = 1 คำสั่ง IF แบบมีเงื่อนไขทั้งหมดจะถูกดำเนินการ

เมื่อใช้โครงสร้าง ELSE การเปรียบเทียบจะหยุดทันทีที่พบเงื่อนไขที่แท้จริง:

ถ้า A=1 แล้ว...

มิฉะนั้นถ้า A=2 แล้ว...

มิฉะนั้นถ้า A =3 แล้ว ...;

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

หมายเหตุเดียวกันนี้ใช้กับโครงสร้างการเลือก (CASE)

13) การดำเนินการทางคณิตศาสตร์ การดำเนินการทางคณิตศาสตร์จะดำเนินการด้วยความเร็วที่ต่างกัน

ให้เราแสดงรายการตามลำดับเวลาดำเนินการที่เพิ่มขึ้น:

1) การบวกและการลบ;

2) การคูณ;

3) การแบ่ง;

4) การยกกำลัง

บางครั้งมันก็สมเหตุสมผลที่จะแทนที่การดำเนินการหนึ่งด้วยการดำเนินการอื่น ตัวอย่างเช่น 3*1 สามารถแทนที่ด้วย I +I +I หรือ X**2 สามารถแทนที่ด้วย X*X นอกจากนี้ การขึ้นสู่อำนาจมักต้องใช้โปรแกรมห้องสมุด

การแทนที่การยกกำลังด้วยการคูณหลายๆ ครั้งจะช่วยประหยัดทั้งหน่วยความจำและเวลา ถ้าเลขชี้กำลังเป็นจำนวนเต็มเล็ก

การคูณทำได้เร็วกว่าการหารเกือบสองเท่า

แทนที่จะเป็น A/5 คุณสามารถเขียน 0.2*A;

แทนที่จะเป็น A1 = B /D /E + C คุณสามารถเขียน A1 = B /(D *E) + C;

SQRT(A); ดำเนินการได้รวดเร็วและแม่นยำมากกว่า A**0.5;

14) การแปลงนิพจน์ . การเปลี่ยนแปลงเบื้องต้น (การทำให้เข้าใจง่าย) ของนิพจน์สามารถนำไปสู่การกำจัดการดำเนินการทางคณิตศาสตร์หลายอย่าง

ตัวอย่างเช่น X: = 2*Y + 2*T; สามารถแทนที่ได้ด้วย X: = 2*(Y + T);

การแปลงครั้งล่าสุดกำจัดการดำเนินการคูณเพียงครั้งเดียว

15) การเพิ่มประสิทธิภาพการแสดงออก สาระสำคัญของขั้นตอนคือการแทนที่นิพจน์ย่อยที่เทียบเท่าทางความหมายที่ซับซ้อนทั้งหมดด้วยนิพจน์ย่อยแบบง่ายอันเดียว

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

ผลการปรับให้เหมาะสมในกรณีนี้คือการลดเวลาการทำงานของโปรแกรมและลดจำนวนหน่วยความจำที่ใช้

16) การประเมินล่วงหน้าของนิพจน์ย่อยทางคณิตศาสตร์ แทน เช่น:

ตอบ: = (M *B *C)/(D -E);

K: = D -E -B *C *M ;

คุณสามารถเขียน:

ต: = ยังไม่มี *B *C ;

U:=D-E;

ตอบ: = T/U;

K: = U -T ;

ข้อความของโปรแกรมและเวลาดำเนินการจะลดลงโดยการลดจำนวนการดำเนินการที่ทำ แต่บางทีหน่วยความจำของ T และ U ก็เพิ่มขึ้นเล็กน้อย

17) การกำจัดวงเล็บเพิ่มเติม . สาระสำคัญของขั้นตอนนี้คือการกำจัดวงเล็บคู่ในนิพจน์ทางคณิตศาสตร์หรือตรรกะที่ซ้ำซ้อนอย่างมีความหมาย

18) การกำจัดเครื่องหมายที่ไม่จำเป็น . ด้วยเหตุผลหลายประการ โปรแกรมจึงมีเครื่องหมายอยู่หน้าข้อความซึ่งไม่มีการถ่ายโอนการควบคุม

เครื่องหมายดังกล่าวไม่จำเป็นและควรลบออกจากโปรแกรม

19) กำจัดตัวดำเนินการกระโดดที่ไม่จำเป็น หลังจากการปรับเปลี่ยนโปรแกรมให้เหมาะสมที่สุดหลายครั้ง ตัวดำเนินการจัมเปอร์แบบไม่มีเงื่อนไข (GO TO) อาจปรากฏขึ้น ซึ่งถ่ายโอนการควบคุมไปยังตัวดำเนินการที่ไม่มีป้ายกำกับอยู่ พวกเขาจะต้องถูกลบออก

20) การดำเนินงานโดยนัย การดำเนินการ T: = M(1) ต้องใช้เวลาและหน่วยความจำมากกว่า T: = A; 1.5-2 เท่า และถ้า M เป็นพารามิเตอร์หรือฟังก์ชัน ก็จะมากกว่า 2.5-3 เท่า โดยที่มักใช้ M(1) คุณสามารถใช้ตัวแปรอย่างง่าย MI: = M(I) ฯลฯ

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

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

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

เวลาดำเนินการของโปรแกรมส่วนใหญ่ขึ้นอยู่กับเวลาดำเนินการของส่วนที่ทำซ้ำซ้ำ ๆ - ในรอบ ดังนั้นจึงต้องให้ความสำคัญกับรอบเป็นหลัก

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

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

สำหรับฉัน: = 1 ถึง 100 ทำเพื่อ J: = 1 ถึง 10 ทำ X: = Y*Z + C;

ในที่นี้ Y *Z จะได้รับการประเมินพันครั้ง แต่ในตัวอย่างต่อไปนี้จะได้รับการประเมินเพียงครั้งเดียว:

YZ: = Y*Z;

สำหรับฉัน: = 1 ถึง 100 ทำเพื่อ J: = 1 ถึง 10 ทำ X: = YZ + C;

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

รูปแบบที่น่าสนใจของการทำความสะอาดลูปคือการเปลี่ยนลำดับของลูป:

วงจรสำหรับฉัน: = 1 ถึง N ทำเพื่อ J: = 1 ถึง M ทำ...

ที่ N< М выполняется быстрее, чем цикл

สำหรับฉัน: = 1 ทอมทำเพื่อฉัน: = 1 ตันทำ...

เพราะ ในกรณีแรกจะดำเนินการจัดการปั่นจักรยาน M *N + N และในกรณีที่สอง - M *N + M

22) การใช้ลูป . ลูปต้องใช้หน่วยความจำเพิ่มเติมเพื่อเริ่มต้น ทดสอบ เปลี่ยนตัวแปรควบคุม และตั้งค่าคงที่ทั้งหมด

บางครั้งการหลีกเลี่ยงการใช้ลูปก็มีประโยชน์

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

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

ขั้นตอนการรวมรอบจะรวมหลายรอบที่มีส่วนหัวเดียวกันเป็นหนึ่งเดียว ตัวอย่างเช่น:

สำหรับฉัน: = 1 ถึง 500 ทำ X[I]: = 0;

สำหรับ J: = 1 ถึง 500 ใช่ [J]: = 0;

สามารถรวมเป็นวงเดียวซึ่งจะช่วยลดทั้งเวลาการทำงานของโปรแกรมและหน่วยความจำ:

สำหรับฉัน: = 1 ถึง 500 ให้เริ่มต้น X[I]: = 0; คุณ: = 0 จบ;

24) การนำกิ่งก้านออกจากวง . ให้วงเดิมประกอบด้วย
สองส่วนและขึ้นอยู่กับความสมบูรณ์ของสิ่งใดสิ่งหนึ่ง
ตามเงื่อนไขข้อใดข้อหนึ่งต่อไปนี้

สำหรับฉัน = 1 ถึง 200 DO

ถ้าเค = 2 แล้ว A(I) = B(I)*C(I) มิฉะนั้น A (I) =ข(ฉัน) + 2;

จากนั้นสามารถแทนที่ลูปดั้งเดิมด้วยสองลูปที่สอดคล้องกับสองส่วนของลูปดั้งเดิม:

ถ้า K = 2 ดังนั้น สำหรับ 1=1 ถึง 200 DO A(I) = B(I)*C(I);

อย่างอื่นสำหรับ 1=1 ถึง 200 DO A (I) = B (I) + 2...

ผลจากการลบสาขาออกจากลูป เวลาในการคำนวณของโปรแกรมจะลดลงเนื่องจากจำนวนการตรวจสอบที่ลดลงสำหรับการปฏิบัติตามเงื่อนไข

25) การลบรอบที่ว่างเปล่า สาระสำคัญของขั้นตอนนี้คือ
การลบลูปว่างออกจากโปรแกรม

ลูปดังกล่าวสามารถปรากฏในโปรแกรมอันเป็นผลมาจากความประมาทเลินเล่อของโปรแกรมเมอร์ และส่วนใหญ่มักเป็นผลมาจากการปรับให้เหมาะสมและการเปลี่ยนแปลงอื่น ๆ

อย่างไรก็ตาม ควรสังเกตว่าในบางกรณี ลูปว่างถูกใช้เป็นเทคนิคการเขียนโปรแกรมพิเศษ เช่น ในโปรแกรมเรียลไทม์เพื่อสร้างความล่าช้า

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

26) การบีบอัดวงจร . ในบางกรณีในร่างกายของวงจรก็มีอยู่
เงื่อนไขที่สามารถจำกัดช่วงการเปลี่ยนแปลงของตัวแปรควบคุมลูป

สำหรับฉัน = A แล้ว B ทำถ้าฉัน<= С THEN R(I) = P(I);

ขั้นตอนการบีบอัดแบบวนซ้ำจะถ่ายโอนข้อจำกัดต่อไปนี้ไปยังส่วนหัวของลูป:

DO I = A แล้ว C DO R(I) - P(I);

ในที่นี้จะถือว่า A<: С < В.

จากผลของการดำเนินการขั้นตอนการบีบอัดวงจร ตัวดำเนินการการเปลี่ยนแปลงแบบลอจิคัลจะถูกลบออกจากเนื้อความของลูป และจำนวนการดำเนินการของเนื้อความของลูปจะลดลง

27) การจัดการโดยทางเลือก . ในคำสั่ง select กลุ่มคำสั่งแรกที่เงื่อนไขการเลือกเป็นจริงจะถูกดำเนินการ

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

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

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

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

ในรูป รูปที่ 2.74 แสดงไซโคลแกรมของการทำงานของ AFM โดยใช้ PR รุ่น MP20.40.01 พร้อมด้วยอุปกรณ์จับยึดเชิงกล (มือจับ) ก่อนที่จะสร้างไซโคลแกรม ตารางจะถูกรวบรวมซึ่งระบุลักษณะของการเคลื่อนไหว หมายเลขรอบ และเวลาของการดำเนินการตามโปรแกรมที่มอบให้กับหุ่นยนต์ เวลาในการทำงานของเครื่อง CNC สามารถระบุเป็นส่วนทั่วไปได้ โดยไม่ต้องแยกย่อยออกเป็นช่วงการเปลี่ยนผ่านทางเทคโนโลยีส่วนบุคคล เนื่องจากเป็นที่รู้จักและคำนวณในส่วนเทคโนโลยีของโครงการ สะดวกที่สุดในการตั้งเวลาเป็นวินาที การคำนวณและสร้างช่วงเวลาควรทำด้วยความแม่นยำเพียงพอเท่ากับ 0.1 วินาที

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

ระยะเวลาในการ “จับยึดและปล่อย” อุปกรณ์จับยึด (มือจับ) ซึ่งคำนวณได้ยาก สามารถใช้เวลาประมาณ 1 วินาที จำเป็นต้องจัดเตรียมเวลาเสริมสำหรับการติดตั้งและการรักษาความปลอดภัยชิ้นส่วนโดยผู้ปฏิบัติงาน หากใช้ในโมดูลเครื่องจักรเวอร์ชันที่ไม่ใช่แบบอัตโนมัติ

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

โต๊ะ 2.13. เนื้อหาของการเปลี่ยนแปลงทางเทคโนโลยีที่ดำเนินการโดยองค์ประกอบ AFM

หมายเลขรอบ เนื้อหาของคำสั่งที่ดำเนินการ รอบเวลา, s
เสื้อ 1 ลดแขนหุ่นยนต์ในแนวตั้งลง 0.1 ม 0,5
เสื้อ 2
เสื้อ 3 หมุนแขน 90° และหมุนเข็มนาฬิกา 90° ทวนเข็มนาฬิกาไปพร้อมๆ กัน 1,5
เสื้อ 4 1,5
เสื้อ 5 การเคลื่อนตัวนับ-สปินเดิลของเครื่องไปทางซ้ายและการหนีบชิ้นงานด้วยปากจับของหัวจับกำลัง 1,5
เสื้อ 6 การกระตุ้นให้กริปเปอร์ PR “คลายแคลมป์”
เสื้อ 7 1,5
เสื้อ 8 การยืดแขนในแนวนอนไปข้างหน้าตามแนวแกน OX 0.79 ม 1,5
ที 9 การเรียกกริปเปอร์ไปที่ “แคลมป์”
เสื้อ 10 การคลายขากรรไกรของหัวจับกำลัง
เสื้อ 11 การหดแขนในแนวนอนตามแนวแกน OX ถอยหลัง 0.79 ม 1,5
เสื้อ 12 หมุนแขน 135° และหมุนเข็มทวนเข็มนาฬิกา 90° ไปพร้อมๆ กัน 2,25
เสื้อ 13 การกระตุ้นให้กริปเปอร์ “คลายแคลมป์”
เสื้อ 14 หมุนแขน OL 45° และยกแขนในแนวตั้งพร้อมกัน 0.1 ม 0,75