Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по информатике.doc
Скачиваний:
1
Добавлен:
27.09.2019
Размер:
293.89 Кб
Скачать

1.Построение и типы алгоритмов.

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

Примеры алгоритмов: решение алгебраического уравнения, алгоритм перехода улицы и т.д.

Свойства алгоритмов:

1Точность- на каждом определенном шаге алгоритма точно известно, что нада делать.

2Искренность- каждый шаг алгоритма должен указывать только одно конкретное действие и исполнитель должен выполнить его целиком.

3Массовость- с помощью одного и того же алгоритма можно решать однотипные задачи и делать это неоднократно.

4Результативность- Исполнение алгоритма сводится к выполнению конечного числа действий и всегда это неоднократно.

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

Типы алгоритмов.

Существует три основных способа описания алгоритма:

1.Словесный – все рассмотренные ранее примеры являются словесными (алгоритм перехода улицы, решение алгебраического выражения и т.д.)

2.Способ, использующий псевдокоды (алгоритмический язык)

3.Графический способ – изображается графическим в виде блок-схем. Он наиболее наглядно изображает алгоритм любой степени сложности.

Наиболее часто для решения на ЭФМ графический способ изображения алгоритмов в виде боксёр-. Всякая такая схема состоит из блоков, которые изображаются различными фигурами: овалом, параллелограммом, прямоугольником или ромбом.

Параллелограмм – это ввод и вывод информации

Прямоугольник – это конкретные вычисления

Ромб – операции проверки условия (условные переходы)

Овалы – обозначают «начало» и «конец» операции

Блоки соединяются между собой линиями, определяющих последовательность действий, иногда нумеруется. Линии снабжаются стрелками в том случае, если движение должно идти не как обычно сверху вниз, слева направо, а , наоборот, снизу вверх, справа налево.

Из каждого ромба выходят две линии. Одна соответствует выполнению условия и начинается словом «да», другая невыполнению и начинается словом «нет».

Группы алгоритмов

Алгоритмы делятся на три основные группы: линейные, разветвляющиеся и циклические.

1.Линейные – или алгоритмы следования, Состоят из серии команд, которые выполняются последовательно, одна за другой. (например алгоритм заварки чая)

2.Разветвляющиеся алгоритм – предполагает выполнение команд серии 1, если условие соблюдается, и выполнение команд серии 2, - если условие не соблюдается.

3.Циклические алгоритмы – Алгоритмы данного типа включают в себя циклы. Циклы – это часть алгоритма (или программы), которая выполняется многократно, каждый раз при новых значениях параметра.

2.Системы и языки программирования.

Язык программирования ( англ. Programming language ) - система обозначений для описания алгоритмов и структур данных, определенная искусственная формальная система, средствами которой можно выражать алгоритмы. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполняет исполнитель ( компьютер ) под ее управлением.

Со времени создания первых программируемых машин было создано более двух с половиной тысяч языков программирования. Ежегодно их число пополняется новыми. Некоторыми языками умеет пользоваться только небольшое число их собственных разработчиков, другие становятся известны миллионам людей. Профессиональные программисты обычно применяют в своей работе несколько языков программирования.

Языки программирования низкого уровня

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

Трансляторы делятся на:

1.компиляторы - превращают текст программы в машинный код, который можно сохранить и затем использовать уже без компилятора (примером являются исполняемые файлы с расширением *. exe).

2.интерпретаторы - превращают часть программы в машинный код, выполняют и после этого переходят к следующей части. При этом каждый раз при выполнении программы используется интерпретатор.

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

Преимущества

С помощью языков низкого уровня создаются эффективные и компактные программы, поскольку разработчик получает доступ ко всем возможностям процессора.

Недостатки

1.Программист, работающий с языками низкого уровня, должен быть высокой квалификации, хорошо понимать устройство микропроцессорной системы, для которой создается программа. Так, если программа создается для компьютера, нужно знать устройство компьютера и, особенно, устройство и особенности работы его процессора.

2.результирующая программа не может быть перенесена на компьютер или устройство с другим типом процессора.

3.значительное время разработки больших и сложных программ.

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

4.Ассемблер - язык низкого уровня, что широко применяется до сих пор.

Языки программирования высокого уровня

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

К языкам программирования высокого уровня относятся:

-Pascal

-Java

-C

-C++

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

3. Язык программирования VВА (основные символы, переменные, константы и типы данных).

Переменные и типы данных

Переменная – это именованный фрагмент памяти, выделяемый или резервируемый для хранения данных.

Существуют определённые правила, позволяющие давать имена переменным, процедурам и константам с некоторыми ограничениями.

В VBA следующие правила назначения имён:

1.первым символом имени обязательно должна быть буква;

2.нельзя использовать символы «.», «!», «@», «&», «$», «#» и пробел;

3.имя может содержать буквы, цифры, и знак подчёркивания;

4.имя не может содержать более 255 знаков;

5.имя не должно совпадать с ключевыми словами VBA;

6.в одной процедуре не могут быть объявлены две переменные с одним и тем же именем.

Для того чтобы воспользоваться переменной в программе её надо сначала объявить, то есть задать её тип и область использования переменной.

Структура объявления переменных имеет следующий вид:

(Dim | Public | Private | Static) имя переменной [As] [Type]

Когда объявляется переменная, определяется область её видимости (Scope), то есть область проекта, где она доступна. Область видимости переменной задаётся с помощью одного из четырёх главных слов:

-Dim

-Public

-Private

-Static

Главное слово Dim используется для объявления переменной на уровне процедуры, такая переменная называется локальной. Переменная такого вида может быть доступна только в той процедуре, в которой она была объявлена.

В этом примере объявляются: числовые переменные i, j, x и строковая переменная v. Затем переменным присваиваются значения, в зависимости от их типа (например, i числовая переменная и поэтому ей присваивается число 2 и т.д.). Переменной x, в теле процедуры, присваивается значение выражения, которое представляет собой сумму переменной i и переменной j. После выполнения программы переменной x будет присвоено значение равное 6, а переменной v строковое значение равное “Строковое выражение”.

Под временем существования переменой понимается время, в течение которого переменная может иметь значение.

Локальные переменные имеют значение только во время выполнения процедуры, в которой они объявлены.

Использование перед именем переменной главного слова Static позволяет сохранить её значение между вызовами процедуры, в которой эта переменная объявлена. Инструкция Static используется только на уровне процедуры. Объявленные с помощью неё переменные называются статическими. Статические локальные переменные имеют значение в течение всего времени выполнения программы.

В 2.1 i объявлена как статистическая переменная типа Integer. Если требуется, чтобы все переменные процедуры были статистическими, перед её именем надо поставить главное слово Static. В 2.2 обе переменные будут статистическими.

Глобальные переменные тоже сохраняют своё значение до окончания выполнения программы, но есть некоторые отличия от статистических переменных. Глобальные переменные в модуле класса имеют значение, пока существует данный экземпляр класса. В стандартном модуле глобальные переменные имеют значение до тех пор, пока выполняется программа.

При объявлении переменной на уровне модуля используются инструкции Public и Private. Объявление переменой на уровне модуля осуществляется в секции Declaration формы или стандартного модуля.

В случае использования ключевого слова Public, переменная становится доступной во всех модулях проекта, а также и в других проектах, если они имеют ссылку на проект, в котором объявлена переменная. Такая переменная называется глобальной. Если используется ключевое слово Private, то переменная доступна только в данном модуле.

Статистические переменные, определённые с помощью ключевого слова Static, должны иметь определённые значения уже при первом вызове процедуры. В VBA эти переменные получают некоторое значение в момент их объявления.

Статистические переменные на стадии объявления могут иметь следующие значения:

-значение 0 – для численных типов;

-пустая строка(“”) – для строк переменной длины;

-строка, содержащая нули, - для строк фиксированной длины;

-значение Empty – для типа Variant;

-для массива каждый элемент получает значение соответствующего типа.

Типы данных являются одним из главных элементов языка VBA.

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

Переменные типа Byte, Boolean, Integer, Long, Single, Double, Currency, Decimal, Data называются числовыми переменными.

Переменные типа String называются строковыми переменными. Эти переменные содержат буквы, цифры, пробелы, знаки пунктуации и специальные символы.