PPTOK :您身邊最貼心好用的PPT站!

您當前所在位置:首頁 > PPT課件 > 數學課件PPT → pascal-第9講:集合與記錄PPT

pascal-第9講:集合與記錄PPT

  • 素材大小:129 KB
  • 素材授權:免費下載
  • 更新時間:2018-01-31
  • 素材類別:數學課件PPT
  • 素材格式:.ppt
  • 關鍵提要:pascal-第9講:集合與記錄PPT,集合
  • 素材版本:PowerPoint2003及以上版本(.ppt)
網友評分:
PPT介紹優秀PPT相關PPT精品PPT

這是pascal-第9講:集合與記錄PPT下載,主要介紹了有關集合的一些基本知識;元素與集合的關系;PASCAL語言中的集合;應用舉例;記錄類型的定義及記錄變量的說明;記錄數組;綜合應用;上機練習題,歡迎點擊下載哦。

PPT預覽

pascal-第9講:集合與記錄PPT

PPT內容

集合和記錄 第一節 集合
一:有關集合的一些基本知識
1.集合的概念:
在數學上,把具有某些共同特征的對象構成的一個整體稱為集合。組成集合的對象既具有共同的特性又相互區別。構成集合的各個對象稱為集合的成員或元素。
2.定義集合的方式有幾種,其中最簡單的一種就是枚舉法,即列舉出集合的所有元素。
例如:用集合表示1~20之間的所有素數。
     {2,3,5,7,11,13,17,19}
二:元素與集合的關系:
一個元素可以屬于或不屬于某一集合,這種關系用符號表示。
例如:對于上例的集合有:
      5{2,3,5,7,11,13,17,19}
      9{2,3,5,7,11,13,17,19}
3.集合間的關系:相等關系(或不相等);包含關系(子集與真子集)
4.幾種重要的集合:
① 空集:
沒有任何成員的集合成為空集,記為{ }。
空集是任何集合的子集。
② 冪集:
一個集合的所有子集組成的集合稱為此集合的冪集。
例如:{1,2,3}的冪集是:
      { }、{1}、{2}、{3}、{1,2}、{1,3}、{2,3}、{1,2,3}
      有2n個
5.集合的運算:
① 并:
集合A和集合B的所有成員合并起來(重復者只取一個)組成一個新的集合,這種運算稱為集合的并運算,新集合稱為A和B的并集。用AB表示。     
② 交:
       集合A和集合B共有的成員組成一個新集合,稱為交運算,新集合稱為A和B的交集。
       用AB表示。
③ 差:
       集合A的成員去掉集合B中也包含的成員組成一個新的集合,稱為集合的差運算,新集合稱為集合A與集合B的差集。用A-B表示。
二:PASCAL語言中的集合
1.集合的概念:
一個集合是由同一種有序類型的一組數據元素所組成的,這種類型稱為集合類型的基類型。集合的基類型可以是任何一種順序類型。  
集合類型的定義及集合變量的說明:
2.集合類型的定義格式:
type
標識符=set of 基類型;
判斷以下定義集合類型的對錯:
A.type num=set of 1..10; 
B.type num2=set of integer;
C.type c=set of char;  
D.type colors=(red,blue,yellow,black,while);
c1=set of colors;
變量的說明:直接說明或說明與定義類型同時。
集合的表示:用[]括起來的一些元素。
        如:[red,black,white,blue]
幾點注意:
1.集合的值與方括號內元素出現的次序無關。如:[1,2,3,4]和[1,2,4,3]
2.在集合中,同一元素的重復出現對集合的值沒有影響。如:[1,2,3,1]和[1,2,3]
3.在集合中,若元素的值是連續的,可用子界類型表示。如:[1,2,3,4,8,11],可表示成[1..4,8,11]
4.集合中元素的個數不能超過256個,即基類型的序數值必須在0~255之間,其基類型可以是整型的子界、字符型、布爾型、枚舉類型和子界類型。
5.每個元素均可用基類型所允許的表達式來表示。如:[1+10,4*2,3..6]
變量的取值:
如:type numset=set of 1..3;
var n:numset;
集合n的值有8種可能:[]、[1]、[2]、[3]、[1,2]、[1,3]、[2,3]、[1,2,3]
當一個集合變量允許包含有n個元素時,不考慮有重復元素的情況,則所構成的集合有2n種可能。
3.集合變量的賦值:
如:var ch1,ch2:set of ‘A’..‘Z’;
在程序執行部分,只能通過賦值語句來實現(ch1:=[];ch2:=[‘A’..‘D’];),不能用read(ch1,ch2)。另外要注意,不能寫成(ch2:=‘A’..‘D’;)。
4.集合運算的實現
① 集合之間的并、交、差運算
       +、*、-
       例如:A=[1,3,4],B=[1,2,4]
       A+B=[1,2,3,4],A*B=[1,4],A-B=[3]
       初學者常犯的一個錯誤是沒有注意到運算符兩邊都必須是集合。
       例如:[1,3,5,7]+[9]=[1,3,5,7,9]
② 集合之間的關系運算
       相等或不相等:=、<>
       包含或被包含:>=、<=
       例如:
       [1,3,5]=[1,5]         結果為false
       [1,3]<>[1,5,3]          結果為true
       [1,3,5]<=[1,5,3,7]  結果為true
       []<=[1,5,3]       結果為true
③ in運算
       判斷元素與集合之間的關系
       1 in [1,3,5,7]           結果為true
       1 in [2,4,6,8]      結果為false
④ 符號對照表
5.集合變量的輸出:
  集合的值不能直接以其書寫的形式輸出。為了輸出必須寫一段小程序,這一點類似枚舉類型。
例如:用集合表示1~20之間的所有素數并輸出。
  通過程序已經求出:s:=[2,3,5,7,11,13,17,19];現在要將集合輸出,程序如下:
 write(‘[’);
 for i:=1 to 20 do
       if i in s then write(i:6);
   writeln(‘]’);
三:應用舉例
1.調用隨機函數產生10個互不相同的正整數(0≤x≤40),放入集合中并一起輸出(5個一行)。
var
  a:set of 0..40;
  i,m,n:integer;
begin
  a:=[];n:=0;
  randomize;
  repeat
    m:=random(41);
    if not(m in a)
      then begin a:=a+[m];n:=n+1; end;
  until n=10;
  n:=0;
  for i:=0 to 40 do
    if i in a
then begin
             write(i:4);n:=n+1;
             if (n mod 5)=0 then writeln;
           end;
end.
2.從鍵盤輸入一系列字符,編程分別統計出其中數字字符、字母字符和其他字符的個數,輸入“?”時表示程序結束。
var
  ch:char;
  letter:set of char;
  digit:set of‘0’..‘9’;
  k,m,n:integer;
begin
  letter:= [‘A’..‘Z’,‘a’..‘z’];
 digit:=[‘0’..‘9’];
  k:=0;n:=0;m:=0;
  repeat
    read(ch);
    if ch in letter then k:=k+1
                    else if ch in digit then n:=n+1
                                        else m:=m+1;
  until ch=‘?’;
  writeln(‘letter=’,k:6,‘digit=’,n:6,‘other=’,m:6);
end.
3.用篩法求n(n≤100)以內的所有素數(包括n,輸出時5個一行)。
const n=100;
var sieve,primes:set of 1..n;
    next,j:integer;
begin
  sieve:=[2..n]; primes:=[];next:=2;
  repeat
    while not(next in sieve) do next:=next+1;
    primes:=primes+[next];
    j:=next;
    while j<=n do
      begin
        sieve:=sieve-[j]; j:=j+next;
      end;
  until sieve=[];
j:=0;
  for next:=2 to n do
    if (next in primes) then
      begin
        write(next:4);j:=j+1;
        if (j mod 5)=0 then writeln;
      end;
  writeln;readln;
end.
第二節 記錄
一、記錄的概念:
1.記錄類型的引入:
例如:要處理100名學生的檔案情況,每個學生的數據包含以下幾個數據項:
      學號                   字符串類型
      姓名                   字符串類型
      年齡                   整型的子界
      性別                   枚舉類型
      語文成績               實型
      數學成績               實型
      英語成績               實型
特點:每個學生數據的各個成分是完全不同的數據類型
2.記錄的概念:
記錄是由一些稱為“域”(又叫成員)的數據成分所組成的一種構造類型。其中,每個域可以有不同的類型。
二、記錄類型的定義及記錄變量的說明:
1.記錄類型的定義格式:
    type 類型標識符=record
                      域名1:類型;
                      域名2:類型;
                      ···
                      域名n:類型;
end;
    例如:
    type sexs=(male,female);
student=record
num:string[6];
name:string[20];
age:10..20;
sex:sexs;
score:array[1..3] of real;
end;
    幾點注意:
①在一個記錄類型中,不能有相同的域名;在多個不同的記錄類型中,可以有相同的域名。
②在記錄中,各個域的類型可以是簡單的數據類型,也可以是數組等其他構造類型。
2.變量的說明:先在type區定義類型,再在var區說明變量
或變量說明與定義類型同時。
var date:record
                      year:1980..1999;
                      month:1..12;
                      day:1..31;
         end;
三、記錄成員的引用:
注意:對記錄的操作,除了可以進行整體賦值外,只能對記錄的成員單獨引用;記錄的每個成員只能參加其所屬類型所允許的運算操作。
     例如:var stu1,stu2:student;
stu1記錄中每個成員都有確定的值
             stu2=stu1;
stu2=stu1;
對記錄成員的引用有兩種方式:直接引用和開域引用
1.直接引用方式:
記錄名.域名
如: read(date.year,date.month,date.day);
date.year:=1980;date.month:=10;date.day:=25;
對于域類型又是數組的,引用形式為:
記錄名.數組名[i]
如:for i:=1 to 3 do
      read(stu1.score[i]);
2.開域引用方式:引用同一記錄的不同域
with記錄名 do
語句;
    如:with date do
          read(year,month,date);
with date do
          begin
            year:=1980;
            month:=1;
            date:=23;
          end;
關于開域語句:
① 在with…do使用記錄的成員時,只要簡單寫出域名即可。
② with…do后面的語句可以是一個簡單語句,也可以是一個復合語句。
③ 在開域語句中不能改變已開域的記錄:
如:
with a[i] do
              begin
···
i:=i+1;
                  end;
④ 記錄可以嵌套,但嵌套的層次是有限的。
四、記錄數組:
記錄數組是指一個數組中的每個元素都屬于記錄類型。
如:var stud:array[1..100] of student;
記錄數組的引用形式為:
數組名[i].域名
    如:第10位同學的年齡可以用stud[10].age表示
注意:理解記錄數組和域的基類型是數組類型的記錄這兩個不同的概念,區分兩者的使用場合和具體引用形式,后者的引用形式為:記錄名.數組名[i]。
五、變體記錄:
如:type stu=record
               score:array[1..6] of 0..100;
               age:integer;
               case sex:char of
‘m’:(weight:70..150);
‘f’:(high:real);
             end;
六、綜合應用
1.輸入20位學生的數據記錄(包含學號、姓名、性別、年齡、成績五個域),按成績從高到低排序輸出。
const n=20;
type
  student=record
            no:integer;
            name:string[20];
            sex:char;
            age:10..18;
            score:real;
          end;
var
  stu:array[1..n]of student;
  t:student;
  i,j:integer;
begin
  writeln(‘input’,n,‘no,name,sex,age,score’);
  for i:=1 to n do
    with stu[i] do
begin
readln(no);
readln(name);
readln(sex);
readln(age,score);
      end;
  for i:=1 to n-1 do
    for j:=i+1 to n do
      if stu[i].score<stu[j].score
        then begin
               t:=stu[i];
stu[i]:=stu[j];
stu[j]:=t;
             end;
  for i:=1 to n do
    with stu[i] do writeln(no:8,name:20,sex:2,age:4,score:8:1);
end.
2.任給三條直線的方程,求它們所圍成的三角形的面積。
設:三條直線的方程為:y=a1*x+c1; y=a2*x+c2; y=a3*x+c3;
算法分析:兩條直線之間兩兩不平行,即a1<>a2,a1<>a3,a2<>a3,能圍成三角形。還要注意是否出現交于一點的情況。
type
  point=record
          x,y:real;
        end;
var
  a1,a2,a3,c1,c2,c3,r,m,n,p,s:real;
  a,b,c:point;
function t1(a,b,c:real):boolean;
  begin
    if (a<>b) and (a<>c) and (b<>c) then t1:=true else t1:=false;
  end;
procedure p1(a,b,c,d:real;var r:point);
  begin
    r.x:=(d-b)/(a-c); r.y:=a*r.x+b;
  end;
function distance(h,q:point):real;
  begin
    distance:=sqrt(sqr(h.x-q.x)+sqr(h.y-q.y));
  end;
begin
  writeln(‘input a1,c1,a2,c2,a3,c3:’);
  readln(a1,c1,a2,c2,a3,c3);
  if t1(a1,a2,a3) then
    begin
      p1(a1,c1,a2,c2,a); p1(a1,c1,a3,c3,b); p1(a2,c2,a3,c3,c);
      r:=distance(a,b); m:=distance(a,c); n:=distance(b,c);
      if (r<>0) and (m<>0) and (n<>0) then
        begin
          p:=(r+m+n)/2;
s:=sqrt(p*(p-r)*(p-m)*(p-n));
          writeln(‘area=’,s:0:0);
        end
      else writeln(‘it is a dot’);
    end
  else writeln(‘no solution’);
end.
上機練習題
1.輸入20位學生的數據記錄(包含學號、姓名、性別、年齡、成績五個域),按成績從高到低排序輸出;
2.編程讀入一組日期(1900-2100),輸出第二天的日期。輸入日期的格式是月、日、年,輸出的格式是月/日/年。如:輸入7 31 1994 ,輸出8/1/1994。
3.應用記錄數組類型,編一個程序完成復數的加、減、乘、除運算。
4.任給三條直線的方程,求它們所圍成的三角形的面積。
 

相關PPT

集合中元素特征的認識PPT:這是集合中元素特征的認識PPT下載,主要介紹了課題導入;綜合復習課;獨立自學;引導探究一 知識點梳理;引導探究二;專題例題講解;集合表示方法及集合中元素的特性;集合的關系及運算;函數的性質及應用;函數圖象及應用;目標升華,歡迎點擊下載哦。
高一數學集合的概念及其表示PPT:這是高一數學集合的概念及其表示PPT下載,主要介紹了復習回顧集合;集合的含義及其表示方法;問題情境;建構數學;列舉法;觀察下列對象構成集合用列舉法表示;描述法;Venn圖法;注:何時用列舉法?何時用描述法;數學運用;回顧小結,歡迎點擊下載哦。
§1.1集合與元素PPT:這是§1.1集合與元素PPT下載,主要介紹了集合;初中的回憶;對象確定嗎;集合的定義;試一試;集合與元素的關系;常見數集的表示;集合的分類;試一試;相互切磋;溫故知新;作業,歡迎點擊下載哦。
《pascal-第9講:集合與記錄PPT》是由用戶西岸風于2018-01-31上傳,屬于數學課件PPT。

標簽:

優秀PPT

縮略圖

  • pascal-第9講:集合與記錄PPT

下載地址

  • pascal-第9講:集合與記錄PPT

相關PPT

推薦

顏色分類黑色PPT模板橙色PPT模板紫色PPT模板藍色PPT模板黃色PPT模板紅色PPT模板綠色PPT模板彩色PPT模板黑白PPT模板

行業分類科技PPT模板醫學PPT模板教育PPT模板工業PPT模板金融PPT模板音樂PPT模板汽車房地產互聯網培訓手機

實用必備個人簡歷自我介紹年終總結職業規劃述職報告工作匯報工作總結崗位競聘公司簡介發布會年會論文答辯

PPT推薦語文課件數學課件英語課件美術課件物理課件科學課件化學課件地理課件生物課件主題班會家長會繪本故事

節日PPT新年元旦節農歷春節情人節元宵節三八婦女節愚人節清明節五一勞動節母親節六一兒童節端午節

節日PPT 父親節七夕情人節教師節中秋節國慶節重陽節萬圣節光棍節感恩節平安夜圣誕節紀念日

大乐透胆拖投注金额速查表