電腦與問題解決 高慧君 台北市立南港高中 2010年4月.

Slides:



Advertisements
Similar presentations
第一單元 建立java 程式.
Advertisements

計算機程式語言實習課.
多樂一甲 謝佩臻 4A3K0009.
C#程序设计案例教程 第3章 程 序 结 构.
JAVA 程式設計 資訊管理系 - 網路組.
File Access 井民全製作.
TQC+ JAVA全國教師研習會 PLWeb 程式設計練習平台 簡介.
C# 程式設計 第一部分 第1-4章 C# 程式設計 - 南華大學資管系.
BLANK overview.
第5章 异常处理 王德俊 上海交通大学继续教育学院.
程式語言的基礎 Input Output Program 世代 程式語言 第一世代 Machine language 第二世代
程式設計概論 1.1 程式設計概論 程式語言的演進 物件導向程式 程式開發流程 1.2 C++開發工具
C#程序设计 c# programming 泛型 C#程序设计课程组.
LINQ 建國科技大學 資管系 饒瑞佶.
Visual C++ introduction
.NET 程式設計入門(使用 C#) 講師:鄧智鴻.
第二章 C# 基础知识.
第四章 在 C# 中实现 OOP 概念.
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
JAVA 程式設計與資料結構 第六章 輸出與輸入.
保留字與識別字.
Google Data API Spreadsheet
Java程式概觀.
1. 檔案File  開新New  檔案Empty File (再另存新檔D:\hello.c)
授课老师:龚涛 信息科学与技术学院 2018年3月 教材: 《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
類別(class) 類別class與物件object.
R教學 安裝RStudio 羅琪老師.
第14章 伺服器檔案、電子郵件處理與Ajax 14-1 資料夾與檔案操作 14-2 文字檔案的讀寫 14-3 電子郵件與附檔處理
第三章 流程控制與例外處理 資訊教育研究室 製作 注意:本投影片僅供上課使用,非經同意,請勿散播或轉載。
安裝JDK 安裝Eclipse Eclipse 中文化
form1 卡拉OK pictureBox1 fish1.bmp pictureBox2 fish2.bmp label1 卡拉OK字幕機
Visual Basic 物件導向程式設計簡介.
例外處理與 物件序列化(Exception Handling and Serialization of Objects)
檔案讀寫與例外處理 (File IO and Exception Handling)
Java 程式設計 講師:FrankLin.
邏輯關係運算 == 等於 & 且 (logical and) ~= 不等於 | 或 (logical or) < 小於
第 十二 章 C# 中的文件处理.
JAVA 程式設計與資料結構 第四章 陣列、字串與數學物件.
第一單元 建立java 程式.
標籤、按鈕、工具列、狀態列 (Labels, Buttons, Tool Strips, and Status Strips)
VS.NET 2003 IDE.
第三章 C# 基础知识.
分支宣告與程式設計 黃聰明 國立臺灣師範大學數學系
JAVA 程式設計 資訊管理系 - 網路組.
打地鼠(陣列版).
期末考.
挑戰C++程式語言 ──第8章 進一步談字元與字串
雙按button1,2,3,4 Method 方法/動作 textBox2.Text textBox1 textBox3.Text 轉為數字 c是數字 int c = int.Parse(textBox1.Text) + …; textBox3.Text = c.ToString();
VS.NET 2003 IDE.
GridView.
GridView操作 (II).
HelloPurr_Extend 靜宜大學資管系 楊子青
挑戰C++程式語言 ──第7章 輸入與輸出.
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
函數應用(二)與自定函數.
陣列與結構.
#include <iostream.h>
選擇性結構 if-else… switch-case 重複性結構 while… do-while… for…
MDI介面建置 建國科技大學 資管系 饒瑞佶.
Activity的生命週期: 播放音樂與影片 靜宜大學資管系 楊子青
網路程式-ASP 授課:方順展.
MenuStrip by Szeto CY Visual C# 2008.
基本資料型態 變數與常數 運算子 基本的資料處理 授課:ANT 日期:2014/03/03.
openFileDialog1.ShowDialog() 對話匣
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
String類別 在C語言中提供兩種支援字串的方式 可以使用傳統以null結尾的字元陣列 使用string類別
C語言程式設計 老師:謝孟諺 助教:楊斯竣.
方法(Method) 函數.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
InputStreamReader Console Scanner
Presentation transcript:

電腦與問題解決 高慧君 台北市立南港高中 2010年4月

教學目標 培養學生演算法思維的技巧(垂直思考)。 培養學生運用電腦解決問題的能力。 授課重點 引導學生如何分析問題 引導學生如何擬定解題策略 引導學生如何(運用電腦)實作解題過程

軟體應用與電腦解題 第三單元:電腦軟體(應用軟體實作) 第五單元:電腦與問題解決(程式設計) 人類運用電腦來解決特定的問題,例如:上網查資料、使用試算表來統計與分析資料等 第五單元:電腦與問題解決(程式設計) 人類設計電腦程式來解決問題,電腦可取代人力,完成資料的自動化處理

為何選Visual C# 免費:Visual C# 2008 Express C#是C Like語言 提供主控台應用程式:易學易用 支持視窗軟體(Windows)的開發

教學內容 傳統主題:基礎程式設計 輸入與輸出 變數與陣列 運算式 流程控制 新興主題:mp3鬧鐘 視窗程式開發 多媒體程式開發

新增專案

操作環境介紹 執行程式 程式碼編輯區

程式進入點 Main()

程式碼 Console.WriteLine() 是一種資料輸出的方法 Console.ReadLine() 是一種資料輸入的方法

執行程式

資料的輸入與輸出

輸出資料到螢幕 Console.Write(); Console.WriteLine(); ※智慧型輸入 在打程式碼過程中,會自動顯示出物件的屬性方法供你選擇,很方便。

由鍵盤輸入資料 Console.Read(); Console.ReadLine();

由文字檔案輸入資料

變數與陣列

常用的資料型態 整數:int(32位元), long(64位元) 小數:float, double 字串:string 布林值:bool 控制項物件:Button, Label

陣列的宣告 語法1 (固定長度) 語法2 (不定長度) 資料型別[ ] 陣列名稱 = new 資料型別[陣列大小]; 例如:int[ ] score = new int[10]; 例如:Button[] Disk = new Button[] {disk1, disk2, disk3} 語法2 (不定長度) ArrayList 陣列名稱 = new ArrayList();

運算子

指定運算

算術運算 加 + 減 - 乘 * 除 / 取餘數 %

關係運算 關係運算子 意義 關係運算式 = = 相等 a = = b ! = 不相等 a ! = b < 小於 a < b < = 小於或等於 a < = b > 大於 a > b > = 大於或等於 a > = b

邏輯運算 邏輯運算子 意義 邏輯運算式 && 且(And) A && B | | 或(Or) A || B ! 非(Not) ! A

遞增及遞減運算 遞增運算(++) 遞減運算(--)

流程控制

循序結構 程式的執行順序,是由程式的第一行敘述開始,由上而下逐步執行到最後一行。

選擇結構 if (條件式) { 敘述區塊1; } else 敘述區塊2;

重複結構 條件式: while (條件式) { 敘述區塊; } 計數式: for (int i=初值; 條件; 增值) { 敘述區塊; }

解題練習

範例1:輸入與輸出 任務)請使用者輸入姓名與年齡。 static void Main(string[] args) { string YourName; int age; Console.Write("請輸入你的名字:"); YourName = Console.ReadLine(); Console.WriteLine("Hello, {0}", YourName); Console.Write("請輸入你的年齡:"); age = Int.Parse(Console.ReadLine()); Console.WriteLine("{0}您好!您是{1}歲", YourName, age); Console.ReadLine(); }

範例2:檔案讀取 任務)讓使用者輸入一個成績,判斷是否及格。 using System.IO; FileInfo file = new FileInfo("c:\\grade.txt"); StreamReader sr = file.OpenText(); int score1, score2, score3; double average; score1 = int.Parse(sr.ReadLine()); score2 = int.Parse(sr.ReadLine()); score3 = int.Parse(sr.ReadLine()); average = (score1 + score2 + score3) / 3.0; Console.WriteLine("平均是{0:f}分", average); Console.Read(); sr.Close();

範例3:選擇結構 任務)讓使用者輸入一個成績,判斷是否及格。 int Score; Console.WriteLine(“您好,請問您的國文成績是幾分?”); Score = int.Parse(Console.ReadLine()); if (Score<60) { Console.WriteLine(“不及格囉~您的國文是{0}分”, Score); } else Console.WriteLine(“恭喜及格~您的國文是{0}分”, Score);

範例4:重複結構 任務)讀入檔案的10個分數。使用for語法。 using System.IO; FileInfo file = new FileInfo("c:\\grade.txt"); StreamReader sr = file.OpenText(); for (int i=1; i<=10; i++) {  Console.WriteLine(sr.ReadLine()); } Console.Read(); sr.Close();

範例5:重複結構 任務)讀入檔案的不定個數的分數。使用while語法。 using System.IO; FileInfo file = new FileInfo("c:\\grade.txt"); StreamReader sr = file.OpenText(); while (sr.Peek() > 0)  Console.WriteLine(sr.ReadLine()); } Console.Read(); sr.Close();

範例6:陣列 任務)讀入檔案中的10個分數。 using System.IO; FileInfo file = new FileInfo("c:\\grade.txt"); StreamReader sr = file.OpenText(); int[ ] score = new int[10]; for (int i=0; i<10; i++) {  score[i]= int.Parse(sr.ReadLine()); } Console.Read(); sr.Close();

範例7:陣列 任務)讀入檔案中的不定個數的分數。 using System.IO; FileInfo file = new FileInfo("c:\\macdonald.txt"); StreamReader sr = file.OpenText(); ArrayList score = new ArrayList(); while (sr.Peek() > 0) { score.Add(sr.ReadLine()); }

視窗軟體實作 mp3鬧鐘

新增視窗應用程式專案

從功能表的「工具─選擇工具箱項目」 選取Windows Media Player選項。

拖曳「一般─Windows Media Player」 控制項到表單中

拖曳「所有Windows Form─DateTimePicker」到表單中 設定「Format:Time」、「ShowUpDown:True」

程式邏輯 設定鬧鐘時間,選取欲播放的MP3歌曲 按下「開始」按鈕,程式會縮小到工作列。 待時間到時,程式會放大並播放MP3歌曲。

事件:調整表單大小 private void Form1_Resize(object sender, EventArgs e) { if (this.WindowState == FormWindowState.Minimized) notifyIcon1.BalloonTipText = "哈哈,看不到我了吧"; notifyIcon1.ShowBalloonTip(3000); this.ShowInTaskbar = false; } // end if }

事件:點擊常駐列圖示 private void notifyIcon1_DoubleClick(object sender, EventArgs e) { this.WindowState = FormWindowState.Normal; this.ShowInTaskbar = true; }

事件:按下選歌按鈕 private void button1_Click(object sender, EventArgs e) { OpenFileDialog myFD = new OpenFileDialog(); myFD.Filter= "聲音檔(*.mp3)|*.mp3"; if (myFD.ShowDialog() == DialogResult.OK) textBox1.Text = myFD.FileName; axWindowsMediaPlayer1.URL = myFD.FileName; axWindowsMediaPlayer1.Ctlcontrols.stop(); } // end if }

事件:按下播放按鈕 private void button2_Click(object sender, EventArgs e) { axWindowsMediaPlayer1.Ctlcontrols.play(); }

事件:按下停播按鈕 private void button3_Click(object sender, EventArgs e) { axWindowsMediaPlayer1.Ctlcontrols.stop(); }

事件:按下開始按鈕 private void button4_Click(object sender, EventArgs e) { timer1.Start(); this.WindowState=FormWindowState.Minimized; this.ShowInTaskbar = false; }

事件:計時器 private void timer1_Tick(object sender, EventArgs e) { if ((dateTimePicker1.Value.Hour == DateTime.Now.Hour) && (dateTimePicker1.Value.Minute == DateTime.Now.Minute) && (dateTimePicker1.Value.Second == DateTime.Now.Second)) if (this.WindowState == FormWindowState.Minimized) this.WindowState = FormWindowState.Normal; this.ShowInTaskbar = true; } notifyIcon1.BalloonTipText = "醒醒!!"; notifyIcon1.ShowBalloonTip(5000); timer1.Stop(); axWindowsMediaPlayer1.Ctlcontrols.play(); // Start the music!