четверг, 20 октября 2011 г.

Блог 2. Задание 4.


Блог 2. Задание 3.


  1.  Язы́к программи́рования — формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических,синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под ее управлением.
  2. Высокоуровневый язык программирования — язык программирования, разработанный для быстроты и удобства использования программистом. Основная черта низкоуровневых языков — это абстракция, то есть введение смысловых конструкций, кратко описывающих такие структуры данных и операции над ними, описания которых на машинном коде (или другом низкоуровневом языке программирования) очень длинны и сложны для понимания.  Примеры: C, C++, Java, Python, PHP, Ruby, Perl, PureBasic, Delphi, Lisp. Языкам высокого уровня свойственно умение работать с комплексными структурами данных. В большинстве из них интегрирована поддержка строковых типов, объектов, операций файлового ввода-вывода и т. п.
  3. Высокоуровневые языки стремятся не только облегчить решение сложных программных задач, но и упростить портатирование программного обеспечения. Использование разнообразных трансляторов и интерпретаторов обеспечивает связь программ, написанных при помощи языков высокого уровня, с различными операционными системами и оборудованием, в то время как их исходный код остается, в идеале, неизменным.
  4. Паскаль (англ. Pascal) — язык программирования общего назначения. Один из наиболее известных языков программирования, широко применялся в промышленном программировании, обучении программированию в высшей школе, является базой для ряда других языков. Язык назван в честь выдающегося французского математика, физика, литератора и философа Блеза Паскаля, который создал первую в мире механическую машину, складывающую два числа. Паскаль был создан Никлаусом Виртом в 1968-69 годах после его участия в работе комитета разработки стандарта языка Алгол-68. Он был опубликован в 1970 году Виртом как небольшой и эффективный язык, чтобы способствовать хорошему стилю программирования, использовать структурное программирование и структурированные данные. Последующая работа Вирта была направлена на создание на основе Паскаля языка системного программирования, с сохранением возможности вести на его базе систематический, целостный курс обучения профессиональному программированию . Результат этой работы — язык Модула-2. Нынешнее использование Паскаля заключается в следущем:
    1) Объектно-ориентированная среда программирования Delphi, основанная на языке Object Pascal
    2) Система программирования PascalABC.NET, ориентированная на оСовременное использование:
    1) Объектно-ориентированная среда программирования Delphi, основанная на языке Object Pascal 
    2) Система программирования PascalABC.NET, ориентированная на обучение современному программированию. Язык системы — это Object Pascal для платформы Microsoft .NET.
  5. Паскаль - это язык структирированного программирования: 1. любая программа представляет собой структуру, построенную из трёх типов базовых конструкций:
    последовательное исполнение — однократное выполнение операций в том порядке, в котором они записаны в тексте программы;
    ветвление — однократное выполнение одной из двух или более операций, в зависимости от выполнения некоторого заданного условия;
    цикл — многократное исполнение одной и той же операции до тех пор, пока выполняется некоторое заданное условие (условие продолжения цикла).
    В программе базовые конструкции могут быть вложены друг в друга произвольным образом, но никаких других средств управления последовательностью выполнения операций не предусматривается...
    2.Повторяющиеся фрагменты программы (либо не повторяющиеся, но представляющие собой логически целостные вычислительные блоки) могут оформляться в виде т. н. подпрограмм (процедур или функций). В этом случае в тексте основной программы, вместо помещённого в подпрограмму фрагмента, вставляется инструкция вызова подпрограммы. При выполнении такой инструкции выполняется вызванная подпрограмма, после чего исполнение программы продолжается с инструкции, следующей за командой вызова подпрограммы.
    3. Разработка программы ведётся пошагово, методом «сверху вниз».
    В бейсике же повсеместно используется оператор GOTO (оператор безусловного перехода). Неправильное и необдуманное использование произвольных переходов в тексте программы приводит к получению запутанных, плохо структурированных программ (т.н. спагетти-кода), по тексту которых практически невозможно понять порядок исполнения и взаимозависимость фрагментов.
    Далее, в бейсике разрешено задание размера массивов во время работы программы, в Паскале размер массива задается при разработке...
    Следующее отличие, Бейсик не требует описания переменных, т.е. переменная создается во время работы программы, и получает тип данных, исходя из контекста... В паскале переменные и их типы задаются при разработке программы...
  6. Среды программирования (или как их еще называют, среды разработки) - это программы, в которых программисты пишут свои программы. Иными словами, среда программирования служит для разработки ( написания) программ и обычно ориентируется на конкретный язык или несколько языков программирования (в этом случае языки, обычно, принадлежат одной языковой группе, например, Си-подобные). Например: java, c++, паскаль, php и др.

Блог 2. Задание 2.


Блог 2. Задание 1.

Перед выполнением теста, я прочла данные материалы лекции. При выполнении  набрала 9 баллов из 10. Ошиблась в 9 вопросе - вопрос про компилятор. Прочитав в дополнительных источниках, я нашла, что компилятор - программа, переводящая текст программы на языке высокого уровня в эквивалентную программу на машинном языке. При прохождении повторно, я набрала 10 из 10)

четверг, 6 октября 2011 г.

Блог 1. Задание 5.

1. поиск месторождения;
2. разработка плана местности данного месторождения;
3. выезд на место;
4. взятие проб;
5. анализ проб;
6. если результат анализа проб положительный на наличие полезных ископаемых, то п.7, если отрицательный, то повторить п.1-п.5 последовательно;
7. начало разработки месторождения;
8. конец разработки месторождения, повторение алгоритма с п.1 последовательно.

Блог 1. Задание 4.

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

Таким образом, мы видим, что латинизированное имя среднеазиатского учёного было вынесено в заглавие книги, и сегодня ни у кого нет сомнений, что слово «алгоритм» попало в европейские языки именно благодаря этому сочинению...
В средние же века понятие "алгоритм" имело такое значение, как систематический способ решения проблем дифференциального исчесления. Его ввел в 1684 году  Готфрид Лейбниц...
Постепенно понятие "алгорим" пополнялось, но суть оставалась практически той же.
В 1684 году Готфрид Лейбниц в сочинении Nova Methodvs pro maximis et minimis, itemque tangentibus… впервые использовал слово «алгоритм» (Algorithmo) в ещё более широком смысле: как систематический способ решения проблем дифференциального исчисления. 
В XVIII веке в одном из германских математических словарей, Vollstandiges mathematisches Lexicon (изданном в Лейпциге в 1747 г.), термин algorithmus всё ещё объясняется как понятие о четырёх арифметических операциях. Но такое значение не было единственным, ведь терминология математической науки в те времена ещё только формировалась. В частности, выражение algorithmus infinitesimalis применялось к способам выполнения действий с бесконечно малыми величинами. Пользовался словом алгоритм и Леонард Эйлер, одна из работ которого так и называется — «Использование нового алгоритма для решения проблемы Пелля» (De usu novi algorithmi in problemate Pelliano solvendo). Мы видим, что понимание Эйлером алгоритма как синонима способа решения задачи уже очень близко к современному.
2. Алгори́тм, от имени учёного аль-Хорезми (перс. خوارزمی‎ [al-Khwārazmī]) — точный набор инструкций, описывающих порядок действий исполнителя для достижения результата решения задачи за конечное время. В старой трактовке вместо слова «порядок» использовалось слово «последовательность», но по мере развития параллельности в работе компьютеров слово «последовательность» стали заменять более общим словом «порядок». Это связано с тем, что работа каких-то инструкций алгоритма может быть зависима от других инструкций или результатов их работы. Таким образом, некоторые инструкции должны выполняться строго после завершения работы инструкций, от которых они зависят. Независимые инструкции или инструкции, ставшие независимыми из-за завершения работы инструкций, от которых они зависят, могут выполняться в произвольном порядке, параллельно или одновременно, если это позволяют используемые процессор и операционная система.
Алгоритм — это конечный набор правил, который определяет последовательность операций для решения конкретного множества задач и обладает пятью важными чертами: конечность, определённость, ввод, вывод, эффективность. (Э.Д. Кнут)

3. Алгоритм может быть представлен в словестной форме, графической, алгооитмической, а так же на языке программирования.

4. Выделяю три базовых структуры : структура следования, структура ветвления и структура "цикл".

5. Основные этапы разработки алгоритма: анализ задачи и проектирование, далее создание программы или самого алгоритма, а так же решие поставленной задачи.

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

Блог 1. Задание 3.