av Мария Маркова 1 år siden
624
Mer som dette
Данные - это совокупность величин, с которыми работает компьютер
Окончательные (результат)
Промежуточные данные
Исходные данные
По структуре данные подразделяются на простые и структурированные.
Структурированные
Для структурированных величин характерен принцип:
одна величина — множество значений.
Простые
Для простых величин характерен принцип:
одна величина— одно значение
Символьный тип — это любые символы компьютерного алфавита, например: а, 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 в библиотеке Кембриджского университета был найден ее перевод на латинский язык. В ней описаны четыре правила арифметических действий, практически те же, что используются и сейчас. Первые строки этой книги были переведены так: «Сказал Алгоритми. Воздадим должную хвалу Богу, нашему вождю и защитнику». Так имя Аль-Хорезми перешло в Алгоритми, откуда и появилось слово алгоритм. Термин алгоритм употреблялся для обозначения четырех арифметических операций, именно в таком значении он и вошел в некоторые европейские языки.
Постепенно значение слова расширялось. Учёные начинали применять его не только к сугубо вычислительным, но и к другим математическим процедурам. Например, около 1360 г. французский философ Николай Орем написал математический трактат «Algorismus proportionum» («Вычисление пропорций»), в котором впервые использовал степени с дробными показателями и фактически вплотную подошёл к идее логарифмов. Когда же на смену абаку пришёл так называемый счёт на линиях, многочисленные руководства по нему стали называть «Algorithmus linealis», то есть правила счёта на линиях.
В 1684 году Готфрид Лейбниц в сочинении «Nova Methodvs pro maximis et minimis, itemque tangentibus…» впервые использовал слово «алгоритм» (Algorithmo) в ещё более широком смысле: как систематический способ решения проблем дифференциального исчисления.
Пользовался словом алгоритм и Леонард Эйлер, одна из работ которого так и называется — «Использование нового алгоритма для решения проблемы Пелля» («De usu novi algorithmi in problemate Pelliano solvendo»). Понимание Эйлером алгоритма как синонима способа решения задачи уже очень близко к современному.
Историки датируют 1691 годом один из списков древнерусского учебника арифметики, известного как «Счётная мудрость». Это сочинение известно во многих вариантах и восходит к ещё более древним рукописям XVI в. По ним можно проследить, как знание арабских цифр и правил действий с ними постепенно распространялось на Руси. Таким образом, слово «алгоритм» понималось первыми русскими математиками так же, как и в Западной Европе. Однако его не было ни в знаменитом словаре В. И. Даля, ни спустя сто лет в «Толковом словаре русского языка» под редакцией Д. Н. Ушакова (1935 г.). Зато слово «алгорифм» можно найти и в популярном дореволюционном Энциклопедическом словаре братьев Гранат, и в первом издании Большой Советской Энциклопедии (БСЭ), изданном в 1926 г. И там, и там оно трактуется одинаково: как правило, по которому выполняется то или иное из четырёх арифметических действий в десятичной системе счисления. Однако к началу XX в. для математиков слово «алгоритм» уже означало любой арифметический или алгебраический процесс, выполняемый по строго определённым правилам, и это объяснение также даётся в БСЭ.
Точное определение понятия алгоритма дало возможность доказать алгоритмическую неразрешимость многих математических проблем. Появление первых проектов вычислительных машин (А.Тьюринг, Э.Пост ) стимулировало исследование возможностей практического применения алгоритмов, использование которых, ввиду их трудоемкости, было ранее недоступно. Дальнейший процесс развития вычислительной техники определил развитие теоретических и прикладных аспектов изучения алгоритмов.
Теория алгоритмов строит и изучает конкретные модели алгоритмов. С развитием вычислительной техники и теории программирования возрастает необходимость построения новых экономичных алгоритмов, изменяются способы их построения, способы записи алгоритмов на языке, понятном исполнителю. Особый тип исполнителя алгоритмов – компьютер, поэтому необходимо создавать специальные средства, позволяющие, с одной стороны, разработчику в удобном виде записывать алгоритмы, а с другой – дающие компьютеру возможность понимать написанное. Такими средствами являются языки программирования или алгоритмические языки.