순환 알고리즘 ICT 파스칼 예제. 순환 알고리즘 파스칼의 순환 유형 및 순환 명령입니다. 주기 선택은 문제 조건의 특성에 따라 달라집니다. 연습만이 최적의 솔루션을 알려줄 것입니다


사이클 유형

매개변수가 있는 루프 ~을 위한

전제조건이 있는 루프

주기 ~하는 동안 전제조건이 있는

주기 반복 - ~까지 사후 조건이 있는


Pascal의 전제 조건이 있는 루프 - WHILE

전제 조건이 있는 루프 연산자는 알 수 없는 횟수만큼 작업을 수행합니다. 일부 논리식이나 그 결과가 거짓으로 판명되면 루프가 종료됩니다.

왜냐하면 충성심 논리식처음에 확인하면 루프 본문이 한 번도 실행되지 않을 수 있습니다.


루프 구조 하는 동안


블록 - 사이클 다이어그램 하는 동안

운영자

상태


과제: 50까지의 모든 짝수의 합을 계산하는 프로그램을 작성하세요.

writeln("합계는 다음과 같습니다: ",sum);


n!을 검색하는 프로그램을 작성하세요.


Pascal에서 후조건이 있는 루프 – REPEAT-UNTIL

이 연산자는 전제 조건이 있는 루프 연산자와 유사하지만 루프의 본문(작업)이 실행된 후 조건을 확인한다는 점에서 다릅니다. 이렇게 하면 이전에 구문 분석된 루프와 달리 적어도 한 번은 실행됩니다.

점에 유의하시기 바랍니다 이 연산자사이클은 사이클 본문에 여러 연산자가 있음을 의미합니다. 즉, 여러 작업이 수행될 수 있으므로 서비스 단어는 시작하다 그리고 필요하지 않습니다.


루프 구조

반복-기한


블록 - 사이클 다이어그램 반복-기한

운영자

상태


과제: 숫자의 첫 번째 숫자와 마지막 숫자의 합을 구하는 프로그램을 작성하세요.

a,b,c,d:정수;

writeln("숫자를 입력하세요");

writeln('첫 번째 숫자와 마지막 숫자의 합은 다음과 같습니다.'c);


숫자가 소수인지 판단하는 프로그램을 작성하세요.


Pascal에서 매개변수를 사용하여 루프 - FOR

주기 을 위한 프로그램이 실행되기 전에 프로그램이 작동할 조건을 설정합니다. 프로그램을 n 번 반복해야 한다고 가정하면 이 루프를 사용하여 쉽게 수행할 수 있습니다.

U사이클 을 위한 일반적으로 문자 i 또는 j로 지정되는 카운터라는 특징적인 특징이 있습니다.

루프에서 카운터를 직접 지정할 수 있습니다(서비스 단어 에게 ), 역순(기능어) 아래로 ).


루프 구조 을 위한

i의 경우:= n1 TO n2 DO

1차 녹음 형태

i의 경우:= n2 DOWNTO n1 DO

2차 녹음 형태


블록 - 사이클 다이어그램 을 위한

나는:= n1 … n2

루프 바디


과제: 주어진 숫자의 n제곱을 계산하는 프로그램을 작성하세요.

a, n, i, pr: 정수;

writeln('숫자를 입력하세요');

writeln('숫자의 거듭제곱을 입력하세요');

i:= 1 ~ n do

writeln('숫자의 거듭제곱은',pr);


숫자 P = (1-1/2)(1-1/3)*…*(1-1/n)을 찾는 프로그램을 작성하세요.

N은 키보드로 입력됩니다.







전제 조건이 있는 루프 반복 횟수를 미리 알 수 없으나 조건으로만 지정되어 있고 조건을 확인한 후에만 수행해야 하는 작업이 있는 경우 전제 조건이 있는 루프를 사용합니다. 논리식은 조건으로 사용되며 루프의 본문은 단순 또는 복합 연산자입니다. 루프 본문을 실행할 때마다 조건을 확인하여 결과가 "true"이면 루프 본문을 다시 실행하고, "false"이면 루프를 종료합니다. 블록 다이어그램에서 파스칼에서는 시작 끝; 조건 루프 본문 아니요 연습 루프 시작 루프 끝 YES While do


사후 조건이 있는 루프 반복 횟수를 미리 알 수 없지만 조건으로만 지정되어 있고 조건을 확인하기 전에 수행해야 하는 작업이 있는 경우 사후 조건이 있는 루프를 사용합니다. 논리식은 조건으로 사용되며 루프의 본문은 단순 또는 복합 연산자입니다. 루프 본문을 실행할 때마다 조건을 확인하여 결과가 "false"이면 루프 본문을 다시 실행하고, "true"이면 루프를 종료합니다. 블록 다이어그램에서 파스칼 반복 조건 루프 본문 예 아니요 연습 범위 ;


매개변수가 있는 루프 반복 횟수를 미리 알고 있는 경우 매개변수가 있는 루프가 사용됩니다. 반복 횟수를 지정하는 변수를 루프 매개변수 또는 제어 변수라고 합니다. 루프 본문을 실행할 때마다 제어 변수가 증가하거나 감소하며, 한계를 초과하거나 미만이 될 때까지 루프가 실행됩니다. Pascal의 블록 다이어그램에서 X는 제어 변수(주기 매개변수)입니다. A는 X의 초기 값이고, B는 X의 최종 값입니다. C는 X를 변경하는 단계입니다. 한 단계로 다음만 사용할 수 있습니다: "to" = 1; “downto” = -1 X:=A,B,C X:=A에서 B까지의 루프 본문 연습은 시작 끝을 수행합니다.


전제 조건이 있는 루프를 사용하는 문제의 예 숫자 3을 주어진 거듭제곱으로 올리기 작업: 언어 알고리즘: 처음에 1과 동일한 숫자 X에 주어진 횟수(H)에 3을 곱합니다. 시작 H BHBH X: =1 X:=X*3 end X 주어진 도를 입력합니다. 초기 값 "B" 도 카운터 B=B+1 3을 곱합니다. 카운터 증가 결과 값 출력 Programm Stepen; 변수 H,B,X:정수; 쓰기 시작(학위?); ReadIn(H); X:=1; B:=1; 반면 B


H X:=1 X:=X*3 end X 주어진 거듭제곱을 입력하세요 초기 값" title="사후 조건이 있는 루프를 사용하는 작업의 예 숫자 3을 주어진 거듭제곱으로 올리기 작업: 언어 알고리즘: 곱하기 숫자 X는 처음에 3에 대해 주어진 횟수(H) 1과 같습니다. start N B>=H X:=1 X:=X*3 end X 주어진 차수를 입력합니다. 초기 값" class="link_thumb"> 8 !}사후 조건이 있는 루프를 사용하는 문제의 예 숫자 3을 주어진 거듭제곱으로 올리기 작업: 언어 알고리즘: 처음에 1과 동일한 숫자 X에 지정된 횟수(H)에 3을 곱합니다. 시작 H B>=H X :=1 X:=X*3 end X 주어진 도수 입력 초기 값 “B” 도 카운터 B=B+1 3 곱하기 카운터 증가 결과 값 출력 Programm Stepen; 변수 H,B,X:정수; 쓰기 시작(학위?); ReadIn(H); X:=1; B:=0; 반복 X:=X*3; B:=B+1; B>=H까지; Writeln(결과,X); 끝. 아니요 예 파스칼 이론 블록 다이어그램 설명 B:=0 =H X:=1 X:=X*3 end X 주어진 도 입력 초기값"> =H X:=1 X:=X*3 end X 주어진 도 입력 초기값 ​​"B" 도 카운터 B=B +1 곱하기 3 카운터 증가 결과 값 출력 Programm Stepen; Var H,B,X:integer; Begin Writeln(Degree?); Readln(H); X:=1; B:=0; 반복 X:= X*3; B: =B+1; B>=H까지; Writeln (결과,X); 끝. 아니오 예 이론 파스칼 블록 다이어그램 설명 B:=0"> =H X:=1 X:=X*3 end X 주어진 차수를 입력하세요 초기 값" title=" 사후 조건이 있는 루프를 사용하는 문제의 예 숫자 3을 주어진 거듭제곱으로 올리기 과제: 언어 알고리즘: 주어진 숫자에 처음에 1과 같은 숫자 X를 곱합니다. 3배(H)만큼 시작 N B>=H X: =1 X:=X*3 끝 X 지정된 차수 입력 초기 값"> title="사후 조건이 있는 루프를 사용하는 문제의 예 숫자 3을 주어진 거듭제곱으로 올리기 작업: 언어 알고리즘: 처음에 1과 동일한 숫자 X에 지정된 횟수(H)에 3을 곱합니다. 시작 H B>=H X :=1 X:=X*3 end X 주어진 차수 입력 초기값"> !}


매개변수가 있는 루프를 사용하는 작업의 예 숫자 3을 주어진 거듭제곱으로 올리기 작업: 언어 알고리즘: 처음에는 1과 동일한 숫자 X에 지정된 횟수(H)에 3을 곱합니다. start H X:=1 X:=X*3 end X 주어진 거듭제곱을 입력합니다. 초기 값 X=1 1에서 N까지의 매개변수 3을 곱한 결과 값의 출력 Programm Stepen; 변수 H,B,X:정수; 쓰기 시작(학위?); ReadIn(H); X:=1; B:=1에서 H까지 Begin X:=X*3; 끝; Writeln(결과,X); 끝. B:=1,H,1 파스칼 이론 블록 다이어그램 설명




과제: 훈련을 시작한 선수는 첫날 10km를 달렸습니다. 매일 그는 전날 기준의 10%씩 일일 기준을 늘렸습니다. 선수가 7일 동안 주행할 총 거리는 얼마입니까? 입력 변수: 출력 변수: S – 전체 경로 d – 일수 Sd – 오늘의 거리


제어에 대한 최종 질문: 1. 전제조건이 있는 루프를 정의하는 파스칼의 연산자는 무엇입니까? 2. 루프의 매개변수에 단계 "1"과 "-1"을 지정하는 방법 3. 사후조건이 있는 루프는 어떤 분기를 따르나요? 4. 조건 매개변수가 있습니까? 5. 루프의 본문이 될 수 있는 것은 무엇입니까? 6. 매개변수가 있는 루프는 언제 사용됩니까?

슬라이드 2

계획

루프의 개념 루프 문 For 루프 While 루프 반복 문헌

슬라이드 3

문학

Kastornov A.F., Evstratova G.A. 파스칼 프로그래밍 언어: 지도 시간대학을 위해. - 체레포베츠: 고등 전문 교육 국가 교육 기관 ChSU, 2010. - 117 p. - 참고문헌: P.114. 파스칼 프로그래밍 언어에 관한 전자 교과서 /http://pascal.guti.ru 계획

슬라이드 4

사이클의 개념

많은 문제를 해결하기 위한 알고리즘은 순환적이며 결과를 달성합니다. 특정 순서작업이 여러 번 수행됩니다. 예를 들어, 지식 통제 ​​프로그램은 질문을 표시하고, 답변을 수락하고, 총점에 답변 표시를 추가한 다음, 피험자가 모든 질문에 답변할 때까지 이러한 작업을 반복합니다. 또는 예를 들어 목록에서 원하는 성을 검색하려면 목록의 첫 번째 성을 확인하여 검색된 것과 일치하는지 확인한 다음 두 번째, 세 번째 등을 확인해야 합니다. 원하는 성을 찾거나 목록의 끝에 도달할 때까지.

슬라이드 5

여러 번 실행되는 명령문 그룹이 있는 알고리즘을 순환이라고 합니다. 반복되는 명령문 그룹을 루프 본문이라고 합니다. Pascal에서는 For, While 및 Repeat 루프 문을 사용하여 루프를 구현할 수 있습니다. 계획

슬라이드 6

For 루프 연산자

For 루프 연산자는 루프 본문을 여러 번 실행해야 하고 반복 횟수가 미리 알려진 경우에 사용됩니다.

슬라이드 7

For 루프 연산자 작성의 첫 번째 형식

For 연산자를 작성하는 첫 번째 형식 일반적인 견해다음과 같습니다: ForCounter:=Start_valuetoFinal_valuedoOperator; 여기서 For, to, do는 기능어입니다. 카운터는 루프가 반복되는 횟수를 결정하는 순서형 변수(일반적으로 정수)입니다. 반복 횟수는 최종_값 – 초기_값+1 공식을 사용하여 계산됩니다. End_Value는 Start_Value보다 크거나 같아야 합니다.

슬라이드 8

루프 본문이 여러 연산자로 구성된 경우 For 연산자 작성의 첫 번째 형식은 다음과 같습니다. ForCounter:=Start_valuetoFinal_valuedo Begin (Loop body) End;

슬라이드 9

첫 번째 글쓰기 형식의 For 루프에 대한 알고리즘을 살펴보겠습니다. 카운터에는 초기_ 값이 할당됩니다. 조건이 확인됩니다. 카운터 값이 End_value보다 큽니까? 조건이 true(예)이면 루프가 종료됩니다. 조건이 거짓(아니요)이면 루프 본문이 실행되고 카운터 값이 1만큼 증가하고 조건이 다시 확인됩니다. 조항 2.

슬라이드 10

For 루프 연산자 작성의 두 번째 형식

일반적으로 For 연산자를 작성하는 두 번째 형식은 다음과 같습니다. For Counter:=Start_valuedowntoFinal_valuedoOperator; 여기서: For, downto, do는 기능어입니다. 카운터는 루프가 반복되는 횟수를 결정하는 순서형 변수(일반적으로 정수)입니다. 반복 횟수는 시작_값–최종_값+1 공식을 사용하여 계산됩니다. Start_Value는 End_Value보다 크거나 같아야 합니다.

슬라이드 11

루프의 본문이 여러 연산자로 구성된 경우 For 연산자를 작성하는 두 번째 형식은 다음과 같습니다. ForCounter:=Start_valuedowntoFinal_valuedo Begin //Loop body End;

슬라이드 12

두 번째 형식의 표기법으로 For 루프의 알고리즘을 고려해 보겠습니다. 카운터에는 초기_ 값이 할당됩니다. 조건이 확인됩니다. 카운터 값이 End_value보다 작습니까? 조건이 true(예)이면 루프가 종료됩니다. 조건이 거짓(아니오)이면 루프 본문이 실행되고 카운터 값이 1 감소하고 조건이 다시 확인됩니다. 조항 2.

슬라이드 13

For 루프 연산자

프로그램Ex1; var i, n:정수; (i – 카운터, n – 필요한 별 개수) s:string;(s – 생성된 별 문자열) start Writeln("별 개수를 입력하세요."); (별 개수 쿼리) Readln(n); (사용자는 별 개수 n개를 입력합니다.) s:=""; (별표 문자열의 형성은 빈 문자열로 시작됩니다.) (문자열은 For 루프를 사용하여 형성됩니다. 카운터의 초기_값은 1이고, 최종_값은 필요한 별 개수 n입니다.) fori:= 1 to n do s :=s+"*"; (루프의 각 단계마다 하나의 별표가 줄에 붙어 있습니다) Writeln(s);(줄이 인쇄됩니다) Readln; 끝. 계획 예: 프로그램은 일련의 별을 생성합니다. 한 줄의 별 개수는 사용자가 결정합니다.

슬라이드 14

while 루프

While 루프는 프로그램 개발 중 루프 본문의 반복 횟수를 알 수 없고 프로그램이 실행되는 동안에만 확인할 수 있는 경우에 사용됩니다. 일반적으로 While 문은 다음과 같이 작성됩니다. While Condition doOperator; while, do는 기능어입니다. 조건은 루프의 연속을 결정하는 논리식입니다.

슬라이드 15

루프의 본문이 여러 명령문으로 구성된 경우 While 루프는 다음과 같이 작성됩니다. WhileCondition do Begin //Loop body End;

슬라이드 16

While 루프의 알고리즘을 살펴보겠습니다. 조건이 확인됩니다. 조건이 true이면 루프 본문이 실행됩니다. 그런 다음 상태를 다시 확인합니다. 조건이 거짓이면 루프가 종료됩니다.

슬라이드 17

따라서 While은 전제 조건이 있는 루프 또는 "While" 루프입니다(조건이 true인 동안 루프의 본문이 실행됨). 루프의 첫 번째 통과에서 조건이 거짓이면 루프 본문은 한 번도 실행되지 않습니다. 조건이 결코 거짓이 되지 않으면 루프는 무한정 반복됩니다. 루핑이 발생하게 됩니다.

슬라이드 18

프로그램Ex2; varAccount: 실제; (계정 크기) 월: 정수; (계좌 개설 후 경과한 개월 수) start Account:=1000; (1000 루블이 계좌에 입금되었습니다.) 월:=0; (계좌가 방금 개설되었습니다) whileAccount

슬라이드 19

반복주기

반복 루프는 While 루프와 마찬가지로 루프의 본문을 여러 번 실행해야 하지만 반복 횟수를 미리 알 수 없는 경우 프로그램에서 사용됩니다. 일반적으로 반복 루프는 다음과 같이 작성됩니다. //Body of the loop Until Condition; 반복, 종료는 기능어입니다. 조건은 루프의 끝을 결정하는 부울 표현식입니다.

슬라이드 20

Repeat 루프의 알고리즘을 생각해 보겠습니다. 예약어 Repeat과 Until 사이에 있는 루프의 본문이 실행됩니다. 상태가 확인됩니다. 조건이 true이면 루프가 종료됩니다. 조건이 거짓이면 루프 본문이 다시 실행됩니다.

슬라이드 21

따라서 Repet은 사후 조건 또는 "이전" 루프가 있는 루프입니다(루프 본문은 조건이 참일 때까지 실행됩니다). 따라서 루프 본문은 적어도 한 번 실행됩니다. 조건이 결코 참이 되지 않으면 루프는 무한대가 됩니다.

슬라이드 22

프로그램Ex3; var 시간:정수; (나누기 시간) 셀: 정수;(셀 수) 시작 시간:=0;(셀은 아직 분할을 시작하지 않았습니다.) 셀:=1;(한 셀) 반복 시간:=시간+3;(다음 3시간 내 ) 셀: =Cells*2;(셀 수는 2배 증가) Cells>24까지; ('셀 개수가 24보다 크다'라는 조건이 true가 될 때까지) Writeln(Time);(결과를 출력) Readln; 끝. 계획 예: 단세포 아메바는 3시간마다 2개의 세포로 분열합니다. 몇 시간 후에 셀 수가 24를 초과하는지 확인합니다.

모든 슬라이드 보기























뒤로 앞으로

주목! 시사슬라이드는 정보 제공의 목적으로만 제공되며 프레젠테이션의 모든 기능을 나타내지 않을 수도 있습니다. 관심이 있으시면 이 일, 정식 버전을 다운로드하세요.

표적:사이클의 알고리즘 구조를 연구하고 실제 문제를 해결하기 위한 모델과 알고리즘을 만듭니다.

수업 중에는

I. 지식 업데이트

  • 알고리즘의 개념과 알고리즘 언어의 기본 구성을 검토합니다.
  • 발전할 수 있다 수학적 모델, 문제 해결을 위한 알고리즘 및 블록 다이어그램.
  • 프로그래밍 언어와 그 목적을 이해하십시오.
  • 프로그래밍 환경에서 작업할 수 있습니다.
  • 프로그램 구조를 알아보세요.
  • 수치적, 기호적 수량을 포함하는 표현식을 작성할 수 있습니다.
  • 운영자의 구조와 업무의 특징을 알아보세요.
  • 선형 및 분기 구조로 프로그램을 작성할 때 연산자를 사용할 수 있습니다.
  • 디버깅을 위해 컴퓨터에서 프로그램을 만들고 실행할 수 있습니다.

II. 수업의 이론 자료

대부분의 실제 문제는 동일한 작업의 반복적인 반복, 즉 하나 이상의 연산자를 재사용해야 합니다. (프레젠테이션)

일련의 숫자를 입력하고 처리해야 한다고 가정해 보겠습니다. 숫자가 5개만 있으면 선형 알고리즘을 만들 수 있습니다. 수천개가 있다면 선형 알고리즘을 작성하는 것은 가능하지만 매우 지루하고 비합리적입니다. 알고리즘 개발 당시 숫자의 개수를 알 수 없다면 선형 알고리즘은 근본적으로 불가능합니다.

다른 예시. 목록에서 사람의 성을 찾으려면 목록의 첫 번째 성을 확인한 다음 두 번째, 세 번째 등을 확인해야 합니다. 원하는 것을 찾거나 목록의 끝에 도달할 때까지. 사이클의 도움으로 이러한 어려움을 극복할 수 있습니다.

사이클은 반복적으로 실행되는 알고리즘(프로그램)의 한 부분입니다. 따라서 순환 알고리즘은 순환을 포함하는 알고리즘입니다.

주기에는 알려진 반복 횟수와 알 수 없는 반복 횟수의 두 가지 유형이 있습니다. 두 경우 모두 알고리즘 개발 단계에서의 반복 횟수를 나타냅니다.

순환 구조에는 3가지 유형이 있습니다.

  • 전제조건이 있는 루프;
  • 사후 조건이 있는 루프;
  • 매개변수가 있는 루프;

그렇지 않으면 이러한 구조를 "While", "Before", "For"와 같은 주기라고 합니다.

알고리즘 구조의 기록 데이터의 그래픽 형식:

전제 조건이 있는 루프(루프라고도 함) 안녕) 형식은 다음과 같습니다.

상태 – 논리적 유형의 표현.

논리식의 값이 즉시 거짓으로 판명되면 루프는 한 번도 실행되지 않을 수 있습니다.

시작과 끝 사이의 일련의 명령은 다음이 될 때까지 실행됩니다. 조건이 참인 동안 .

그에 대한 사이클이 끝나려면, BEGIN과 END 사이의 명령 순서에 따라 포함된 변수의 값이 변경되어야 합니다. 상태.

후조건이 있는 루프(루프라고도 함) ~ 전에) 형식은 다음과 같습니다.

상태 – 논리적 유형의 표현.

메모:

사이의 지시 순서반복하다 그리고~까지 언제나 성취될 것이다 적어도 한 번은;

루프가 완료되려면 다음 사이의 명령문 시퀀스가 ​​필요합니다.반복하다 그리고~까지 조건식에 포함된 변수의 값을 변경했습니다.

반복 명령은 while 명령과 마찬가지로 프로그램에서 일부 반복 계산(루프)을 수행해야 하는 경우에 사용되지만, 반복 횟수는 미리 알 수 없으며 계산 자체의 진행에 따라 결정됩니다.

매개변수가 있는 루프(루프라고도 함) 을 위한)형식은 다음과 같습니다.

i – 사이클 매개변수;
a – 사이클의 초기 값;
b – 사이클의 최종 값;
h – 매개변수 변경 단계.

이 사이클의 구조는 달리 불린다. 나는 몇 번 순환한다.

이 명령은 다음과 같은 방식으로 실행됩니다. 매개 변수 i는 초기 값 a로 설정되고 최종 값 b와 비교하여 최종 값 b보다 작거나 같으면 일련의 명령이 실행됩니다. 매개변수에는 이전 값이 할당되며 다음과 같이 증가됩니다. 시간– 매개변수 변경 단계를 거쳐 최종 값과 다시 비교됩니다. b.

파스칼 프로그래밍 언어에서 매개변수 변경 단계는 1 또는 마이너스 1과 같을 수 있습니다.

시작과 끝 사이에 명령문이 하나만 있으면 연산자 대괄호를 작성할 필요가 없습니다. 이 규칙은 "While" 및 "For"와 같은 루프에 적용됩니다.

이러한 구조를 사용하여 문제를 해결하는 예를 살펴보겠습니다.

예.

다양한 루프 옵션을 사용하여 1부터 5까지 숫자의 곱을 계산합니다.

수학적 모델:

Р= 1·2·3·4·5=120

블록다이어그램 형태로 알고리즘을 구성해보자.

알고리즘의 정확성을 확인하기 위해 추적 테이블을 채워 보겠습니다.

단계 작업 아르 자형 상태 확인
1 P:=1 1
2 나는:=1; 1 1
3 나<=5
P:=P*I
나는:=i+1
1 1 1<=5, да (истина)
4 나<=5
P:=P*I
나는:=i+1
2 2 2<=5, да (истина)
5 나<=5
P:=P*I
나는:=i+1
6 3 3<=5, да (истина)
6 나<=5
P:=P*I
나는:=i+1
24 4 4<=5, да (истина)
7 나<=5
P:=P*I
나는:=i+1
120 5 5<=5, да (истина)
8 나<=5
P:=P*I
나는:=i+1
6<=5, нет (ложь)

조건 확인은 조건 확인 및 분기 중 하나에서 명령 실행 등 여러 단계로 이루어집니다. 따라서 추적 테이블에는 알고리즘 명령이 기록되지 않고 각 단계에서 컴퓨터가 수행하는 개별 작업이 기록됩니다.

1단계: P에는 1의 값이 할당됩니다.

2단계: i에는 값 1이 할당됩니다.

3단계: i가 1과 같을 때 조건 1이 5보다 작거나 같은지 확인합니다. 예, 조건은 참입니다. 즉, P에 1을 곱한 값이 할당되면 2가 됩니다. i의 경우: 1 더하기 1은 2와 같습니다.

4단계: i가 2와 같을 때 조건 2가 5보다 작거나 같은지 확인합니다. 예, 조건은 참입니다. 즉, P에 1의 2배 값이 할당되면 2가 됩니다. i의 경우: 2 더하기 1, 3개가 됩니다.

5단계: i가 3인 경우 조건 3이 5보다 작거나 같은지 확인합니다. 예, 조건이 참입니다. 즉, P에 2를 곱한 값이 3으로 할당되면 6이 됩니다. i의 경우: 3 더하기 1은 4와 같습니다.

6단계: i가 4인 경우 조건 4가 5보다 작거나 같은지 확인합니다. 예, 조건이 참입니다. 즉, P에 6 곱하기 4의 값이 할당되면 24가 됩니다. i의 경우: 4 더하기 1은 5입니다.

7단계: i가 5인 경우 조건 5가 5보다 작거나 같은지 확인합니다. 예, 조건이 참입니다. 즉, P에 24에 5를 곱한 값이 할당되면 120이 됩니다. i의 경우: 5 더하기 1은 6입니다.

8단계: i가 6이면 조건 ​​6이 5보다 작거나 같은지 확인하고, 아니요, 조건이 거짓인지 확인한 다음 루프를 종료하고 결과적으로 마지막 값이 120인 것을 얻습니다. .

프로그램 Pr1;
변수 i: 정수;
시작하다
P:=1;
나는:=1;
나는 동안<=5 do
시작하다
P:=P*i;
나는:=i+1;
끝;
쓰기('P=', P);
끝.

사후 조건이 있는 루프의 경우 블록 다이어그램과 트레이스 테이블을 구축합니다. (슬라이드16)

결과적으로 우리는 일곱 번째 단계에서 120과 같은 마지막 값을 얻습니다.

그리고 매개변수가 있는 사이클의 경우 블록 다이어그램과 트레이스 테이블을 구축합니다. (슬라이드 17)

결과적으로 여섯 번째 단계에서 마지막 값은 120이 됩니다.

일:

1부터 5까지의 숫자 표시:

  1. 직접 주문;
  2. 역순으로.

수학적 모델:

  1. 1 2 3 4 5;
  2. 5 4 3 2 1.

문제를 해결하기 위한 블록 다이어그램과 프로그램은 숫자의 정방향 및 역순으로 제시됩니다.

(슬라이드 21)

고려된 알고리즘을 파스칼 프로그래밍 언어로 작성해 보겠습니다.

(슬라이드 22)

III. 수업 요약

그래서 우리는 다음과 같은 질문을 고려했습니다.

  1. 알고리즘 구조 주기;
  2. 알고리즘 구조의 유형:
    1. 전제조건이 있는 루프;
    2. 사후 조건이 있는 루프;
    3. 매개변수가 있는 루프;
  3. 우리는 이러한 구조를 기록하는 방법을 살펴보았습니다.
  4. 이러한 구조를 활용하여 문제를 해결하는 사례를 살펴보았습니다.