Integrated Exercises IV

(総合演習 IV)

Computing Practice I

15th lecture, July 19, 2018

http://www.sw.it.aoyama.ac.jp/2018/CP1/lecture15.html

Martin J. Dürst

AGU

© 2005-18 Martin J. Dürst 青山学院大学

Today's Schedule

 

テストなし、ログイン不要

ログインした学生は授業開始前にサインオフすること

 

Remaining Schedule

 

Results of Previous Exercises

1401 1402 1403 1404
100 points 46 1 1 0
60 points 43 22 48 3
errors 5 12 19 8
not submitted 6 65 32 89

Total of problems solved: 4 problems: 3 students, 3 problems: 7 students, 2 problems: 49 students, 1 problem: 32 students, 0 problems: 9 students

 

Beware of Rolling Pin Programming

Relationship between program length and ease of change

Length of program for automatic vending machine:

Longest: 8541 bytes

Shortest: 2194 bytes

 

Don't Mix Abstractions

What's wrong with the following?

typedef struct {
    int remaining_stock;
    char drink[15];
    int price;
    int money;
} Stock;

Stock stock[5] = {
    {0,  "Cola",         110, 1000},
    {10, "Milk tea",     140,  500},
    {10, "Coffee",       210,  100},
    {10, "Tomato juice", 190,   50},
    {10, "Shimijimi",    120,   10},
};

 

Use of Functions

Handout: 1403variant.c

Design strategy:

 

Word Statistics (Problem 1404)

The example solution has 95 lines

The same program in Ruby is just 15 lines!

 

Ruby について

 

夏休みに勉強したい皆さんのため

 

後期のラボワークのアイディア:

 

Summary of this Course

Check how much you learned in the last 4 months!

  

Future Courses

 

応用課題演習 IV について

最低一問を授業中に完成、もう一問を宿題として完成

締切は7月22日 (日曜日); 質問の締切は 7月22日の14:00

問題は世界学生プログラミング選手権 (又は予選) から

全ての問題に部分点

説明された入力以外の入力 (エラーなど) への対応が不要

入力例は複数あるが、プログラム実行ごと一個のみ

Hints をよく読んで、紙上で計画を検討

プログラムが比較的短いが、発想が必要

 

これからの作業