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