Элементы блок-схем алгоритмов — КиберПедия 

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...

Элементы блок-схем алгоритмов

2019-08-07 225
Элементы блок-схем алгоритмов 0.00 из 5.00 0 оценок
Заказать работу

ЦЕЛИ УЧЕБНОЙ ПРАКТИКИ

Целями учебной практики являются закрепление и углубление теоретической подготовки обучающихся и приобретение ими первоначального практического опыта по рабочей профессии

Вычислительной Техники и Программного обеспечения - для последующего освоения общих и профессиональных компетенций по направлению подготовки.

ЗАДАЧИ УЧЕБНОЙ ПРАКТИКИ

Задачами учебной практики являются: -подготовка осознанному и углубленному изучению общепрофессиональных дисциплине профессиональных модулей; - формирование у студентов  практических

умений по работе с

электронной - вычислительными машинами и программными продуктами;

приобретение студентами практического опыта по Алгоритмизации и структур языков программирования.

    1.Техника безопасности

  • Расстояние от экрана до глаз – 70 – 80 см (расстояние вытянутой руки);
  • Вертикально прямая спина;
  • Плечи опущены и расслаблены;
  • Ноги на полу и не скрещены;
  • Локти, запястья и кисти рук на одном уровне;

Локтевые, тазобедренные, коленные, голеностопные суставы под прямым углом.

 

Свойство алгоритма.

Алгоритмом называется точное и понятное предписание исполнителю совершить последовательность действий, направленных на решение поставленной задачи. Слово «алгоритм» происходит от имени математика Аль Хорезми, который сформулировал правила выполнения арифметических действий. Первоначально под алгоритмом понимали только правила выполнения четырех арифметических действий над числами. В дальнейшем это понятие стали использовать вообще для обозначения последовательности действий, приводящих к решению любой поставленной задачи. Говоря об алгоритме вычислительного процесса, необходимо понимать, что объектами, к которым применялся алгоритм, являются данные. Алгоритм решения вычислительной задачи представляет собой совокупность правил преобразования исходных данных в результатные.

 

Основными свойствами алгоритма являются:

1. детерминированность (определенность). Предполагает получение однозначного результата вычислительного процecca при заданных исходных данных. Благодаря этому свойству процесс выполнения алгоритма носит механический характер;

2. результативность. Указывает на наличие таких исходных данных, для которых реализуемый по заданному алгоритму вычислительный процесс должен через конечное число шагов остановиться и выдать искомый результат;

3. массовость. Это свойство предполагает, что алгоритм должен быть пригоден для решения всех задач данного типа;

4. дискретность. Означает расчлененность определяемого алгоритмом вычислительного процесса на отдельные этапы, возможность выполнения которых исполнителем (компьютером) не вызывает сомнений.

Алгоритм должен быть формализован по некоторым правилам посредством конкретных изобразительных средств. К ним относятся следующие способы записи алгоритмов: словесный, формульно-словесный, графический, язык операторных схем, алгоритмический язык.

Наибольшее распространение благодаря своей наглядности получил графический (блок-схемный) способ записи алгоритмов.

Блок-схемой называется графическое изображение логической структуры алгоритма, в котором каждый этап процесса обработки информации представляется в виде геометрических символов (блоков), имеющих определенную конфигурацию в зависимости от характера выполняемых операций. Перечень символов, их наименование, отображаемые ими функции, форма и размеры определяются ГОСТами.

При всем многообразии алгоритмов решения задач в них можно выделить три основных вида вычислительных процессов:

· линейный;

· ветвящийся;

· циклический.

Линейным называется такой вычислительный процесс, при котором все этапы решения задачи выполняются в естественном порядке следования записи этих этапов.

Ветвящимся называется такой вычислительный процесс, в котором выбор направления обработки информации зависит от исходных или промежуточных данных (от результатов проверки выполнения какого-либо логического условия).

Циклом называется многократно повторяемый участок вычислений. Вычислительный процесс, содержащий один или несколько циклов, называется циклическим. По количеству выполнения циклы делятся на циклы с определенным (заранее заданным) числом повторений и циклы с неопределенным числом повторений. Количество повторений последних зависит от соблюдения некоторого условия, задающего необходимость выполнения цикла. При этом условие может проверяться в начале цикла тогда речь идет о цикле с предусловием, или в конце — тогда это цикл с постусловием.

 

3.Правила оформление схем алгоритмов.

Схема — это абстракция какого-либо процесса или системы, наглядно отображающая наиболее значимые части. Схемы широко применяются с древних времен до настоящего времени — чертежи древних пирамид, карты земель, принципиальные электрические схемы. Очевидно, древние мореплаватели хотели обмениваться картами и поэтому выработали единую систему обозначений и правил их выполнения. Аналогичные соглашения выработаны для изображения схем-алгоритмов и закреплены ГОСТ и международными стандартами.

Удаление файла

string path = @"C:\apache\hta.txt";FileInfo fileInf = new FileInfo(path);if (fileInf.Exists){ fileInf.Delete(); // альтернатива с помощью класса File // File.Delete(path);}

Копирование файла

string path = @"C:\apache\hta.txt";FileInfo fileInf = new FileInfo(path);if (fileInf.Exists){ fileInf.MoveTo(newPath);     // альтернатива с помощью класса File // File.Move(path, newPath);}

    Метод CopyTo класса FileInfo принимает два параметра: путь, по которому файл будет копироваться, и булевое значение, которое указывает, надо ли при копировании перезаписывать файл (если true, как в случае выше, файл при копировании перезаписывается). Если же в качестве последнего параметра передать значение false, то если такой файл уже существует, приложение выдаст ошибку.

    Метод Copy класса File принимает три параметра: путь к исходному файлу, путь, по которому файл будет копироваться, и булевое значение, указывающее, будет ли файл перезаписываться.

 

    12.Составление программы с использованием подпрограмм.

    Следует отметить, что официальная терминология C# делает различие между функциями и методами. Согласно этой терминологии, понятие "функция-член" включает не только методы, но также другие члены, не являющиеся данными, класса или структуры. Сюда входят индексаторы, операции, конструкторы, деструкторы, а также — возможно, несколько неожиданно — свойства. Они контрастируют с данными-членами: полями, константами и событиями.

 

    Объявление методов

    В C# определение метода состоит из любых модификаторов (таких как спецификация доступности), типа возвращаемого значения, за которым следует имя метода, затем список аргументов в круглых скобках и далее - тело метода в фигурных скобках:

        

1. [модификаторы] тип_возврата ИмяМетода([параметры])

2. {

3. // Тело метода

4. }

 

    Каждый параметр состоит из имени типа параметра и имени, по которому к нему можно обратиться в теле метода. Вдобавок, если метод возвращает значение, то для указания точки выхода должен использоваться оператор возврата return вместе с возвращаемым значением.

    Если метод не возвращает ничего, то в качестве типа возврата указывается void, поскольку вообще опустить тип возврата невозможно. Если же он не принимает аргументов, то все равно после имени метода должны присутствовать пустые круглые скобки. При этом включать в тело метода оператор возврата не обязательно — метод возвращает управление автоматически по достижении закрывающей фигурной скобки.

    Возврат из метода и возврат значения

В целом, возврат из метода может произойти при двух условиях. Во-первых, когда встречается фигурная скобка, закрывающая тело метода. И во-вторых, когда выполняется оператор return. Имеются две формы оператора return: одна — для методов типа void (возврат из метода), т.е. тех методов, которые не возвращают значения, а другая — для методов, возвращающих конкретные значения (возврат значения).

Давайте рассмотрим пример:

using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace ConsoleApplication1{ class MyMathOperation {   public double r;   public string s;    // Возвращает площадь круга   public double sqrCircle()   {       return Math.PI * r * r;   }    // Возвращает длину окружности   public double longCircle()   {       return 2 * Math.PI * r;   }    public void writeResult()   {       Console.WriteLine("Вычислить площадь или длину? s/l:");       s = Console.ReadLine();       s = s.ToLower();       if (s == "s")       {           Console.WriteLine("Площадь круга равна {0:#.###}",sqrCircle());           return;       }       else if (s == "l")       {           Console.WriteLine("Длина окружности равна {0:#.##}",longCircle());           return;       }       else       {           Console.WriteLine("Вы ввели не тот символ");       }   } } class Program {   static void Main(string[] args)   {       Console.WriteLine("Введите радиус: ");       string radius = Console.ReadLine();        MyMathOperation newOperation = new MyMathOperation { r = double.Parse(radius) };       newOperation.writeResult();        Console.ReadLine();   } }}

 

Результат:

 

    Использование параметров

    При вызове метода ему можно передать одно или несколько значений. Значение, передаваемое методу, называется аргументом. А переменная, получающая аргумент, называется формальным параметром, или просто параметром. Параметры объявляются в скобках после имени метода. Синтаксис объявления параметров такой же, как и у переменных. А областью действия параметров является тело метода. За исключением особых случаев передачи аргументов методу, параметры действуют так же, как и любые другие переменные.

 

    В общем случае параметры могут передаваться методу либо по значению, либо по ссылке. Когда переменная передается по ссылке, вызываемый метод получает саму переменную, поэтому любые изменения, которым она подвергнется внутри метода, останутся в силе после его завершения. Но если переменная передается по значению, вызываемый метод получает копию этой переменной, а это значит, что все изменения в ней по завершении метода будут утеряны. Для сложных типов данных передача по ссылке более эффективна из-за большого объема данных, который приходится копировать при передаче по значению.

 

Давайте рассмотрим пример:

using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace ConsoleApplication1{ class myClass {   public void someMethod(double[] myArr, int i)   {       myArr[0] = 12.0;       i = 12;   } } class Program {   static void Main(string[] args)   {       double[] arr1 = { 0, 1.5, 3.9, 5.1 };       int i = 0;       Console.WriteLine("Массив arr1 до вызова метода: ");       foreach (double d in arr1)           Console.Write("{0}\t",d);       Console.WriteLine("\nПеременная i = {0}\n",i);        Console.WriteLine("Вызов метода someMethod...");       myClass ss = new myClass();       ss.someMethod(arr1,i);       Console.WriteLine("Массив arr1 после вызова метода:");       foreach (double d in arr1)           Console.Write("{0}\t",d);       Console.WriteLine("\nПеременная i = {0}\n",i);       Console.ReadLine();   }          }     }

 

Результат:

 

    Обратите внимание, что значение i осталось неизменным, но измененные значения в myArr также изменились в исходном массиве arr1, так как массивы являются ссылочными типами.

    Поведение строк также отличается. Дело в том, что строки являются неизменными (изменение значения строки приводит к созданию совершенно новой строки), поэтому строки не демонстрируют поведение, характерное для ссылочных типов. Любые изменения, проведенные в строке внутри метода, не влияют на исходную строку.

 

ЦЕЛИ УЧЕБНОЙ ПРАКТИКИ

Целями учебной практики являются закрепление и углубление теоретической подготовки обучающихся и приобретение ими первоначального практического опыта по рабочей профессии

Вычислительной Техники и Программного обеспечения - для последующего освоения общих и профессиональных компетенций по направлению подготовки.

ЗАДАЧИ УЧЕБНОЙ ПРАКТИКИ

Задачами учебной практики являются: -подготовка осознанному и углубленному изучению общепрофессиональных дисциплине профессиональных модулей; - формирование у студентов  практических

умений по работе с

электронной - вычислительными машинами и программными продуктами;

приобретение студентами практического опыта по Алгоритмизации и структур языков программирования.

    1.Техника безопасности

  • Расстояние от экрана до глаз – 70 – 80 см (расстояние вытянутой руки);
  • Вертикально прямая спина;
  • Плечи опущены и расслаблены;
  • Ноги на полу и не скрещены;
  • Локти, запястья и кисти рук на одном уровне;

Локтевые, тазобедренные, коленные, голеностопные суставы под прямым углом.

 

Свойство алгоритма.

Алгоритмом называется точное и понятное предписание исполнителю совершить последовательность действий, направленных на решение поставленной задачи. Слово «алгоритм» происходит от имени математика Аль Хорезми, который сформулировал правила выполнения арифметических действий. Первоначально под алгоритмом понимали только правила выполнения четырех арифметических действий над числами. В дальнейшем это понятие стали использовать вообще для обозначения последовательности действий, приводящих к решению любой поставленной задачи. Говоря об алгоритме вычислительного процесса, необходимо понимать, что объектами, к которым применялся алгоритм, являются данные. Алгоритм решения вычислительной задачи представляет собой совокупность правил преобразования исходных данных в результатные.

 

Основными свойствами алгоритма являются:

1. детерминированность (определенность). Предполагает получение однозначного результата вычислительного процecca при заданных исходных данных. Благодаря этому свойству процесс выполнения алгоритма носит механический характер;

2. результативность. Указывает на наличие таких исходных данных, для которых реализуемый по заданному алгоритму вычислительный процесс должен через конечное число шагов остановиться и выдать искомый результат;

3. массовость. Это свойство предполагает, что алгоритм должен быть пригоден для решения всех задач данного типа;

4. дискретность. Означает расчлененность определяемого алгоритмом вычислительного процесса на отдельные этапы, возможность выполнения которых исполнителем (компьютером) не вызывает сомнений.

Алгоритм должен быть формализован по некоторым правилам посредством конкретных изобразительных средств. К ним относятся следующие способы записи алгоритмов: словесный, формульно-словесный, графический, язык операторных схем, алгоритмический язык.

Наибольшее распространение благодаря своей наглядности получил графический (блок-схемный) способ записи алгоритмов.

Блок-схемой называется графическое изображение логической структуры алгоритма, в котором каждый этап процесса обработки информации представляется в виде геометрических символов (блоков), имеющих определенную конфигурацию в зависимости от характера выполняемых операций. Перечень символов, их наименование, отображаемые ими функции, форма и размеры определяются ГОСТами.

При всем многообразии алгоритмов решения задач в них можно выделить три основных вида вычислительных процессов:

· линейный;

· ветвящийся;

· циклический.

Линейным называется такой вычислительный процесс, при котором все этапы решения задачи выполняются в естественном порядке следования записи этих этапов.

Ветвящимся называется такой вычислительный процесс, в котором выбор направления обработки информации зависит от исходных или промежуточных данных (от результатов проверки выполнения какого-либо логического условия).

Циклом называется многократно повторяемый участок вычислений. Вычислительный процесс, содержащий один или несколько циклов, называется циклическим. По количеству выполнения циклы делятся на циклы с определенным (заранее заданным) числом повторений и циклы с неопределенным числом повторений. Количество повторений последних зависит от соблюдения некоторого условия, задающего необходимость выполнения цикла. При этом условие может проверяться в начале цикла тогда речь идет о цикле с предусловием, или в конце — тогда это цикл с постусловием.

 

3.Правила оформление схем алгоритмов.

Схема — это абстракция какого-либо процесса или системы, наглядно отображающая наиболее значимые части. Схемы широко применяются с древних времен до настоящего времени — чертежи древних пирамид, карты земель, принципиальные электрические схемы. Очевидно, древние мореплаватели хотели обмениваться картами и поэтому выработали единую систему обозначений и правил их выполнения. Аналогичные соглашения выработаны для изображения схем-алгоритмов и закреплены ГОСТ и международными стандартами.

Элементы блок-схем алгоритмов

Блок-схема представляет собой совокупность символов, соответствующих этапам работы алгоритма и соединяющих их линий. Пунктирная линия используется для соединения символа с комментарием. Сплошная линия отражает зависимости по управлению между символами и может снабжаться стрелкой. Стрелку можно не указывать при направлении дуги слева направо и сверху вниз. Согласно п. 4.2.4, линии должны подходить к символу слева, либо сверху, а исходить снизу, либо справа.

Есть и другие типы линий, используемые, например, для изображения блок-схем параллельных алгоритмов, но в текущей статье они, как и ряд специфических символов, не рассматриваются. Рассмотрены лишь основные символы, которых всегда достаточно студентам.

       

        

    Примеры блок-схем

В качестве примеров, построены блок-схемы очень простых алгоритмов сортировки, при этом акцент сделан на различные реализации циклов, т.к. у студенты делают наибольшее число ошибок именно в этой части.

        

    4. Составление программ на алгоритмическом языке.

Алгоритмический язык программирования — формальный язык, используемый для записи, реализации и изучения алгоритмов. В отличие от большинства языков программирования, алгоритмический язык не привязан к архитектуре компьютера, не содержит деталей, связанных с устройством машины.

Для изучения основ алгоритмизации применяется так называемый Русский алгоритмический язык (школьный алгоритмический язык), использующий понятные школьнику слова на русском языке.

Алголо-подобный алгоритмический язык с русским синтаксисом был введён в употребление академиком А. П. Ершовым в середине 1980-х годов, в качестве основы для «безмашинного» курса информатики.

 

Что представляет собой алгоритм Если уйти от сухой теории и определений, то алгоритм — это последовательность действий, направленных на решение поставленной задачи. Несмотря на всю витиеватость выражения, с этим понятием человек сталкивается повседневно. Например, чтобы попить чай, нужно выполнить следующую последовательность:

 

1. Поставить чайник на плиту.

2. Дождаться его закипания.

3. Налить кипяток в воду.

4. Опустить чайный пакет в чашку.

5. Добавить необходимое количество сахара, молока или мёда.

Данная последовательность весьма упрощена, однако представляет собой самый простой алгоритм.

Так же, как и человек, вычислительная машина способна выполнять определённую последовательность задач. Однако, для того чтобы она их чётко понимала, нужно учитывать, что для ЭВМ отсутствует множество очевидных для людей понятий. К тому же алгоритм должен точно описывать все необходимые действия. Для этой цели и служит алгоритмический язык, который создаёт некий мост между машиной и человеком.

Алгоритмический — формальный язык, на котором описываются алгоритмы, предполагаемые для выполнения на вычислительных машинах. Как правило, он не привязан к какой-либо архитектуре машины. Это помогает значительно повысить и ускорить написание кода. Как яркий пример - алгоритмический язык бейсик. Паскаль и си также оказались популярными, так как обладали простым синтаксисом и скоростью изучения. Структура реализована таким образом, что процедуры, описанные в коде, выполняются одна за другой. То есть один алгоритм — одна задача. Это похоже на создание функций или методов в языках С и Java. Весь код строится из ключевых слов, описывающих событие или переменную.

 

5. Структура программы. Операторы языка.

Алгоритмический язык состоит из ключевых слов, которые представляют собой сокращения полного обозначения действий или переменных. Это позволяет сократить длину кода, оставляя его при этом понятным.

· Алг. С этого ключевого слова начинается любой алгоритм. В нем описывается название и в скобках указывается, какие аргументы он принимает для вычисления, и что должно получиться в результате.

·  Арг. Обозначает аргументы алгоритма. Отражает тип и название значения, которое будет использован в коде.

· Рез. Данное ключевое слово служит для обозначения типа и имени переменной, в которую будет необходимо поместить результат вычисления.

· Нач. Означает непосредственное начало выполнения алгоритма. Длится до ключевого слова кон. Весь промежуток от "нач" до "кон" называется телом текущего алгоритма.

· Кон. Сообщает о том, что выполнение алгоритма окончено.

· Дано. Говорит о некоторых особенностях и нюансах использования алгоритма или об ограничениях. Например, здесь можно указать, что длины сравниваемых строк должны быть одинаковыми. Использование ключевого слова "дано" необязательно.

· Надо. Более подробное описание того, что должно получиться в результате выполнения алгоритма. Так же, как и "дано", может опускаться, но для построения более понятного и подробного кода его использование рекомендуется.

Список данных ключевых слов относится к заголовку и обозначению тела алгоритма. А вот так выглядят лексемы для переменных:

· Цел. Тип переменной целых чисел. Диапазон их должен варьироваться от -32768 до 32767.

· Вещ. Вещественные числа. Например, с экспонентой или дробной частью.

· Лог. Это ключевое слово означает, что будет использована переменная логического типа, способная принимать только "да" или "нет".

· Сим. Сюда входят значения с одиночными символами, например, «а», «3».

· Лит. Строковые переменные, которые могут содержать целые текстовые строки.

· Таб. Обозначает таблицу с данными определённого типа. Представляет собой аналог массива из других языков программирования.


Поделиться с друзьями:

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.011 с.