實作輔導 4 日期: 4/21(星期六) 13:10~16:00、13:10~16:00

Slides:



Advertisements
Similar presentations
软件编程基础 一、程序的编辑 Java 源程序是以 Java 为后缀的简单的文本文件,可以用各种 Java 集成开发环境中的源代码编辑器来编写,也可以用其他文 本编辑工具,如 Windows 中的记事本或 DOS 中的 EDIT 软件等。 利用文字编辑器编写下列程序 public class Hello.
Advertisements

面向对象程序设计 、. 第二章 面向对象的分析与设计 学习目标 1 确定系统中的对象 2 确定对象的属性及操作 3 测试对象的有效性 4 区分对象和类 5 了解面向对象的编程和过程化编程之间的区别 6 了解封装的主要好处 7 了解软件开发的主要步骤.
多元評量與 Greenfoot 簡介 南港高中高慧君. 演講大綱 多元評量 高中階段程式設計教學目標與困境 Greenfoot 快速入門 – 袋熊吃樹葉 – 沙灘螃蟹 Greenfoot 臺灣社群介紹 2.
While 迴圈 - 不知重複執行次數
3.2 Java的类 Java 类库的概念 语言规则——程序的书写规范 Java语言 类库——已有的有特定功能的Java程序模块
第一單元 建立java 程式.
第4章 條件判斷與迴圈 Java 2 程式設計入門與應用.
迴圈 迴圈基本觀念 while迴圈 do 迴圈 for迴圈 巢狀迴圈 迴圈設計注意事項 其他控制指令 迴圈與選擇的組合.
Java程序设计教程 第一讲 Java概述.
四資二甲 第三週作業 物件導向程式設計.
C#程序设计案例教程 第3章 程 序 结 构.
第 5 章 流程控制 (一): 條件分支.
第二章 JAVA语言基础.
高中算法与程 序设计 教学建议 ---循环结构部分
第三章 控制结构.
程式設計實作.
Q1: 追蹤程式: 印出結果? 搶答 while (i<=n) { p=p*i; i=i+2; }
本周不辦理實作輔導 happy mother day!
2.1 基本資料型別 2.2 變數 2.3 運算式與運算子 2.4 輸出與輸入資料 2.5 資料型別轉換 2.6 實例
臺北市立大學 資訊科學系(含碩士班) 賴阿福
控制流程 邏輯判斷 迴圈控制.
Class 2 流程控制-選擇敘述與迴圈.
分支 (selection,branch)概念再複習
流程控制結構 4-1 流程控制與UML活動圖 4-2 程式區塊與主控台基本輸入 4-3 條件控制敘述 4-4 迴圈控制敘述 4-5 巢狀迴圈
實作輔導 日期: 3/11 09:10~16:00 地點:臺北市立大學 臺北市中正區愛國西路一號 (中正紀念堂站7號出口)
程序與函數的類別方法 目的:模組化程式設計 方法:由上而下設計 注意事項:(1)獨立性 (2)結合問題 (3)子問題間的溝通.
程式敘述執行順序的轉移 控制與重複、方法 Lecturer:曾學文.
第3章 語法入門 第一個Java程式 文字模式下與程式互動 資料、運算 流程控制.
程式設計實作.
第2章回顾 标识符:不用记,动手 关键字:if, else, switch, for, while, do, break, continue, void, …… 局部变量和成员变量 ①变量作用域 ②内存布局 基本数据类型 ①4类8种 ②互相转换 流程控制语句 ①分支 if……else, switch.
程式撰寫流程.
面向对象程序设计 、.
臺北市立大學 資訊科學系(含碩士班) 賴阿福 CS TEAM
實作輔導 3 日期: 4/14(星期六) 09:10~12:00、13:10~16:00
電腦解題─流程圖簡介 臺北市立大同高中 蔡志敏老師.
3.1 数据类型 3.2 标识符与关键字 3.3 常量 3.4 变量 3.5 运算符与表达式 3.6 一个编程实例
2019/1/17 Java语言程序设计-程序流程 教师:段鹏飞.
异常及处理.
Java程序设计 第2章 基本数据类型及操作.
Ch02-基礎語法.
C/C++/Java 哪些值不是头等程序对象
第一單元 建立java 程式.
* 單元:電腦與問題解決 主題:Java物件導向程式設計-類別與物件 台南縣國立善化高中 蕭嘉民 老師
選擇性結構 if-else… switch-case 重複性結構 while… do-while… for…
Week 2: 程式設計概念與 演算法的效能評估
《JAVA程序设计》 语音答疑 辅导老师:高旻.
實作輔導 2 日期: 3/24(星期六) 09:10~16:00 地點:臺北市立大學 臺北市中正區愛國西路一號 (中正紀念堂站7號出口)
第二章Java基本程序设计.
JAVA 程式設計 資訊管理系 - 網路組.
第二章 Java基本语法 讲师:复凡.
Java程式初體驗大綱 大綱 在學程式之前及本書常用名詞解釋 Hello Java!程式 在Dos下編譯、執行程式
實作輔導 本周5/5(六)安排實作輔導 二時段: 周六 11:00~12:30 周六13:30~15:30.
第二章 Java语法基础.
第二章 Java基本语法 讲师:复凡.
3.3 n元向量的线性关系.
目标 流程控制 字符串处理 C# 的类和对象 C# 访问修饰符 C# 构造函数和析构函数.
龍老師我不會Debug QQ.
第二章 Java基本语法 讲师:复凡.
選擇性結構 if-else… switch-case 重複性結構 while… do-while… for…
第二章 Java基本语法 讲师:复凡.
PPT注意事项: 当前PPT课件文件必须和提供的源代码文件夹“代码”在同一目录中即不要移动文件夹“代码”的默认位置。
迴圈(重複性結構) for while do while.
迴圈(重複性結構) for while do while.
判斷(選擇性敘述) if if else else if 條件運算子.
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
第二章 Java基础语法 北京传智播客教育
輸出執行結果到螢幕上 如果要將執行結果的文字和數值都「輸出」到電腦螢幕時,程式要怎麼寫? class 類別名稱 {
第二章 Java基本语法 讲师:复凡.
方法(Method) 函數.
InputStreamReader Console Scanner
Presentation transcript:

實作輔導 4 日期: 4/21(星期六) 13:10~16:00、13:10~16:00 地點:臺北市立大學 臺北市中正區愛國西路一號 (中正紀念堂站7 號出口) 公誠樓三樓 G316 電腦教室(資訊科學系) 可自行攜帶筆電 目標:協助習題、安裝java 環境、path設定 參加者:請email 給laiahfur@gmail.com 或直接到輔導地點 下次預定:

搶答!!

Q1 : 印出結果? int n = 7, i=0; while (i<n) { System.out.print(i); i++;} System.out.println(", i="+i);

Q2 : 印出結果? n = 7; i=0;//已宣告 while (i<n) { i++; System.out.print(i); } System.out.println(" ,i="+i);

Q3 : 印出結果? n = 7; i=0; while (i<n) { n--; System.out.print(i); } System.out.println(" ,i="+i);

Q4 : 印出結果? int a, b; a=b=11; i=0; while (a>=b) { ++i; a--; }//while System.out.println("i="+i+" a="+a);

Q5 : 印出結果? a=b=13; i=0; while (a>5 && a<9) { ++i; a--; }//while System.out.println("i="+i+" a="+a);

Q6 :Debug Bug在何處? Syntax error? How to handle? Let’s compile & run 請回答!! How to handle? Let’s compile & run

自我練習 int a, b; a=b=11; i=0; while (a>=b) { ++i; a--; }//while System.out.println("i="+i+" a="+a); a=b=13; while (a>5 && a<9) { }//main }//class public class challenge { public static void main(String[] args) { int n = 7, i=0; while (i<n) { System.out.print(i); i++;} System.out.println(", i="+i); n = 7; i=0;//已宣告 i++; } System.out.println(" ,i="+i); n = 7; i=0; n--;

臺北市立大學 資訊科學系(含碩士班) 賴阿福 迴圈: for, do….while 臺北市立大學 資訊科學系(含碩士班) 賴阿福

for迴圈 條件 S1; 初值設定; S3; S1; For(初值設定;條件;遞增或遞減) { s2; } S3; S2; True False 初值設定; 遞增或遞減 S1; For(初值設定;條件;遞增或遞減) { s2; } S3; For loop body

for迴圈 i<=n S1; S2; S3; True False i=1; ++i; S1; For(初值設定;條件;遞增或遞減) { s2; } S3; For loop body n = input.nextInt(); for(i=1;i<=n;++i) { System.out.println(“i="+i); }

for迴圈:印1~n 條件 S1; 初值設定; 不同形式 S3; { s2; s3; } S4; 條件 S1; S2; S3; True False 初值設定; 遞增或遞減 n = input.nextInt(); for(i=1;i<=n;++i) { System.out.println(“i="+i); } //印出多少?? n = input.nextInt(); i=1; for(;i<=n;) { System.out.println(“i="+i); ++i; //i=i+1; } System.out.println(“i="+i); //印出多少?? 不同形式

for迴圈:印n~1 條件 S1; 初值設定; S3; { s2; s3; } S4; 條件 S1; S2; S3; True False 初值設定; 遞增或遞減 n = input.nextInt(); for(i=n;i>=1;--i) { System.out.println(“i="+i); } //印出多少?? n = input.nextInt(); i=n; for(;i>=1;) { System.out.println(“i="+i); --i; //i=i-1; } System.out.println(“i="+i); //印出多少??

Do.. While ();迴圈 S1; do { s2; } while (條件); S3; 條件 S1; S3; S2; True Do while loop body False S3;

Do.. While ();迴圈 印1~10 S1; S1; do { s2; } while (條件); S3; S2; 條件 i=1; do { System.out.println(“i="+i); i++; } while (i<=10) ; System.out.println(“i=”+i); //印出多少?? True False S3;

Do.. While ();迴圈 印1~n S1; S1; do { s2; } while (條件); S3; S2; 條件 n = input.nextInt(); i=1; do { System.out.println(“i="+i); i++; } while (i<=n) ; System.out.println(“i="+i); //印出多少?? True False S3;

Do.. While ();迴圈 印1~10 S1; S1; do { s2; } while (條件); S3; S2; 條件 i=0; do { i++; System.out.println(“i="+i); } while (i<10) ; System.out.println(“i="+i); //印出多少?? True False S3;

Do.. While ();迴圈 印1~n S1; S1; do { s2; } while (條件); S3; S2; 條件 n = input.nextInt(); i=0; do { i++; System.out.println(“i="+i); } while (i<n) ; System.out.println(“i="+i); //印出多少?? True False S3;

比較三種迴圈 Trace all_loop_0.java 印1~n

運用三種迴圈解 S=1+2+….+n

For迴圈與while迴圈對等: S=1+2+….+n n = input.nextInt(); s=0; i=0; while (i<=n) { s=s+i; i++;} System.out.println("1+2+...+"+n+"="+s); n = input.nextInt(); s= 0; For(i=1;i<=n; i++ ) s=s+i; System.out.println("1+2+...+"+n+"="+s); n = input.nextInt(); s= 0; i=1; for(;i<=n;) { s=s+i; i++; } System.out.println("1+2+...+"+n+"="+s); 完成對等 equivalence

For迴圈之不同形式 n = input.nextInt(); s= 0; i=1; for(;i<=n; s=s+i, i++ ) ; System.out.println("1+2+...+"+n+"="+s ); n = input.nextInt(); s= 0; For(i=1;i<=n; i++ )// ++i s=s+i; System.out.println("1+2+...+"+n+"="+s); n = input.nextInt(); s= 0; i=1; for(;i<=n;s=s+i++) ; System.out.println("1+2+...+"+n+"="+s ); n = input.nextInt(); s= 0; i=1; for(;i<=n;) { s=s+i; i++; } System.out.println("1+2+...+"+n+"="+s);

遞增或遞減 i=i+1; ++i; i++; i+=1; s=s+i++; s=s+(++i); i=i-1; --i; i--; 完成對等??

比較遞增: s=s+i; i=i+1; s=s+i; i=1; s=10; s=s+(++i); i=i+1; i=1; s=10; System.out.println(s); System.out.println(i); 11 2 i=i+1; s=s+i; i=1; s=10; s=s+(++i); System.out.println(s); System.out.println(i); 12 2

比較遞減 搶答 搶答 i=1; s=10; s=s+(--i); i=1; s=10; s=s+i--; System.out.println(s); ? 搶答 i=1; s=10; s=s+(--i); System.out.println(s); 搶答 ?

Do.. While ();迴圈 S=1+2+….+n 條件 S1; S3; n = input.nextInt(); i=1; s=0; do { s=s+i; i++; }while (i<=n); System.out.println("1+2+...+"+n+"="+s); True False S3;

Debug :輸入奇數n,求S=1+3+5+.........+n 搶答: 那些錯誤?如何修? 寫出編號及修改結果 import java.util.Scanner; public class loop_debug_1 { public static void main(String[] args) { Scanner input = new Scanner(System.in); int n=7,i=0, s=0; System.out.println("輸入奇數n,求S=1+3+5+.........+n\n"); while (n>=1) { System.out.print("輸入奇數(-1:end):"); n = input.nextInt(); for(i=1;i<=n;++i) s=s+i; System.out.println("1+3+5+...+"+n+"="+s); }//while }//main }//class 搶答: 那些錯誤?如何修? 寫出編號及修改結果

Debug :輸入奇數n,求S=1+3+5+.........+n 處理輸入錯誤 import java.util.Scanner; public class loop_debug_1 { public static void main(String[] args) { Scanner input = new Scanner(System.in); int n=7,i=0, s=0; System.out.println("輸入奇數n,求S=1+3+5+.........+n\n"); while (n>=1) { System.out.print("輸入奇數(-1:end):"); n = input.nextInt(); if (n%2==0) { System.out.println("輸入錯誤,須為奇數!"); continue;} for(i=1;i<=n;++i) s=s+i; System.out.println("1+3+5+...+"+n+"="+s); }//while }//main }//class 處理輸入錯誤

追蹤for loop int n=7; for(i=1;i<=n;++i) { s=s+i; ++i; } System.out.println(“s"="+s); 搶答:

Debug :輸入整數n,求S= 1*2*3*.......*n 搶答: 那些錯誤?如何修? 寫出編號及修改結果 import java.util.Scanner; public class all_loop_1 { public static void main(String[] args) { Scanner input = new Scanner(System.in); int n=7,i=0; int s=0; System.out.println("輸入整數n,求S=1*2*3*.........*n\n"); while (n>=1) { System.out.print("輸入整數(-1:end):"); n = input.nextInt(); for(i=1;i<=n;++i) s=s*i; System.out.println("1*2*3*...*"+n+"="+s); }//while }//main }//class 搶答: 那些錯誤?如何修? 寫出編號及修改結果

第9周習題: 共二題(全部要完成) 9-1: 三種迴圈解s=1*2+3*4+……..+n*(n+1) 輸入n(奇數), 求s=1*2+3*4+5*6+……..+n*(n+1) 輸入錯誤(如4),要求重新輸入 輸入n後,分別以while, do..while, for 等三種迴圈求s 放置於同一.java 使用者可重複輸入,直到輸入<=0或回答N,才結束程式題,答錯不出下一題,直到答對為止; (2)出N題,由user決定題 數,每題10分,答錯之題目須於結束時顯示; 繳交”設計歷程”檔及.java 9-2:三種迴圈解s=1*2+2*3+……..+n*(n+1) 輸入n, 求s=1*2+2*3+3*4+……..+n*(n+1)

Review switch case

改為5等第

改變運算式 (score-50)/10

主題:字元金字塔 - 斜金字塔 利用迴圈印出 「 * 」,逐行增 加印出個數,直到印出7層斜 金字塔。 本題利用到巢狀迴圈的概念 巢狀迴圈為迴圈範圍內又有迴 圈,從外層來看,內層迴圈只 屬與外層迴圈內的動作。因此 外層迴作用,內層迴圈開始運 作到執行結束後,又回到外層 迴圈。 執行結果