Categorias: Todos - алгоритм - данные - типы - переменные

por Мария Маркова 1 ano atrás

605

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

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

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

Понятие "алгоритм"

Данные

Данные - это совокупность величин, с которыми работает компьютер

Классификация данных
По отношению к программе

Окончательные (результат)

Промежуточные данные

Исходные данные

По структуре

По структуре данные подразделяются на простые и структурированные.

Структурированные

Для структурированных величин характерен принцип:

одна величина — множество значений.

Простые

Для простых величин характерен принцип:

одна величина одно значение

Основные типы данных
Символьный тип

Символьный тип — это любые символы компьютерного алфавита, например: а, 5, + , $.

С символьным типом данных возможны операции отношений.


Логический тип

Логический тип принимает одно из двух значений: True (истина) или False (ложь).

С логическим типом возможны логические операции: И (and), ИЛИ (or), НЕТ (отрицание).

Вещественные числа

Вещественные: это любые (целые и дробные) числа в некотором диапазоне. Например: 2.5, -0.01, 45.0, 3 .6 x 109

С вещественными числами возможны арифметические операции, операции отношений.

Целые числа

Целые: это целые положительные и отрицательные числа в некотором диапазоне. Пример: 23, -12, 387.

С целыми числами возможны арифметические операции (сложение, вычитание, умножение, целое деление и деление с остатком), операции отношений (<,>, = и др.)

Величина

Величина - это отдельный информационный объект (число, символ, строка, таблица и др.)

Классификация в языках программирования
Переменные

Переменные — величины, которые могут изменять свои значения в ходе выполнения программы. Они представляются в алгоритме символическими именами ― идентификаторами.

Пример: a, b, y, max - переменные.

Константы

Константа ― неизменная величина, и в алгоритме она представляется постоянным значением, которое не меняется в ходе программы.

Пример: pi=3.14 — константа.

Свойства
Тип
Значение
Имя

Алгоритм

Алгоритм — это последовательность команд управления каким-либо исполнителем.

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

Формы записи алгоритмов
Программная

Программная форма представления алгоритма представляет собой тексты на языках программирования.


Псевдокод

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

Пример:

алг ЗДРАВСТВУЙМИР

нач

вывод ('Здравствуй, Мир!')

кон алг ЗДРАВСТВУЙМИР

Графическая

Графическая форма представления алгоритма - изображение из графических символов.

Словесная

Словесная форма представления алгоритма - это запись на естественном языке.

Пример: Составить алгоритм «Вскипятить чайник»

1.Начало

2. Открыть кран с водой.

3. Налить воду в чайник.

4. Закрыть кран.

5. Включить плиту.

6. Поставить чайник на огонь.

7. Ждать, пока вода закипит.

8. Выключить плиту.

9. Конец.

Свойства алгоритмов
Детерминированность (определенность)

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

Массовость

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

Точность

Точность: каждая команда должна пониматься однозначно.

Понятность

Понятность: алгоритм должен содержать только те команды, которые входят в набор команд, который может выполнить конкретный исполнитель.

Дискретность

Дискретность: алгоритм должен быть разбит на последовательность выполняемых шагов.

Конечность (результативность)

Конечность(результативность): за конечное число шагов должен быть получен результат.

История понятия "алгоритм"

История алгоритма: от Аль-Хорезми до современности

Слово алгоритм происходит от имени великого среднеазиатского ученого 8–9 вв. Абу Абдуллах Мухаммеда ибн Мусса аль-Хорезми. Из математических работ Аль-Хорезми до нас дошли только две – алгебраическая и арифметическая. Вторая книга долгое время считалась потерянной, но в 1857 в библиотеке Кембриджского университета был найден ее перевод на латинский язык. В ней описаны четыре правила арифметических действий, практически те же, что используются и сейчас. Первые строки этой книги были переведены так: «Сказал Алгоритми. Воздадим должную хвалу Богу, нашему вождю и защитнику». Так имя Аль-Хорезми перешло в Алгоритми, откуда и появилось слово алгоритм. Термин алгоритм употреблялся для обозначения четырех арифметических операций, именно в таком значении он и вошел в некоторые европейские языки.

 Книга Аль-Хорезми.jpg

Постепенно значение слова расширялось. Учёные начинали применять его не только к сугубо вычислительным, но и к другим математическим процедурам. Например, около 1360 г. французский философ Николай Орем написал математический трактат «Algorismus proportionum» («Вычисление пропорций»), в котором впервые использовал степени с дробными показателями и фактически вплотную подошёл к идее логарифмов. Когда же на смену абаку пришёл так называемый счёт на линиях, многочисленные руководства по нему стали называть «Algorithmus linealis», то есть правила счёта на линиях.

В 1684 году Готфрид Лейбниц в сочинении «Nova Methodvs pro maximis et minimis, itemque tangentibus…» впервые использовал слово «алгоритм» (Algorithmo) в ещё более широком смысле: как систематический способ решения проблем дифференциального исчисления.

Готфрид Лейбниц.jpg

Пользовался словом алгоритм и Леонард Эйлер, одна из работ которого так и называется — «Использование нового алгоритма для решения проблемы Пелля» («De usu novi algorithmi in problemate Pelliano solvendo»). Понимание Эйлером алгоритма как синонима способа решения задачи уже очень близко к современному.

Историки датируют 1691 годом один из списков древнерусского учебника арифметики, известного как «Счётная мудрость». Это сочинение известно во многих вариантах и восходит к ещё более древним рукописям XVI в. По ним можно проследить, как знание арабских цифр и правил действий с ними постепенно распространялось на Руси. Таким образом, слово «алгоритм» понималось первыми русскими математиками так же, как и в Западной Европе. Однако его не было ни в знаменитом словаре В. И. Даля, ни спустя сто лет в «Толковом словаре русского языка» под редакцией Д. Н. Ушакова (1935 г.). Зато слово «алгорифм» можно найти и в популярном дореволюционном Энциклопедическом словаре братьев Гранат, и в первом издании Большой Советской Энциклопедии (БСЭ), изданном в 1926 г. И там, и там оно трактуется одинаково: как правило, по которому выполняется то или иное из четырёх арифметических действий в десятичной системе счисления. Однако к началу XX в. для математиков слово «алгоритм» уже означало любой арифметический или алгебраический процесс, выполняемый по строго определённым правилам, и это объяснение также даётся в БСЭ.

Точное определение понятия алгоритма дало возможность доказать алгоритмическую неразрешимость многих математических проблем. Появление первых проектов вычислительных машин (А.Тьюринг, Э.Пост ) стимулировало исследование возможностей практического применения алгоритмов, использование которых, ввиду их трудоемкости, было ранее недоступно. Дальнейший процесс развития вычислительной техники определил развитие теоретических и прикладных аспектов изучения алгоритмов.

Современный взгляд на алгоритмизацию.

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