Алгоритм (стр. 1 )

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6

Глава 1. Алгоритм

§ 1. Понятие алгоритма. Свойства алгоритма.

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

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

 

Пароход уперся в берег.

Капитан кричит: Вперед!

Как такому ротозею

Доверяют пароход?

А ведь для того чтобы не попасть впросак и добиться желаемого результата, нужно заранее все продумать и составить план своих действий, следуя которому, можно получить хороший результат. Такой план действий называют алгоритмом. Как вы думаете, откуда произошло слово “алгоритм”?

Слово «алгоритм» происходит от имени великого среднеазиатского учёного Мухаммеда аль-Хорезми, жившего в первой половине IX века (точные годы его жизни неизвестны, но считается, что он родился около 780 года, а умер около 850). «Аль-Хорезми» означает «из Хорезма» (исторической области в нынешнем Узбекистане, центром которой был город Хива).

Около 825 года аль-Хорезми написал сочинение, в котором впервые дал описание придуманной в Индии позиционной десятичной системы счисления. К сожалению, арабский оригинал его книги не сохранился, так что её название нам неизвестно. Аль-Хорезми сформулировал правила вычислений в новой системе и, вероятно, впервые использовал цифру 0 для обозначения пропущенной позиции в записи числа (её индийское название арабы перевели как as-sifr или просто sifr, отсюда такие слова, как цифра и шифр). Приблизительно в это же время индийские цифры начали применять и другие арабские учёные. В первой половине XII века книга аль-Хорезми в латинском переводе попала в Европу. Переводчик, имя которого до нас не дошло, дал ей название «Algoritmi de numero Indorum» («Индийское искусство счёта, сочинение аль-Хорезми»).

Таким образом, мы видим, что латинизированное имя аль-Хорезми было вынесено в заглавие книги, и сегодня ни у кого нет сомнений, что слово «алгоритм» попало в европейские языки именно благодаря этому сочинению. Однако вопрос о его смысле длительное время вызывал ожесточённые споры. На протяжении многих веков происхождению слова давались самые разные объяснения.

Теперь мы можем дать другое определение алгоритму:

Горизонтальный свиток: Алгоритм – это последовательность действий, выполнение которых приводит к достижению поставленной цели.
 

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

Так же алгоритм должен обладать следующими свойствами:

 

1.  Понятность. Алгоритм должен быть написан на понятном исполнителю языке;

2.  Однозначность. Каждая команда алгоритма должна пониматься исполнителем определенным образом (так, а не иначе). Например, если в рецепте приготовления пирога говорится, что нужно «положить 5-6 ложек сахара», то такой алгоритм не будет однозначным. Каждый повар может это понять по-своему (5 или 6 ложек? каких ложек: чайных или столовых?) и результат приготовления пирога будет разным. А если в рецепте будет сказано «положить 50 г. сахара», то это будет точно и понятно;

3.  Дискретность. Алгоритм разбивается на отдельные шаги (команды), которые выполняются за конечные промежутки времени;

4.  Результативность. Исполнение алгоритма и получение искомого результата должно завершиться за конечное число шагов (команд);

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

Задание 1. Составьте и запишите алгоритм приготовления овощного салата.

Начало

________________________________________

________________________________________

________________________________________

________________________________________

________________________________________

________________________________________

________________________________________

________________________________________

Конец

Задание 2. Можно ли известное вам явление « Круговорот воды в природе» считать алгоритмом? Поясните ответ.

________________________________________________________________

________________________________________________________________

Задание 3. В одной из русских сказок герою даётся поручение: «Пойди туда, не знаю куда, принеси то, не знаю что». Можно ли набор действий считать алгоритмом? Обоснуйте свой ответ, пользуясь свойствами алгоритма.

Задание 4. Выполните предложенный алгоритм и расшифруйте пословицу:

1.  Замени цифру буквой или символом;

2.  Прочитай и запиши отгаданную пословицу.

1

2

3

4

5

6

7

8

9

10

11

12

13

а

в

е

м

н

с

т

у

ч

ь

,

-

11

____________________________________________________

____________________________________________________

Вопросы для повторения:

1.  Что такое алгоритм?

2.  Кто может быть исполнителем алгоритма?

3.  Какими свойствами должен обладать алгоритм?

4.  Откуда произошло слово «алгоритм»?

Домашнее задание

1.  Зашифруйте пословицу по своему алгоритму.

2.  Исполнитель умеет заменять в слове 1 букву на другую так, чтобы в

результате получилось слово: существительное, в единственном числе, имеющее смысл. Например, из слова «слон» можно получить «итог»:

слон – слог – стог – итог.

Как получить из слова «бал» слово «миф»? Составьте алгоритм замены букв в слове «бал».

3.  Является ли последовательность следующих действий алгоритмом? Укажите порядок действий:

§ 2. Способы записи алгоритмов. Типы алгоритмов.

В предыдущем параграфе мы записывали все алгоритмы словами. Это самый простой способ записи алгоритмов – словесный (или вербальный).

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

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

Блок-схема: знак завершения: Конец Блок-схема: знак завершения: Начало

Блоки начала и конца алгоритма

Блок ввода данных или вывода результата

Действие

 

Блок обработки данных

Блок-схема: решение: Условие

нет да

Блок проверки условия

Блок организации цикла

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

Алгоритм можно записать на языке программирования, и тогда такой алгоритм называется программой. Программа – это алгоритм для компьютера, робота или автомата.

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

Блоки алгоритма 1, 2, 3 выполняются именно в такой последовательности, после чего алгоритм достигает цели и заканчивается.

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

ГоризонтальныйВ данном алгоритме проверяется условие, и если оно выполняется, то есть на вопрос можно ответить "Да", исполняется серия команд 1 (одно ли несколько действий), а если не выполняется - ответ на вопрос отрицательный, то исполняется серия 2.

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

Задание 1. Представьте словесный алгоритм в виде блок-схемы:

Горизонтальный свиток: Начало

 Открыть учебник

 Найти заданное упражнение

 Повторить правило

 Открыть тетрадь

 Переписать упражнение в тетрадь

 Выполнить задание к упражнению 

 Закрыть тетрадь

 Конец

Задание 2. Алгоритм, записанный в виде блок-схемы записать и выполнить в виде математического примера:

­­­­­­­­­­­­­­­­­­­__________________________________________

Задание 3. Имеются три сосуда разной емкости: бочка (20 литров), ведро (4 литра) и банка (3 литра). Составьте алгоритм, по которому можно с помощью ведра и банки заполнить бочку наполовину, на ¾, полностью. Запишите полученные алгоритмы в виде таблицы. Действия записывайте так:

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

Шаг

Ведро (4 литра)

Банка (3 литра)

Литров воды в бочке

1

2

3

4

5

6

7

Вопросы для повторения:

1. Сколько существует способов записи алгоритма? Перечислите их.

2. Что такое блок-схема? Какие блоки вы знаете?

3. Как называется алгоритм, записанный на языке программирования?

4. Какие типы алгоритмов вы знаете? Охарактеризуйте каждый из них.

Домашнее задание

1. К какому типу относится предлагаемый алгоритм. Изобразите его в виде блок-схемы:

Начало

Перед выходом из дома выглянуть в окно.

Если на улице пасмурно, то взять зонт, иначе оставить зонт дома.

Конец

2.  Выполните алгоритм, записанный в виде блок-схемы:

При x = 54 y =________

При x = 45 y = ________

К какому типу алгоритма относится эта

блок-схема?

Глава 2. Основы программирования

§ 1. Что такое программирование?

Сегодняшний день - это время, когда компьютер и компьютерные технологии настолько вошли в нашу жизнь, что мы уже не представляем себе жизнь без них и от этого уже никуда не деться. Сейчас компьютер перестал быть роскошью и перешел в ранг обыденного прибора в арсенале домашней техники наравне с телевизором, микроволновкой и т. д. И, конечно же, это не могло не коснуться нас: все больше мы видим объявлений о приеме на работу людей так или иначе связанных с IT-технологиями: операторов, дизайнеров, верстальщиков и, конечно же, программистов. Некоторые из нас, смотря фильмы о различных хакерах и компьютерных взломщиках, восхищались их умением работать с компьютером и хотели быть в чем-то, а кто-то и полностью походящими на них. А ведь хакер в правильном понимании этого слова - это человек, отлично разбирающийся в программировании и умеющий применять свои знания весьма разносторонне. И вот мы уже вплотную подошли к термину "программирование". Что же такое программирование? Для чего оно служит? Как оно выглядит? И как можно ему обучиться? На многие из этих вопросов нельзя найти ответ сразу, но он придет обязательно со временем, если начать изучать основы программирования. Для чего изучать основы программирования? Программистами станут лишь немногие. В чём же смысл программирования для всех? Можно выделить такие причины:

1. Уровень современного программного обеспечения очень сложен и от грамотного пользователя требуется понимание общих принципов работы программ.

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

3. Понимание принципов работы алгоритмов ведёт к формированию логического алгоритмического мышления, что позволит более эффективно решать задачи в любой сфере деятельности.

Что представляет собой компьютер с точки зрения программиста? Компьютер - это уникальное изобретение человечества, способное производить вычисления на очень большой скорости. Также компьютер умеет очень оперативно принимать логические решения, возникающие в различных ситуациях. Правда здесь заключается в том, что умея все это делать, компьютер по своей природе ничего этого не сделает, если программист не задаст ему программу, исполняя которую компьютер начнет выполнять запрограммированное задание. То есть сам по себе компьютер ничего не делает, он только выполняет команды программиста, которые описаны в его программе. Процесс написания таких программ и называется программированием. Для того чтобы программист имел возможность задавать программы компьютеру ("общаться с ним") существуют специальные языки программирования. Их есть немалое количество, но самых распространенных гораздо меньше.

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

Вопросы для повторения:

1.  Почему мы не представляем себе нашу жизнь без компьютеров и IT-технологий? Приведите примеры из своей жизни.

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

3.  Что представляет собой компьютер с точки зрения программиста и может ли он работать без программ?

4.  С помощью интернета подготовьте небольшое сообщение «Языки программирования».

§ 2. Язык программирования QBasic.

Язык Бейсик (Basic) разработан сотрудниками Дортмундского колледжа (США в 1964 году). Благодаря своей простоте по сравнению с другими языками программирования, а главное, способности работать в диалоговом режиме с пользователем, язык Бейсик уже в 1970 году стал одним из самых популярных языков программирования для персональных компьютеров.

Как всякий язык, Бейсик имеет свой алфавит, т. е. символы, которые составляют его основу. Так как Бейсик является англоязычным языком программирования, все его команды записаны буквами латинского алфавита. Причем эти буквы могут быть как заглавными, так и прописными.

В алфавит языка входят:

1. 26 букв латинского алфавита от A до Z;

2. Цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9;

3. Знаки арифметических операций:

+ сложение;

- вычитание;

* умножение;

/ деление;

^ возведение в степень (например: 2^3 означает 23)

4.  Знаки операций отношений:

< меньше

> больше

= равно

>= больше или равно

<= меньше или равно

<> не равно

Из символов алфавита конструируются все его объекты: данные,

Горизонтальный свиток: Константа – это величина постоянная, она не меняет свое значение в ходе выполнения программы.

 Переменная – это величина, значение которой может изменяться во время выполнения программы.



функции и выражения. В Бейсике используются следующие виды данных: константы и переменные.

ГоризонтальныйМожно дать другое определение переменной.

Переменные бывают числовые и символьные.

В числовых переменных хранятся числа или арифметические выражения, а в символьных – текст.

Каждая переменная имеет имя. Имя переменной должно начинаться с латинской буквы, далее может следовать другая латинская буква или цифра. Если переменная символьная, то к ее имени добавляется символ $.

Примеры имен числовых переменных: C, b1, a2, max, min и др.

Куб: min

Куб: a2

Куб: max

Куб: b1

Куб: С

Примеры имен символьных переменных: C$, b1$, a2$, max$ и др.

Куб: С$

Куб: a2$
Куб: b1$

Куб: max$

Куб: min$
 

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6



Подпишитесь на рассылку:


Алгоритмы


Проекты по теме:

Основные порталы, построенные редакторами

Домашний очаг

ДомДачаСадоводствоДетиАктивность ребенкаИгрыКрасотаЖенщины(Беременность)СемьяХобби
Здоровье: • АнатомияБолезниВредные привычкиДиагностикаНародная медицинаПервая помощьПитаниеФармацевтика
История: СССРИстория РоссииРоссийская Империя
Окружающий мир: Животный мирДомашние животныеНасекомыеРастенияПриродаКатаклизмыКосмосКлиматСтихийные бедствия

Справочная информация

ДокументыЗаконыИзвещенияУтверждения документовДоговораЗапросы предложенийТехнические заданияПланы развитияДокументоведениеАналитикаМероприятияКонкурсыИтогиАдминистрации городовПриказыКонтрактыВыполнение работПротоколы рассмотрения заявокАукционыПроектыПротоколыБюджетные организации
МуниципалитетыРайоныОбразованияПрограммы
Отчеты: • по упоминаниямДокументная базаЦенные бумаги
Положения: • Финансовые документы
Постановления: • Рубрикатор по темамФинансыгорода Российской Федерациирегионыпо точным датам
Регламенты
Термины: • Научная терминологияФинансоваяЭкономическая
Время: • Даты2015 год2016 год
Документы в финансовой сферев инвестиционнойФинансовые документы - программы

Техника

АвиацияАвтоВычислительная техникаОборудование(Электрооборудование)РадиоТехнологии(Аудио-видео)(Компьютеры)

Общество

БезопасностьГражданские права и свободыИскусство(Музыка)Культура(Этика)Мировые именаПолитика(Геополитика)(Идеологические конфликты)ВластьЗаговоры и переворотыГражданская позицияМиграцияРелигии и верования(Конфессии)ХристианствоМифологияРазвлеченияМасс МедиаСпорт (Боевые искусства)ТранспортТуризм
Войны и конфликты: АрмияВоенная техникаЗвания и награды

Образование и наука

Наука: Контрольные работыНаучно-технический прогрессПедагогикаРабочие программыФакультетыМетодические рекомендацииШколаПрофессиональное образованиеМотивация учащихся
Предметы: БиологияГеографияГеологияИсторияЛитератураЛитературные жанрыЛитературные героиМатематикаМедицинаМузыкаПравоЖилищное правоЗемельное правоУголовное правоКодексыПсихология (Логика) • Русский языкСоциологияФизикаФилологияФилософияХимияЮриспруденция

Мир

Регионы: АзияАмерикаАфрикаЕвропаПрибалтикаЕвропейская политикаОкеанияГорода мира
Россия: • МоскваКавказ
Регионы РоссииПрограммы регионовЭкономика

Бизнес и финансы

Бизнес: • БанкиБогатство и благосостояниеКоррупция(Преступность)МаркетингМенеджментИнвестицииЦенные бумаги: • УправлениеОткрытые акционерные обществаПроектыДокументыЦенные бумаги - контрольЦенные бумаги - оценкиОблигацииДолгиВалютаНедвижимость(Аренда)ПрофессииРаботаТорговляУслугиФинансыСтрахованиеБюджетФинансовые услугиКредитыКомпанииГосударственные предприятияЭкономикаМакроэкономикаМикроэкономикаНалогиАудит
Промышленность: • МеталлургияНефтьСельское хозяйствоЭнергетика
СтроительствоАрхитектураИнтерьерПолы и перекрытияПроцесс строительстваСтроительные материалыТеплоизоляцияЭкстерьерОрганизация и управление производством

Каталог авторов (частные аккаунты)

Авто

АвтосервисАвтозапчастиТовары для автоАвтотехцентрыАвтоаксессуарыавтозапчасти для иномарокКузовной ремонтАвторемонт и техобслуживаниеРемонт ходовой части автомобиляАвтохимиямаслатехцентрыРемонт бензиновых двигателейремонт автоэлектрикиремонт АКППШиномонтаж

Бизнес

Автоматизация бизнес-процессовИнтернет-магазиныСтроительствоТелефонная связьОптовые компании

Досуг

ДосугРазвлеченияТворчествоОбщественное питаниеРестораныБарыКафеКофейниНочные клубыЛитература

Технологии

Автоматизация производственных процессовИнтернетИнтернет-провайдерыСвязьИнформационные технологииIT-компанииWEB-студииПродвижение web-сайтовПродажа программного обеспеченияКоммутационное оборудованиеIP-телефония

Инфраструктура

ГородВластьАдминистрации районовСудыКоммунальные услугиПодростковые клубыОбщественные организацииГородские информационные сайты

Наука

ПедагогикаОбразованиеШколыОбучениеУчителя

Товары

Торговые компанииТоргово-сервисные компанииМобильные телефоныАксессуары к мобильным телефонамНавигационное оборудование

Услуги

Бытовые услугиТелекоммуникационные компанииДоставка готовых блюдОрганизация и проведение праздниковРемонт мобильных устройствАтелье швейныеХимчистки одеждыСервисные центрыФотоуслугиПраздничные агентства

Блокирование содержания является нарушением Правил пользования сайтом. Администрация сайта оставляет за собой право отклонять в доступе к содержанию в случае выявления блокировок.