![]() |
Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Существует два вида средств для представления алгоритмов – языковые и графические .Стр 1 из 2Следующая ⇒
ОСНОВЫ АЛГОРИТМИЗАЦИИ Понятие алгоритма В основу работы ЭВМ положен программный принцип управления, состоящий в том, что ЭВМ выполняет действия по заранее заданной программе.
Программа – это упорядоченная последовательность команд, которые понимает ЭВМ.
В основе любой программы лежит алгоритм. Алгоритм – это полное и точное описание на некотором языке конечной последовательности правил, указывающих исполнителю действия, которые он должен выполнить, чтобы за конечное время перейти от (варьируемых) исходных данных к искомому результату.
Алгоритм — точный набор инструкций, описывающих порядок действий исполнителя для достижения результата решения задачи за конечное время.
Свойства алгоритмов 1. дискретный (пошаговый) характер определяемого им процесса. 2. записан на понятном ему языке и содержит предписания, которые исполнитель может выполнить. 3. его массовость, применимость к некоторому классу объектов, возможность получения результата при различных исходных данных на некоторой области допустимых значений. 4. обязательное требование к алгоритмам – требование их конечности. 5. эффективность алгоритма. Время выполнения алгоритма и необходимые ресурсы. Алгоритмизация – процесс разработки и описания алгоритма решения какой-либо задачи.
Существует два вида средств для представления алгоритмов – языковые и графические.
Словесная запись алгоритмов Пример Составим алгоритм вычисления коэффициентов приведенного квадратного уравнения x 2 + px + q = 0, корни которого x 1, x 2 известны. алгоритм: Начало. 1. Ввести x 1, x 2. 2. p = –( x 1 + x 2 ). 3. q = x 1 x 2. Вывести p, q. Конец. □ Схемы алгоритмов Схема алгоритма – это графический способ его представления с элементами словесной записи. ПРИМЕРЫ Структур алгоритмов Алгоритмы линейной структуры и Ветвления
Схема алгоритма приведена на Рис. 4. Алгоритм содержит сложное ветвление, являющееся композицией двух простых ветвлений.
Рис. 4. Алгоритм решения квадратного уравнения
К операндам вещественного типа не следует применять операцию отношения «=» (равно), условие может не выполняться из-за неточного представления вещественных чисел в памяти ЭВМ и неизбежных ошибок округления при вычислениях. В алгоритме отношение D = 0 заменено отношением |D| < e, где e – допустимая погрешность округления. □ Циклы Вычислительные процессы с многократным повторением однотипных вычислений/действий для различных значений входящих величин/данных называются циклическими, повторяемые участки вычислений – циклами, изменяющиеся в цикле величины – переменными цикла. Для организации циклов в алгоритмах необходимо предусмотреть (Рис. 5.): - подготовку цикла – задание начальных значений переменным цикла перед первым его выполнением; - тело цикла – вычислении/действия, повторяемые в цикле для различных значений переменных цикла; - модификацию/изменение значений переменных цикла перед каждым новым его повторением; - управление циклом – проверку условия продолжения/окончания цикла и переход на повторение цикла или его окончание.
Рис. 5. Общие схемы циклического алгоритма
Рис. 6. Общие схемы алгоритма табулирования функции
Процесс программирования - это запись разработанного алгоритма на специальном языке (языке программирования) - представление алгоритма на языке, " понятном" исполнителю (вычислительной машине), т. е. в форме, допускающей ввод в машину и последующий перевод на машинный язык (в коды машины). Системы программирования
Это комплекс средств для разработки программ:
· Языки программирования (ассемблер, Алгоритмические языки) · Инструментальные системы · Системы визуальной разработки программ · Системы создания ПО для работы в Internet · Кроссплатформенные приложения Разработать язык – это создать транслятор для него. Типы языков программирования 1. процедурные (императивные, указывают порядок выполнения операторов) (Паскаль, Си) 2. логические (декларативные, основаны на мат. Логике) (Лисп, Пролог), Языки запросов ( SQL ) Турбо – Паскаль Автор француз Филип Кан Ученик Вирта Курил Aple 2 и написал компилятор для Паскаля в Калифорнии, имея 2000 дол.. Один из создателей фирмы Borland В 1984 за 1 месяц заработал 150 тыс. дол. Среда Delphi 1995, язык Object Pascal C 2008 г Embarcadero® 2014 год Embarcadero® RAD Studio XE7 2015 год Embarcadero® RAD Studio XE8 Текущая версия Embarcadero RAD Studio 10.2 Токио (март 2017г)
Этот релиз знаменует новый этап, так как включает поддержку Linux и обеспечивает дальнейшее улучшение качества и возможностей большей масштабируемости решения. объединяет Delphi XE10 и C++ Builder XE10 в единую интегрированную среду разработки и добавлена поддержка Android 6.0.
После добавления Linux, разработчики RAD Studio получили возможность кросс-компиляции на все главные платформы — Windows, Linux, macOS, iOS и Android — получая надежность и быстродействие, типичные для скомпилированных нативных приложений.
Содержит: Delphi®, C++Builder®, Embarcadero Prism™ и HTML5 Builder. С RAD Studio XE8 существует встроенная поддержка для SQL Server, Oracle, Sybase, DB2, InterBase, SQL Anywhere, SQLite, MySQL и облачными сервисами, включая Windows Azure и Amazon.
C С — один из первых языков программирования, ставших популярными и используемыми до сих пор. Создан Деннисом Ритчи в 1972 году в Bell labs и стал основой для других языков: C++, Java, C#, JavaScript и Perl. 90% ядра системы UNIX написано на С Автор Деннис Ритчи программист лаборатории американской корпорации AT& T (Американ телефон и телеграф). Цель: язык системного программирования Преимущества: язык высокого уровня; имеет низкоуровневые средства. C++ Язык С был хорош, но ему не хватало объектно-ориентированности. В 1983 году был создан более мощный язык C++, который часто называют объектно-ориентированной версией C. C++ — самый используемый императивный язык в мире. Его используют для создания удивительных приложений; браузеры Google Chrome, Mozilla Firefox, музыкальный проигрыватель Winamp и продукты Adobe написаны на языке C++. C++ также используется для создания игр для смартфонов и приложений. На рынке труда C++ разработчики очень востребованы и число вакансий постоянно растёт.
Cхема алгоритма поиска максимального и минимального элементов одномерного массива и замена первого элемента их суммой.
Текст программы использования одномерного массива на С++
#include < stdio.h> #include < conio.h> int main() { clrscr(); int i; float x[10], max, min; /*Ввод элементов массива*/ for (i=0; i< 10; i++) { printf(" x[%d]=", i+1); scanf( " %f", & x[i]); } /*Поиск максимального элемента и его номера*/ max=x[0]; min=x[0]; for(i=1; i< 10; i++) { if (x[i]> max) max = x[i]; if (x[i]< min) min=x[i]; } /*замена частным первого элемента массива*/ x[0] = max+min; /*Вывод элементов массива*/ printf(" \nmax=%f ", max); printf(" \nmin=%f \n", min); for(i=0; i< 10; i++) printf(" \nx[%d]=%f ", i+1, x[i]); getch(); return 0; }
Нажимаем клавиши CTRL+F9 для компиляции и запуска на выполнение программы. Получаем результат: Java Java сочетает в себе С и С++ и является наиболее мощным языком для создания кроссплатформенных приложений. Java, отметивший недавно 20-летие, стал первым полностью объектно-ориентированным языком программирования, который работает по принципу «Write Once, Run Anywhere». Вы можете скомпилировать исходный код Java однажды и запускать его на любом устройстве с установленной JVM ( виртуальной машиной Java ) Java является одним из самых популярных языков для бэкэнд-разработки современных корпоративных веб-приложений. С Java и основанными на нём фреймворками разработчики могут создавать масштабируемые веб-приложения для широкого круга пользователей. Java — также основной язык, используемый для разработки родных Android-приложений для смартфонов и планшетов. C# C# — представитель семьи языков программирования Microsoft. Он был создан в 2000 году как часть платформы Microsoft.Net framework. В использовании C# очень близок к Java, хотя говорили, что C# сочетает надёжность C++ с продвинутыми характеристиками Java. На языке C# можно создать практически все типы приложений для большинства платформ. Фреймворк (англ. framework — каркас, структура) — программная платформа, определяющая структуру программной системы; программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта. PHP РНР — самый мощный серверный язык, который может делать многое при небольшом количестве кода. PHP — язык с открытым кодом. Это значит, что существуют тысячи модулей, которые могут быть модифицированы для выполнения нужных функций. Язык PHP наряду с базами данных (например, MySQL) является важным инструментом для создания современных веб-приложений. На PHP разработано большинство сайтов, ориентированных на большой объём данных. Objective C Бред Кокс и Том Лав создали Objective C в 1983 году, стремясь исправить недостатки C. Этот язык является основным для создания приложений для iOS и OS X. Objective C-программисты в основном задействованы в разработке под эти крайне популярные платформы, что гарантируют востребованность на рынке труда и высокую зарплату.
HTML HTML (от англ. HyperText Markup Language — «язык гипертекстовой разметки») — стандартный язык разметки документов во Всемирной паутине. Большинство веб-страниц содержат описание разметки на языке HTML (или XHTML). < html> < head> < title> Пример 2 < /title> < /head> < body> < H1 ALIGN=CENTER> Привет! < /H1> < H2> Это пример HTML-документа < /H2> < P> Теперь мы знаем, что абзац можно выравнивать не только влево, < /P> < P ALIGN=CENTER> но и по центру < /P> < P ALIGN=RIGHT> или по правому краю. < /P> < /body> < /html>
JavaScript При простом синтаксисе JavaScript может выполнять более сложные функции. Это идеальный скриптовый язык, простой для освоения. Программный код работает в браузерах и обрабатывает команды на компьютере клиента, а не на сервере, снижая таким образом нагрузку на сервер и увеличивая скорость работы приложения. Каждый современный сайт использует JavaScript. Это ключевой язык для создания интерактивности сайта или построения пользовательских интерфейсов с одним из десятка популярных JavaScript-фреймворков. Браузер, когда видит < script>: · Начинает отображать страницу, показывает часть документа до script · Встретив тег script, переключается в JavaScript-режим и не показывает, а исполняет его содержимое. · Закончив выполнение, возвращается обратно в HTML-режим и только тогда отображает оставшуюся часть документа.
Python Гвидо ван Россум создал Python в 1991 году. Это ещё один высокоуровневый язык программирования и одновременно самый простой для изучения благодаря минимализму, читабельности и понятному синтаксису. Google развивал Python около 10 лет и всё ещё запускает проекты с использованием этого скриптового языка. Python может сделать почти всё вышеперечисленное. Веб-приложения, пользовательские интерфейсы, анализ данных, статистика — для какой бы задачи вам не предстояло найти решение, в Python, скорее всего, найдётся подходящий фреймфорк. Совсем недавно учёные пришли к выводу, что Python модно использовать в качестве основного инструмента для обработки гигантских объёмов данных практически в любой отрасли. Пример Определить, сколько в введенном пользователем числе четных цифр, а сколько нечетных.
a = input() a = int(a) even = 0 odd = 0 while a > 0: if a % 2 == 0: even += 1 else: odd += 1 a = a // 10 print (" Even: %d, odd: %d" % (even, odd)) Примерный результат: 65439 Even: 2, odd: 3
SQL SQL — аббревиатура от Structured Query Language. Это язык запросов к базам данных, который предоставляет формальный способ взаимодействия с базой данных приложения. SQL очень прост в изучении и близок к английскому языку по синтаксису.
Штефан Цукерман, программист: «Если вы умеете правильно организовывать данные, совершенно не важно, каким языком вы владеете. Есть три тесно связанные вещи, которые вам нужно знать: 1. Основные структуры данных и алгоритмы (связные списки, хеш-таблицы, сбалансированные и другие деревья поиска, очереди и кучи); 2. Моделирование данных, полученных из реального мира ( понимание логики уже выстроенных моделей, умение работать со стандартными и сторонними библиотеками); 3. Любой язык программирования, который вам удобен. Если вы хорошо знаете язык и можете показать это на деле, то сможете на этом много заработать. Если вы хорошо освоите какой-нибудь язык, то сможете выучить любой другой. ОСНОВЫ АЛГОРИТМИЗАЦИИ Понятие алгоритма В основу работы ЭВМ положен программный принцип управления, состоящий в том, что ЭВМ выполняет действия по заранее заданной программе.
Программа – это упорядоченная последовательность команд, которые понимает ЭВМ.
В основе любой программы лежит алгоритм. Алгоритм – это полное и точное описание на некотором языке конечной последовательности правил, указывающих исполнителю действия, которые он должен выполнить, чтобы за конечное время перейти от (варьируемых) исходных данных к искомому результату.
Алгоритм — точный набор инструкций, описывающих порядок действий исполнителя для достижения результата решения задачи за конечное время.
Свойства алгоритмов 1. дискретный (пошаговый) характер определяемого им процесса. 2. записан на понятном ему языке и содержит предписания, которые исполнитель может выполнить. 3. его массовость, применимость к некоторому классу объектов, возможность получения результата при различных исходных данных на некоторой области допустимых значений. 4. обязательное требование к алгоритмам – требование их конечности. 5. эффективность алгоритма. Время выполнения алгоритма и необходимые ресурсы. Алгоритмизация – процесс разработки и описания алгоритма решения какой-либо задачи.
Существует два вида средств для представления алгоритмов – языковые и графические.
Словесная запись алгоритмов Пример Составим алгоритм вычисления коэффициентов приведенного квадратного уравнения x 2 + px + q = 0, корни которого x 1, x 2 известны. алгоритм: Начало. 1. Ввести x 1, x 2. 2. p = –( x 1 + x 2 ). 3. q = x 1 x 2. Вывести p, q. Конец. □ Схемы алгоритмов Схема алгоритма – это графический способ его представления с элементами словесной записи. |
Последнее изменение этой страницы: 2019-05-18; Просмотров: 216; Нарушение авторского права страницы