같은 단어를 화면에 표시해야 하는 상황을 상상해 봅시다. "HELLO" ;, 10번. 어떻게 해야 할까요?
명령을 10번 받아 쓸 수 있습니다 Console.WriteLine("HELLO");
하지만 10번이 아니라 20, 30, 40번이 필요하다면? 그리고 200번이면? 이 경우 복사하는 데 시간이 오래 걸립니다. 그리고 사용자가 화면에 정보를 표시할 횟수를 선택해야 한다면?
이 작업에 대처하기 위해 loop라는 특수 구조를 사용할 수 있습니다.
루프는 특정 명령 시퀀스가 여러 번 반복되는 알고리즘 구조입니다.
C# 프로그래밍 언어에는 변수 루프(for)와 조건부 루프(while 및 do...while)의 두 종류의 루프가 있습니다. 엠>)
첫 번째 유형의 사이클부터 시작하겠습니다.
변수 또는 알려진 단계 수(for)가 있는 루프.
어떤 작업의 반복 횟수를 알고 있거나 우리가 알고 있는 데이터를 사용한 반복 횟수. 일부 프로그래밍 언어에는 러시아어로 repeat(횟수)처럼 들리는 명령이 있습니다. 즉, 정확한 반복 횟수를 지정할 수 있습니다.
기계 수준에서 이 주기가 어떻게 작동하는지 보는 것은 흥미롭습니다.
1. 특정 메모리 셀이 메모리에 할당되고 반복 횟수가 기록됩니다.
2. 프로그램이 루프 본문을 한 번 실행하면 이 셀(카운터)의 내용이 1씩 감소합니다.
3. 이 셀이 0이면 루프가 종료됩니다.
C# 프로그래밍 언어에는 이러한 구성이 없고 대신 for 구성이 있습니다.
루프 연산자 for의 일반적인 형식은 다음과 같습니다.
<예비>
for (/*expression1*/; /*expression2*/; /*expression3 */)
{
/*하나의 명령문 또는 명령문 블록 - 루프 본문*/;
}
코드>스팬>스팬>프리>
이 구조를 사용하려면 다음이 필요합니다.
1. 카운터가 될 메모리 셀을 명시적으로 할당하고 초기값을 설정합니다.
2. 루프 본문이 실행될 조건을 작성했습니다.
3. 이 셀의 값이 변경되는 방식을 지정합니다.
실제 부분에서는 "Hello"라는 단어를 10번 표시하고 추가 작업에서 이 구성을 더 자세히 분석할 것입니다.
|
for
루프
for 루프는 반복되는 작업을 단계별로 실행하는 수단입니다. 작동 방식을 자세히 살펴보겠습니다.
일반적으로 for 루프의 일부는 다음 단계를 수행합니다.
<사업부>1. 초기값을 설정합니다.
<사업부>2. 루프를 계속하기 위해 조건 테스트를 수행합니다.
<사업부>3. 루프 작업을 수행합니다.
<사업부>4. 테스트에 사용된 값을 업데이트합니다.
그런 다음 조건이 충족될 때까지 2-4단계를 반복합니다. 조건이 거짓이 되는 즉시 루프가 종료되고 for 루프 문 다음의 문이 실행됩니다.
<사업부>
루프의 일반 형식
for (/* 식 1*/; /* 식 2*/; /* 식 3*/ )
{
/* 하나의 명령문 또는 명령문 블록 - 루프 본문 */;
}
식 1 루프 변수(카운터)의 초기값 설정을 담당하며 세미콜론으로 끝납니다.
예를 들어 :
i=0; // 루프 변수 i 초기 값을 0으로 설정 - i 는 이전에 선언해야 합니다. 루프
int i=0; // i 변수는 루프 헤더에서 바로 선언할 수 있지만, 이 경우 루프 실행
- <코드>; // 순환 변수의 초기화 및 선언이 전혀 없으며 이 경우 순환 전에 선언할 수 있습니다.
표현식 2 - for 루프를 계속하기 위한 조건이며 진실을 테스트합니다. 예를 들어,
i <= 10 // 변수 i 가 10보다 작거나 같으면 루프가 실행됩니다.
조건은 무엇이든 될 수 있습니다.
표현식 3 카운터 변수의 값을 변경합니다. 이 값이 없으면 루프는 무한대로 간주됩니다. 예를 들어,
i++; // 루프 본문이 완료될 때마다 i 가 1씩 증가합니다.
|
각 제목 부분에는 쉼표로 구분된 여러 연산자가 있을 수 있습니다.< /span>
제목 예:
( int i = 0; i < 10; i + + ) { ... } - 표준 제목
( int i = 0, x = 1; i < 10; i += 2, x *= 2 ){ ... } 코드>
// 이 경우 루프 본문 실행 후 변경되는 두 개의 변수를 사용합니다. i 및 x 변수입니다.
// 변수 i는 2씩 증가합니다. - i+=2 - i=i+2 의 줄임말
// 변수 x는 각 단계마다 0.1배씩 증가합니다. x=x*2 - 축약형 х*=2 < /스팬>
|
N회 반복
우리가 지금까지 작성한 for 루프가 있는 모든 프로그램은 범용이라고 할 수 없습니다. 루프 본문의 반복 횟수를 스스로 설정했기 때문입니다. 그러나 반복 횟수가 다른 값에 따라 달라지면 어떻게 될까요? 예를 들어, 사용자 자신이 주기의 반복 횟수를 설정하기를 원합니다.
이 경우 어떻게 해야 합니까? 모든 것이 매우 간단합니다. 숫자 시작 및 종료 값 대신 사용자가 계산하거나 설정할 수 있는 모든 변수를 사용할 수 있습니다.
예를 들어 1 에서 N 까지 숫자의 제곱을 표시해야 합니다. 여기서 변수 N 의 값은 키보드에서 입력됩니다. 사용자.
프로그램은 다음과 같습니다.
#include <iostream>
네임스페이스 표준 사용;
기본()
{
정수 i,N; // i – 루프 변수, N - 제곱을 계산하는 최대 수
cin>> N;
for ( i = 1; i <= N; i ++) // 루프: 1에서 N까지의 모든 i에 대해. 변수 i는 1에서 N까지의 값을 순차적으로 가져옵니다.
{
cout << "정사각형 숫자 "<<i<<" 이다' <<i*i<<"\n";; // 숫자의 제곱을 특정 형식으로 출력하고 새 줄로 이동
}
}
루프에 들어갈 때 i = 1 문이 실행된 다음 변수 i 는 각 단계마다 1씩 증가합니다(i ++ ). i <= N 조건이 참인 동안 루프가 실행됩니다. 루프 본문에서 유일한 출력 문은 지정된 형식에 따라 숫자 자체와 해당 사각형을 화면에 인쇄합니다.
제곱 또는 기타 낮은 지수의 경우 곱셈을 사용하는 것이 좋습니다.
프로그램을 실행하고 변수 N 의 다른 값으로 작업 결과를 확인하십시오.
|