Энэ хичээлээр
- Стандарт оролт, боловсруулалт, стандарт гаралтын үүргийг ялгах
- C, C++, Python хэлний энгийн унших болон хэвлэх үйлдлийг таних
- Online judge яагаад гаралтын хэлбэрийг яг шалгадгийг тайлбарлах
Холбоотой practice
Яагаад энэ ойлголт хэрэгтэй вэ?
Программ зөв тооцоолол хийсэн ч шаардсан өгөгдлөө уншаагүй эсвэл хариугаа өөр хэлбэрээр хэвлэвэл хэрэглэгч, өөр программ, эсвэл шалгагч систем үр дүнг зөв танихгүй. Тиймээс оролт → боловсруулалт → гаралт бол бараг бүх жижиг программын үндсэн урсгал.
Энгийн mental model
Стандарт оролт → Программ → Стандарт гаралтСтандарт оролт (standard input, stdin) нь программд гаднаас ирэх текстэн өгөгдөл. Стандарт гаралт (standard output, stdout) нь программын үндсэн үр дүнгээ бичих суваг. Terminal дээр ажиллуулахад keyboard болон дэлгэц мэт харагддаг ч online judge файл эсвэл тусгаарлагдсан урсгал ашиглаж болно.
Гурван хэл дээрх ижил санаа
int a, b;
scanf("%d %d", &a, &b);
printf("%d\n", a + b);int a, b;
cin >> a >> b;
cout << a + b << '\n';a, b = map(int, input().split())
print(a + b)Syntax өөр боловч урсгал ижил: хоёр бүхэл тоо уншина, нийлбэрийг олно, хариуг хэвлэнэ.
Техникийн урсгал
- Оролтын contract-ийг унш
Хэдэн утга, ямар төрөл, ямар дарааллаар ирэхийг тодорхойл.
- Утгуудаа parse хий
Ирсэн текстийг шаардсан бүхэл тоо эсвэл өөр өгөгдлийн төрөл болго.
- Үр дүнгээ тооцоол
Бодлогын дүрмийг зөвхөн уншсан утгууд дээр хэрэгжүүл.
- Гаралтын contract-ийг дага
Мөр, зай, тэмдэглэгээг шаардлагатай хэлбэрээр бич.
Практик дасгал
Хоёр тооны нийлбэрийн урсгалыг бич
Хүлээгдэж буй үр дүн
3 5 оролтоос 8 гаралт үүсэх дөрвөн алхмын тайлбар болон сонгосон хэл дээрх ажиллах код.
Сонголттой зөвлөмж
Эхлээд хэлээс үл хамаарах оролт → тооцоо → гаралт урсгалаа бич.
Түгээмэл алдаа
- Оролтын утгын тоо эсвэл дарааллыг буруу ойлгох.
- Тоог текст хэлбэрээр залгаж хэвлэх.
- Гаралтад шаардлагагүй үг, таслал, зай нэмэх.
- C хэлэнд
scanfашиглахдаа хувьсагчийн хаягийг өгөхөө мартах.
Мэдлэгээ шалгах
Дүгнэлт
Программ стандарт оролтоос өгөгдөл уншиж, түүнийг шаардсан төрөлд хөрвүүлэн боловсруулж, стандарт гаралт руу contract-ийн дагуу үр дүн бичдэг. Энэ урсгал хэл бүрд өөр syntax-тай боловч ижил сэтгэх загвартай.
Албан эх сурвалж
- Input and Output
Python Documentation · documentation
- Basic Input/Output
cplusplus.com · documentation
- scanf
cppreference · documentation