Программирование программа алгоритм. Базовые понятия пpогpаммиpования. Действие, пpоцесс, алгоритм, программа

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

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

Алгоритм означает точное описание некоторого процесса, инструкцию по его выполнению. Разработка алгоритма является сложным и трудоемким процессом. Алгоритмизация? это техника разработки (составления) алгоритма для решения задач на ЭВМ. Блок-схема обобщенного алгоритма работы программы представлена на рисунке 3.9.

Рисунок 3.9 - Блок-схема алгоритма работы программы

Для записи алгоритма решения задачи применяются следующие изобразительные способы их представления:

· словесно-формульное описание;

· блок-схема (схема графических символов);

· алгоритмические языки;

· операторные схемы;

· псевдокод;

Разработка программного продукта

Со времени появления платформы.NET (примерно в 2001 г.) среди библиотек базовых классов появился API по имени Windows Forms, представленный в основном сборкой System.Windows.Forms.dll. Инструментальный набор Windows Forms предоставляет типы, необходимые для построения графических пользовательских интерфейсов для настольных компьютеров, создания специализированных элементов управления, управления ресурсами (например, строками и значками) и выполнения других задач, возникающих при программировании для пользовательских компьютеров. Имеется и дополнительный API по имени GDI+ (представленный сборкой System.Drawing.dll), который предоставляет дополнительные типы, позволяющие программисту генерировать двухмерную графику, взаимодействовать с сетевыми принтерами и обрабатывать графические данные .

Windows Forms (и GDI+) применяются в платформе.NET 4.0 и, видимо, будут существовать еще некоторое время (возможно, длительное) в составе библиотеки базовых классов. Правда, после выхода.NET 3.0 компания Microsoft выпустила совершенно новый инструментальный API под названием Windows Presentation Foundation (WPF) .

Несомненно, наиболее важным пространством имен Windows Forms является System.Windows.Forms. Типы из этого пространства имен можно разбить на следующие крупные категории :

· Базовая инфраструктура. Это типы, представляющие базовые операции программ, которые используют Windows Forms (Form и Application), и различные типы, предназначенные для взаимодействия с устаревшими элементами ActiveX, a также для взаимодействия с новыми специальными элементами управления WPF;

· Элементы управления. Эти типы применяются для создания графических пользовательских интерфейсов (наподобие Button, MenuStrip, ProgressBar и DataGridView), все они являются производными от базового класса Control. Элементы управления допускают настройку на этапе проектирования и видимы (по умолчанию) во время выполнения;

· Компоненты. Это типы, которые не порождены от базового класса Control, но все-таки могут предоставлять программам Windows Forms визуальные возможности (например, ToolTip и ErrorProvider). Многие компоненты (к примеру, Timer и System.ComponentModel.BackgroundWorker) не видимы во время выполнения, но все-таки допускают настройку на этапе проектирования;

· Окна стандартных диалогов. В Windows Forms имеется несколько заготовленных диалоговых окон для распространенных операций (например, OpenFileDialog, PrintDialog и ColorDialog).

В мире Windows Forms тип Form представляет любое окно в приложении, включая главное окно самого верхнего уровня, дочерние окна приложений с многодокументным интерфейсом (multiple document interface ? MDI), а также модальные и немодальные диалоговые окна. Тип Form содержит множество возможностей, унаследованных от классов-предков, а также из реализуемых им многочисленных интерфейсов.

Для полноценного порождения типа Form нужны и многие другие базовые классы и интерфейсы, но даже профессиональному разработчику Windows Forms совсем не обязательно знать роли всех членов всех классов или реализованных интерфейсов.

Для создания нового проекта в Visual Studio выберем «New»-«Project», в появившемся окне выберем «Windows Form Application» и заполним предложенные поля.

Для передачи запроса SQL серверу и возврату результата в виде набора строк (запросы на выборку) был реализован метод «GetSQLData», представленный ниже.

В качестве параметра метод принимает строку-запрос, в качестве возвращаемого значения имеет тип «DataTable» ? таблицу данных.

public static DataTable GetSQLData(string query)

DataSet ds = new DataSet();

myConnection.Open();

catch (Exception e1)

SqlDataAdapter dataAdapter = new SqlDataAdapter(comm);

ds = new DataSet();

dataAdapter.Fill(ds);

MessageBox.Show("Error");

myConnection.Close();

catch (Exception e3)

return ds.Tables;

Для передачи запроса SQL серверу без возврата результата (запросы на вставку, изменение и удаление) был реализован метод «SetSQLData», представленный ниже. В качестве параметра метод принимает строку-запрос и не имеет возвращаемого типа значения.

public static void SetSQLData(string query)

SqlConnection myConnection = new SqlConnection(Config.ConnectionString);

myConnection.Open();

catch (Exception e1)

MessageBox.Show(e1.ToString());

SqlCommand comm = new SqlCommand(query);

comm.CommandType = System.Data.CommandType.Text;

comm.Connection = myConnection;

comm.ExecuteNonQuery();

myConnection.Close();

catch (Exception e3)

MessageBox.Show(e3.ToString());

Для того, чтобы пользователю не приходилось вводить строку подключения к базе данных также необходимо создать класс и файл конфигурации, которые хранили бы и позволяли изменять настройки приложения. Для этих целей были созданы соответственно класс «Config» и файл конфигурации «App.config»

public static string ConnectionString = GetParam("ConnectionStringSql");

public string Connection

return ConnectionString;

ConnectionString = value;

public static string GetPathTo(string ParamName)

return Application.StartupPath +

ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None).AppSettings.Settings.Value;

Переменная «Connection» этого класса является строкой для соединения с сервером. При запуске она инициализируется из файла настроек при помощи метода «GetParam», представленного ниже.

public static string GetParam(string ParamName)

return ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None).AppSettings.Settings.Value;

«App.config» - XML-файл, содержаний переменные и их явно или неявно указываемые значения. Текст сформированного xml-документа пользовательских настроек приведен ниже.

connectionString="Valid Connection String;" />

Обработчики различных событий элемента создаются на вкладке «Events». К примеру, событие «OnClick» - «нажатие на кнопку». После двойного клика на необходимое событие откроется код формы с объявленным обработчиком, в который необходимо добавить код для обработки возникающего события.

Добавим в обработчик события «OnClick» следующий код для вызова другой формы приложения:

private void button1_Click(object sender, EventArgs e)

NewTest obj = new NewTest();

obj.ShowDialog();

Подобным образом мы будем вызывать все формы приложения. Для считывания выборки в таблицу нашей формы добавим в ее код метод «Load_Tables».

listView1.Items.Clear();

DateTime d = new DateTime();

for (int i = 1; i < dt.Columns.Count; i++)

listView1.Items.Add(item);

Строка «query» в данном методе это запрос на выборку к базе данных. Теперь можно приступать к проектированию и реализации других форм приложения.

Добавить форму в текущий проект можно из контекстного окна «Solution Explorer», или через меню «Project»-«Add Windows Form». В появившемся окне вводим имя создаваемой формы и жмем «Add».

Задачи для этих элементов на данной форме будут следующими:

1. GroupBox - группировка схожих полей для ввода или выбора информации;

2. TextBox - поле для ручного ввода информации, которая после будет использоваться в запросах;

3. Label - подсказка пользователю о значении того или иного поля а также данных, которые необходимо ввести;

4. Button - подтверждение действия пользователем, считываемое системой.

В случае выбора того или иного элемента «RadioButton» («Ученик» или «Преподаватель»), будут разблокированы поля для ввода данных студента или преподавателя соответственно. По нажатию на кнопку «Начать работу» осуществляется авторизация.

Следующая форма приложения - форма добавления и изменения данных теста.

Данные из полей «Наименование», «Количество вопросов» и «Преподаватель» считываются и, при помощи запроса на вставку в методе «SetSQLData» класса «Connection» отправляются SQL-серверу.

В случае успеха или неудачи пользователю будет выведено соответствующее сообщение.

При загрузке формы наши выпадающий список «Преподаватель» (элемент «ComboBox») должен быть проинициализирован и заполнен некоторым набором значений, которые сможет выбирать пользователь. Для этого добавим в код формы метод «LoadComboboxes», код которого приведен ниже.

private void LoadComboboxes()

query = "Select Преподаватель from Преподаватели";

DataTable dt = Connection.GetSQLData(query);

comboBox1.DataSource = dt;

comboBox1.DisplayMember = "Преподаватель";

MessageBox.Show("Ошибка загрузки справочника <Преподаватели>");

Следующая форма приложения - отчет «Результаты тестирования». Добавляем форму, как было описано ранее, размещаем на форме элемент «ListView» и придаем форме следующий вид.

Данный отчет группирует все попытки зарегистрированных учеников успешно пройти тестирование при помощи системы. Для считывания полученной от SQL сервера таблицы добавим в код формы приведенный ниже метод.

private void Load_Tables(string query)

listView1.Items.Clear();

DataTable dt = Connection.GetSQLData(query);

foreach (DataRow row in dt.Rows)

DateTime d = new DateTime();

ListViewItem item = new ListViewItem(row.ToString());

for (int i = 1; i < dt.Columns.Count; i++)

if (i == dt.Columns.Count - 1)

d = Convert.ToDateTime(row[i]);

item.SubItems.Add(d.ToShortDateString());

item.SubItems.Add(row[i].ToString());

listView1.Items.Add(item);

Следующая форма - форма тестирования знаний. Элемент «DateTimePicker» размещен на форме для возможности точного слежения за временем начала и окончания сдачи теста. Данный элемент скрыт от пользователя и не отображается.

Для работы изменения вопросов и ответов теста добавим еще одну форму и придадим ей следующий вид.

Аналогичным путем были созданы и реализованы остальные формы автоматизированной системы тестирования знаний по дисциплине «Русский язык». Более подробно функционал программы представлен в разделе «Руководство пользователя» и в приложении «Листинг кода программы».

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

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

Как создаются алгоритмы действий?

Мы постоянно сталкиваемся с этим в обычной жизни. Какие действия мы совершаем, чтобы пополнить счет своего мобильного телефона? Каждый из нас — разные. Так как способов пополнения счета несколько, следовательно мы все по-разному это делаем. Результат, правда всегда один получается — появление средств на телефоне.

Или еще пример: чтобы скопировать картинку или текст, нажимаем правой кнопкой мыши на картинку, затем выбираем «Копировать», помещаем в нужное место, нажимаем правой кнопкой » Вставить», и результат достигнут.

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

Опишите последовательность действий — это запоминается

Создать алгоритм действий можно, описав или изобразив его последовательность. Знают ли все, что надо сделать, чтобы посадить дерево? Возможно, основные шаги понятны всем, но вот когда деревце поливать, перед посадкой или после, помнит не каждый. Созданный алгоритм позволит все действия выполнить в правильной последовательности.

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

Алгоритм действий в графике — это блок-схема

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

Представьте, что вам нужно чему-то научить другого человека. Вы отлично знаете все действия в определенной последовательности. Ваша задача — показать, как это нужно делать и передать свои знания так, чтобы другой человек их запомнил и знал так же, как и вы. Устная передача знаний допускает импровизации и некоторый произвол. Самым лучшим способом будет блок-схема, в которой объясняется последовательность и возможные варианты действий. В качестве примера — веселое руководство по изучению блог-схем:

Лучшим условием для получения результата будет повторяемость действий. Это однозначно влияет на скорость достижения результата в будущем. Чем чаще вам придется повторять одни и те же действия, тем быстрее вы научитесь выполнять последовательность действий, а значит в каждый последующий раз, вам потребуется меньше времени на выполнение.

Блок-схемы применяются в продажах

В продажах такое обучение с помощью разработки алгоритмов и изображения их в виде блок-схем имеет большое распространение. Чаще всего их используют в телефонных сценариях разговоров в call-центрах и для «холодных» звонков. Корпоративная культура набирает обороты, поэтому многие компании уже не позволяют сотрудникам нести «отсебятину», даже талантливую, а предлагают действовать им по заранее разработанному сценарию, представляя «лицо фирмы» на различных этапах. Эффект появляется буквально после нескольких дней действий «по бумажке». Со временем, многое из описанных алгоритмов запоминается сотрудником, и в дальнейшем он свободно может общаться, не опасаясь того, в какую сторону может уйти разговор.

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

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

Сервисы для разработки блок-схем

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

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

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

Создавайте игровые блок-схемы для своих детей

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

Моя блок-схема

Вот какая блок-схема у меня получилась в первый раз. Для того, чтобы увеличить изображение, нажмите на него. После перехода на Cacoo, под записью «просмотр фигуры», нажимайте на картинку. Она откроется в большом окне. Удачи!

Урок математики

«Программа действий. Алгоритм».

Цели: 1)обучающая

Сформировать первоначальные представления о понятиях «блок-схема», «программа

действий», «алгоритм», способность к чтению и составлению простейших программ заданных алгоритмов.

2)развивающая

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

3)воспитывающая

Формировать коммуникативные навыки (воспитание товарищества, взаимопомощи).

1. Самоопределение к деятельности (организационный момент)

2. Актуализация знаний.

Ребята, давайте вспомним, чем мы занимались на прошлом уроке?

(учились находить операцию и результат операции; учились находить операцию обратную данной)

Все эти знания могут нам сегодня пригодиться, чтобы помочь Ивану Царевичу победить злого Кощея и освободить Василису Премудрую.

Хотите со мной отправиться в сказку про «Кощея Бессмертного»?

Ну что ж, в путь! (слайд №1)

Ребята, многие наверное из вас читали эту сказку, кто помнит, где спрятана смерть Кощея Бессмертного?

Давайте мысленно вместе с Иваном Царевичем преодолеем путь и победим злого Кощея.

Какие же препятствия нужно преодолеть на пути? Кто сможет это воспроизвести?

добраться достать догнать сбить достать победить

До дуба cундук зайца утку из моря Кощея

Молодцы! Я думаю, что Иван Царевич поблагодарил бы вас.

Ребята, а как нам показать, что эти действия идут именно в такой последовательности? Какой значок нам придумать? ()

Т.о. мы получили схему действий.

А как бы вы назвали полученную схему действий?

(план, маршрут, путь, путешествие,….)

Вывод: В математике такую схему называют блок-схемой.

В каждом её блоке операция, которую нужно выполнить.

Это наша программа действий.

Поэтому как вы думаете, какова тема нашего урока?

3. «Открытие» детьми нового знания.

Тема: «Программа действий. Алгоритм» (слайд №2)

А чему мы будем учиться сегодня на уроке? Что нового узнаем?

(познакомимся с понятием алгоритм, будем учиться составлять программу действий, пользуясь алгоритмом).

1) -Какая же 1-я операция в нашей программе? (добраться до дуба) (слайд №3)

Ребята, а давайте посмотрим простой ли это дуб? А дуб-то не простой, а с заданием. И только выполнив его, мы сможем добраться до дуба.

Какое же задание нам надо выполнить?

(из 45 вычесть 14, т.е. заполнить пустое окошечко)

А кто думает иначе? Результат операции равен 31.

2) –Итак, до дуба мы добрались! Молодцы!

А сундук-то тоже необычный, а математический (слайд № 5)

Ребята, а как нам здесь-то быть?

Вопрос стоит на первом месте, а результат известен? Что нам делать?

(нам нужно заполнить пустое окошечко, т.е. найти объект операции, а для этого нужно найти операцию обратную данной . ) Объект операции равен 76.

3) -Молодцы! Научились выполнять обратную операцию, достали сундук!

Открываем его, а из него выскакивает заяц и убегает (слайд № 6)

Попробуем его догнать. Поэтому на вопросы отвечайте быстро (слайд № 7)

Сосчитайте от 327 до 332, хором 1,2 группы.

А теперь в обратном порядке две другие группы.

Какое круглое число встретилось вам при счёте? (330)

Даёте характеристику этому числу, выложите графическую модель.

(330 – трёхзначное, т.к. в записи этого числа 3 знака, чётное, т.к. оканчивается на 0, соседи этого числа 329 и 331, сумма цифр числа равна 6, его можно представить в виде суммы разрядных слагаемых 330= 300+30, т. д…..)

(1 ученик выкладывает графическую модель этого числа на наборном полотне)

4) -Поймали мы зайца, но из него вылетела утка (слайд № 8)

Кто быстрее собьёт её из ружья?

Давайте, выразим 330см в различных единицах длины (слайд № 9)

Но в начале давайте вспомним, с какими единицами длины мы знакомы? Назовите их в порядке убывания (м, дм, см)

330см=…м…см 330см=…дм 330см=…м…дм

Самыми быстрыми и меткими у нас оказались …

Большое спасибо за работу, но наша-то конечная цель добраться до Василисы Премудрой, давайте пойдём дальше.

5) -Молодцы! Утку, мы сбили, а яйцо упало в море (слайд № 10)

Чтобы достать его нужно подобрать подходящую схему и решить задачу (слайд № 11)

Задача: Иван Царевич проплыл по морю в первый день 12км. А во второй на 4км больше. Сколько километров проплыл Иван Царевич во второй день?

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

Решите задачу самостоятельно на индивидуальных досках.

Иван Царевич предлагает свой вариант ответа. Проверьте, пожалуйста (слайд № 12)

12+4=16(км)

Поднимите руку, у кого из вас такое же решение, как и у Иван Царевича. Кто не согласен,

поспорьте с ним.

Почему вы эту задачу решили действием сложения?

Как ответить на вопрос задачи?

6)- Вот и достали яйцо, осталось сломать иглу и Кощей будет побеждён (слайд № 13)

У вас на столах лежат карточки, на которых показано, как найти путь к Василисе Премудрой.

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

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

3. Постановка проблемы.

Какие операции надо выполнить, чтобы найти Василису Премудрую? (слайд № 14)

(-скакать на коне по лесу;

Плыть по морю на корабле;

Лететь на ковре самолёте через горы)

Что мы с вами составляем?

(план, маршрут, программу действий,…)

1-я группа пообщайтесь с классом, какую программу действий составили вы? (затем слово 2-й, 3-й, 4-й группам)

Почему в начале урока мы быстро составили программу действий, а сейчас не можем?

Почему возникли разные мнения? (мы не знаем порядка действий, не знаем, что за чем идёт)

Вывод: - В математике говорят, мы не знаем алгоритма (слайд № 15)

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

А важно ли уметь её составлять? (да)

Для чего? (чтобы правильно выполнять действия, прийти к намеченной цели,…)

А часто ли в жизни нам приходится сталкиваться с алгоритмом?

А как нам узнать, правильное ли решение принял Иван Царевич, смогли ли мы ему помочь?

(достаю яйцо, раскрываю его, достаю 4 бумажки, на которых написано:

М Л Г М Л Г МОРЕ ЛЕС ГОРЫ МОРЕ ЛЕС ГОРЫ (слайд № 16)

Сейчас вы получите зашифрованный путь Ивана Царевича к Василисе Премудрой.

Разгадайте этот путь.

Что бы это значило? И выложите у себя на столах. (По заданному алгоритму дети

выкладывают)

(1 представитель от группы выступает)

А кто из вас изначально так составил?

Ребята, а кто составил по другому, это что ваша вина, вы что не хотели спасти Василису Премудрую?

А почему вы не смогли это сделать? (Не знали порядок действий. Не знали алгоритма).

Вывод: - Значит, что мы с вами сейчас составили? (алгоритм) (слайд №17)

А как по - другому можно сказать? (программа действий)

-Какими способами, т.е. чем может быть записана программа действий?

(буквами, словами. Картинками, блок-схемой,…) (слайд № 18)

-Мы свою программу выполнили?

-Вот и уничтожили злого Кощея. Молодцы! (слайд № 19)

-А почему мы смогли её выполнить? (потому что знали алгоритм)

5. Первичное закрепление.

1) -Люди, которые составляют эти программы, т.е. алгоритмы называются программистами.

Вы хотите ими сегодня побыть?

Но так как мы ещё маленькие попробуем составить программу действий с помощью картинок. (4 набора – режим дня)

У вас на столах конверты с картинками. Достаньте их, рассмотрите и подумайте какую программу действий и для кого мы будем составлять? Как её можно назвать?

(Дети выкладывают программу на наборное полотно).

Вывод: Каждый организованный человек живёт по режиму дня.

Но как вы поняли мы с вами составили только фрагмент из вашего режима.

Что, вы заметили?

- А можно ли какие-то этапы алгоритма, т.е. операции поменять местами?

Если мы поменяем, что-то от этого изменится?

Вывод: Те операции, которые можно поменять местами наз. перестановочными.

(меняю 2 любых операции)

А эти операции можно поменять местами? (нет)

Значит, как они будут называться, если те были перестановочными?

(неперестановочными)

Вывод: Итак, в программе операции могут быть перестановочны, а могут нет.

Какие ещё операции в этой программе могут быть перестановочны?

2)Работа в группах.

1 группа : Сделай бутерброд.

(Наклеивают действия в правильном порядке и рядом записывают алгоритм приготовления бутерброда, т.е. составляют его сами)

(В разном порядке даны картинки, на которых нарисованы: нож, булка хлеба, масло, отрезанный кусок хлеба, кусок мажут маслом).

Алгоритм «Сделай бутерброд» (предполагаемый вариант)

1) Возьми хлеб.

2) Возьми нож.

3) Отрежь кусок хлеба.

4) Возьми масло.

5) Намажь маслом кусок.

Некоторые операции могут быть перестановочными, дети обговаривают их.

2 группа: «Закопай червонцы».

(Помоги Буратино правильно закопать золотые червонцы на Поле чудес)

Даны карточки с отдельными операциями, дети должны наклеить их в нужном порядке.

Положи деньги в ямку. Скажи: «Крекс, фекс, пекс!» Полей водой. Выкопай ямку. Засыпь ямку землёй.

Алгоритм «Закопай червонцы» (предполагаемый вариант)

1) Выкопай ямку.

2) Положи деньги в ямку.

3) Полей водой.

4) Засыпь ямку землёй.

5) Скажи: «Крекс, фекс, пекс!»)

3 группа: «Помоги Вини-Пуху подкрепиться».

(Расставь события по порядку)

? – Вымой лапы.

? – Открой кран.

? – Сядь за стол.

? – Закрой кран.

? – Вытри лапы полотенцем.

? – Съешь мёд.

? – Возьми ложку.

(Предполагаемый ответ:

1. Открой кран.

2. Вымой лапы.

3. Закрой кран.

4. Вытри лапы полотенцем.

5. Сядь за стол.

6. Возьми ложку.

7. Съешь мёд.)

4 группа : Сборка пирамидки и разборка пирамидки.

а) Составить программу сборки пирамидки

б) Составь программу разборки собранной пирамидки.

(каждая группа защищают свой алгоритм)

Ребята, понравилось вам быть программистами?

Составили мы свои программы действий?

А кому было трудно?

6. Д/з: 1)№9 с.12 – из учебника на повторение;

2) Иван Царевич предлагает своё дифференцированное задание

в конвертах. (1,2 группе – посложнее, 3,4 – полегче)

Вы должны восстановить порядок действий.

1 группа: Приготовь яичницу.

2 группа: «Завари чай».

3 группа: Съешь яблоко».

4 группа: Съешь конфету»

3) по желанию: составить программу своего пути в школу (творческое задание)

(на следующем уроке эту программу удобно использовать на этапе постановки проблемы)

7. Итог урока.

Наш урок подошёл к концу.И вот сегодня в наши знания добавилась ещё одна маленькая деталь. Какая? Чему учились сегодня на уроке?- А, что такое алгоритм?-Кто помогал нам в этом? (Иван Царевич) -Поблагодарим его и пригласим на следующий урок, чтобы он проверил наши знания.-А сейчас оцените свою работу на уроке (на доске рисунок Ивана Царевича на коне)ёжик – если на уроке было трудно и вам нужна помощь;цветок – если можете работать самостоятельно, но ещё в чём-то затрудняетесь;ягодка – могу работать сам и могу помочь другому.-Над чем ещё надо поработать? (наметить цели последующей деятельности).-И я, и Иван Царевич благодарим вас за хорошую работу.Урок окончен!

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

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

-дискретность -последовательность решения (процесс) задач должен быть разбит на последовательность отдельных шагов.

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

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

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

-массовость - пригодность алгоритма для решения задач некоторого класса.

Способы записи алгоритма:

-словесный – способ на естественном языке.

-графический -описания алгоритма с помощью схем.

Процесс выполнения операций или групп операций

ввод исходных данных, вывод результата

Решение-выбор направления выполнения

Модификация-выполнение операций, меняющих команды или группы команд, изменяющих программ.

Соединители линий на одной странице.

Межстраничные соединители.

-язык программирования –удобен для ввода в комп-р.

-псевдокод -это язык, к-ый использует структуру и синтексис достаточно формализованного языка и одновременно допускает конструкции естеств. Языка.

Виды алгоритмов и основные принципы составления алгоритмов.

-Линейный – алгоритм, в кот-ом команды выполняются последовательно друг за другом в порядке их естественного следования независимо от каких-либо условий. S1, s2 , S3…Sn

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

· Полная условная конструкция (полное ветвление)

· Неполное условная конструкция

· Выбор из нескольких

-циклический – алгоритм, в кот-ом последовательность может выполняться более 1 раза.

· Цикл с параметром

· Цикл с предусловием. Может не выполниться ни разу. В теле цикла обязательно нах-ся оператор, к-ый изменяет значение переменной, входящей в блок Q.

· Цикл с постусловием. Выполняется хоть один раз.

Основные принципы алгоритмизации:

1. Выявить исходные данные, результаты и назначить им имена.

2. Метод решения задач.

3. Разбить метод решения задач на этапы.

4. При граф-ом представлении алгоритма каждый этап в виде соответствующего блока –схемы алгоритма и указать линиями связи порядок их выполнения.

5. В полученной схеме при любом варианте вычислений.

Предусмотреть выдачу результатов или сообщений об их отсутствии.

Обеспечить возможности после выполнение любой операции так или иначе перейти к блоку конец.

40.Основные алгоритмические структуры

Мы уже рассмотрели основные понятия программирования и переходим немного ближе к делу (но только ближе, программировать будем позже).

Рассмотрим основные структуры алгоритмов, а их шесть:

· Следование. Это последовательность блоков (или групп блоков) алгоритма. В программе следование представлено в виде последовательного выполнения операций

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

·
Обход. Эта структура является частным случаем разветвения, когда в одной из ветвей нет никаких действий.

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

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

Создание программ в Алгоритм

Принцип разработки ПО, в конструкторе Алгоритм 2, представляет собой построение логической цепи действий. С помощью визуальных функций создается интерфейс будущей программы, после чего к элементам привязываются события, условия и действия. Например, добавив в программу кнопку, вы можете назначить ей действие открывания файла, воспроизведения звука, смены текста и т.д. Функционал Алгоритм 2.7 весьма разнообразен и при умелом подходе может выдать очень интересные результаты.

Особенности конструктора:

  • Удобный интерфейс.
  • Множество готовых функций и визуальных объектов.
  • Возможность создания браузеров, текстовых редакторов и медиа-плееров за пару минут.
  • Создание программ, работающих с файлами, папками и реестром.
  • Набор полезных объектов с расширенными возможностями. К примеру перезагрузка ПК, или рабочий стол.
  • Вывод готовой программы в формате exe, за пару кликов.
  • Экспорт программы в язык Visual Basic.NET, для доработки на высоком уровне программирования.

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