정수 나눗셈과 나머지


"산술식" 모듈에서 우리는 파스칼의 나눗셈 연산의 특징에 대해 이야기했습니다.
정수 데이터(integer 유형)의 경우 세 가지 나눗셈 연산을 사용할 수 있습니다.
- 일반 나눗셈, real 유형의 값 반환
div - 정수 나누기, 나누기 연산의 결과로 소수 부분을 버릴 때
mod - 나눗셈의 나머지 계산

기억하세요!
파스칼에서 정수를 정수로 나눈 결과 – 항상 실수입니다.

예: var a, b, d, e: 정수;   c:진짜; a := 10; b := 3; c := a / b; // 정답: s = 3.33333333333333E+000 d := 모드 b; // 정답: d = 1 e := 사업부 b; // 정답: e = 3 이러한 작업은 프로그래밍에서 매우 중요합니다. 올바르게 이해하고 사용해야 합니다. 연습이 필요합니다!

 

나눗셈의 나머지를 계산하는 작업을 적용해야 하는 필요성은 숫자의 자릿수로 작업할 때 볼 수 있습니다. 

다음 작업을 분석해 보겠습니다.
세 자리 숫자가 주어집니다. 이 숫자의 모든 자릿수를 표시하고 단위와 백을 치환하여 형성된 새 숫자를 얻습니다.

초보자에게 발생하는 가장 어려운 질문은 숫자에서 숫자를 가져오는 방법입니다.
사실, 수학을 기억한다면 모든 것이 아주 간단하게 해결됩니다. 그리고 수학은 모든 숫자가 숫자 항의 합으로 분해될 수 있음을 알려줍니다.
예: 365=3*100+6*10+5*1 . 우리는 각 숫자가 해당 숫자의 배수임을 알 수 있습니다. 
열을 숫자 10으로 나누는 예를 사용하여 숫자의 각 자릿수를 별도의 변수로 가져오는 방법을 보여줍니다. 1, 10, 100 등)
  

수치를 분석해보면  <예비> <코드>e := n 모드 10; // 연산 n mod 10 - 숫자 n의 마지막 자릿수(즉, 숫자 단위)를 계산합니다. 365 mod 10 = 5 d := n div 10 모드 10; // 연산 n div 10 - 숫자를 10배로 줄입니다. serif" >), // 이제 익숙한 연산을 결과에 적용하여 십의 수를 계산할 수 있습니다. 숫자 10으로 나눈 나머지를 계산합니다. 36 mod 10 = 6 s := n div 100; // 백을 얻으려면 숫자 오른쪽에서 두 자리를 버리면 충분합니다. 즉, 10으로 두 번 나누면 됩니다(n div 10 div10 또는 n div 100< /strong>) 365 div 100 = 3
저장된 숫자가 있으면 원하는 숫자에 해당 숫자를 곱하여 숫자를 만들 수 있습니다. 
예를 들어, 아래 줄은 원래 숫자 n에서 백과 일이 재정렬된 새 숫자를 가져옵니다.
1) 이전 값(변수에 저장됨 e)  곱하기 100 
2) 10의 이전 수(변수 d에 저장됨)    10 
3) 우리는 단순히 이전의 백 수에 1을 곱하거나 단순히 변수 s
에 저장된 값을 취할 수 있습니다. 그런 다음 포인트 1, 2 및 3의 값을 추가하고 새 숫자를 얻으십시오.

n1 := e * 100 + d * 10 + s;

전체 프로그램은 다음과 같습니다. <예비> var n, e, d, s: 정수; 시작하다 읽기(엔); e := n 모드 10; d := n div 10 모드 10; s := n div 100; writeln(e, ' ', d, ' ', s, ' ', e * 100 + d * 10 + s); 끝.