Содержание
Введение_______________________________________________________ 3
Виды задач, решаемых с помощью ПЭВМ. Этапы их решения_________ 4
Основные методы проектирования программных продуктов__________ 7
Алгоритмизация вычислительных процессов_______________________ 10
Языки и системы программирования. Создание компьютерных программ 11
Виды правовых задач и особенности их решения с помощью компьютера 14
Заключение____________________________________________________ 16
Список литературы____________________________________________ 17
Введение
ПЭВМ, как и любая другая вычислительная машина, является не чем иным, как "слепым" исполнителем программ, которые и придают компьютеру всю привлекательность.
Программа это описание, воспринимаемое ЭВМ и достаточное для решения определенной задачи.
Для составления программ используют искусственные языки, называют языками программирования.
Под ПО в узком смысле понимается просто совокупность программ. В широком смысле в ПО наряду с программами включают различные языки, процедуры, правила и документацию, необходимые для использования и эксплуатации программных продуктов.
ПО ПЭВМ по функциональному признаку традиционно делится на системное и прикладное.
Системным называется ПО, используемое для разработки и выполнения программных продуктов, а также для предоставления пользователю ЭВМ определенных услуг. Оно является необходимым дополнением к техническим средствам ПЭВМ. Без СПО машина по сути безжизненна.
Прикладным называют ПО, предназначенное для решения определенной целевой задачи или класса таких задач. К этим задачам относятся производство вычислений по заданному алгоритму, подготовка того или иного текстового документа и т.п.
Виды задач, решаемых с помощью ПЭВМ. Этапы их решения
Понятие алгоритма является основным при решении задач с использованием вычислительной машины.
Подробный анализ этого понятия дается Д. Кнутом в его книге "Искусство программирования для ЭВМ", том 1. Отметим, что слово "алгоритм" (algorithm) определяло правило выполнения арифметических действий с использованием арабских цифр (1747 год). К 1950 г. под словом "алгоритм" подразумевали изложенный в "Элементах" Евклида алгоритм Евклида - процесс нахождения наибольшего общего делителя двух чисел.
Современное значение слова "алгоритм" сравнимо по смыслу со значением слов: рецепт, процесс, метод, способ, процедура, программа. Однако в слове "алгоритм" имеется свой дополнительный оттенок. Помимо того, что алгоритм - это описание процесса решения некоторой задачи, он имеет следующие важные особенности (свойства).
Из курса алгоритмизации Вам уже должно быть известно, что:
Алгоритм это строго определенная последовательность действий, необходимая для решения поставленной задачи.
Иными словами, алгоритм - это точное предписание, ведущее от варьируемых исходных данных к искомому результату.
Основные свойства алгоритма:
Массовость - применимость к целым сериям исходных данных для однотипных задач
Результативность - алгоритм обязательно должен давать какой-либо результат (решение), или сообщать, что для данных входных данных решения не существует (не может быть найдено). Т.е. алгоритм всегда должен приводить к решению задачи, причем, за конечное число шагов.
Определенность, точность - содержит строгую, не изменяемую произвольным образом последовательность действий. Т.е. каждый шаг алгоритма должен быть четким и однозначным
Дискретность - весь ход решения задачи должен быть разбит на отдельные законченные этапы - шаги алгоритма. Каждый шаг алгоритма должен указывать только одно конкретное действие.
Некоторые из этапов могут быть исключены самой постановкой задачи.
Первый этап состоит в анализе проблемы и в построении математической модели. На основе выделенных закономерностей, характеризующих моделируемое явление, уточняются входные и выходные данные и связи между ними. Подробнее о математическом моделировании мы поговорим немного попозже.
Математическую модель уже можно изучать чисто математическими методами, не вдаваясь в физическую природу объекта. А это означает, что пришла пора выбора метода решения задачи, с помощью которого разрабатывается алгоритм ее решения.
Далее следует представить алгоритм в таком виде, чтобы вычислительная машина могла его выполнить. Для этого нужно разбить алгоритм на элементарные операции, которые умеет выполнять машина, и записать каждую такую операцию на языке, понятном этой машине, т.е. представить алгоритм в виде программы.
Для большинства задач, встречающихся на практике, точных методов решения или нет, или они представляются громоздкими формулами. Для их решения применяются численные методы.
При этом решения могут быть получены с той или иной степенью точности, которая зависит от того, насколько удачно выбрана математическая модель, от точности задания входных данных, алгоритма решения задачи, от тех вычислительных средств, с помощью которых она решается.
Как следует из анализа приведенных этапов, основная работа выполняется человеком без использования вычислительной машины. Фундаментальные идеи, лежащие в основе конструирования алгоритмов (в конечном итоге программ), можно объяснить и понять; не упоминая при этом вычислительную машину.
Перечисленные этапы определяют процесс программирования. Программирование - дисциплина многоплановая; оно содержит множество нетривиальных проблем, требующих теоретического фундамента и систематического подхода. Интересные исследования и сложные проблемы возникают тогда, когда программы достигают определенной сложности и больших размеров.
Основные методы проектирования программных продуктов
Проектирование алгоритмов и программ - наиболее ответственный этап жизненного цикла программных продуктов, определяющий, насколько создаваемая программа соответствует спецификациям и требованиям со стороны конечных пользователей. Затраты на создание, сопровождение и эксплуатацию программных продуктов, научно-технический уровень разработки, время морального устаревания и многое другое- все это также зависит от проектных решений.
Методы проектирования алгоритмов и программ очень разнообразны, их можно классифицировать по различным признакам, важнейшими из которых являются:
степень автоматизации проектных работ;
принятая методология процесса разработки.
По степени автоматизации проектирования алгоритмов и программ можно выделить:
методы традиционного (неавтоматизированного) проектирования;
методы автоматизированного проектирования (CASE-технология и ее элементы).
Неавтоматизированное проектирование алгоритмов и программ преимущественно используется при разработке небольших по трудоемкости и структурной сложности программных продуктов, не требующих участия большого числа разработчиков. Трудоемкость разрабатываемых программных продуктов, как правило, небольшая, а сами программные продукты имеют преимущественно прикладной характер.
При нарушении этих ограничений заметно снижается производительность труда разработчиков, падает качество разработки, и, как ни парадоксально, увеличиваются трудозатраты и стоимость программного продукта в целом.
Автоматизированное проектирование алгоритмов и программ возникло с необходимостью уменьшить затраты на проектные работы, сократить сроки их выполнения, создать типовые "заготовки" алгоритмов и программ, многократно тиражируемых для различных разработок, координации работ большого коллектива разработчиков, стандартизации алгоритмов и программ.
Автоматизация проектирования может охватывать все или отдельные лапы жизненного цикла программного продукта, при этом работы этапов могут быть изолированы друг от друга либо составлять единый комплекс, выполняемый последовательно во времени. Как правило, автоматизированный подход требует технического и программного "перевооружения" труда самих разработчиков (мощных компьютеров, дорогостоящего программного инструментария, а также повышения квалификации разработчиков и т.п.).
Автоматизированное проектирование алгоритмов и программ под силу лишь крупным фирмам, специализирующимся на разработке определенного класса программных продуктов, занимающих устойчивое положение на рынке программных средств.
Проектирование алгоритмов и программ может основываться на различных подходах, среди которых наиболее распространены:
структурное проектирование программных продуктов;
информационное моделирование предметной области и связанных с ней приложений;
объектно-ориентированное проектирование программных продуктов.
В основе структурного проектирования лежит последовательная декомпозиция, целенаправленное структурирование на отдельные составляющие. Начало развития структурного проектирования алгоритмов и программ падает на 60-е гг. Методы структурного проектирования представляют собой комплекс технических и организационных принципов системного проектирования.
Типичными методами структурного проектирования являются:
нисходящее проектирование, кодирование и тестирование программ;
модульное программирование;
структурное проектирование (программирование) и др.
В зависимости от объекта структурирования различают:
функционально-ориентированные методы - последовательное разложение задачи или целостной проблемы на отдельные, достаточно простые составляющие, обладающие функциональной определенностью;
методы структурирования данных.
Для проектирования программных продуктов разработаны объектно-ориентированные технологии, которые включают в себя специализированные языки программирования и инструментальные средства разработки пользовательского интерфейса.
Традиционные подходы к разработке программных продуктов всегда подчеркивали различия между данными и процессами их обработки. Так, технологии, ориентированные на информационное моделирование, сначала специфицируют данные, а затем описывают процессы, использующие эти данные. Технологии структурного подхода ориентированы, в первую очередь, на процессы обработки данных с последующим установлением необходимых для этого данных и организации информационных потоков между связанными процессами.
Алгоритмизация вычислительных процессов
Алгоритмизация процессов, алгоритмическое описание процессов, описание процессов на языке математических символов для получения алгоритма, отображающего элементарные акты процесса, их последовательность и взаимосвязь. Алгоритмы, получающиеся путём А. п., предназначаются, как правило, для реализации на ЭВМ.
Построение алгоритмов, описывающих реальные процессы, связывается обычно с двумя задачами: нахождением эффективных систем обработки информации и исследованием математическими методами процессов функционирования больших систем. В задачах 1-го типа для построения алгоритма управления необходимо к алгоритму, описывающему процесс функционирования системы, присоединить алгоритм определения оптимального решения или оптимальных значений параметров управления. В задачах 2-го типа А. п. функционирования большой системы позволяет провести количественное и качественное исследования, связанные с оценкой основных её свойств (эффективности, надёжности и др.). Для проведения алгоритмизации процесс расчленяется на элементарные акты (подпроцессы), применительно к которым может быть дано математическое описание, исходя из известных математических схем алгебры логики, конечных автоматов, случайных процессов, массового обслуживания теории и др. Соотношения, описывающие элементарные акты процесса, объединяются в систему, дополняются описанием взаимосвязей между актами и представляются в виде алгоритма. Операции и процедуры, являющиеся элементами алгоритмического описания процесса, для программирования и реализации на ЭВМ удобно записывать на языке программирования, с которого при помощи трансляторов-программ алгоритм автоматически переводится на язык команд (операций) конкретной ЭВМ. При этом одной операции алгоритма может соответствовать в общем случае несколько операций ЭВМ.
Языки и системы программирования. Создание компьютерных программ
Существуют языки программирования 2 типов:
машинофиксированный (ассемблеры): имеют жесткую ориентацию на определенный тип компьютеров. Также называются языки низкого уровня.
аторитмические: ориентированы на систему операторов, характерных для замен определенного класса алгоритмов; языки высокого уровня (Pascal, Basic).
Программа, записанная на алгоритмическом языке программирования должна быть переведена в машинный код, для этого используется процедура трансляции. Ее реализуют программы трансляторы. Существуют 2 разновидности трансляторов:
интерпрециаторы – кооперативно транслируют и выполняют программу (Q Basic);
компиляторы – вся программа переводится в машинный код и только потом выполняется (Pascal). На этапе трансляции происходит поиск синтаксических ошибок в тексте программ.
Язык программирования Pascal был создан в 1971 г. Николсом Виртом. В середине 80-х гг. появилась расширенная, улучшенная программа Turbo Pascal.
Система программирования включает в себя:
редактор текстов программ;
компилятор;
компоновщик (компонует исполняемый код программы);
отладчик (используется для отладки программ).
Среда программирования Turbo Pascal – интерактивная, работа с которой выполняется с помощью команд меню или управляющих клавиш.
Структура программы: программа состоит из трех частей:
заголовок программы(Program имя программы);
описательная часть – объявляются все объекты, которые будут использованы в программе с указанием имен и типов данных. Раздел описаний состоит из подразделов:
uses – список имен, подключенных в стандартных библиотеках;
uses crt – стирание предыдущих выводов на экран;
label – описание меток (Label M1, M2);
const – описание констант (const p=3,1415);
type (a: array [1..10] of real);
var – объявление переменных (var a, b, c: real; x, y: integer;);
procedure – объявление процедурного пользователя;
function – объявление функций пользователя;
раздел операторов (Begin … End.).
Алфавит и словарь языка Pascal. Алфавит содержит:
строчные и заглавные буквы латинского алфавита
десятичные цифры (от 0 до 10)
специальные символы + - * / > < = ; # ‘ . , : { } [ ] ( )
Примечание: буквы русского алфавита и другие символы можно написать только в строковых константах (‘…’).
Словарь Pascal содержит зарезервированные слова [имеют фиксированное написание и навсегда определяют смысл(begin, end, type и т.д.)].Стандартные идентификаторы используются для обозначения встроенных в язык функций, процедур и т.д.
Идентификаторы - имена тех объектов программы, которые создает и называет программист (до 127 символов).
Типы данных. Данные в программе обрабатываются в виде констант и переменных константы, не изменяют своего значения в процессе выполнения в программе. Переменные могут принимать различные значения в процессе выполнения программы. Переменную можно трактовать как именованную область оперативной памяти, в которой можно записывать различные значения. Для описания множества допустимых значений величин используют указания типа данных. В Pascal существуют стандартные типы данных и есть возможность создавать свои. Типы данных могут быть простыми (целые, вещественные…) или составными (файлы, записи…).
Основные типы данных:
целочисленные: integer (-32768 - 32767), longint, byte (0 - 255), shorint (-128 - 127), word (0 - 65537);
вещественные: представляют данные которые могут представлять не целые значения (real, single, double, extende, comp);
символьный тип: char – определяет множество значений символов, каждый символ кодируется числом от 0 до 255, каждое значение такого типа один символ (var b, a: char; begin … a: = ‘1’; b: = ‘A’;);
логические (булевские): Boolean: определяет два возможных значения: истина (true) или ложь (false).
Виды правовых задач и особенности их решения с помощью компьютера
В широком смысле под правовой информацией следует понимать содержание данных (сообщений), использование которых предопределяет решение той или иной правовой задачи или способствует ее решению.
Правовая информация зарождается прежде всего в процессе правотворчества. Ее источником являются такие формы проявления правовой активности, как толкование правовоых норм норм (институтов) и обобщение правовой практики (например, судебной). Дополнительную информацию дает логическое и систематическое толкование. В процессе обобщения правовой практики новая информация возникает за счет разъяснения терминов, понятий, анализа типичных ситуаций в уголовно-правовой, гражданско-правовой и иных сферах судебной деятельности.
Процесс создания информации продолжается в правоприменительной деятельности. В ходе конституционного, гражданского, арбитражного или уголовного производства создается особый вид правовой информации – судебное доказательство, служащее основой для принятия решения. В результате этой деятельности создаются процессуальные документы (решения приговор, определение), несущие информацию о принятом решении.
Конкретный вид юридической деятельности налагает определенный отпечаток на используемую в нем информацию и предопределяет источники, из которых она может быть получена.
Например, в таком виде юридической деятельности, как раскрытие и расследование преступлений, наряду с информацией, содержащейся в нормах УПК, которые регулируют процессуальный порядок данного вида деятельности, весьма широко используется информация, содержащаяся в источниках, именуемых следами преступления и преступника, а также в образах, запечатлевшихся в сознании людей (потерпевшего, свидетеля и т.д.).
Все многообразие источников правовой информации принято подразделять на два основных класса: официальные и неофициальные.
К официальным источникам относятся акты высших органов государственной власти и управления, нормативные акты министерств и ведомств, нормативно-правовые решения местных органов власти, а также акты высших судебных и арбитражных органов.
Под неофициальными источниками следует понимать приказы и распоряжения руководителей учреждений, предприятий и организаций; судебные приговоры, решения и определения; акты нотариальных органов; акты, фиксирующие результаты научной и практической юридической деятельости (например, протоколы допросов, осмотров мест преступлений и др. источники, содержащие данные, используемые при решении правовых задач).
Классификация правовой информации. Собственно правовая информация подразделяется на документаьную и недокументальную.
К документальной относятся данные, закрепленные любым способом и на любом носителе. С этой точки зрения правовым документом признается любой материальный объект, в котором фиксируется самого разнообразного свойства знания (данные) о праве и юридической деятельности, предназначенные для передачи во времени и пространстве и используемые в общественной практике. К недокументальной относится та, которая материально не выражена (например, устные высказывания свидетеля преступления).
Правовая информация может быть разделена на нормативную и ненормативную. К нормативной правовой информации относятся сведения (сообщения, данные) о нормах права, правовых институтах, правоположениях, санкциях, видах и формах юридической ответственности и т.д. Эту информацию можно разделить на четыре уровня:
Заключение
В соответствии с ч. 4 ст. 15 Конституции РФ общепризнанные принципы и нормы международного права и международные договоры России являются составной частью ее правовой системы. Там самым существенно расширяется число актов и норм, подлежащих обработке в автоматизированных информационно-поисковых системах правовой информации.
Правовая информация федерального уровня содержится в Конституции РФ, в федеральных конституционных законах, в нормативных указах Президента РФ, Постановлениях Правительства РФ и других нормативных актах (в том числе в актах судебной практики, решениях Конституционного Суда Российской Федерации, разъяснениях по вопросам применения законодательства, обзорах по судебной практике, официально опубликованных решениях по наиболее сложным делам).
Действующие информационные системы включают также значительное число ведомственных правовых актов, прошедших регистрацию в Министерстве юстиции РФ.
Список литературы
1. Артамонов Б.Н. и др. Основы современных компьютерных технологий.- Санкт-Петербург, 2002.- 448 c.
2. Бачило И.Л. и др. Информационное право.- Санкт-Петербург, 2001.-789 с.
3. Полевой Н.С. Правовая информатика и кибернетика.- М., 1993.- 528 c.
4. Серго А.Г. и др. Информатика и математика для юристов. Сеть Интернет.- М., 2003.- 182 c.
5. Уваров В. Техника цифровой съемки. -М., 2002. С. 36-42.