Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Вопросы:
- 1/2.) Вопрос: Этапы решения задачи на ЭВМ.
- 1. Постановка задачи.
- Описание: На этапе постановки задачи должно быть четко сформулировано, что дано и что требуется найти.
- 2. Формализация задачи (математическая формулировка).
- Описание: Здесь задача переводится на язык математических формул, уравнений, отношений.
- 3. Математическая формулировка.
- Описание: Определяем численный математический метод, позволяющий свести решение задачи к последовательному выполнению основных четырех арифметических действий. Например, квадратное уравнение можно решить: через дискриминант, с помощью теоремы Виета или графическим способом. . Таким образом, необходимо выбрать метод, обеспечивающий выполнение требований поставленной задачи. Кроме того, на данном этапе необходимо найти все частные случаи, то есть случаи, когда задача не имеет решений, или решения выполняется по другой формуле (другим методом) и определить порядок рассмотрения этих случаев.
- 4. Построение алгоритма.
- Описание:
- --Понятие алгоритма. Алгоритмом это последовательность действий, направленных на решение поставленной задачи.
- Свойства алгоритмов:
- ⦁ Дискретность - это свойство состоит в том, что алгоритм должен представлять процесс решения задачи, как последовательное выполнение простых шагов. При этом для выполнения каждого шага требуется некоторый конечный отрезок времени. То есть преобразование исходных данных осуществляется по времени дискретно.
- ⦁ Детерминированность (определенность) - означает однозначное толкование элементов алгоритма. Его многократное исполнение при одних и тех же исходных данных должно приводить к одному и тому же результату.
- ⦁ Результативность алгоритма заключается в возможности получения определенного результата для допустимых данных за конечное число шагов.
- ⦁ Универсальность или массовость алгоритма означает, что его возможно применять при любых допустимых исходных данных.
- 5. Составление программы на языке программирования.
- 6. Отладка и тестирование программы.
- 7. Проведение расчетов и анализ полученных результатов.
- Примечание: Непосредственно к программированию в этом списке относятся пункты 3, 4, 5.
- 3.)Данные и величины.
- Описание: Совокупность величин, с которыми работает компьютер, принято называть данными. По отношению к программе данные делятся на исходные, результаты. Пример: ax^2 + bx + с = 0. Исходными данными являются коэффициенты а, b, с. Кроме того, необходимо усвоить следующее правило: Всякая величина занимает свое определенное место в памяти ЭВМ (иногда говорят — ячейку памяти).
- У всякой величины имеются три основных свойства:
- Константа — неизменная величина.
- Переменные — Эти величины могут изменять свои значения в ходе выполнения программы.
- 4.Запись алгоритма в виде блок-схем.
- Описание: Запись алгоритма производится в наглядной и компактной форме, удобной для практического использования. Наибольшее распространение получила графическая запись структуры алгоритмов в виде блок-схем, то есть последовательности специальных символов (блоков), каждому из которых соответствует определенный этап решения задачи. Блоки соединяются линиями потока информации.
- 5.Запись алгоритма на алгоритмическом языке.
- Примечание: Общий вид команды ветвления в блок-схемах и на алгоритмическом языке следующий:
- http://prntscr.com/doz3p5
- Описание: Вначале проверяется условие. Если условие истинно, то выполняется серия 1 — последовательность команд, на которую указывает стрелка с надписью «да». В противном случае выполняется серия 2, то есть «нет».
- Пример:
- алг Вычисление функции 2
- нач
- вещ x, a, F
- ввод x, a
- если x2-a=0 то
- вывод «функция не существует»
- иначе
- F:=(x+5)/(x2-a)
- вывод F
- кв
- кон
- 6.Разветвляющиеся (условные) алгоритмы.
- Описание: На практике линейный тип алгоритма встречается редко при решении простейших задач, не имеющих частных случаев. Разветвляющийся алгоритм содержит блоки проверки какого-либо условия, и в зависимости от результатов проверки выполняется та или иная последовательность операций, подробнее об этом, написано в блоке номере 5.
- 7.Частные случаи в условных алгоритмах. Порядок их рассмотрения.
- Примечание: частные случаи – это случаи, когда задача не имеет решений, или решения выполняется по другой формуле (другим методом).
- Примечание: При вычислении по формулам чаще всего возникают следующие частные случаи, обусловленные правилам арифметических действий.
- Непосредственно частные случаи:
- ⦁ знаменатель =0;
- ⦁ подкоренное выражение меньше 0;
- Пример: http://prntscr.com/dozbed
- ⦁ аргумент логарифма меньше или равен 0;
- Пример: http://prntscr.com/dozbof
- ⦁ при вычислении тангенса необходимо помнить, что данная функция не существует, если косинус данного алгоритма равен 0;
- Пример: http://prntscr.com/dozbza
- ⦁ при вычислении котангенса необходимо помнить, что данная функция не существует, если синус данного алгоритма равен 0;
- Пример: http://prntscr.com/dozcej
- ⦁ геометрические измерения (стороны фигур, радиусы и т.д.), физические (емкости, пути, сила тока и т.д.) величины как правило не могут быть меньше или равны 0 и могут подчиняться специальным правилам (например, сумма углов треугольника должна быть равна 180°);
- 8.Вложенные условия
- Рассмотрим применение вложенных операторов на следующем примере:
- Описание: Обратим внимание, что при х<=2, функций не существует при x<0, так как квадратный корень из отрицательных чисел вычислять нельзя. Следовательно, необходимо применить вложенный условный оператор, чтобы отследить случаи, когда функций не существует. Блок-схема алгоритма и запись алгоритма на АЯ приведены ниже:
- Пример: http://prntscr.com/dozeao
- 9.Цикл со счетчиком
- Описание: Цикл со счетчиком – выполняется заданное количество раз. Задается начальное и конечное значение счетчика цикла, а также шаг его изменения. Выполнение цикла прекращается, когда счетчик достигает конечного значения.
- 10.Цикл с предусловием
- Цикл с предусловием — это основная, но не единственная форма организации циклических алгоритмов.
- Пример: http://prntscr.com/dozgc0
- Примечание: Здесь используется условие окончания цикла. Когда оно становится истинным, цикл заканчивает работу.
- 11.Цикл с постусловием
- Второй тип циклической структуры — цикл с постусловием (цикл-до)
- Пример: http://prntscr.com/dozxvp
- Здесь тело цикла предшествует условию цикла. Тело цикла повторяет свое выполнение, если условие ложно. Повторение кончается, когда условие станет истинным.
- 12.Вспомогательные алгоритмы и процедуры
- Описание: Вспомогательным называется алгоритм решения некоторой подзадачи из основной решаемой задачи. В таком случае алгоритм решения исходной задачи называется основным алгоритмом.
- Пример: http://prntscr.com/dozzuj
- 13.Таблица исполнения (Трассировочная таблица).
- Описание: В такой таблице для конкретных значений исходных данных по шагам прослеживается изменение переменных, входящих в алгоритм.
- Примечание: Выполнение серии команд (тела цикла) повторяется, пока условие цикла истинно. Когда условие становится ложным, цикл заканчивает выполнение. Служебные слова нц и кц обозначают начало цикла и конец цикла соответственно.
- 14.История и классификация языков программирования
- Описание: Язык программирования — это способ записи программ решения различных задач на ЭВМ в понятной для компьютера форме. Процессор компьютера непосредственно понимает язык машинных команд (ЯМК). Программы на ЯМК программисты писали лишь для самых первых ламповых машин — ЭВМ первого поколения. Программирование на ЯМК — дело непростое. Программист должен знать числовые коды всех машинных команд, должен сам распределять память под команды программы и данные.
- В 1950-х гг. появляются первые средства автоматизации программирования — языки Автокоды. Позднее для языков этого уровня стало применяться название «Ассемблеры».
- Ассемблер - транслятор исходного текста программы, написанной на языке ассемблера, в программу на машинном языке. Транслятор — это системная программа, переводящая текст программы на Автокоде в текст эквивалентной программы на ЯМК.
- Первыми популярными языками высокого уровня, появившимися в 1950-х гг., были Фортран, Кобол (в США) и Алгол (в Европе)
- В 1965 г. в Дартмутском университете был разработан язык Бейсик. По замыслу авторов это простой язык, легко изучаемый, предназначенный для программирования несложных расчетных задач. Наибольшее распространение Бейсик получил на микроЭВМ и персональных компьютерах.
- Однако Бейсик — неструктурный язык, и потому он плохо подходит для обучения качественному программированию. Справедливости ради следует заметить, что последние версии Бейсика для ПК (например, QBasic) стали более структурными и по своим изобразительным возможностям приближаются к таким языкам, как Паскаль.
- Значительным событием в истории языков программирования стало создание в 1971 г. языка Паскаль. Его автор — швейцарский профессор Н.Вирт — разрабатывал Паскаль как учебный язык структурного программирования.
- Наибольший успех в распространении этого языка обеспечили персональные компьютеры. Фирма Borland International, Inc (США) разработала систему программирования Турбо Паскаль для ПK. Турбо Паскаль — это не только язык и транслятор с него, но еще и операционная оболочка, обеспечивающая пользователю удобство работы. Турбо Паскаль вышел за рамки учебного предназначения и стал языком профессионального программирования с универсальными возможностями. Транслятор с Турбо Паскаля по оптимальности создаваемых им программ близок наиболее удачному в этом отношении транслятору — транслятору с Фортрана. В силу названных достоинств Паскаль стал основой многих современных языков программирования, например, таких как Ада, Модула-2 и др.
- Язык программирования Си (английское название — С) создавался как инструментальный язык для разработки операционных систем, трансляторов, баз данных и других системных и прикладных программ.
- Си — это язык структурного программирования, но, в отличие от Паскаля, в нем заложены возможности непосредственного обращения к некоторым машинным командам, к определенным участкам памяти компьютера. Дальнейшее развитие Си привело к созданию языка объектно-ориентированного программирования Си++.
- ЛИСП появился в 1965 г. Язык ЛИСП основан на понятии рекурсивно определенных функций. А поскольку доказано, что любой алгоритм может быть описан с помощью некоторого набора рекурсивных функций, то ЛИСП, по сути, является универсальным языком. С его помощью на ЭВМ можно моделировать достаточно сложные процессы, в частности интеллектуальную деятельность людей.
- Язык Пролог разработан во Франции в 1972 г. также для решения проблемы «искусственного интеллекта». Пролог позволяет в формальном виде описывать различные утверждения, логику рассуждений и заставляет ЭВМ давать ответы на заданные вопросы.
- 14.Структура и способы описания языков программирования высокого уровня
Add Comment
Please, Sign In to add comment