3. Системы программирования
Интерпретаторы проводят анализ текста программы построчно и после нажатия Enter (переход к новой строке) сообщают об ошибке. Это огромное достоинство интерпретаторов, так как программисту не нужно пытаться найти ошибку во всём тексте программы. Минус — программы выполняются медленнее.
Компиляторы переводят всю написанную программу полностью. Плюс — быстрее скорость выполнения, минус — в случае ошибки приходится находить проблему вручную.
Первые языки программирования были машинно-ориентированные, после создания языков высокого уровня их стали делить по области применения.
Языки для обучения программированию | Бейсик, Pascal, Logo, Python, КуМир |
Языки для написания интернет-сайтов | PHP, JavaScript, Python |
Профессиональные языки | Java, C, C\(++\), C#, Delphi, Lazarus |
Любая система программирования имеет ряд динамически подключаемых библиотек. Разберём использование модулей, входящих в библиотеки в двух самых распространённых языках программирования: PascalABC и Python.
Название (как вызвать) | Назначение |
Uses crt | Позволяет открывать выполнение программы в новом окне |
Uses GraphABC | Позволяет работать с графикой |
Название (как вызвать) | Назначение |
import math | Подключает дополнительные возможности — использование математических функций: sqrt, abc, sin, cos и др. |
from fractions import Fraction | Поддерживает работу с рациональными числами |
Учебники. Программирование для начинающих.
Programm.ws — это сайт, на котором вы можете почитать литературу по языкам программирования , а так-же посмотреть примеры работающих программ на С++, ассемблере, паскале и много другого..
Программирование — в обычном понимании, это процесс создания компьютерных программ.
В узком смысле (так называемое кодирование) под программированием понимается написание инструкций — программ — на конкретном языке программирования (часто по уже имеющемуся алгоритму — плану, методу решения поставленной задачи). Соответственно, люди, которые этим занимаются, называются программистами (на профессиональном жаргоне — кодерами), а те, кто разрабатывает алгоритмы — алгоритмистами, специалистами предметной области, математиками.
В более широком смысле под программированием понимают весь спектр деятельности, связанный с созданием и поддержанием в рабочем состоянии программ — программного обеспечения ЭВМ. Более точен современный термин — «программная инженерия» (также иначе «инженерия ПО»). Сюда входят анализ и постановка задачи, проектирование программы, построение алгоритмов, разработка структур данных, написание текстов программ, отладка и тестирование программы (испытания программы), документирование, настройка (конфигурирование), доработка и сопровождение.
Delphi для начинающих
Глава 3. Символы и строки
Символы
Для хранения и обработки символов используются переменные типа Ansichar и wideChar. Тип Ansichar представляет собой набор ANSI-символов, з котором каждый символ кодируется восьмиразрядным двоичным числом (байтом). Тип wideChar представляет собой набор символов в кодировке Unicode, в которой каждый символ кодируется двумя байтами.
Для обеспечения совместимости с предыдущими версиями поддерживается тип Char, эквивалентный AnsiChar.
Значением переменной символьного типа может быть любой отображаемый символ:
И специальный символ, например, «новая строка».
Переменная символьного типа должна быть объявлена в разделе объявления переменных. Инструкция объявления символьной переменной в общем виде выглядит так:
- имя — имя переменной символьного типа;
- char — ключевое слово обозначения символьного типа.
Как и любая переменная программы, переменная типа char может получить значение в результате выполнения инструкции присваивания. Если переменная типа char получает значение в результате выполнения операции присваивания, то справа от знака := должно стоять выражение типа char, например, переменная типа char или символьная константа — символ, заключенный в кавычки.
В результате выполнения инструкций c1 := ‘*’;
переменная c1 получает значение присваиванием значения константы, а переменная с2 — присваиванием значения переменной cl (предполагается, что переменные c1 и с2 являются переменными символьного типа).
Переменную типа char можно сравнить с другой переменной типа char или с символьной константой. Сравнение основано на том, что каждому символу поставлено в соответствие число (см. приложение 2), причем символу ‘о’ соответствует число меньшее, чем символу У, символу ‘А’ — меньшее, чем ‘в’, символу V — меньшее, чем а. Таким образом, можно записать:
Символам русского алфавита соответствуют числа большие, чем символам латинского алфавита, при этом справедливо следующее:
В тексте программы вместо символа можно указать его код, поставив перед числом оператор #. Например, вместо константы ‘в’ можно записать #193. Такой способ записи, как правило, используют для записи служебных символов или символов, которые во время набора программы нельзя ввести с клавиатуры. К примеру, часто используемый при записи сообщений символ «новая строка» записывается так: #13.
В программах обработки символьной информации часто используют функции chr и Ord. Значением функции chr является символ, код которого указан в качестве параметра. Например, в результате выполнения инструкции c:=chr(32) переменной с будет присвоено значение пробел. Функция ord позволяет определить код символа, который передается ей в качестве параметра. Например, в результате выполнения инструкции k:=ord(‘*’) переменная k будет содержать число 42 — код символа *.
Программа, текст которой приведен в листинге 3.1, выводит таблицу кодировки букв русского алфавита. Вид окна программы представлен на рис. 3.1.
Основную работу выполняет процедура обработки события OnActivate, которая формирует и выводит в поле метки (Label1) таблицу. Событие OnActivate происходит при активизации формы приложения, и поэтому процедура TForm1.FormActivate выполняется автоматически, сразу после появления формы на экране.
Рис. 3.1. Форма приложения во время разработки
Рис. 3.2. Форма приложения во время работы
Листинг 3.1. Таблица символов
Windows, Messages, SysUtils, Classes, Graphics,
Controls, Forms, Dialogs, StdCtrls;
procedure FormActivate(Sender: TObject); private
Системы программирования значки программ
Язык программирования
Язык программирования – формальная знаковая система, предназначенная для записи компьютерных программ.
Компьютерную программу можно считать последовательностью строк символов некоторого алфавита. Современные системы программирования допускают использование визуальных элементов (окон, иконок и др.) для построения программ, в частности, для создания интерфейса пользователя. Такое программирование называют визуальным. Тем не менее, основная, алгоритмическая часть любой программы строится с использованием символьных средств.
Структурная организация данных
Информация, представленная в виде, пригодном для автоматизированной обработки, называется данными.
Компьютер оперирует только одним видом данных – отдельными битами, или двоичными цифрами.
Под структурой данных в общем случае понимают множество элементов данных и множество связей между ними.
Различают простые и сложные структуры данных.
Простые структуры данных не могут быть разделены на составные части больше, чем бит.
На основе простых структур строятся сложные структуры данных:
Информация по каждому типу однозначно определяет:
— множество допустимых значений, которые может иметь тот или иной объект описываемого типа;
— множество допустимых операций, которые применимы к объекту описываемого типа;
— объём выделенной памяти для хранения данных указанного типа
Основные элементы языка Pascal
— служебные слова, значение которых в языке программирования строго определено;
— постоянные и переменные величины;
— операторы (языковые конструкции, с помощью которых в программах записываются действия, выполняемые над данными в процессе решения задачи)
Все величины имеют имена (идентификаторы), формируемые по определённым правилам:
— имя может состоять из буквы или последовательности букв латинского алфавита, цифр и символа подчёркивания, но начинаться такая последовательность должна с буквы или символа подчёркивания;
— желательно, чтобы имя отражало смысл величины;
— имя не должно совпадать ни с одним из зарезервированных слов.
Операции в языке Pascal
Данные, обрабатываемые компьютером, хранятся в памяти. С точки зрения языка Pascal она разделена на секции, называемые переменными. Каждая переменная имеет имя, тип и значение; значения переменных могут меняться в ходе выполнения программы.
Блок описания действий начинается со слова begin, а заканчивается словом end и знаком точки. Действия представляются операторами. Операторы разделяются точкой с запятой.
Основные операторы языка Pascal
Анализ программ. Трассировочные таблицы
Для анализа свойств алгоритма и проверки его соответствия решаемой задаче используются трассировочные таблицы. В них фиксируется пошаговое исполнение алгоритма (программы), что позволяет наглядно представлять значения переменных, изменяющиеся при его выполнении. Поэтому трассировочные таблицы иначе называют таблицами значений.
Используются трассировочные таблицы двух видов:
1) Таблицы, каждая строка которых отражает результат одного действия.
2) Таблицы, каждая строка которых отражает результат выполнения группы действий.
Трассировочная таблица первого вида
Пример 1. Дана программа :
Составить трассировочную таблицу при Х = 356.
В заголовке таблицы поместим имена всех переменных, используемых в программе. В отдельном столбце будем записывать команды и условия, имеющиеся в программе. Каждая строка таблицы соответствует одному шагу алгоритма.
Трассировочная таблица второго вида
Пример 2. Дана программа:
for k := 0 to 4 do
Определите, что будет напечатано в результате выполнения программы.
Построим трассировочную таблицу второго вида, отражая в каждой строке результат группы действий. Группу действий ограничим контрольной точкой (КТ): выполнение алгоритма продолжается до контрольной точки и приостанавливается после выполнения отмеченной ею строки.
Будем считать, что контрольная точка поставлена на заголовке цикла.
Но кроме трассировочных таблиц можно использовать и другие приёмы анализа программ.
В качестве примера рассмотрим следующий метод:
Анализ программ методом рассуждений
Пример 3. Определите, какое число будет напечатано в результате выполнения программы.
var n, s: integer;
begin
n := 1;
s := 0;
while n do
begin
s := s + 30;
n := n * 5
end;
write(s)
end.
Выясним, какую функцию выполняет каждая из переменных, задействованных в программе.
Начальное значение переменной S = 0. При каждом выполнении тела цикла S увеличивается на 30. Таким образом, искомое значение S = 30 * k, где k — число выполнений тела цикла.
Начальное значение переменной n = 1. При каждом выполнении тела цикла значение n увеличивается в 5 раз, т.е. n = 5, 25, 125 …, 5 k .
Выясним, при каком условии произойдёт выход из цикла. Цикл выполняется, пока n ≤ 625 . Следовательно, цикл завершится при достижении S значения, большего 625 = 5 4 , т.е. при n = 5 5 .
Таким образом, цикл выполнится 5 раз. Следовательно, S = 30 * 5 =150 .