
- •12.Информационная модель эвм
- •14.Информационо-логичские основы построения пк.
- •Структура и виды команд
- •17.Логическая схема пк
- •4.1. Логические переменные и логические операции
- •4.4. Логические элементы и синтез логических схем
- •19.Внешняя память. Физическая структура диска.
- •Нгмд - накопители на гибких магнитных дисках
- •Нжмд - накопители на жестких магнитных дисках
- •Оптические (лазерные) cd и dvd диски
- •Накопители на магнитных лентах (нмл)
- •22) Функционально-структурная организация эвм (Структурная схема пк):
- •23) Классы программных продуктов:
- •1. Системное программное обеспечение
- •27) Локальные средства разработки программ.
- •28) Case-технология создания информационных систем.
- •1. Постановка задачи:
- •2. Способы описания алгоритмов.
- •2.1. Словесное описание алгоритма.
- •2.2. Графический способ описания алгоритма.
- •2.3. Описание алгоритмов с помощью программ.
- •36.Базы данных: основные понятия
- •Индексирование
- •Какие существуют выгоды от внедрения субд?
- •По каким критериям можно классифицировать субд?
- •По степени расположения
- •По способу доступа к базе данных
2.2. Графический способ описания алгоритма.
Является достаточно наглядным и простым способом описания алгоритма.
Графический способ описания алгоритма - это способ представления алгоритма с помощью общепринятых графических фигур, называемых блок-схемами, каждая из которых описывает один или несколько шагов алгоритма.
Внутри блока записывается описание команд или условий.
Для указания последовательности выполнения блоков используют линии связи ( линии соединения ).
Последовательность блоков и линий образуют блок-схему алгоритма .
ПРАВИЛА ИЗОБРАЖЕНИЯ БЛОК- СХЕМ АЛГОРИТМА.
1. В блок-схеме можно использовать строго определённые типы блоков.
2. Стрелки на линиях связи можно не ставить при направлении сверху вниз и слева направо; противоположные направления обязательно указывают стрелкой на линии.
3. Для удобства блоки могут помечаться метками(буквами или цифрами).
4. Внутри блока ввода/вывода пишется ВВОД или ВЫВОД и перечисляются имена данных, подлежащих вводу/выводу.
5. Внутри блока действия для присваивания переменных значений используется знак присваивания.
Пример нахождения максимума трех чисел.
2.3. Описание алгоритмов с помощью программ.
Алгоритм, записанный на языке программирования называется программой.
Словесная и графическая форма записи алгоритма предназначены для человека. Алгоритм, предназначенный для исполнителя на компьютере записывается на языке программирования (языке, понятном ЭВМ). Сейчас известно несколько сот языков программирования. Наиболее популярные: Бейсик, Си, Паскаль, Пролог, ПЛ, Ада и т.д.
Пример программы на языке программирования Паскаль:
PROGRAM RR;
VAR A,B,C, max: INTEGER;
BEGIN
WRITE(‘ ВВЕДИТЕ A, B, C');
READLN(A,B,C);
IF A>B THEN max:=A
ELSE max:=B;
IF C>max THEN max:=C;
WRITELN(max);
END.
Вид стандартного графического объекта |
Назначение |
|
Начало алгоритма |
|
Конец алгоритма |
|
Выполняемое действие записывается внутри прямоугольника |
|
Условие выполнения действий записывается внутри ромба |
|
Счетчик кол-во повторов |
|
Последовательность выполнения действий. |
33. Базовые структуры алгоритмов
1. Следование
Эта структура предполагает последовательное выполнение входящих в нее инструкций. Существенно, что структура следование, рассматриваемая как единое целое, имеет один вход и один выход.
2. Разветвление
Разветвление предполагает проверку некоторого условия. В зависимости от того выполняется это условие или нет, выполняется либо одна инструкция, либо другая.
Если на момент проверки условие оказалось выполнено, то будет выполнена инструкция 1, а инструкция 2 игнорируется. Если же оказывается, что условие не выполнено, то будет выполнена инструкция 2, а инструкция 1 игнорируется. Разветвление также имеет один вход и один выход.
3. Цикл
Цикл предполагает повторение выполнения некоторой инструкции, а также проверку некоторого условия продолжения повторения этой инструкции. Различают два вида базовых циклов в зависимости от порядка выполнения этих действий: сначала проверка условия выполнения инструкции, а затем ее выполнение (цикл – пока) , или сначала выполнение инструкции, а затем проверка условия повторения ее выполнения (цикл – до) . Также рассматривается цикл со счетчиком. Базовая структура – цикл имеет один вход и один выход.
34. Классификация языков программирования
Существуют различные классификации языков программирования.
По наиболее распространенной классификации все языки программирования, в соответствии с тем, в каких терминах необходимо описать задачу, делят на языки низкого и высокого уровня.
Если язык близок к естественному языку программирования, то он называется языком высокого уровня, если ближе к машинным командам, – языком низкого уровня.
В группу языков низкого уровня входят машинные языки и языки символического кодирования: Автокод, Ассемблер. Операторы этого языка – это те же машинные команды, но записанные мнемоническими кодами, а в качестве операндов используются не конкретные адреса, а символические имена. Все языки низкого уровня ориентированы на определенный тип компьютера, т. е. являются машинно–зависимыми.
Машинно–ориентированные языки – это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т.д.).
К языкам программирования высокого уровня относят Фортран (переводчик формул – был разработан в середине 50–х годов программистами фирмы IBM и в основном используется для программ, выполняющих естественно – научные и математические расчеты), Алгол, Кобол(коммерческий язык – используется, в первую очередь, для программирования экономических задач), Паскаль, Бейсик (был разработан профессорами Дармутского колледжа Джоном Кемени и Томасом Курцом.), Си (Деннис Ритч – 1972 году), Пролог (в основе языка лежит аппарат математической логики) и т.д.
Языки программирования также можно разделять на поколения:
– языки первого поколения: машинно–ориентированные с ручным управлением памяти на компьютерах первого поколения.
– языки второго поколения: с мнемоническим представлением команд, так называемые автокоды.
– языки третьего поколения: общего назначения, используемые для создания прикладных программ любого типа. Например, Бейсик, Кобол, Си и Паскаль.
– языки четвертого поколения: усовершенствованные, разработанные для создания специальных прикладных программ, для управления базами данных.
– языки программирования пятого поколения: языки декларативные, объектно–ориентированные и визуальные. Например, Пролог, ЛИСП (используется для построения программ с использованием методов искусственного интеллекта), Си++, Visual Basic, Delphi.
Языки программирования также можно классифицировать на процедурные и непроцедурные.
В процедурных языках программа явно описывает действия, которые необходимо выполнить, а результат задается только способом получения его при помощи некоторой процедуры, которая представляет собой определенную последовательность действий.
Среди процедурных языков выделяют в свою очередь структурные и операционные языки. В структурных языках одним оператором записываются целые алгоритмические структуры: ветвления, циклы и т.д. В операционных языках для этого используются несколько операций. Широко распространены следующие структурные языки: Паскаль, Си, Ада, ПЛ/1. Среди операционных известны Фортран, Бейсик, Фокал.
Непроцедурное (декларативное) программирование появилось в начале 70-х годов 20 века, К непроцедурному программированию относятся функциональные и логические языки.
В функциональных языках программа описывает вычисление некоторой функции. Обычно эта функция задается как композиция других, более простых, те в свою очередь делятся на еще более простые задачи и т.д. Один из основных элементов функциональных языков – рекурсия. Оператора присваивания и циклов в классических функциональных языках нет.
В логических языках программа вообще не описывает действий. Она задает данные и соотношения между ними. После этого системе можно задавать вопросы. Машина перебирает известные и заданные в программе данные и находит ответ на вопрос. Порядок перебора не описывается в программе, а неявно задается самим языком. Классическим языком логического программирования считается Пролог. Программа на Прологе содержит, набор предикатов–утверждений, которые образуют проблемно–ориентированную базу данных и правила, имеющие вид условий.
35. Понятие о системе программирования. Интерпретация и компиляция
программирования – это совокупность программ для разработки, отладки и внедрения новых программных продуктов.
Системы программирования обычно содержат:
· трансляторы;
· среду разработки программ;
· библиотеки справочных программ (функций, процедур);
· отладчики;
· редакторы связей и др.
Любой алгоритм, как мы знаем, есть последовательность предписаний, выполнив которые можно за конечное число шагов перейти от исходных данных к результату. В зависимости от степени детализации предписаний обычно определяется уровень языка программирования — чем меньше детализация, тем выше уровень языка.
По этому критерию можно выделить следующие уровни языков программирования:
машинные;
машинно-оpиентиpованные (ассемблеры);
машинно-независимые (языки высокого уровня).
Машинные языки и машинно-ориентированные языки — это языки низкого уровня, требующие указания мелких деталей процесса обработки данных.
Языки же высокого уровня имитируют естественные языки, используя некоторые слова разговорного языка и общепринятые математические символы. Эти языки более удобны для человека.
Языки высокого уровня делятся на:
алгоритмические (Basic, Pascal, C и др.), которые предназначены для однозначного описания алгоритмов;
логические (Prolog, Lisp и др.), которые ориентированы не на разработку алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания;
объектно-ориентированные (Object Pascal, Delphi, C++, Visual Basic, Java и др.), в основе которых лежит понятие объекта, сочетающего в себе данные и действия над ними. Программа на объектно-ориентированном языке, решая некоторую задачу, по сути описывает часть мира, относящуюся к этой задаче. Описание действительности в форме системы взаимодействующих объектов естественнее, чем в форме взаимодействующих процедур.
Алгоритмический язык (как и любой другой язык), образуют три его составляющие: алфавит, синтаксис и семантика.
Алфавит – фиксированный для данного языка набор символов (букв, цифр, специальных знаков и т.д.), которые могут быть использованы при написании программы.
Синтаксис - правила построения из символов алфавита специальных конструкций, с помощью которых составляется алгоритм.
Семантика - система правил толкования конструкций языка. Таким образом, программа составляется с помощью соединения символов алфавита в соответствии с синтаксическими правилами и с учетом правил семантики.
Каждый компьютер имеет свой машинный язык, то есть свою совокупность машинных команд, которая отличается количеством адресов в команде, назначением информации, задаваемой в адресах, набором операций, которые может выполнить машина и др.
При программировании на машинном языке программист может держать под своим контролем каждую команду и каждую ячейку памяти, использовать все возможности имеющихся машинных операций.
Но процесс написания программы на машинном языке очень трудоемкий и утомительный. Программа получается громоздкой, труднообозримой, ее трудно отлаживать, изменять и развивать.
Поэтому в случае, когда нужно иметь эффективную программу, в максимальной степени учитывающую специфику конкретного компьютера, вместо машинных языков используют близкие к ним машинно-ориентированные языки (ассемблеры).
Транслятор (англ. translator — переводчик) — это программа-переводчик. Она преобразует программу, написанную на одном из языков высокого уровня, в программу, состоящую из машинных команд.
Трансляторы реализуются в виде компиляторов или интерпретаторов. С точки зрения выполнения работы компилятор и интерпретатор существенно различаются.
Компилятор (англ. compiler — составитель, собиратель) читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, который затем и выполняется. (Pascal, C).
Интерпретатор (англ. interpreter — истолкователь, устный переводчик) переводит и выполняет программу строка за строкой. (Basic).
Таким образом, алгоритмические языки в значительной мере являются машинно-независимыми. Они облегчают работу программиста и повышают надежность создаваемых программ.
компилятор - собиратель
интерпретатор - анализатор.
компилятор прогоняет всю программу без её исполнения, а интерпретатор по командно выполняет и обрабатывает запросы .........................В этом вся суть!!!
ИТЕРАЦИИ
Итерация - это циклическая управляющая структура, которая содержит композицию и ветвление. Она предназначена для организации повторяющихся процессов обработки последовательности значений данных.
Цикл с предусловием начинается с проверки условия выхода из цикла. Это логическое выражение, например I<=6. Если оно истинно, то выполняются те действия, которые должны повторяться. В противном случае, если логическое выражение I<=6 ложно, то этот цикл прекращает свои действия.
Цикл
с постусловием функционирует
иначе. Сначала выполняется один раз те
действия, которые подлежат повторению,
затем проверяется логическое выражение,
определяющее условие выхода из цикла,
например, I>6. Если условие выхода ложно,
то цикл с постусловием прекращает свою
работу, в противном случае - происходит
повторение действий, указанных в цикле.
Повторяющиеся действия в цикле называются
"телом цикла".