특정 실행자 결정을 위한 알고리즘 실행. 컴퓨터 과학 및 정보 기술. 알고리즘을 설명하는 방법

키워드:

  • 연산
  • 알고리즘의 속성
    • 이산성
    • 명쾌함
    • 확실성
    • 유효성
    • 대량 문자
  • 집행자
  • 수행자 특성
    • 해결해야 할 작업 범위
    • 수요일
    • 작동 모드
    • 명령 시스템
  • 알고리즘의 공식 실행

3.1.1. 알고리즘 개념

모든 사람은 일상 생활, 연구 또는 직장에서 다양한 복잡성의 수많은 문제를 해결합니다. 복잡한 문제는 해결책을 찾기 위해 많은 생각을 필요로 합니다. 사람은 생각하지 않고도 간단하고 익숙한 작업을 자동으로 해결합니다. 대부분의 경우 각 문제에 대한 해결 방법은 간단한 단계(단계)로 나눌 수 있습니다. 이러한 많은 작업의 경우(설치 소프트웨어, 캐비닛 조립, 웹 사이트 제작, 기술 장치 운영, 인터넷을 통한 항공권 구매 등)이 이미 개발되어 제공되고 있습니다. 단계별 지침, 일관되게 실행하면 원하는 결과를 얻을 수 있습니다.

실시예 1. "두 숫자의 산술 평균 찾기" 문제는 세 단계로 해결됩니다.

  • 두 개의 숫자를 생각해보십시오.
  • 두 개의 숫자를 염두에 두십시오.
  • 결과 금액을 2로 나눕니다.

실시예 2. "휴대폰 계좌에 돈 입금" 작업은 다음 단계로 구분됩니다.

  • 결제 단말기로 이동하세요.
  • 통신사를 선택하세요.
  • 전화 번호를 입력하세요;
  • 입력한 번호가 올바른지 확인하세요.
  • 지폐인식기에 지폐를 삽입하고;
  • 귀하의 계좌에 돈이 입금되었다는 메시지를 기다리십시오.
  • 수표를 받으세요.

실시예 3. "재미있는 고슴도치 그리기" 문제를 해결하는 단계가 그래픽으로 표시됩니다.

산술 평균을 구하는 것, 전화 계좌에 돈을 입금하는 것, 고슴도치를 그리는 것은 언뜻 보면 완전히 다른 과정입니다. 그러나 여기에는 공통된 특징이 있습니다. 이러한 각 프로세스는 일련의 간단한 지침으로 설명되며 이를 엄격하게 준수하면 필요한 결과를 얻을 수 있습니다. 예제 1-3에 제공된 일련의 명령은 해당 문제를 해결하기 위한 알고리즘입니다. 이러한 알고리즘의 실행자는 사람입니다.

알고리즘은 특정 계산 순서(예 1) 또는 비수학적 성격의 단계(예 2-3)에 대한 설명일 수 있습니다. 하지만 어쨌든 개발되기 전에는 초기 조건(입력 데이터) 및 무엇을 얻을 것인가(결과). 알고리즘은 초기 데이터에서 필요한 결과까지 이어지는 문제 해결의 일련의 단계에 대한 설명이라고 말할 수 있습니다.

일반적으로 알고리즘의 동작 다이어그램은 다음과 같이 표현될 수 있습니다(그림 3.1).

쌀. 3.1.
알고리즘의 일반적인 구성표

알고리즘이란 학교에서 배우는 덧셈, 뺄셈, 곱셈, 나눗셈의 규칙, 문법 규칙, 기하학적 구조의 규칙 등을 말합니다.

애니메이션 "알고리즘 작업", "최대 공약수", "최소 공배수"(http://school-collection.edu.ru/)는 러시아어 및 수학 수업에서 공부한 일부 알고리즘을 기억하는 데 도움이 됩니다.

실시예 4. 일부 알고리즘은 다음과 같이 하나의 문자 체인에서 새 체인을 얻는다는 사실로 이어집니다.

  1. 소스 문자열의 길이(문자 단위)가 계산됩니다.
  2. 원래 체인의 길이가 홀수이면 오른쪽의 원래 체인에 숫자 1이 추가되고 그렇지 않으면 체인이 변경되지 않습니다.
  3. 기호는 쌍으로 교환됩니다(첫 번째는 두 번째, 세 번째는 네 번째, 다섯 번째는 여섯 번째 등).
  4. 결과 체인의 오른쪽에 숫자 2가 추가됩니다.

결과 체인은 알고리즘의 결과입니다.

따라서 초기 체인이 A#B라면 알고리즘의 결과는 체인 #A1B2가 되고, 초기 체인이 ABC@이면 알고리즘의 결과는 체인 BA@B2가 됩니다.

3.1.2. 알고리즘 실행자

각 알고리즘은 특정 수행자를 위해 설계되었습니다.

공식 공연자와 비공식 공연자가 있습니다. 정식 수행자는 항상 같은 명령을 같은 방식으로 수행합니다. 비공식 집행자는 다양한 방법으로 명령을 수행할 수 있습니다.

공식 수행자 세트를 더 자세히 고려해 보겠습니다. 공식 수행자는 매우 다양하지만 각각에 대해 해결해야 할 작업 범위(목적), 환경, 명령 시스템 및 작동 모드와 같은 특성을 지정할 수 있습니다.

해결해야 할 작업 범위. 각 수행자는 기호 체인 구성, 계산 수행, 평면에 그림 구성 등 특정 범위의 문제를 해결하기 위해 만들어졌습니다.

아티스트 환경. 연주자가 작업하는 영역, 설정, 조건을 일반적으로 해당 연주자의 환경이라고 합니다. 모든 알고리즘의 소스 데이터와 결과는 항상 알고리즘이 의도된 수행자의 환경에 속합니다.

집행자 명령 시스템. 수행자에게 별도의 완료된 작업을 수행하도록 지시하는 것을 명령이라고 합니다. 일부 실행기에 의해 실행될 수 있는 모든 명령 세트는 이 실행기(SKI)에 대한 명령 시스템을 형성합니다. 알고리즘은 특정 수행자의 능력, 즉 이를 실행할 수행자의 명령 시스템을 고려하여 컴파일됩니다.

수행자 작동 모드. 대부분의 연주자에게는 직접 제어 모드와 프로그램 제어. 첫 번째 경우, 수행자는 사람의 명령을 기다렸다가 받은 명령을 즉시 실행합니다. 두 번째 경우에는 수행자에게 먼저 완전한 명령(프로그램) 시퀀스가 ​​제공되고 그런 다음 이러한 모든 명령을 다음과 같이 실행합니다. 자동 모드. 많은 수행자들은 명명된 모드 중 하나에서만 작업합니다.

출연자들의 사례를 살펴보자.

실시예 5. 출연자 컴퓨터 화면에 거북이가 움직이며 선 형태의 흔적을 남깁니다. Turtle의 명령 시스템은 두 가지 명령으로 구성됩니다.

    n 앞으로(n은 정수) - 거북이가 이동 방향(머리와 몸이 향하는 방향)으로 n 단계 이동하게 합니다.

    오른쪽 m(여기서 m은 정수) - 거북이의 이동 방향이 시계 방향으로 m도씩 변경됩니다.

녹음 반복 k [<Команда1> <Команда2> ... <Командаn>]는 괄호 안의 명령 순서가 k번 반복된다는 의미입니다.

거북이가 다음 알고리즘을 완성한 후 화면에 어떤 그림이 나타날지 생각해 보세요.

    12번 반복 [오른쪽 4 5 앞으로 20 오른쪽 45]

실시예 6. 실행 명령 시스템 컴퓨터는 숫자가 할당된 두 개의 명령으로 구성됩니다.

    1 - 1 빼기
    2 - 3을 곱합니다

첫 번째는 숫자를 1만큼 감소시키고, 두 번째는 숫자를 3배만큼 증가시킵니다. 알고리즘 작성 시 간결성을 위해 명령 번호만 표시됩니다. 예를 들어, 알고리즘 21212는 다음과 같은 명령 시퀀스를 의미합니다.

    3을 곱하다
    1을 빼다
    3을 곱하다
    1을 빼다
    3을 곱하다

이 알고리즘을 사용하면 숫자 1이 15로 변환됩니다(((1-3-1)-3-1)-3 = 15).

실시예 7. 수행자 로봇은 체크무늬 필드에서 작동하며 인접한 셀 사이에 벽이 있을 수 있습니다. 로봇은 필드의 셀을 따라 이동하며 번호가 할당된 다음 명령을 수행할 수 있습니다.

    1 - 위로
    2 - 아래로
    3 - 오른쪽
    4 - 왼쪽

이러한 각 명령을 수행할 때 로봇은 표시된 방향으로 인접한 셀로 이동합니다. 셀 사이에 이 방향으로 벽이 있으면 로봇이 파괴됩니다. 로봇이 셀 A에서 이동하기 시작하면서 일련의 명령 32323(여기서 숫자는 명령 번호를 나타냄)을 실행하면 어떻게 될까요? 로봇이 벽에 부딪혀도 쓰러지지 않고 A 셀에서 B 셀로 이동하려면 어떤 일련의 명령을 실행해야 합니까?

알고리즘을 개발할 때:

  1. 문제에 등장하는 객체를 식별하고, 객체의 속성, 객체와 객체 간의 관계를 파악합니다. 가능한 조치물건으로;
  2. 초기 데이터와 필요한 결과가 결정됩니다.
  3. 수행자의 작업 순서가 결정되어 초기 데이터에서 결과로의 전환이 보장됩니다.
  4. 일련의 작업은 실행자의 명령 시스템에 포함된 명령을 사용하여 기록됩니다.

알고리즘은 알고리즘 실행자의 활동 모델이라고 말할 수 있습니다.

3.1.3. 알고리즘 속성

모든 지침, 지침의 순서 또는 행동 계획이 알고리즘으로 간주될 수 있는 것은 아닙니다. 각 알고리즘에는 반드시 불연속성, 이해 가능성, 확실성, 효율성 및 대중적 성격이라는 속성이 있습니다.

불연속성이란 문제 해결 경로가 별도의 단계(행동)로 나누어져 있음을 의미합니다. 각 작업에는 해당 명령(명령)이 있습니다. 하나의 명령을 실행한 후에만 실행 프로그램이 다음 명령 실행을 시작할 수 있습니다.

이해 가능성의 속성은 알고리즘이 수행자의 명령 시스템에 포함된 명령, 즉 수행자가 인식할 수 있고 이에 따라 필요한 작업을 수행할 수 있는 명령으로만 구성된다는 것을 의미합니다.

확실성의 특성은 수행자가 의미를 모호하게 해석할 수 있는 명령을 알고리즘에 포함하지 않는다는 것을 의미합니다. 다음 명령을 실행한 후 다음 단계에서 어떤 명령을 실행할지 수행자가 명확하지 않은 상황은 허용되지 않습니다.

효율성 속성은 알고리즘이 유한하고 매우 큰 단계 수 후에 결과를 얻을 수 있어야 함을 의미합니다. 이 경우 결과는 문제의 진술에 의해 결정된 답일 뿐만 아니라 어떤 이유로든 이 문제를 계속 해결하는 것이 불가능하다는 결론으로 ​​간주됩니다.

대량 생산의 특성은 알고리즘이 특정 종류의 문제에서 모든 문제를 해결하기 위해 적용 가능성을 제공해야 함을 의미합니다. 예를 들어, 이차 방정식의 근을 찾는 알고리즘은 모든 이차 방정식에 적용 가능해야 하고, 길을 건너는 알고리즘은 거리의 어느 곳에나 적용 가능해야 하며, 약을 준비하는 알고리즘은 모든 양의 약물을 준비하는 데 적용 가능해야 합니다. 등.

실시예 8. n을 초과하지 않는 모든 소수를 찾는 방법 중 하나를 고려해 보겠습니다. 이 방법을 제안한 고대 그리스 과학자 에라토스테네스의 이름을 따서 '에라토스테네스의 체'라고 합니다.

에라토스테네스의 방법에 따라 주어진 숫자 n보다 크지 않은 모든 소수를 찾으려면 다음 단계를 수행해야 합니다.

  1. 2부터 n까지의 모든 정수를 한 행(2, 3, 4, ..., n)으로 적습니다.
  2. 프레임 2 - 첫 번째 소수.
  3. 발견된 마지막 소수로 나눌 수 있는 모든 숫자를 목록에서 지웁니다.
  4. 표시되지 않은 첫 번째 숫자(표시된 숫자는 줄이 그어진 숫자 또는 프레임에 포함된 숫자입니다)를 찾아 프레임에 넣습니다. 이는 또 다른 소수가 됩니다.
  5. 표시되지 않은 숫자가 더 이상 남지 않을 때까지 3단계와 4단계를 반복합니다.

애니메이션 "에라토스테네스의 체"(http://school-collection.edu.ru/)를 사용하여 소수를 찾는 방법에 대한 더 시각적인 아이디어를 얻을 수 있습니다.

고려된 일련의 동작은 다음 속성을 만족하므로 알고리즘입니다.

  • 이산성 - 소수를 찾는 과정은 여러 단계로 나뉩니다.
  • 이해성 - 각 명령은 이 알고리즘을 수행하는 9학년 학생이 이해할 수 있습니다.
  • 확실성 - 각 명령은 수행자에 의해 명확하게 해석되고 실행됩니다. 명령 실행 순서에 대한 지침이 있습니다.
  • 효율성 - 특정 단계를 거친 후에 결과가 달성됩니다.
  • 대량 문자 - 일련의 동작은 모든 자연 n에 적용 가능합니다.

고려된 알고리즘의 속성을 통해 우리는 알고리즘을 보다 정확하게 정의할 수 있습니다.

3.1.4. 인간 활동의 자동화 가능성

알고리즘을 개발하는 것은 일반적으로 사람에게 깊은 지식, 독창성 및 많은 시간이 필요한 노동 집약적인 작업입니다.

기성 알고리즘을 사용하여 문제를 해결하려면 수행자가 주어진 지침을 엄격하게 따르기만 하면 됩니다.

실시예 9. 3개보다 많은 개체가 포함된 더미에서 두 명의 플레이어가 교대로 각각 하나 또는 두 개의 개체를 가져옵니다. 승자는 다음 이동 시 남은 아이템을 모두 가져갈 수 있는 사람입니다.

첫 번째 플레이어가 확실히 승리할 수 있는 알고리즘을 고려해 보겠습니다.

  1. 더미에 있는 물체의 수가 3의 배수이면 상대방에게 양보하고, 그렇지 않으면 게임을 시작합니다.
  2. 다음 동작에서는 매번 상대방이 가져가는 물건의 수를 3에 더합니다(남은 물건의 수는 3의 배수여야 합니다).

수행자는 자신이하고있는 일의 의미를 탐구하지 않을 수도 있고 왜 이런 식으로 행동하는지 이유를 추론하지 않을 수도 있습니다. 즉, 공식적으로 행동 할 수 있습니다. 공식적으로 행동하는 연기자의 능력은 인간 활동을 자동화할 수 있는 가능성을 제공합니다. 이를 위해:

  1. 문제 해결 과정은 일련의 간단한 작업으로 제시됩니다.
  2. 머신이 생성됩니다( 자동 장치), 알고리즘에 지정된 순서대로 이러한 작업을 수행할 수 있습니다.
  3. 사람이 일상적인 활동에서 벗어나면 알고리즘 실행이 자동 장치에 맡겨집니다.

가장 중요한

수행자 - 어떤 대상(사람, 동물, 기술 장치), 특정 명령 세트를 실행할 수 있습니다. 정식 수행자는 항상 같은 명령을 같은 방식으로 수행합니다. 각 공식 수행자에 대해 해결해야 할 작업 범위, 환경, 명령 시스템 및 작동 모드를 지정할 수 있습니다.

알고리즘은 초기 데이터에서 필요한 결과로 이어지는 특정 수행자를 위한 일련의 작업에 대한 설명으로, 불연속성, 이해 가능성, 확실성, 효율성 및 대중적 특성을 갖습니다.

공식적으로 행동하는 연기자의 능력은 인간 활동을 자동화할 수 있는 가능성을 제공합니다.

질문 및 작업

  1. 알고리즘이란 무엇입니까?
  2. "처방전"이라는 단어의 동의어를 찾으세요.
  3. 학교에서 공부한 알고리즘의 예를 들어보세요.
  4. 누가 알고리즘의 실행자가 될 수 있나요?
  5. 공식 공연자의 예를 들어보세요. 어떤 사람이 공식 수행자로 행동할 때의 예를 들어보세요.
  6. 로봇은 어떤 명령을 수행해야 합니까? a) 매장의 계산원; b) 관리인; c) 경비원?
  7. "컴퓨터" 수행자가 수행하는 작업 범위는 어떻게 결정됩니까?
  8. 수행자로 간주 워드 프로세서, 컴퓨터에서 사용할 수 있습니다. 이 수행자와 그의 환경이 해결하는 작업 범위를 설명하십시오.
  9. 팀, 수행자 명령 시스템이란 무엇입니까?
  10. 알고리즘의 주요 속성을 나열합니다.
  11. 알고리즘에 속성이 없으면 어떤 결과가 발생할 수 있나요? 예를 들다.
  12. 알고리즘을 공식적으로 실행할 수 있는 것이 왜 중요한가요?
  13. 숫자 시퀀스는 다음 알고리즘에 따라 구성됩니다. 시퀀스의 처음 두 숫자는 1과 같습니다. 시퀀스의 각 다음 숫자는 이전 두 숫자의 합과 동일한 것으로 간주됩니다. 이 수열의 처음 10개 항을 적어보세요.
  14. 일부 알고리즘은 다음과 같이 하나의 문자열에서 새 체인을 얻습니다. 먼저, 원래의 문자 체인이 쓰여지고, 원래의 문자 체인이 역순으로 쓰여진 다음, 원래 체인의 마지막 위치에 있던 문자 뒤에 러시아어 알파벳으로 이어지는 문자가 쓰여집니다. 원래 체인의 마지막 위치가 문자 Z이면 문자 A가 다음 문자로 기록됩니다. 결과 체인은 알고리즘의 결과입니다. 예를 들어 원래 문자 체인이 DOM인 경우 알고리즘의 결과는 체인 DOMMODN이 됩니다. 문자열 COM이 제공됩니다. 이 체인에 알고리즘을 적용한 다음 작업 결과에 알고리즘을 다시 적용하면 얻을 수 있는 기호 체인에 몇 개의 문자 O가 있습니까?
  15. 인터넷에서 에라토스테네스 알고리즘의 단계에 대한 애니메이션을 찾아보세요. 에라토스테네스의 알고리즘을 사용하여 50을 초과하지 않는 모든 소수를 찾으십시오.
  16. Turtle의 알고리즘 실행(예 5 참조) 결과는 무엇입니까?
      8회 반복 [오른쪽 45 앞으로 45]
  17. 5개 이하의 명령을 포함하는 계산기 실행기(예 6)에 대한 알고리즘을 작성합니다.
      a) 숫자 3에서 숫자 16을 수신합니다.
      b) 숫자 1로부터 숫자 25를 받습니다.
  18. 실행기 명령 시스템 생성자는 숫자가 할당된 두 개의 명령으로 구성됩니다.
      1 - 2 할당
      2 - 2로 나누기

    첫 번째에 따르면 오른쪽 숫자에 2가 추가되고, 두 번째에 따르면 숫자가 2로 나누어집니다. 수행자가 알고리즘 22212를 실행하면 숫자 8은 어떻게 변환됩니까? 이 실행기의 명령 시스템에 숫자 1이 숫자 16으로 변환되는 알고리즘을 만듭니다(알고리즘에는 5개 이하의 명령이 포함되어야 함).

  19. 알고리즘 3241을 실행한 후 로봇 수행자(예 7)가 다시 돌아오려면 어느 셀에 위치해야 합니까?

| § 2.1. 알고리즘 및 실행자

제14과
§ 2.1. 알고리즘 및 실행자

키워드:

연산
알고리즘의 속성(이산성, 이해성, 확실성, 효율성, 대중성)
집행자
수행자의 특성(해결할 작업 범위, 환경, 작동 모드, 명령 시스템)
알고리즘의 공식 실행

2.1.1. 알고리즘 개념

일상 생활, 공부 또는 직장의 모든 사람은 다양한 복잡성의 수많은 문제를 해결합니다. 복잡한 문제는 해결책을 찾기 위해 많은 생각을 필요로 합니다. 사람은 생각하지 않고도 간단하고 익숙한 작업을 자동으로 해결합니다. 대부분의 경우 각 문제에 대한 해결 방법은 간단한 단계(단계)로 나눌 수 있습니다. 이러한 많은 작업(소프트웨어 설치, 캐비닛 조립, 웹 사이트 생성, 기술 장치 운영, 인터넷을 통한 항공권 구매 등)에 대해 단계별 지침이 이미 개발되어 제공됩니다. 이를 구현하면 원하는 결과를 얻을 수 있습니다.

예시 1."두 숫자의 산술 평균 찾기" 문제는 세 단계로 해결됩니다.

1) 두 개의 숫자를 생각해 보세요.
2) 두 개의 계획된 숫자를 추가합니다.
3) 결과 금액을 2로 나눕니다.

예시 2."휴대폰 계좌에 돈 입금" 작업은 다음 단계로 구분됩니다.

1) 결제 단말기로 이동합니다.
2) 통신 사업자를 선택합니다.
3) 전화번호를 입력하세요.
4) 입력한 번호가 맞는지 확인하세요.
5) 지폐인식기에 지폐를 삽입합니다.
6) 귀하의 계좌에 돈이 입금되었다는 메시지를 기다립니다.
7) 수표를 받으세요.

예시 3."재미있는 고슴도치 그리기" 문제를 해결하는 단계가 그래픽으로 표시됩니다.


산술 평균을 구하는 것, 전화 계좌에 돈을 입금하는 것, 고슴도치를 그리는 것은 언뜻 보면 완전히 다른 과정입니다. 그러나 여기에는 공통된 특징이 있습니다. 이러한 각 프로세스는 일련의 간단한 지침으로 설명되며 이를 엄격하게 준수하면 필요한 결과를 얻을 수 있습니다. 예제 1-3에 제공된 일련의 명령은 해당 문제를 해결하기 위한 알고리즘입니다. 이러한 알고리즘의 실행자는 사람입니다.

알고리즘은 특정 계산 순서(예 1) 또는 비수학적 성격의 단계(예 2-3)에 대한 설명일 수 있습니다. 그러나 어떤 경우에도 개발에 앞서 초기 조건(초기 데이터)과 무엇을 얻을 수 있는지(결과)가 명확하게 정의되어야 합니다. 알고리즘은 초기 데이터에서 필요한 결과까지 이어지는 문제 해결의 일련의 단계에 대한 설명이라고 말할 수 있습니다.

일반적으로 알고리즘의 동작 다이어그램은 다음과 같이 표현될 수 있다(그림 2.1).

쌀. 2.1. 알고리즘의 일반적인 구성표

알고리즘이란 학교에서 공부하는 숫자의 덧셈, 뺄셈, 곱셈, 나눗셈의 규칙, 많은 문법 규칙, 기하학적 구조의 규칙 등을 말합니다.

애니메이션 "알고리즘 작업"(193576), "최대 공약수"(170363), "최소 공배수"(170390)는 러시아어 및 수학 수업에서 공부한 일부 알고리즘을 기억하는 데 도움이 됩니다(http://sc.edu. 루 /).

예시 4.일부 알고리즘은 다음과 같이 하나의 문자 체인에서 새 체인을 얻는다는 사실로 이어집니다.

1. 원래 문자열의 길이(문자 단위)가 계산됩니다.
2. 원래 체인의 길이가 홀수이면 오른쪽의 원래 체인에 숫자 1이 추가되고 그렇지 않으면 체인이 변경되지 않습니다.
3. 기호는 쌍으로 교환됩니다(첫 번째는 두 번째, 세 번째는 네 번째, 다섯 번째는 여섯 번째 등).
4. 결과 체인 ​​오른쪽에 숫자 2가 추가됩니다.

결과 체인은 알고리즘의 결과입니다.

따라서 초기 체인이 A#B라면 알고리즘의 결과는 체인 #A1B2가 되고, 초기 체인이 ABC@이면 알고리즘의 결과는 체인 BA@B2가 됩니다.

2.1.2. 알고리즘 실행자

각 알고리즘은 특정 수행자를 위해 설계되었습니다.

실행자는 특정 명령 집합을 실행할 수 있는 개체(사람, 동물, 기술 장치)입니다.

구별하다 공식 및 비공식 공연자. 정식 수행자는 항상 같은 명령을 같은 방식으로 수행합니다. 비공식 집행자는 다양한 방법으로 명령을 수행할 수 있습니다.

공식 수행자 세트를 더 자세히 고려해 보겠습니다. 공식 수행자는 매우 다양하지만 각각에 대해 해결해야 할 작업 범위(목적), 환경, 명령 시스템 및 작동 모드와 같은 특성을 지정할 수 있습니다.

해결해야 할 작업 범위. 각 수행자는 기호 체인 구성, 계산 수행, 평면에 그림 구성 등 특정 범위의 문제를 해결하기 위해 만들어졌습니다.

아티스트 환경. 연주자가 작업하는 영역, 설정, 조건을 일반적으로 해당 연주자의 환경이라고 합니다. 모든 알고리즘의 소스 데이터와 결과는 항상 알고리즘이 의도된 수행자의 환경에 속합니다.

집행자 명령 시스템. 수행자에게 별도의 완료된 작업을 수행하도록 지시하는 것을 명령이라고 합니다. 일부 실행기에 의해 실행될 수 있는 모든 명령 세트는 이 실행기(SKI)에 대한 명령 시스템을 형성합니다. 알고리즘은 특정 수행자의 능력, 즉 이를 실행할 수행자의 명령 시스템을 고려하여 컴파일됩니다.

수행자 작동 모드. 대부분의 연주자에게는 직접 제어 및 프로그램 제어 모드가 제공됩니다. 첫 번째 경우, 수행자는 사람의 명령을 기다렸다가 받은 명령을 즉시 실행합니다. 두 번째 경우에는 수행자에게 먼저 완전한 명령(프로그램) 시퀀스가 ​​제공되고 그런 다음 이러한 모든 명령을 자동으로 실행합니다. 많은 수행자들은 명명된 모드 중 하나에서만 작업합니다.

출연자들의 사례를 살펴보자.

실시예 5.출연자 컴퓨터 화면에 거북이가 움직이며 선 형태의 흔적을 남깁니다.

Turtle 명령 시스템은 다음 명령으로 구성됩니다.

1. n 앞으로(n은 정수) - 거북이가 이동 방향(머리와 몸이 향하는 방향)으로 n 단계 이동하게 합니다.
2. 오른쪽 m(m은 정수) - 거북이의 이동 방향을 시계 방향으로 t도 변경합니다.
기록 반복 k [<Команда1> <Команда2> ... <Командаn>] 이는 괄호 안의 명령 순서가 k번 반복된다는 의미입니다.

거북이가 다음 알고리즘을 완성한 후 화면에 어떤 그림이 나타날지 생각해 보세요.
12번 반복 [오른쪽 45 앞으로 20 오른쪽 45]

실시예 6.실행 명령 시스템 컴퓨터는 숫자가 할당된 두 개의 명령으로 구성됩니다.

1 - 1 빼기
2 - 3을 곱합니다

첫 번째는 숫자를 1만큼 감소시키고, 두 번째는 숫자를 3배만큼 증가시킵니다. 알고리즘 작성 시 간결성을 위해 명령 번호만 표시됩니다. 예를 들어, 알고리즘 21212는 다음과 같은 명령 시퀀스를 의미합니다.

3을 곱한다
1을 빼다
3을 곱하다
1을 빼다
3을 곱하다

이 알고리즘을 사용하면 숫자 1이 15로 변환됩니다.

((1 3 - 1) 3 - 1) 3 = 15.

실시예 7.수행자 로봇은 체크무늬 필드에서 작동하며 인접한 셀 사이에 벽이 있을 수 있습니다. 로봇은 필드의 셀을 따라 이동하며 번호가 할당된 다음 명령을 수행할 수 있습니다.


1 - 위로
2 - 아래로
3 - 오른쪽
4 - 왼쪽

이러한 각 명령을 수행할 때 로봇은 표시된 방향으로 인접한 셀로 이동합니다. 셀 사이에 이 방향으로 벽이 있으면 로봇이 파괴됩니다.

로봇이 셀 A에서 이동하기 시작하면서 일련의 명령 32323(여기서 숫자는 명령 번호를 나타냄)을 실행하면 어떻게 될까요? 로봇이 벽에 부딪혀도 쓰러지지 않고 A 셀에서 B 셀로 이동하려면 어떤 일련의 명령을 실행해야 합니까?

알고리즘을 개발할 때:

1) 문제에 나타나는 개체가 식별되고, 개체의 속성, 개체 간의 관계 및 개체와 가능한 작업이 설정됩니다.
2) 초기 데이터와 필요한 결과가 결정됩니다.
3) 수행자의 작업 순서가 결정되어 초기 데이터에서 결과로의 전환이 보장됩니다.
4) 일련의 동작은 수행자의 명령 시스템에 포함된 명령을 사용하여 기록됩니다.

알고리즘은 알고리즘 실행자의 활동 모델이라고 말할 수 있습니다.

2.1.3. 알고리즘 속성

모든 지침, 지침의 순서 또는 행동 계획이 알고리즘으로 간주될 수 있는 것은 아닙니다. 각 알고리즘에는 반드시 불연속성, 이해 가능성, 확실성, 효율성 및 대중적 성격이라는 속성이 있습니다.

개별 재산문제 해결 경로가 별도의 단계(조치)로 나누어져 있음을 의미합니다. 각 작업에는 해당 명령(명령)이 있습니다. 하나의 명령을 실행한 후에만 실행 프로그램이 다음 명령 실행을 시작할 수 있습니다.

이해가능성 속성이는 알고리즘이 수행자의 명령 시스템에 포함된 명령, 즉 수행자가 인식할 수 있고 그에 따라 필요한 작업을 수행할 수 있는 명령으로만 구성된다는 것을 의미합니다.

확실성의 속성알고리즘에 수행자가 의미를 모호하게 해석할 수 있는 명령이 포함되어 있지 않음을 의미합니다. 다음 명령을 실행한 후 다음에 어떤 명령을 실행할지 수행자가 명확하지 않은 상황은 허용되지 않습니다. 덕분에 알고리즘의 결과는 초기 데이터 세트에 의해 고유하게 결정됩니다. 알고리즘이 동일한 초기 데이터 세트에 여러 번 적용되면 출력은 항상 동일한 결과를 생성합니다.

성능 속성이는 알고리즘이 유한하고 매우 큰 단계 수 후에 결과를 제공해야 함을 의미합니다. 이 경우 결과는 문제의 진술에 의해 결정된 답일 뿐만 아니라 어떤 이유로든 이 문제를 계속 해결하는 것이 불가능하다는 결론으로 ​​간주됩니다.

대중적 성격의 속성이는 알고리즘이 특정 종류의 문제에서 문제를 해결하기 위해 적용 가능성을 제공해야 함을 의미합니다. 예를 들어, 이차 방정식의 근을 찾는 알고리즘은 모든 이차 방정식에 적용 가능해야 하고, 길을 건너는 알고리즘은 거리의 어느 곳에나 적용 가능해야 하며, 약을 준비하는 알고리즘은 모든 양의 약물을 준비하는 데 적용 가능해야 합니다. 등.

실시예 8.어떤 자연수 n을 초과하지 않는 모든 소수를 찾는 방법 중 하나를 고려해 봅시다. 이 방법을 제안한 고대 그리스 과학자 에라토스테네스(기원전 3세기)의 이름을 따서 '에라토스테네스의 체'라고 불립니다.

에라토스테네스의 방법에 따라 주어진 숫자 n보다 크지 않은 모든 소수를 찾으려면 다음 단계를 수행해야 합니다.

1) 2에서 n까지의 모든 자연수(2, 3, 4, ..., n)를 연속으로 적습니다.
2) 프레임 2 - 첫 번째 소수;
3) 발견된 마지막 소수로 나눌 수 있는 모든 숫자를 목록에서 지웁니다.
4) 표시되지 않은 첫 번째 숫자(표시된 숫자는 줄이 그어진 숫자 또는 프레임에 포함된 숫자임)를 찾아 프레임에 넣습니다. 이는 또 다른 소수가 됩니다.
5) 표시되지 않은 숫자가 더 이상 남지 않을 때까지 3단계와 4단계를 반복합니다.

디지털 교육 자원 통합 컬렉션에 게시된 애니메이션 "에라토스테네스의 체"(180279)를 사용하여 소수를 찾는 방법에 대한 보다 시각적인 아이디어를 얻을 수 있습니다.

고려된 일련의 동작은 다음 속성을 만족하므로 알고리즘입니다.

이산성- 소수를 찾는 과정은 여러 단계로 나누어집니다.
이해 가능성- 각 명령은 이 알고리즘을 수행하는 8학년 학생이 이해할 수 있습니다.
확실성- 각 명령은 수행자에 의해 명확하게 해석되고 실행됩니다. 명령 실행 순서에 대한 지침이 있습니다.
유효성- 특정 단계를 거친 후에 결과가 달성됩니다.
대량 문자- 일련의 동작은 모든 자연수 n에 적용 가능합니다.

고려된 알고리즘의 속성을 통해 우리는 알고리즘을 보다 정확하게 정의할 수 있습니다.

알고리즘은 초기 데이터에서 필요한 결과로 이어지는 특정 수행자를 위한 일련의 작업에 대한 설명으로, 불연속성, 이해 가능성, 확실성, 효율성 및 대중적 특성을 갖습니다.

2.1.4. 인간 활동의 자동화 가능성

알고리즘을 개발하는 것은 일반적으로 사람에게 깊은 지식, 독창성 및 많은 시간이 필요한 노동 집약적인 작업입니다.

기성 알고리즘을 사용하여 문제를 해결하려면 수행자가 주어진 지침을 엄격하게 따르기만 하면 됩니다.

실시예 9. 3개보다 많은 개체가 포함된 더미에서 두 명의 플레이어가 교대로 각각 하나 또는 두 개의 개체를 가져옵니다. 승자는 다음 이동 시 남은 아이템을 모두 가져갈 수 있는 사람입니다.

첫 번째 플레이어가 확실히 승리할 수 있는 알고리즘을 고려해 보겠습니다.

1. 더미에 있는 물건의 수가 3의 배수이면 상대방에게 양보하고, 그렇지 않으면 남은 물건의 수가 3의 배수가 되도록 1~2개의 물건을 가져와 게임을 시작합니다.
2. 다음 수를 할 때마다 상대방이 가져간 물건의 수를 3에 더합니다(남은 물건의 수는 3의 배수여야 합니다).

수행자는 자신이하고있는 일의 의미를 탐구하지 않을 수도 있고 왜 이런 식으로 행동하는지 이유를 추론하지 않을 수도 있습니다. 즉, 공식적으로 행동 할 수 있습니다. 공식적으로 행동하는 연기자의 능력은 인간 활동을 자동화할 수 있는 가능성을 제공합니다. 이를 위해:

1) 문제 해결 과정은 일련의 간단한 작업으로 제시됩니다.
2) 알고리즘에 지정된 순서대로 이러한 작업을 수행할 수 있는 기계(자동 장치)가 생성됩니다.
3) 사람이 일상적인 활동에서 벗어나면 알고리즘 실행이 자동 장치에 위임됩니다.

가장 중요한

집행자- 특정 명령 집합을 실행할 수 있는 개체(사람, 동물, 기술 장치).

정식 수행자는 항상 같은 명령을 같은 방식으로 수행합니다. 각 공식 실행자에 대해 다음을 지정할 수 있습니다. 해결해야 할 작업 범위, 환경, 명령 시스템 및 작동 모드.

연산- 초기 데이터에서 필요한 결과까지 이어지는 특정 수행자를 위한 일련의 작업에 대한 설명으로, 이산성, 이해성, 확실성, 효율성 및 대중적 특성을 갖습니다.

출연자의 연기능력 공식적으로인간 활동을 자동화하는 기능을 제공합니다.

질문 및 작업

1. 해당 단락에 대한 발표자료를 읽어보세요. 전자신청교과서에. 프레젠테이션이 단락 텍스트에 포함된 정보를 보완합니까? 프레젠테이션에 어떤 슬라이드를 추가할 수 있나요?

2. 알고리즘이란 무엇입니까?

3. "처방전"이라는 단어의 동의어를 선택하십시오.

4. 학교에서 공부한 알고리즘의 예를 들어보세요.

5. 누가 알고리즘의 실행자가 될 수 있나요?

6. 공식 공연자의 예를 들어보세요. 어떤 사람이 공식 수행자로 행동할 때의 예를 들어보세요.

7. "컴퓨터" 수행자가 수행하는 작업 범위는 어떻게 결정됩니까?

8. 컴퓨터의 워드 프로세서를 실행자로 생각하십시오. 이 수행자와 그의 환경이 해결하는 작업 범위를 설명하십시오.

9. 팀, 수행자가 명령하는 시스템이란 무엇입니까?

10. 로봇은 다음 기능을 수행해야 하는 명령은 무엇입니까?

a) 상점의 계산원
b) 관리인;
c) 경비원?

11. 알고리즘의 주요 속성을 나열하십시오.

12. 알고리즘에 속성이 없으면 어떤 결과가 발생할 수 있습니까? 예를 들다.

13. 알고리즘을 공식적으로 실행할 수 있다는 것의 중요성은 무엇입니까?

14. 숫자 시퀀스는 다음 알고리즘에 따라 구성됩니다. 시퀀스의 처음 두 숫자는 1과 같습니다. 시퀀스의 각 다음 숫자는 이전 두 숫자의 합과 동일한 것으로 간주됩니다. 이 수열의 처음 10개 항을 적어보세요. 이 순서를 무엇이라고 하는지 알아보세요.

15. 특정 알고리즘은 다음과 같이 하나의 문자열에서 새로운 체인을 얻습니다. 먼저, 원래의 문자 체인이 쓰여지고, 원래의 문자 체인이 역순으로 쓰여진 다음, 원래 체인의 마지막 위치에 있던 문자 뒤에 러시아어 알파벳으로 이어지는 문자가 쓰여집니다. 문자 "I"가 원래 체인의 마지막 위치에 있으면 문자 "A"가 다음 문자로 기록됩니다. 결과 체인은 알고리즘의 결과입니다. 예를 들어 원래 문자 체인이 "HOUSE"인 경우 알고리즘의 결과는 "DOMMODN" 체인이 됩니다. 문자열 "COM"이 제공됩니다. 이 체인에 알고리즘을 적용한 다음 작업 결과에 알고리즘을 다시 적용하면 얻을 문자 체인에 "O"라는 문자가 몇 개 있습니까?

16. 인터넷에서 에라토스테네스 알고리즘의 단계에 대한 애니메이션을 찾아보세요. 에라토스테네스의 알고리즘을 사용하여 50을 초과하지 않는 모든 소수를 찾으십시오.

17. Turtle의 알고리즘 실행(예 5 참조) 결과는 무엇입니까?

18. 5개 이하의 명령을 포함하는 계산기 실행기의 알고리즘을 작성합니다(예 6 참조).

a) 숫자 3에서 숫자 16을 수신합니다.
b) 숫자 1로부터 숫자 25를 받습니다.

19. 수행자 명령 시스템 생성자는 숫자가 할당된 두 개의 명령으로 구성됩니다.

1 - 2 할당
2 - 2로 나누기

첫 번째에 따르면 오른쪽 숫자에 2가 추가되고, 두 번째에 따르면 숫자가 2로 나누어집니다. 수행자가 알고리즘 22212를 실행하면 숫자 8은 어떻게 변환됩니까? 이 실행기의 명령 시스템에 숫자 1이 숫자 16으로 변환되는 알고리즘을 만듭니다(알고리즘에는 5개 이하의 명령이 포함되어야 함).

20. 알고리즘 3241을 실행한 후 로봇 수행자(예 7)가 다시 돌아오려면 어느 셀에 위치해야 합니까?

자유 소프트웨어:

KuMir 시스템 - 교육 세계 세트(웹사이트에서 프로그램 아카이브 다운로드) 또는 KuMir 페이지((http://www.niisi.ru/kumir/)를 방문하십시오.

이 사이트에서 AdBlock을 일시중지해 주세요.

이번 강의에서는 프로그래밍의 개념을 공식화하는 몇 가지 이론적 개념을 살펴보겠습니다. 동시에 우리는 귀하의 훈련의 주요 임무를 보다 정확하게 공식화할 것입니다.

우선, 다음 어린이 장난감을 가지고 조금 놀아 보는 것이 좋습니다. 처음 5개 작업을 완료하고 돌아가서 강의를 계속 읽으세요.

그림 1. code.org의 경기장 스크린샷

모든 일이 잘 풀렸기를 바랍니다. 이제 이 예를 사용하여 몇 가지 기본 개념을 설명합니다.

  • 집행자;
  • 수행자 명령 시스템;
  • 연산.

장난감에서 우리는 빨간 새를 조종합니다. 각 단계의 목표는 새를 돼지에게 데려가는 것입니다. 새는 앞으로 이동, 좌회전, 우회전 등과 같은 특정 명령을 수행할 수 있습니다.

일부 명령을 수행할 수 있는 사람, 기계 또는 장치를 실행자라고 합니다. 이 장난감에서 연기자는 분명히 새입니다. 수행자가 이해하고 실행할 수 있는 명령 집합을 호출합니다. 실행자 명령 시스템.

문제를 해결하기 위해 수행자가 실행해야 하는 일련의 명령을 알고리즘이라고 합니다.

여러 가지 점에 집중할 필요가 있습니다.

실행자는 자신의 명령 시스템에 포함된 명령만 실행할 수 있습니다.

예를 들어, 새 연기자에게 "돼지로 가세요!"라고 쓸 수 없다는 의미입니다. 더 정확하게 적을 수도 있지만 아무 일도 일어나지 않을 것입니다. 왜냐하면... 그러한 명령을 수행하는 사람은 모릅니다.

사용 가능한 명령을 올바른 순서로 적어 둘 수 있습니다. 프로그래머로서 당신의 임무는 크고 복잡한 작업을 수행자가 이해할 수 있는 작은 개별 단계로 나누는 것입니다. '분할 정복'의 원칙이 다시 작동하고 있습니다.

수행자는 알고리즘이 지시하는 대로 정확하게 수행합니다.

새 수행자는 매우 신뢰합니다. 그녀는 당신이 프로그램에 무엇을 쓰는지 질문하지 않습니다. 예를 들어, 새를 돌리는 것을 잊었다면 새는 벽에 부딪힐 것입니다. 그러므로 모든 것을 직접 모니터링해야 합니다.

미래의 프로그램은 의도한 대로 작동하지 않는 경우가 많습니다. 실수는 누구에게나 일어납니다. 여기서는 컴퓨터가 어리석은 것이 아니라 알고리즘에 실수를 했다는 점을 이해하는 것이 중요합니다. 모든 것에 대해 항상 프로그램의 책임을 지는 나쁜 프로그래머처럼 되지 마십시오.

이제 예시적인 예에서 컴퓨터 현실로 넘어가겠습니다. 우리는 컴퓨터용 프로그램을 작성하는데, 이는 우리의 경우 컴퓨터가 수행자임을 의미합니다. 명령 시스템은 C 언어의 표준 기능 및 구성입니다.

프로그래밍의 기초를 가르치는 주요 목표는 무엇입니까? 알고리즘적 사고 능력을 습득하세요. 즉, 특정 수행자(우리의 경우 컴퓨터)에 대한 알고리즘 형태로 다양한 문제에 대한 해결책을 기록하는 방법을 배웁니다.

요약하면 다음과 같습니다.

컴퓨터 프로그램– 프로그래밍 언어로 작성된 문제 해결을 위한 알고리즘입니다.

알고리즘은 문제를 해결하기 위해 수행자가 수행해야 하는 작업 순서에 대한 정확한 설명입니다.

실행자는 특정 명령 집합을 이해하고 실행할 수 있는 사람 또는 일부 장치입니다.

"알고리즘"이라는 단어는 산술 연산 수행 규칙을 공식화한 9세기 아랍 수학자 알콰리즈미의 이름에서 유래되었습니다.

연산– 초기 데이터에서 초기 결과까지 이어지는 최종 명령 시퀀스를 실행하도록 수행자에게 정확하고 이해하기 쉬운 지침입니다.

예: 하루 일과, 요리 순서, 지시 사항 등)

알고리즘 실행자– 알고리즘(사람, 동물, 기계, 컴퓨터)을 실행하는 사람입니다.

집행자 명령 시스템- 수행자가 실행 방법을 알고 있는(이해하는) 전체 명령 세트입니다. 알고리즘은 실행 명령 시스템에 포함된 명령을 통해서만 구축될 수 있습니다.

예를 들어, 수행자 로봇은 앞으로, 뒤로, 왼쪽, 오른쪽, 페인트 명령을 수행할 수 있습니다. 그것은 벽으로 둘러싸여 있고 벽을 포함하는 세포장을 가로질러 이동합니다. 로봇은 벽을 통과할 수 없습니다.

알고리즘 속성:

1.성능(사지)– 유한한 단계를 거쳐 초기 데이터로부터 결과를 얻는 능력. (예를 들어 숫자 2개를 더하는 알고리즘을 실행하면 합이 구해져야 합니다.)

2.대량 문자– 알고리즘을 다양한 소스 데이터에 적용하는 능력. (예를 들어, 덧셈 알고리즘을 알고 있으면 어떤 숫자 2개라도 더할 수 있습니다.)

3.결정론(확실성, 정확성) - 각 명령은 수행자의 동작을 고유하게 결정해야 합니다.

4.이해 가능성– 명령은 컴퓨터가 이해할 수 있는 언어로 작성되어야 합니다.

5.신중함– 알고리즘을 별도의 명령으로 분할합니다.

알고리즘을 작성하는 방법:

1) 자연어 – 인간이 이해할 수 있는 언어로 별도의 명령 형태로 기록합니다.

2) 그래픽 – 기하학적 모양(타원형, 직사각형, 평행사변형, 마름모)을 사용하는 순서도 언어입니다.

3) 알고리즘 언어 - 프로그래밍을 가르치기 위한 알고리즘을 작성하는 언어입니다. 명령은 러시아어로 작성되었습니다.

4) 프로그래밍 언어 - 프로그램. 프로그래밍 언어: Basic, Pascal, C, Visual Basic.

B7.기본 알고리즘 구조: 다음, 분기, 루프; 블록 다이어그램의 이미지. 작업을 하위 작업으로 분류합니다. 보조 알고리즘.

알고리즘 디자인.알고리즘 내에서는 내부 구조(알고리즘 구성)가 다른 단계 그룹을 구별할 수 있습니다.

기본 알고리즘 구성단계(또는 후속)의 선형 시퀀스, 분기 및 루프입니다.

명령이 순차적으로 실행되는 알고리즘을 호출합니다. 선형 알고리즘.

블록다이어그램 언어에서 선형 알고리즘은 다음과 같습니다:

: 컴퓨터를 켜는 알고리즘:

  1. 컴퓨터 전원을 켜십시오. (버튼을 누르십시오. 서지 보호기).
  2. 모니터와 프린터를 켜십시오.
  3. 딸깍 하는 소리 전원 버튼~에 시스템 장치.
  4. 로딩을 기다리세요 운영 체제그리고 데스크탑의 모습.
  5. 일하러 가다.

이 알고리즘에서는 모든 작업이 순차적으로 수행되어야 합니다. 전원이나 모니터가 켜지지 않으면 작업을 시작할 수 없습니다.

알고리즘 구조 속으로 " 분기» 포함됨 상태, 조건의 진실 여부에 따라 하나 또는 다른 명령 시퀀스(시리즈)가 실행됩니다.

조건은 참이거나 거짓일 수 있는 진술입니다. 조건에서는 두 개의 숫자, 두 개의 문자열, 두 개의 변수 또는 문자열 표현식을 비교 연산자(>,<, =, >=, <=).

알고리즘 언어로 기록: IfCondition Then 시리즈 1(If 상태사실, 그렇다면 사실 에피소드 1, 만약에 상태 false이면 아무 것도 실행되지 않습니다.) 예: 오늘이 일요일이면 학교에 갈 필요가 없습니다. 완전한 형태의 분기

알고리즘 구조에서 주기 반복적으로 실행되는 일련의 명령을 포함합니다. 이 일련의 명령을 호출합니다. 루프의 본체.

순환 알고리즘 구조에는 두 가지 유형이 있습니다.

  • 반대 루프, 루프의 본문이 특정 횟수만큼 실행됩니다.
  • 조건부 루프, 조건이 만족되는 한 루프 본문이 실행됩니다.

카운터가 있는 루프– 루프 본문을 몇 번 반복해야 하는지 미리 알고 있을 때 사용됩니다.

알고리즘과 그 속성.

연산- 초기 데이터에서 원하는 결과로 이어지는 최종 명령 시퀀스를 실행하도록 수행자에게 명확하고 정확한 지침을 제공합니다.

알고리즘 실행자- 이것은 알고리즘이 제어하도록 설계된 객체 또는 주제입니다.

수행자의 명령 시스템(SCS)은 수행자가 실행할 수 있는 전체 명령 세트입니다.

알고리즘의 속성: 이해 가능성, 정확성, 유한성.

명쾌함:알고리즘은 실행기의 SKI에 포함된 명령만으로 구성됩니다.

정확성:제어 알고리즘의 각 명령은 수행자의 명확한 동작을 결정합니다.

완성도(또는 성능):알고리즘을 실행하면 유한한 수의 단계로 결과가 나와야 합니다.

수행자 환경: 수행자가 작업하는 환경입니다.

수행자의 특정 동작 순서는 항상 일부에 적용됩니다. 소스 데이터. 예를 들어 요리법에 따라 요리를 준비하려면 적절한 제품(데이터)이 필요합니다. 수학 문제(2차 방정식 풀기)를 풀려면 초기 수치 데이터(방정식 계수)가 필요합니다.

전체 데이터 세트:작업을 해결하는 데 필요하고 충분한 데이터 세트(원하는 결과 얻기)

알고리즘 작성 방법.

가장 일반적인 방법은 다음과 같습니다. 그래픽, 언어 적그리고 형태로 컴퓨터 프로그램.

그래픽 방식특정 그래픽 기호(블록)를 사용합니다.

블록 이름 블록 지정 콘텐츠
프로세스
데이터 처리
의사결정
특정 조건의 참, 거짓을 확인하는 논리 블록
데이터 전송
정보의 입력 또는 출력
시작 멈춤
프로그램 시작 또는 종료
가감
순환 프로세스 구성 - 사이클 헤더

블록 모음은 소위를 형성합니다. 알고리즘 흐름도.

구두 녹음알고리즘은 주로 인간 수행자에게 초점을 맞추고 다양한 지침 기록을 허용하지만 기록은 상당히 정확해야 합니다.

알고리즘을 형식으로 작성할 때 프로그램들컴퓨터는 프로그래밍 언어, 즉 사용 지침과 규칙을 인코딩하는 시스템을 사용합니다. 프로그램 형태로 알고리즘을 작성하는 것은 높은 수준의 형식화를 특징으로 합니다.

수량 작업을 위한 알고리즘. 기본 알고리즘 구조.

수량은 이름, 값 및 유형을 갖는 단일 정보 개체입니다.

수량 작업을 위한 알고리즘 수행자는 사람일 수도 있고 컴퓨터와 같은 특수 기술 장치일 수도 있습니다. 이런 연주자는 반드시 메모리수량을 저장하기 위한 것입니다.

수량은 일정하거나 가변적일 수 있습니다.

상수값(일정)알고리즘 실행 중에는 값이 변경되지 않습니다. 상수는 고유한 값(숫자 10, 3.5) 또는 기호 이름(숫자 )으로 표시될 수 있습니다.

변수값알고리즘 실행 중에 값을 변경할 수 있습니다. 변수는 항상 기호 이름(X, A, R5 등)으로 지정됩니다.

수량 유형값이 취할 수 있는 값 세트와 해당 값으로 수행할 수 있는 작업 세트를 정의합니다. 수량의 기본 유형: 정수, 실수, 기호, 논리.

표현- 수량에 대한 일련의 작업을 정의하는 기록입니다. 표현식에는 상수, 변수, 연산 기호 및 함수가 포함될 수 있습니다. 예:

A + B; 2*X-Y; K + L - 죄(X)

할당 명령은 변수가 새 값을 수신하도록 하는 실행기의 명령입니다. 명령 형식:

변수 이름>:=표현식>

할당 명령은 다음 순서로 실행됩니다. 먼저 계산된 다음 결과 값이 변수에 할당됩니다.

예.변수 A의 값은 6입니다. A:= 2 * A - 1 명령을 실행한 후 변수 A는 어떤 값을 받게 될까요?
해결책. A=6으로 표현식 2*A - 1을 계산하면 숫자 11이 됩니다. 이는 변수 A의 새 값이 11이 됨을 의미합니다.

다음에서는 다음과 같이 가정합니다. 수량 작업을 위한 알고리즘 수행자는 컴퓨터입니다.. 모든 알고리즘은 명령으로 구축 가능 과제, 입력, 산출, 분기그리고 주기.

입력 명령- 입력장치(예: 키보드)를 통해 변수값을 설정하는 명령.

예: 입력 A - 컴퓨터 키보드에서 변수 A의 값을 입력합니다.

출력 명령: 컴퓨터 출력 장치(예: 모니터)에 수량의 값을 표시하는 명령입니다.

예: 결론 X - X 변수의 값이 화면에 표시됩니다.

분기 명령- 일부 조건에 따라 알고리즘을 두 가지 경로로 나눕니다. 그런 다음 알고리즘 실행은 일반적인 연속으로 진행됩니다. 분기는 완료되거나 불완전할 수 있습니다. 블록 다이어그램 및 알고리즘 언어의 분기에 대한 설명:

여기서 시리즈는 하나 이상의 순차적 명령을 의미합니다. kv - 분기 끝.

루프 명령일부 조건에 따라 일련의 명령(루프 본문)이 반복적으로 실행되도록 합니다.

전제 조건이 있는 루프- 루프 조건이 참일 때까지 실행이 반복되는 루프:

매개변수가 있는 루프- 정수 매개변수가 초기(In)부터 최종(Ik)까지 모든 값 세트를 실행하는 동안 루프 본문의 반복 실행:

예.두 개의 간단한 분수가 주어집니다. 나눗셈의 결과인 분수를 얻기 위한 알고리즘을 만듭니다.
해결책.대수적 형태로 문제에 대한 해결책은 다음과 같습니다.
a/b: c/d = a*d/b*c = m/n
초기 데이터는 a, b, c, d의 네 가지 정수입니다. 결과는 두 개의 정수 m과 n입니다.

알그분수 나누기
손대지 않은 a, b, c, d, m, n
입력 시작에이, 비, 씨, 디
m:=a*d
n:=b*c
출력 "분자=", m
출력 "분모=", n
잉어

텍스트(모든 문자 시퀀스)를 출력하려면 명령에서 따옴표로 묶어야 합니다. 결론.

  1. Efimova O., Morozov V., Ugrinovich N. 컴퓨터 과학의 기초를 갖춘 컴퓨터 기술 과정. 지도 시간고등학교용. - M.: LLC "AST 출판사"; ABF, 2000
  2. 컴퓨터 과학 문제집 워크숍. 2권/Ed. I. Semakina, E. Henner. - M.: 기초지식 연구실, 2001.
  3. Ugrinovich N. 컴퓨터 과학 및 정보 기술. 10-11학년 - M.: 기초 지식 연구소, JSC "모스크바 교과서", 2001

"알고리즘 및 실행자" 주제에 대한 작업 및 테스트

  • 아티스트 매니지먼트 드래프트맨 - 알고리즘 6학년

    수업: 4 과제: 9 시험: 1

  • 2개 작업: 9개 테스트: 1개

학생들에게!

프로그래밍에 대한 추가 연구를 위해서는 주로 "알고리즘 및 실행자" 주제에 대한 지식이 필요합니다. QBasic 프로그래밍 언어는 프로그래밍 공부의 기초로 선택되었습니다. 우리는 Visual Basic이나 다른 객체 지향 프로그래밍 언어를 우리 과정에 포함시키는 아이디어를 포기했습니다. 왜냐하면 이 접근 방식은 아직 러시아 연방의 대부분의 중등 학교에서 널리 사용되지 않았기 때문입니다. 또한 객체 지향 프로그래밍은 고전적인 Dos 프로그래밍 원칙을 기반으로 합니다.

우리 과정은 일반 교육 프로그램을 위해 설계되었습니다. 대학 정보 기술 입학 시험을 준비할 때는 해당 대학에서 프로그래밍을 공부하는 구체적인 내용을 숙지해야 합니다. 어떤 경우에는 "어레이"와 같은 여러 주제에 대한 심층적인 연구가 필요합니다. 프로그래밍 문헌을 공부할 때 이 점에 주의해야 합니다. 방법론적 권장 사항현재 대부분의 고등 교육 기관에서 발행되는 시험 준비에 관한 것입니다.

결론적으로, 프로그래밍에서 "곡예비행"을 달성하는 것은 지속적인 연습과 특정 응용 문제 해결을 통해서만 가능하다는 점에 주목합니다.




맨 위