資源簡介 (共60張PPT)DAYIN TEMPLATE算法與程序實現小叮當Life was like a box of chocolates, you never know what you’re go to get.目錄CONTENT程序設計語言基本知識Research methods and ideas算法與算法描述content and assumptions020103The conclusion of the study常用算法及其程序實現YOUR ENGLISH TITLE復習回顧1.計算機程序設計語言計算機程序設計語言是指一組用來定義計算機程序的語法規則。第二章 算法基礎2.2計算機程序設計語言2.計算機程序設計語言的發展(1)機器語言:是由“0”和“1”這樣的二進制代碼指令組來表示。每一條機器指令包含兩個主要部分:操作(指出計算機應做什么)和被操作的對象(指出處理的數據或它的地址),計算機能直接識別和執行。(2)匯編語言:使用了一種類似英文縮略詞且帶有助記性符號的語言,來替代一個特定的指令的二進制串,每條指令都和一條機器指令相對應。需要一個專門的語言翻譯器,負責將程序中的每條語句都翻譯成用二進制數表示的機器語言。(3)高級語言:接近于數學語言或人的自然語言,并且不再過度地倚賴某種特定的機器或環境,必須經過翻譯器將其翻譯成機器語言。常用的高級語言有:C、C++、Java、Python等2.2計算機程序與程序設計語言探究活動實踐完成《項目活動記錄表》:“程序與程序設計語言”,比較三代計算機語言的優勢與不足”。第二章 算法基礎語言類型 是否翻譯(編譯) 優勢 不足一 機器語言二 匯編語言三 高級語言2.2計算機程序與程序設計語言探究活動實踐三代計算機語言的優勢與不足第二章 算法基礎語言類型 是否翻譯(編譯) 優勢 不足一 機器語言 否 能被計算機接受和執行,運算效率最高。 程序難以理解,程序設計任務繁重,移植性差。二 匯編語言 是 針對計算機特定硬件而編制的匯編語言程序,比機器語言易于理解,效率仍十分高。 不能被計算機直接運行,移植性不好。三 高級語言 是 接近于數學語言或人的自然語言,易于理解,移植性好。 不能被計算機直接運行。2.2計算機程序與程序設計語言探究活動小組內展開交流活動,用圖示法表述:算法、程序、程序設計、程序設計語言之間的關系,并展評。第二章 算法基礎交流程序設計算法程序程序設計語言算法、程序、程序設計、程序設計語言關系2.2計算機程序與程序設計語言第二章 程序設計基礎2.2 程序設計語言的基礎知識Python的數據類型Python能夠直接處理的常用數據類型有Number(數值)、string(字符串)、List(列表)、Tuple(元組)、Sets(集合)、Dictionary(字典)等。(1) Python支持以下三種不同的數值類型:整型(int):通常被稱為整型或整數,是不帶小數的數。浮點型(float):浮點型由整數部分與小數部分組成。復數(complex):復數由實數部分和虛數部分構成,可以用a+bj或者complex(a, b)表示,復數的實部a和虛部b都是浮點型。第二章 程序設計基礎2.2 程序設計語言的基礎知識(2) String(字符串):字符串是以單引號或雙引號括起來的文本,如‘abc’、"xyz"等。字符串的索引從0開始,-1 為從末尾開始的位置。(3) List(列表):列表是寫在方括號“[ ]”之間、用逗號分隔開的元素列表。例如,list1=['Good', 'Run',1997, 2000]和list2=[1, 2, 3, 4, 5, 6, 7 ]。列表的數據項不需要具有相同的類型。與字符串的索引一樣,列表索引從0開始。Python的數據類型列表是Python中最基本的數據結構,列表中的每個元素都分配一個數字,即它的位置,或索引。列表的索引是從0開始的,也就是說,第一個元素的索引是0,第二個元素的索引是1,以此類推算法YOUR ENGLISH TITLE思考下列變量的數據類型是什么,并說出對應的類型標識符。算法YOUR ENGLISH TITLE第二章 程序設計基礎2.2 程序設計語言的基礎知識保留字:是Python語言中一些已經被賦予特定意義的單詞。開發程序時,不可以把這些保留字作為變量、函數、類、模塊和其他對象的名稱來使用。4.1.1Python的保留字第二章 程序設計基礎2.2 程序設計語言的基礎知識注意:Python所有的保留字是區分大小寫的。例如,if是保留字,但是IF就不屬于保留字。4.1.1Python的保留字第二章 程序設計基礎2.2 程序設計語言的基礎知識1.標識符:可以簡單理解為一個名字,比如每個人都有自己的名字,主要用來標識變量、函數、類、模塊和其他對象的名稱。2. 命名規則:①由字母、數字、下劃線組成,第一個字符不能是數字。②不能使用Python中的保留字,不能包含空格、@、%、和$等特殊字符。③嚴格區分字母大小寫。4.1.1Python的標識符number=0Number=1NUMBER=2第二章 程序設計基礎2.2 程序設計語言的基礎知識1. 常量常量是指在程序運行過程中其值始終不發生變化的量,通常是固定的數值或字符串。例如,45,-30.2001,'Hello',等都是常量。2. 變量變量是指在程序運行過程中其值可以發生變化的量。在程序設計語言中,變量可以用指定的名字來代表,即變量由變量的“標識符”(又稱“名字”)和變量的“內容”(又稱“值”)兩部分組成。舉例:快遞柜、考試座位4.1.1Python的常量和變量第二章 程序設計基礎2.2 程序設計語言的基礎知識在Python程序設計語言中對常量或變量進行運算或處理的符號稱為運算符,參與運算的對象稱為操作數。常用的運算符有算術運算符、邏輯運算符、關系運算符、賦值運算符、成員操作符等。由運算符、操作數連接而成的式子稱為表達式,操作數可以是常量、變量、函數等。“=”為python中的賦值符,其作用是把賦值號右邊表達式的計算結果存儲到賦值號左邊指定的變量中。例如①c=3,就是將3賦值給變量c;②c=a+b,就是將a+b賦值給變量c…Python的運算符與表達式第二章 程序設計基礎2.2 程序設計語言的基礎知識1.算術運算符與算術表達式算術運算符包括:“+”、“-”、“*”、“/”、“%”、“**”和“//”,分別表示加法、減法、乘法、除法、求余運算、冪運算和整除。優先級:** > *,/ > // > % > +,-2. 邏輯運算符與邏輯表達式邏輯運算符包括:and(與)、or(或)、not(非)共三個。優先級:not > and > orPython的運算符與表達式3. 關系運算符與關系表達式判斷數據大小關系的運算符稱為關系運算符,關系運算符有:>(大于)、>=(大于等于)、<(小于)、<=(小于等于)、==(等于)、!=(不等于)。算數運算符>關系運算符>邏輯運算符第二章 程序設計基礎2.2 程序設計語言的基礎知識Python的運算符與表達式1、若a=7,b=2,表達式a>b and not b>=3的值是( )A.True B.Flase C.-1 D.12、Python表達式18/3-2**3*8/4%5//2的值是( )A.4 B.5 C.6 D.73、在Python中表達式37%6的值是( )A.1 B.5 C.4 D.64、若變量m=1,n=2,則邏輯表達式(m+n//2==2)or not (m==n) and (m>-n)的值是( )A、-2 B、2 C、True D、FlaseACAC第二章 程序設計基礎2.2 程序設計語言的基礎知識Python的函數數學里的公式調用:函數名(函數參數),多個參數之間一般以逗號分隔。例如min(x,y)第二章 程序設計基礎2.2程序設計語言的基礎知識字符串:主要用于存儲和表示文本連接字符串復制字符串字符串長度第二章 程序設計基礎2.2程序設計語言的基礎知識Python語言中的常用列表方法將“過期藥品”添加到list2“過期藥水”的后面。編程解決問題的過程YOUR ENGLISH TITLE抽象與建模:將問題描述成一個明確已知條件、約束條件和求解目標的問題,再用數學符號來表示計算模型。設計算法:根據問題需求,構思和制定一系列明確、有效的計算步驟或指令序列,已達到解決問題的目的。編寫程序:選擇合適的計算機程序設計語言按照算法來實現問題求解。調試運行:編寫完成的程序需要進行調試運行,以驗證所編寫的程序是否正確。第二章 程序設計基礎2.2運用順序結構描述問題求解過程的應用第二章 程序設計基礎抽象與建模1.已知筆記本1的單價是3元、筆記本2的單價為5元2.規則:如果兩種筆記本同時購買,價格可以打8折3.求:購買筆記本1和筆記本2各n本,可以優惠多少元?(四舍五入到小數點兩位)2.2運用順序結構描述問題求解過程的應用第二章 程序設計基礎設計算法2.2運用順序結構描述問題求解過程的應用第二章 程序設計基礎順序結構2.2運用順序結構描述問題求解過程的應用第二章 程序設計基礎順序結構輸入計算輸出2.2運用順序結構描述問題求解過程的應用第二章 程序設計基礎如何實現輸入?input()函數格式: input( )作用:等待用戶用鍵盤輸入數據顯示內容input(“請輸入購買紀念品的數量:” ) 請輸入購買紀念品的數量:a=input(“請輸入購買紀念品的數量:” ) 從鍵盤輸入一個字符串,賦值給a常見用法:2.2運用順序結構描述問題求解過程的應用編寫程序第二章 程序設計基礎如何計算?數據類型轉換格式: int(表達式 )作用:把變量轉換成整型常見用法:2.2運用順序結構描述問題求解過程的應用第二章 程序設計基礎如何計算?表達式與賦值語句2.2運用順序結構描述問題求解過程的應用第二章 程序設計基礎如何實現輸出?print()函數格式: print(表達式)作用:輸出表達式的值若b=10 顯示內容print(b ) 10print(“您購買的紀念品共消費:”) 您購買的紀念品共消費:print(“您購買的紀念品共消費:”,b) 您購買的紀念品共消費:10常見用法:2.2運用順序結構描述問題求解過程的應用第二章 程序設計基礎如何實現輸出?print()函數格式化輸出%f 格式化浮點數字,可指定小數點后的精度。%.2f 是指保留小數點后兩位。%y 是指格式化的對象是y。2.2運用順序結構描述問題求解過程的應用第二章 程序設計基礎編寫程序2.2運用順序結構描述問題求解過程的應用調試運行YOUR ENGLISH TITLE輸入:weight、height;計算:BMI=體重(kg)/身高2(m2);判斷:BMI是否在正常范圍內;輸出:BMI的值和根據判斷得到的結果標準 描述18.5-24.9 正常18.5-24.9范圍外 不正常,需注意設計算法,判斷某人BMI值是否在正常范圍。YOUR ENGLISH TITLEYOUR ENGLISH TITLE單分支語句基本格式是,if語句首先判斷條件表達式,結果為真,執行語句塊,和流程圖中條件成立執行操作1對應;如果條件表達式,結果為假,則不執行任何語句,和流程圖中條件不成立則不執行任何操作對應。注意:條件表達式后面要加冒號,語句塊要縮進。YOUR ENGLISH TITLEYOUR ENGLISH TITLE雙分支語句用if……else語句來實現,如果條件表達式結果為真,執行語句塊1,和流程圖中滿足條件執行操作1對應;如果結果為假,執行語句塊2,和流程圖中不滿足條件執行操作2對應。YOUR ENGLISH TITLEYOUR ENGLISH TITLEYOUR ENGLISH TITLE分支嵌套分支YOUR ENGLISH TITLE參考下表,設計算法,根據某人BMI值判斷其身體情況。YOUR ENGLISH TITLEYOUR ENGLISH TITLEYOUR ENGLISH TITLE多分支語句首先判斷if語句的條件表達式,如果結果為真,先執行語句塊1中的語句序列,如果結果為假,則繼續判斷elif的條件表達式,如果條件表達式結果為真,則執行elif對應的語句塊中的語句序列,如果結果為假,則繼續判斷下一個elif語句的條件表達式,以此類推,如果所有的條件表達式結果均為假,則執行else后的語句塊。YOUR ENGLISH TITLEYOUR ENGLISH TITLEYOUR ENGLISH TITLE單分支語句 if 條件表達式:語句塊雙分支語句 if 條件表達式:語句塊1else:語句塊2多分支語句 if 條件表達式1:語句塊1elif 條件表達式2:語句塊2……else:語句塊nYOUR ENGLISH TITLEPython語言中的模塊是一個程序文件,在使用之前,通過“import 模塊名” 的方式導入,例如import math、import turtle ……,導入模塊后,在程序中才可以調用該模塊定義的函數。YOUR ENGLISH TITLEYOUR ENGLISH TITLEYOUR ENGLISH TITLE①重復一定次數的循環,稱為計數循環,如for循環。②一直重復,直到條件不滿足時才結束的循環,稱為條件循環。只要條件為真,這種循環會一直持續下去,如while循環。While循環是通過一個條件來控制是否要繼續反復執行循環體的語句。語法如下:While 條件表達式:循環體循環體是指一組被重復執行的語句。在使用while循環語句時,一定不要忘記添加將循環條件改為Flase的代碼,否則將會產生死循環。循環結構的Python實現YOUR ENGLISH TITLEfor循環是一個依次重復執行的循環。通常適用于枚舉或遍歷序列,以及迭代對象中的元素。語法如下:for 迭代變量 in 對象:循環體迭代變量用于保存讀取出的值;對象為要遍歷或迭代的對象,該對象可以是任何有序的序列對象,如字符串、列表和元組等;循環體為一組被重復執行的語句。序列中是否有項取下一項循環體有沒有YOUR ENGLISH TITLEfor i in range(1,10,2):print(i)string=“不要再說我不能”print(string)for ch in string:print(ch)YOUR ENGLISH TITLErange()函數是python中的內置函數,用于生成一系列連續的整數,多用于for循環語句中,其語法格式如下:range( start,end,step)start:用于指定計數的起始值,可以省略,如果省略從0開始。end:用于指定計數的結束值,(但不包括該值,如range(7),則得到的值為0-6,不包括7),不能省略。當range函數中只有一個參數時,即表示指定計數的結束值。step:用于指定步長,即兩個數之間的間隔,可以省略,如果省略則表示步長為1。range(7):1、2、3、4、5、6。注意:在使用range()函數時,如果只有一個參數,那么表示指定的是end;如果有兩個參數,則表示指定的是start和end;如果三個參數都存在時,最后一個參數才表示步長。日期 周日 周一 周二 周三 周四 周五 周六體重 75.0 74.8 74.6 74.5 74.0 73.7 73.5小閔身高1.73米,本周體重為(單位:千克):請使用循環語句,幫小閔計算出一周七天的BMI指數。 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫