1 / 46

Тема 1 5. Этапы подготовки и решения задач на ЭВМ

Информатика, модуль 2 Направления подготовки: Государственное и муниципальное управление, Социально-культурный сервис Институт ИИБС, кафедра ИСПИ, ауд.1448 Винтонива Наталья Ивановна. Тема 1 5. Этапы подготовки и решения задач на ЭВМ. Содержание. Этапы подготовки и решения задач на ЭВМ

rudolf
Download Presentation

Тема 1 5. Этапы подготовки и решения задач на ЭВМ

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Информатика, модуль 2 Направления подготовки: Государственное и муниципальное управление, Социально-культурный сервис Институт ИИБС, кафедра ИСПИ, ауд.1448 Винтонива Наталья Ивановна Тема15.Этапы подготовки и решения задач на ЭВМ

  2. Содержание • Этапы подготовки и решения задач на ЭВМ • Стили программирования • Логическое программирование • Примеры языков программирования

  3. В процессе подготовки и решения на ЭВМ задач можно выделить следующие этапы: • постановка задачи; • математическое описание задачи; • выбор и обоснование метода решения;  • алгоритмизация вычислительного процесса; • составление программы; • отладка программы; • решение задачи на ЭВМ и анализ результатов. 

  4. 1. Постановка задачи: • сбор информации о задаче; • формулировка условия задачи; • определение конечных целей решения задачи; • определение формы выдачи результатов; • описание данных (их типов, диапазонов величин, структуры и т. п.).

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

  6. 2. Анализ и исследование задачи, модели: • анализ существующих аналогов; • анализ технических и программных средств; • разработка математической модели; • разработка структур данных.

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

  8. Математическая модель должна удовлетворять по двум требованиям: • реалистичности • реализуемости.

  9. Реалистичность • Под реалистичностьюпонимается правильное отражение моделью наиболее существенных черт исследуемого явления.

  10. Реализуемость • достигается разумной абстракцией, отвлечением от второстепенных деталей, чтобы свести задачу к проблеме с известным решением.

  11. 3. Разработка алгоритма: • выбор метода проектирования алгоритма; • выбор формы записи алгоритма (блок-схемы, псевдокод и др.); • выбор тестов и метода тестирования; • проектирование алгоритма.

  12. Алгоритмизация вычислительного процесса • На данном этапе составляется алгоритм решения задачи согласно действиям, задаваемым выбранным методом решения. • Процесс обработки данных разбивается на отдельные относительно самостоятельные блоки, и устанавливается последовательность выполнения блоков. Разрабатывается блок-схема алгоритма.

  13. 4. Программирование: • выбор языка программирования; • уточнение способов организации данных; • запись алгоритма на выбранном языке программирования.

  14. Составление программы • При составлении программы алгоритм решения задачи переводится на конкретный язык программирования. • Для программирования обычно используются языки высокого уровня, поэтому составленная программа требует перевода ее на машинный язык ЭВМ. • После такого перевода выполняется уже соответствующая машинная программа.

  15. Программа • представляет собой совокупность описаний функций и выражения, которые необходимо вычислить. • ЭВМ непосредственно выполняет программы на машинном языке программирования данной ЭВМ.

  16. Машинные языки • были первыми языками программирования. Программирование на них затруднительно ввиду того, что, во-первых, эти языки различны для каждого типа ЭВМ, во-вторых, являются трудоемкими для большинства пользователей по причине необходимости знания особенностей конкретной ЭВМ и большого количества реализуемых ею операций (команд).

  17. Язык Ассемблера • — это язык, предназначенный для представления в удобочитаемой символической форме программ, записанных на машинном языке.

  18. Язык Макроассемблера • является расширением языка Ассемблера путем включения в него макросредств.

  19. Языковые процессоры • Для перевода программы, написанной на языке высокого уровня, в соответствующую машинную программу используются языковые процессоры.

  20. Различают два вида языковых процессоров: • интерпретаторы и • трансляторы.

  21. Транслятор • — это программа, которая принимает исходную программу и порождает на своем выходе программу, записываемую на объектном языке программирования (объектную программу).

  22. Интерпретатор • — это программа, которая получает исходную программу и по мере распознавания конструкций входного языка реализует действия, описываемые этими конструкциями.

  23. Стили программирования • Процедурное  программирование • Функциональное программирование • Объектно-ориентированное программирование • Логическое программирование

  24. Процедурное (императивное) программирование • является отражением архитектуры традиционных ЭВМ, которая была предложена фон Нейманом в 40-х годах. Теоретической моделью процедурного программирования служит алгоритмическая система под названием «машина Тьюринга».

  25. Процедурное (императивное) программирование • Программа на процедурном языке программирования состоит из последовательности операторов (инструкций), задающих процедуру решения задачи.

  26. Сущность функционального (аппликативного) программирования определена А. П. Ершовым как • «... способ составления программ, в которых единственным действием является вызов функции, единственным способом расчленения программы на части является введение имени для функции, а единственным правилом композиции — оператор суперпозиции функции. Никаких ячеек памяти, ни операторов присваивания, ни циклов, ни, тем более, блок-схем, ни передачи управления».

  27. Объектно-ориентированное программирование • представляет собой метод программирования, который весьма близко напоминает наше поведение. Оно является естественной эволюцией более ранних нововведений в разработке языков программирования.

  28. Объектно-ориентированное программирование • В основе объектно-ориентированного стиля программирования лежит понятие объекта, • а суть его выражается формулой: «объект - данные + процедуры».

  29. Объектно-ориентированное программирование • Для описания объектов служат классы. Класс определяет свойства и методы объекта, принадлежащего этому классу. • Соответственно, любой объект можно определить как экземпляр класса.

  30. Объектно-ориентированный язык программирования характеризуется тремя основными свойствами: • Инкапсуляция. Комбинирование записей с процедурами и функциями, манипулирующими полями этих записей, формирует новый тип данных - объект.

  31. Наследование • Определение объекта и его дальнейшее использование для построения иерархии порожденных объектов с возможностью для каждого порожденного объекта, относящегося к иерархии, доступа к коду и данным всех порождающих объектов.

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

  33. К наиболее современным объектно-ориентированным языкам программирования • относятся C++ • и Java. Язык программирования С (Си) первоначально был разработан для реализации операционной системы UNIX в начале 70-х годов.

  34. Ваsic(Бэйсик) (Beginners All-purpose Symbolic Instruction Code) • — многоцелевой язык символических инструкций для начинающих) представляет собой простой язык программирования, разработанный в 1964 году для использования новичками.

  35. Pascal (Паскаль) • является одним из наиболее популярных среди прикладных программистов процедурным языком программирования, особенно для ПЭВМ. Разработанный в 1970 году швейцарским специалистом в области вычислительной техники профессором Н. Виртом.

  36. Pascal характеризуется: • высоким уровнем; • широкими возможностями; • стройностью, простотой и краткостью; • строгостью, способствующей написанию эффективных и надежных программ; • высокой эффективностью реализации на ЭВМ.

  37. Логическое, или реляционное программирование • появление языка PROLOG (Пролог)(PROgramming in LOGic — программирование в терминах логики). Этот язык был создан французским ученым А. Кольмероэ в 1973 году. В настоящее время известны и другие языки, однако наиболее развитым и распространенным языком логического программирования является именно Пролог.

  38. Отношение • Центральным понятием в логическом программировании является отношение. • Программа представляет собой совокупность определений отношений между объектами (в терминах условий или ограничений) и цели (запроса).

  39. Языки логического программирования характеризуются: • высоким уровнем; • строгой ориентацией на символьные вычисления; • возможностью инверсных вычислений, то есть переменные в процедурах не делятся на входные и выходные;

  40. Языки логического программирования характеризуются: • возможной логической неполнотой, поскольку зачастую невозможно выразить в программе определенные логические соотношения, а также невозможно получить из программы все выводы правильные.

  41. 5. Тестирование и отладка: • синтаксическая отладка; • отладка семантики и логической структуры; • тестовые расчеты и анализ результатов тестирования; • совершенствование программы.

  42. 6. Анализ результатов решения задачи • 6. Анализ результатов решения задачи и уточнение в случае необходимости математической модели с повторным выполнением этапов 2-5.

  43. 7. Сопровождение программы • доработка программы для решения конкретных задач; • составление документации к решенной задаче, к математической модели, к алгоритму, к программе, к набору тестов, к использованию.

  44. Решение задачи на ЭВМ и анализ результатов • После отладки программы ее можно использовать для решения прикладной задачи. • При этом обычно выполняется многократное решение задачи на ЭВМ для различных наборов исходных данных. • Получаемые результаты интерпретируются и анализируются специалистом или пользователем, поставившим задачу.

  45. Самостоятельная работа № 7 • Перечислите этапы решения задач на ЭВМ • Какие виды моделей вы знаете, приведите примеры информационных моделей. • Что понимают под информацией  в теории информации  по концепции К. Шеннона.

  46. Использование материалов презентации Использование данной презентации, может осуществляться только при условии соблюдения требований законов РФ об авторском праве и интеллектуальной собственности, а также с учетом требований настоящего Заявления. Презентация является собственностью авторов. Разрешается распечатывать копию любой части презентации для личного некоммерческого использования, однако не допускается распечатывать какую-либо часть презентации с любой иной целью или по каким-либо причинам вносить изменения в любую часть презентации. Использование любой части презентации в другом произведении, как в печатной, электронной, так и иной форме, а также использование любой части презентации в другой презентации посредством ссылки или иным образом допускается только после получения письменного согласия авторов. 46

More Related