Problem Solving ขั้นตอนวิธีและการแก้ปัญหาสำหรับวิทยาการคอมพิวเตอร์

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Application Development Overview Nithi Thanon Computer Science Prince of Songkla University.
Advertisements

Chapter 8 : Logic Modeling & Data Modeling
การทำงานแบบเลือกทำ (Selection)
ลักษณะโครงสร้างของผังงาน
ขั้นตอนการพัฒนาโปรแกรม
การแก้ปัญหาด้วยคอมพิวเตอร์
กระบวนการเขียนโปรแกรม
โครงสร้างคำสั่งแบบเลือก (Selection)
การเขียนผังงานแบบโครงสร้าง
Repetitive Or Iterative
การวิเคราะห์ประสิทธิภาพของอัลกอริธึม (Performance Analysis)
หน่วยที่ 4: คำสั่งควบคุมโปรแกรม (Control Flow Command)
Flow Control.
การเขียนโปรแกรมภาษาซี
การออกแบบโปรแกรม ขั้นตอนการแก้ปัญหา การนิยามปัญหา (Problem definition)
การออกแบบโครงสร้าง (Structured Design)
Chapter 04 Flowchart ผู้สอน อ.ยืนยง กันทะเนตร
สาขาวิชาเทคโนโลยี สารสนเทศ คณะเทคโนโลยีสารสนเทศ และการสื่อสาร.
Introduction ธนวัฒน์ แซ่เอียบ.
20 May 2556 Problem Analysis and Algorithms in Programming.
Problem Analysis and Algorithm (การวิเคราะห์ปัญหา และการจำลองความคิด)
Chapter 05 Selection structure ผู้สอน อ. ยืนยง กันทะเนตร สาขาวิชาเทคโนโลยี คอมพิวเตอร์เคลื่อนที่ ng.
Problem Analysis and Algorithm in Programming (การวิเคราะห์ปัญหา และการจำลองความคิดในการเขียนโปรแกรมคอมฯ)
BC322 : Computer Programing (ครั้งที่ 1)
1 exit() and break C++ provides a way to leave a program early (before its natural finish) with the exit() function. The format of exit() is as follows:
อัลกอริทึมและผังงาน อาจารย์สมเกียรติ ช่อเหมือน
ความก้าวหน้าการพัฒนากฎหมาย ที่อยู่ในความรับผิดชอบของกรมอนามัย
การควบคุมทิศทางการทำงาน
ครั้งที่ 3 การวิเคราะห์ และ ออกแบบวงจรเกต
Concept of Programing.
บทที่ 6 การเขียนโปรแกรมแบบมีเงื่อนไข
INC 161 , CPE 100 Computer Programming
ใช้สำหรับ Turbo C++ Version 3.0
Data Structure & Algorithm Concept
Stack Sanchai Yeewiyom
การเขียนผังงาน (Flowchart)
การแสดงขั้นตอนวิธีด้วยรหัสเทียม (Pseudo-Code)
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
คณะเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยพะเยา
Graph Lecturer : Kritawan Siriboon, Boontee Kruatrachue Room no. 913
คำอธิบายรายวิชา การเขียนผังงาน รหัสเทียม ตรรกศาสตร์เบื้องต้น การเขียนโปรแกรมคอมพิวเตอร์แบบโครงสร้าง ชนิดตัวแปร ตัวดำเนินการทางตรรกะ ตัวดำเนินการเปรียบเทียบ.
Graph Lecturer : Kritawan Siriboon, Boontee Kruatrachue Room no. 913
ความรู้พื้นฐานการเขียนโปรแกรม
สื่อการสอนรายวิชา ง30204 โปรแกรมภาษาชี ภาษาคอมพิวเตอร์และโปรแกรม
“หลักการแก้ปัญหา”.
บทที่ 2 ขั้นตอนการทำงาน (Algorithm)
การออกแบบระบบ System Design.
Principles of Problem Solving and Basic Programming หลักการแก้ปัญหาและการเขียนโปรแกรมเบื้องต้น2(1-2-3) สัปดาห์ที่ 13 การเขียนรหัสเทียม (Pseudo Code)
การวัดอัลกอริทึม (Analysis of Algorithm)
การควบคุมและตรวจสอบภายใน รองผู้ว่าการตรวจเงินแผ่นดิน
บทที่ 2 อัลกอริธึมและการวิเคราะห์ปัญหา
อัลกอริทึม (Algorithm ) ขั้นตอนวิธี
การเขียนผังงาน (Flow Chart)
การเขียนโปรแกรมคอมพิวเตอร์
Lecture no. 1: Introduction to Computer and Programming
การเขียนซูโดโค้ด และการเขียนโฟลชาร์ต
การทำงานแบบมีเงื่อนไข (if, if-else, if-else-if, Nested-if)
Dr.Surasak Mungsing CSE 221/ICT221 การวิเคราะห์และออกแบบขั้นตอนวิธี Lecture 11: เทคนิคการออกแบบขั้นตอนวิธีตอนวิธี Greedy,
Timing diagram ปรับปรุง 19 มีนาคม
ประชุมผู้อำนวยการสำนักงานเขตพื้นที่การศึกษา ณ โรงแรมเอวาน่า บางนา กทม
บทที่ 7 การเขียนผังงานระบบ.
ขั้นตอนการเขียนโปรแกรมคอมพิวเตอร์
บทที่ 6 การเขียนผังงาน (Flowchart)
แบบฟอร์มการนำเสนอหลักสูตร มหาวิทยาลัยราชภัฏเชียงราย
การเขียนโปรแกรมภาษา Java (ต่อ)
การสร้างผังงานโปรแกรม
การวิเคราะห์โจทย์ปัญหา (Problem Analysis)
Decision: Multi Selection (if-else-if, switch)
Decision: Single and Double Selection (if and if-else statement)
อัลกอริทึม (Algorithm) ???
ใบสำเนางานนำเสนอ:

การแสดงขั้นตอนวิธีด้วยการบรรยายของโปรแกรมแบบลำดับ(Sequence)และทางเลือก(Selection) 1204102 Problem Solving ขั้นตอนวิธีและการแก้ปัญหาสำหรับวิทยาการคอมพิวเตอร์ อ. สำรวน เวียงสมุทร อ.ณภัทร สักทอง อ.อุมาภรณ์ สายแสงจันทร์

Sequential vs. Selection โปรแกรมแบบลำดับ: โปรแกรมทำงานโดยประมวลผลคำสั่งตามลำดับแบบบนลงล่าง โปรแกรมจะเริ่มทำงานหลังคำสั่ง Start แล้วดำเนินการต่อไปเรื่อยๆจนกว่าจะพบคำสั่ง End/Exit หรือReturn โปรแกรมแบบทางเลือก: โปรแกรมจะใช้ชุดคำสั่ง If/then/else เพื่อกำหนดการทำของโปรแกรม โดยโปรแกรมจะบอกกับคอมพิวเตอร์ว่า หากเงื่อนไขหลัง if เป็นจริง ให้ทำการประมวลผลชุดคำสั่งหลัง then มิเช่นนั้น ให้ทำการประมวลผลชุดคำสั่งหลัง else 1204102 Problem Solving

Program Design : Algorithm อัลกอริทึม หมายถึง ขั้นตอนวิธี ซึ่งจะอธิบายว่างาน ๆ นั้นทำอย่างไร โดยประกอบด้วยชุดลำดับเป็นขั้นเป็นตอนที่ชัดเจน และรับประกันได้ว่าเมื่อได้ปฎิบัติอย่างถูกต้องตามขั้นตอนจนจบ ก็จะได้ผลลัพธ์ที่ถูกต้องตามต้องการ รูปแบบการนำเสนออัลกอริทึม มีดังนี้ นำเสนอด้วยภาพ/แผนภาพ บรรยาย รหัสเทียม (Pseudo-code) ผังงาน (Flowchart) 1204102 Problem Solving

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

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

เกณฑ์การพิจารณา ประสิทธิภาพอัลกอริทึม อัลกอริทึมต้องใช้เวลาในการดำเนินการน้อยที่สุด อัลกอริทึมต้องใช้หน่วยความจำน้อยที่สุด อัลกอริทึมต้องมีความยืดหยุ่น อัลกอริทึมต้องใช้เวลาในการพัมนาน้อยที่สุด อัลกอริทึมต้องง่ายต่อความเข้าใจ 1204102 Problem Solving

รูปแบบการนำเสนออัลกอริทึม การบรรยาย (Narrative Description) เป็นการใช้คำพูดบรรยายออกมาเป็นตัวอักษร การเขียนผังงาน (Flowchart) เป็นการนำเสนอในรูปแผนภาพ ซึ่งประกอบไปด้วยสัญลักษณ์ต่าง ๆ ที่ได้มีการกำหนดไว้เป็นมาตรฐาน การเขียนรหัสจำลอง (Pseudo Code) เป็นการใช้ชุดรหัสคำสั่งเพื่อเลียนแบบคำสั่งโปรแกรมคอมพิวเตอร์อย่างย่อ ๆ 1204102 Problem Solving

การแสดง Algorithm : นำเสนอด้วยภาพ 1204102 Problem Solving

การแสดง Algorithm : บรรยาย (1) การล้างรถ ฉีดน้ำล้างรถให้ทั่วเพื่อขจัดฝุ่น และเศษดินทรายต่างๆ ออก ผสมแชมพูล้างรถ 1 ฝาต่อน้ำครึ่งถัง นำฟองน้ำชุบน้ำที่ผสมแชมพู เช็ดทำความสะอาดให้ทั่ว ฉีดน้ำล้างให้สะอาด ใช้ผ้านุ่มเช็ดให้แห้ง 1204102 Problem Solving

ตัวอย่างการแสดง Algorithm : บรรยาย (2) ขั้นตอนการลงทะเบียน ในการลงทะเบียนเรียนภาคการศึกษาปกติจะสามารถทำการลงทะเบียนเรียนได้ไม่เกินกว่า 21 หน่วยกิต คอมพิวเตอร์จะต้องทำการสะสมค่าหน่วยกิตของแต่ละรายวิชาที่นักศึกษาลงทะเบียนเรียน หากมีการลงทะเบียนเรียนเกินกว่านั้นก็จะต้องแสดงข้อความเตือน ส่วนการลงทะเบียนเรียนภาคฤดูร้อนก็เป็นไปในลักษณะเดียวกันแต่จำนวนหน่วยกิตสูงสุดที่สามารถลงทะเบียนได้คือ 9 หน่วยกิต 1204102 Problem Solving

การแสดง Algorithm : การเขียนโปรแกรมแบบบรรยาย (3) กำหนดตัวแปรสำหรับค่า ค่าเริ่มต้น (Initialization) ข้อมูลรับเข้า (Input) ข้อมูลแสดงผล (Output) ค่าที่ใช้ในการคำนวณ (Computation) แสดงขั้นตอนการทำงานแบบบรรยาย รับค่าจาก Input แสดงวิธี/สูตรที่ใช้ในการคำนวณ แสดงผลลัพธ์ที่ได้ 1204102 Problem Solving

Example 3.1 : Algorithm แสดงการหาผลรวมตัวเลข 3 จำนวน Input Process Output ตัวเลขตัวที่ 1 ตัวเลขตัวที่ 2 ตัวเลขตัวที่ 3 อ่านตัวเลขทั้ง 3 จำนวนเข้ามา บวกตัวเลขทั้ง 3 จำนวน พิมพ์ผลรวม ผลรวมของตัวเลข 3 จำนวน กำหนดตัวแปร Input num1, num2, num3 Output sum กำหนดขั้นตอนการทำงาน อ่าน num1, num2, num3 คำนวณค่า sum = num1+num2+num3 พิมพ์ผลรวม sum 1204102 Problem Solving

Example 3.2 : Algorithm แสดงตัวเลขมากสุดจากตัวเลข 2 จำนวน (แบบที่ 1) Input Process Output ตัวเลขตัวที่ 1 ตัวเลขตัวที่ 2 อ่านตัวเลขทั้ง 2 จำนวนเข้ามา เปรียบเทียบตัวเลขทั้ง 2 จำนวน พิมพ์ตัวเลขมากที่สุด ผลของตัวเลขมากที่สุด กำหนดตัวแปร Input num1, num2 Output max กำหนดขั้นตอนการทำงาน (ไม่ใช้ตัวแปร max) อ่าน num1, num2 เปรียบเทียบตัวเลขทั้ง 2 ถ้า num1 > num2 ให้พิมพ์ num1 ถ้า num1 < num2 ให้พิมพ์ num2 ถ้า num1 = num2 ให้พิมพ์ “ค่าทั้งสองเท่ากัน” ไม่ใช้ max ก็ได้ 1204102 Problem Solving

Example 3.2 : Algorithm แสดงตัวเลขมากสุดจากตัวเลข 2 จำนวน (แบบที่ 2) กำหนดตัวแปร Input num1, num2 Output max กำหนดขั้นตอนการทำงาน อ่าน num1, num2 เปรียบเทียบตัวเลขทั้ง 2 ถ้า num1 >= num2 ให้ max = num1 ถ้า num1 < num2 ให้ max = num2 พิมพ์ค่า max 1204102 Problem Solving

Example 3.3 : Algorithm แสดงการหาผลรวมตัวเลข 1-5 Input Process Output ตัวเลข 1 ตัวเลข 2 … ตัวเลข 5 อ่านค่า 1-5 เข้ามา บวกตัวเลขตั้งแต่ 1-5 พิมพ์ผลรวม ผลรวมของตัวเลข 1-5 กำหนดตัวแปร Input num Output sum กำหนดขั้นตอนการทำงาน กำหนด sum = 0, num = 1 sum = sum + num ตรวจสอบค่า num ถ้า num < 5 ให้ num = num + 1 และกลับไปทำขั้นตอนที่ 2 ถ้า num >= 5 ให้ พิมพ์ค่า sum และหยุดการทำงาน อาจเปลี่ยนแปลงได้เช่น 1.num <= 4 คู่กับ num > 4 2.num <> 5 คู่กับ num = 5 1204102 Problem Solving

การตรวจสอบความถูกต้องของอัลกอริทึม (Testing by Hand/ Debugging by Hand) สร้างกระดาษทด ให้เปรียบเสมือนว่าเป็นหน่วยความจำ กำหนดตารางค่าตัวแปรต่างๆ ที่กำหนดขึ้น ดำเนินการตามขั้นตอนของอัลกอริทึมทีละขั้นตอน เปลี่ยนแปลงค่าตัวแปรต่างๆ ในแต่ละคำสั่งการทำงานของอัลกอริทึม ตรวจสอบผลลัพธ์จากค่าตัวแปรต่างๆ ในแต่ละครั้ง ถ้ามีจำนวนรอบในการทำงานมาก ให้กำหนดจำนวนรอบเพื่อทดสอบการทำงานของอัลกอริทึม อย่างน้อย 3-5 รอบ ลองคำนวณจากสูตรด้วยมือเพื่อหาคำตอบที่ถูกต้องก่อนเริ่มดำเนินการจำลองการทำงานในกระดาษทด 1204102 Problem Solving

Example 3.4 : ตรวจสอบอัลกอริทึมการหาผลรวมตัวเลข 1-5 (แบบที่ 1) กำหนดขั้นตอนการทำงาน กำหนด sum = 0, num = 1 sum = sum + num ตรวจสอบค่า num ถ้า num < 5 ให้ num = num + 1 และกลับไปทำขั้นตอนที่ 2 ถ้า num >= 5 ให้ พิมพ์ค่า sum และหยุดการทำงาน ทดลองบวกเลข 1 ถึง 5 ด้วยมือก่อน sum = 1+2+3+4+5 = 15 ทดสอบอัลกอริทึม รอบ sum num เริ่มต้น 1 0+1=1 1+1=2 2 1+2=3 2+1=3 3 3+3=6 3+1=4 4 6+4=10 4+1=5 5 10+5=15 5+1=6 1204102 Problem Solving

Example 3.4 : ตรวจสอบอัลกอริทึมแสดงการหาผลรวม ตัวเลข 1-5 (แบบที่ 2) รอบ sum num เริ่มต้น 1 2 3 4 5 ลองหาผลรวมของตัวเลข 1-5 แบบอื่น พร้อมทดสอบผลลัพธ์ที่ได้ว่าอัลกอริทึมผิดพลาดหรือไม่ เช่น กำหนดขั้นตอนการทำงาน กำหนด sum = 0, num = 1 ตรวจสอบค่า num ถ้า num < 5 ให้ sum = sum + num num = num + 1 และกลับไปทำขั้นตอนที่ 2.1 ถ้า num >= 5 ให้ พิมพ์ค่า sum และหยุดการทำงาน แก้ไขโดยกำหนดค่า num <= 5 หรือ num <6 เป็นต้น ถ้าผิดพลาดจะแก้ไขได้อย่างไรบ้างเพื่อให้ผลลัพธ์ถูกต้อง 1204102 Problem Solving

Example 3.4 : ตรวจสอบอัลกอริทึมแสดงการหาผลรวม ตัวเลข 1-5 (แบบที่ 1) กำหนด num = 0 sum = sum + num ตรวจสอบค่า num ถ้า num < 5 ให้ num = num + 1 และกลับไปทำขั้นตอนที่ 2 ถ้า num >= 5 ให้ พิมพ์ค่า sum และหยุดการทำงาน รอบ sum num เริ่มต้น 1 2 3 4 5 ถ้า sum ไม่กำหนดค่าเริ่มต้นจะเกิดอะไรขึ้น 1204102 Problem Solving

Example 3.5 : Algorithm แสดงตัวเลขมากสุดจากตัวเลข 2 กำหนดขั้นตอนการทำงาน อ่าน num1, num2 เปรียบเทียบตัวเลขทั้ง 2 ถ้า num1 >= num2 ให้ max = num1 ถ้า num1 < num2 ให้ max = num2 พิมพ์ค่า max num1 num2 max 1204102 Problem Solving

Example 3.6 : ทดสอบอัลกอริทึมแสดงเลขคู่จาก เลขจำนวนเต็ม 1 ถึง 10 กำหนดตัวแปร Input : num Output : ans อัลกอริทึม กำหนดให้ num มีค่าเท่ากับ 1 กำหนดให้ ans = num MOD 2 // MOD คือการหารเอาเศษ ถ้าคำตอบของ ans = 0 ให้แสดงค่า num ออกทางหน้าจอ ตรวจสอบค่า num ถ้า num <> 10 ให้ num = num + 1 กลับไปทำขั้นตอนที่ 2 ถ้า num = 10 ให้ จบการทำงาน รอบ num ans เริ่มต้น 1 2 3 4 5 6 7 8 9 10 1204102 Problem Solving

Example 3.7 : เขียนอัลกอริทึมจาก Exercise 1.2 Output พื้นที่สีเหลี่ยมผืนผ้า = AREA กำหนดตัวแปร Input ความกว้าง = WIDTH ความยาว = LENGTH อัลกอริทึมแบบที่ 1 (ไม่ใช้ตัวแปร) เริ่มต้น อ่านค่าความกว้าง และค่าความยาว คำนวณพื้นที่สี่เหลี่ยมผืนผ้า พื้นที่= กว้าง * ยาว พิมพ์ค่าพื้นที่สี่เหลี่ยมผืนผ้า จบการทำงาน อัลกอริทึมแบบที่ 2 (ใช้ตัวแปร) เริ่มต้น อ่านค่า WIDTH และ LENGTH คำนวณพื้นที่สี่เหลี่ยมผืนผ้า AREA = WIDTH * LENGTH พิมพ์ผลลัพธ์ AREA จบการทำงาน ให้นิสิตลองทดสอบอัลกอริทึม 1204102 Problem Solving

Exercise 3.1 : Operator & Precedence จงเขียนนิพจน์ทางคณิตศาสตร์ต่อไปนี้ให้อยู่ในรูปของการทำงานของคอมพิวเตอร์ที่มีลำดับถูกต้อง และหาผลลัพธ์ที่ได้ จงเขียนนิพจน์การเปรียบเทียบและตรรกะต่อไปนี้ในรูปการทำงานของคอมพิวเตอร์และลำดับที่ถูกต้อง และหาผลลัพธ์ที่ได้ ถ้า x = 0, y = 5 not (y >= 4) or (x < 3) ถ้า a = 0, b = 5, c = 5 (a<>b) or (b=c) and (c=5) ถ้า a = 0, b = 5, c = 5 not (a<b) and (b<c) or not (a>c) เฉลย-math 1.(6-2)+(3*4) 2.4+(2/(1-3)) 3.3*((12/(4-2))+(2**5)) 4.(3-(5*4))/6 เฉลย-relational&logical 1.(not(y>=4)) or (x<3) 2.(a<>b) or ((b=c) and (c=5)) 3.((not(a<b) and (b<c)) or (not (a>c)) 1204102 Problem Solving

Exercise 3.2 : Problem Solving & Algorithm จงออกแบบโปรแกรม โดยแสดงขั้นตอนการวิเคราะห์ปัญหา แสดงอัลกอริทึม และตรวจสอบอัลกอริทึมในการทำงานของโจทย์ต่อไปนี้ จงหาเส้นรอบวงของวงกลม กำหนดให้รับค่ารัศมี (R) เข้ามา จงหาเลขคี่จาก เลขจำนวนเต็ม 1 ถึง 10 จงหาค่าที่มากที่สุดจากตัวเลข 3 จำนวน โดยกำหนดให้รับตัวเลขเข้ามาเป็น num1, num2, num3 จงหาค่าที่น้อยที่สุดจากตัวเลข 3 จำนวน โดยกำหนดให้รับตัวเลขเข้ามาเป็น num1, num2, num3 จงหาค่าที่น้อยที่สุด และมากที่สุดจากตัวเลข 10 จำนวน จงเปรียบเทียบค่าข้อมูลที่เก็บอยู่ในตัวแปร X โดยมีเงื่อนไขดังนี้ ถ้า X > 0 ให้พิมพ์คำว่า “POSITIVE NUMBER” ถ้า X < 0 ให้พิมพ์คำว่า “NEGATIVE NUMBER” ถ้า X = 0 ให้พิมพ์คำว่า “ZERO NUMBER จงหาเลขคู่จาก เลขจำนวนเต็ม 1 ถึง N เมื่อกำหนดให้รับค่า N เข้ามา จงหาผลรวมของเลข 1, 2, 3, …, N เมื่อกำหนดให้รับค่า N เข้ามา จงหาผลรวมของตัวเลขจำนวนเต็ม 20 ตัว 1204102 Problem Solving

Exercise 3.3 ตัวอย่างการวิเคราะห์งาน บริษัทแห่งหนึ่งต้องการทำบัญชีเงินเดือนของพนักงาน โดยหักภาษีไว้ด้วย และมีเงื่อนไขในการคำนวณภาษีเป็นดังนี้ รายได้น้อยกว่าหรือเท่ากับ 2,000 บาท ยกเว้นไม่ต้องเสียภาษี รายได้มากกว่า 2,000 บาทขึ้นไปเสียภาษี 4% ของรายได้ จงหาจำนวนเงินที่พนักงานแต่ละคนจะได้รับ และเงินรวมทั้งหมดที่จะต้องจ่ายให้แก่พนักงาน

Exercise 3.4 การวิเคราะห์งาน จงทำการวิเคราะห์งาน การรับข้อมูลรหัสสินค้าชุดหนึ่ง แล้วคำนวณหาจำนวนตัวรหัสสินค้าที่รับเข้ามานั้น โดยกำหนดให้ข้อมูลตัวสุดท้ายมีค่าเป็น ‘xxx’ สมมติข้อมูลนำเข้ามีดังนี้ A123 A145 B219 C518 xxx จากตัวอย่าง จะนับจำนวนข้อมูลได้ 4 ตัว

Thank You See you next time.