Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Desktop_1 / К лекциям / ПЯВУ лк1

.doc
Скачиваний:
24
Добавлен:
10.06.2015
Размер:
95.23 Кб
Скачать

Общие понятия языков программирования

Язык программирования — набор ключевых слов (словарь) и система правил (грамматических и синтаксических) для конструирования операторов, состоящих из групп или строк чисел, букв, знаков препинания и других символов, с помощью которых люди могут сообщать компьютеру набор команд.

Принцип программного управления

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

Основы программирования

Машинный код процессора

Процессор – это большая интегральная схема, содержащая миллионы компонент:

  • триггеры для запоминания битов данных,

  • вентили для выполнения операций.

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

Множество управляющих сигналов можно связать с набором 0 и 1, которые можно интерпретировать, как число.

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

Машинные коды трудно воспринимаются человеком.

Программирование на естественном человеческом языке (метаязыке) может использоваться только на этапе составления алгоритма.

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

Язык программирования – искусственный язык.

Его свойства:

  1. Ограниченное число однозначных слов. Они распознаются транслятором.

  2. Строгие правила записи команд (операторы).

  3. Синтаксис языка - совокупность слов и правил. Ошибки синтаксиса обнаруживаются при трансляции программы.

  4. Семантика языка - смысл команды. Семантические ошибки проявляются при исполнении программы.

Тестирование – процесс поиска ошибок.

Отладка – процесс исправления ошибок.

Программа на языке программирования для выполнения требует преобразования в машинные коды. Это выполняют трансляторы.

Виды трансляторов:

  • компилятор,

  • интерпретатор.

Компилятор преобразует всю программу в машинные коды. Достоинства компилятора:

  • Транслированная программа может исполняться без компилятора.

  • При трансляции может использоваться технология оптимизации.

  • Скорость работы компилированной программы в сотни раз выше, чем интерпретируемой.

Недостатки компилятора:

  • Трудоемкость программирования.

  • Сложность тестирования и отладки.

  • Сложность остановки.

Интерпретатор сразу выполняет команды языка, указанные в тексте программы. Команды транслируются и исполняются последовательно поштучно.

Достоинства интерпретатора:

  • Постоянный контроль среды программирования.

  • Удобства тестирования и отладки.

  • Легкость остановки.

Недостатки интерпретатора:

  • Транслированная программа не может исполняться без интерпретатора.

  • При трансляции не может автоматически использоваться технология оптимизации.

  • Скорость работы интерпретируемой программы в сотни раз ниже, чем компилируемой.

В реальных системах программирования технологии компиляции и интерпретации перемешаны:

  • На этапе отладки используется интерпретатор,

  • Для практического применения готовится компилированная версия.

Различают языки:

  • низкого уровня (машинно-ориентированные),

  • высокого уровня.

Языки высокого уровня бывают:

  • процедурно-ориентированные,

  • проблемно-ориентированные,

  • объектно-ориентированные,

  • событийно-ориентированные,

  • визуальные,

  • комплексные.

Показатели качества ПО

Перечень показателей качества:

  • документированность,

  • эффективность,

  • простота использования

  • удобство эксплуатации,

  • мобильность,

  • совместимость,

  • испытуемость,

  • стоимость.

Показатели качества производителя ПО гарантируются международным сертификатом стандарта качества ISO 9000.

Сертификат выдается либо международный, либо на определенную территорию (например, на Восточную Европу).

Разработанная в США методология CMM (Capability Maturity Model – Модель зрелости.)

сертифицирует производителя ПО по 5 уровням.

В США заказ на разработку ПО стоимостью более 2 миллионов долларов можно получить, имея уровень не ниже 3.

ПО уровню 5 в мире сертифицировано меньше 10 организаций.

На основе CMM создана методология PSP (Personal Software Process – Процесс работы программиста.), позволяющая резко повысить мастерство программистов. Она включает:

  • составление календарного плана работы,

  • хронометраж работ,

  • рекомендации по недопущению ошибок,

  • анализ проекта после завершение работы.

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

Стиль программирования

Хороший стиль программирования включает в себя:

  • стандартизацию средств

  • верные комментарии,

  • использование пробелов,

  • многоярусную запись текста,

  • выбор наглядных идентификаторов,

  • упорядочивание списков,

  • в строке 1 оператор,

  • вынос из циклов постоянных операторов,

  • бригадное программирование.

Принцип простоты (KISS)

Keep делай

It это

Simple проще,

Stupid глупец,

Маркетинг ПО

Различают три вида ПО:

  1. Коммерческое

  • Издатель заказывает ПО у исполнителя и выделяет средства на работу.

  • Издатель получает все имущественные права на созданный продукт.

  • Исполнитель может получить некоторый процент (роялти) с каждой проданной копии ПО.

  • Издатель оплачивает расходы на упаковку, рекламу, подготовку документации и др.

  • За исполнителем сохраняются авторские права на ПО.

  1. Условно-бесплатное (Shareware)

  • Автор бесплатно представляет клиенту ознакомительную версию ПО.

  • Клиент может за определенную плату приобрести полную рабочую версию.

  1. Бесплатное ПО (Freeware, Public Domain)

  • Автор может попросить заплатить ему некоторую сумму, не настаивая на этом.

  • Клиент может с этим не согласиться.

Алгоритмы

Алгоритм - точное предписание, ведущее от варьируемых начальных данных к искомому результату.

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

ГОСТ 19.781.84

В алгоритмах наиболее часто употребляются:

  • линейные вычисления,

  • ветвления или множественный выбор,

  • циклы (простые и вложенные),

  • подпрограммы.

Способы описания алгоритмов

Известны несколько способов описания алгоритмов:

  1. Словесный. Он наиболее понятен человеку. Его недостатки:

  • Он не понятен ЭВМ.

  • Его трудно автоматически превратить в машинную программу.

  • Иногда неоднозначен (в языке человека есть слова, имеющие смысл, зависящий от контекста).

  1. Программный. Это наиболее компактное и пригодное для автоматического создания программы для ЭВМ представление.

  2. Графический. Применяется для визуализации логики иерархически организованных программ. Его недостатки:

  • Громоздкость для больших программ.

  • Трудоемкость.

  • Пользователь должен понимать используемые графические символы.

Блоки нумеруются для ссылок на них. Номера размещаются вблизи блока произвольно.

Начало и Конец не нумеруются. Возможны текстовые комментарии

Пример алгоритма

Задача Найти наибольший общий делитель D двух натуральных чисел M и N.

Натуральное число – целое и положительное

Алгоритм:

  1. Ввод M и N.

  2. Если M и N одинаковы, то к 6.

  3. Определить максимальное Max. Это или M, или N.

  4. Найти разность R = abs(M-N).

  5. Вставить R на место максимального из M и N. Перейти к пункту 2.

  6. Вывести результат D = M.

M

N

R

Комментарий

Блок 1

75

45

-

1-1

M=75, N=45

75

45

-

2-1

Не равны

75

45

-

3-1

Max=M=75

75

45

30

4-1

R=75-45=30

30

45

30

5-1

M=R=30

Перейти к блоку 2

30

45

30

2-2

Не равны

30

45

30

3-2

N=Max=45

30

45

15

4-2

R=45-30=15

30

15

15

5-2

N=R=15

Перейти к блоку 2

30

15

15

2-3

Не равны

30

15

15

3-3

Max=M=30

30

15

15

4-3

R=30-15=15

15

15

15

5-3

M=R=15

Перейти к блоку 2

15

15

15

2-4

Равны

Перейти к блоку 6

15

15

15

6-1

D=15 

Соседние файлы в папке К лекциям