Структура программы на языке Turbo Pascal..................................................................................... 11
Раздел uses.............................................................................................................................................. 11
Раздел описание меток.......................................................................................................................... 12
Раздел описание констант.................................................................................................................... 12
Раздел описания типов данных........................................................................................................... 12
Раздел описание переменных.............................................................................................................. 12
Раздел операторов................................................................................................................................. 12
Работа с текстом.................................................................................................................................... 27
Алгоритм – последовательная совокупность правил, инструкций, выполнение определенных действий, обеспечивающих решение задач.
Алгоритм – точное предписание, определяющее последовательность действий исполнителя, направленных на решение поставленной задачи.
Алгоритм – набор правил, расположенных в определенном логическом порядке, который позволяет решать однотипные задачи.
Этапы решения задач:
1. Постановка задачи (четкое формулирование задачи с выделением исходных данных и искомого результата)
2. Выбор метода решения, т.е. математическая формулировка
3. Разработка алгоритма
4. Написание программы и ввод программы в ПК
5. Отладка программы
6. Получение решения
Свойства алгоритмов:
1. Дискретность. Процесс решения задачи должен быть разбит на последовательность отдельных шагов.
2. Однозначность. Смысл всех программ, приведенных в алгоритме, должен быть строго определен.
3. Результативность. Достижение определенных шагов и вывод результатов.
4. Универсальность (массовость).
Типы алгоритмов:
1. Алгоритм линейной структуры. Команды выполняются в порядке их естественного следования.
2. Алгоритм разветвляющейся структуры. В зависимости от поставленного условия алгоритм позволяет выбрать один из вариантов решения задачи.
3. Алгоритм циклической структуры. В алгоритме встречаются повторяющиеся действия.
4. Алгоритм сложной структуры. Содержит все перечисленные типы алгоритмов.
Наиболее распространенные способы задания алгоритмов:
1. Словесный, т.е. формульное описание
2. Табличный, в виде таблицы
3. Графический, в виде блок-схемы
Условное обозначение для графического изображения алгоритмов
:
Задача1.
Вычислить площадь прямоугольника со сторонами a и b.
Исходные данные: a, b
Результат: S
Program ploshad;
Var a,b,s: real;
Begin
Writeln (‘Введите значения сторон прямоугольника ’);
Writeln (‘a = ’);
Read (a);
Writeln (‘b = ’);
Read (b);
s:=a*b;
Writeln (‘Площадь прямоугольника равна = ’,s);
Readln;
End.
Задача 2.
По плану должно быть выполнено Р кг, всего выпущено F кг продукции. Найти процент выполнения плана. Исходные данные: P, F. Результат: Х
Формула:
Задача 3. Известен объем продукции, выпускаемой 5 предприятиями отрасли. Вычислить средний объем продукции, выпускаемый одним предприятием.
Исходные данные: V1, V2, V3, V4, V5
Результат: Vср
Формула:
Задача 4. В классе N учеников. После контрольной работы были получены оценки: a – «5», b – «4», c – «2». Остальные получили «3». Найти процент «3». (Рассмотреть условие, если «3» не получил никто)
Исходные данные: N, a, b, c
Результат: X
Формула: N - (a+b+c) – количество учеников, получивших «3»
Задача 5. Вычислить корни квадратного уравнения: ax2+bx+c=0
Исходные данные: a, b, c
Результат: корни уравнения
- дискриминант
Если D<0, то корней нет
Если D=0 то
Если D>0, то
Основы программирования
Язык программирования
Алгоритм записывается на языке программирования. Эта операция называется кодирование.
Программа –алгоритм, записанный на языке программирования.
Язык программирования – это специально обусловленный набор символов, слов, мнемонических сокращений, используемых для записи наборов команд (программ), воспринимаемых ПК.
Языки программирования делятся на 3 класса:
1. Языки низкого уровня (машинно-ориентированные)– это средство записи инструкций ПК простыми приказами-командами на аппаратном уровне. Запись программ на этом языке представляет собой последовательность нулей и единиц. (Assembler)
2. Языки высокого уровня (алгоритмические языки).Эти языки быстро и понятно для пользователя позволяют записать последовательность действий, которые должен выполнить ПК. (например: Basic, Pascal, C ++).
3. Языки сверхвысокого уровня. Была сделана попытка формализовать описание языка, приведшая к появлению абстрактной и конкретной программы. Запись на таком языке получается компактной.
Основные понятия языка программирования
Язык –совокупность символов, правил и соглашений, используемых для общения. При записи алгоритма на языке программирования необходимо четко знать правила написания и использования элементарных информационных языковых единиц.
Символы языка – элементарные знаки, используемые для составления любых текстов. Набор таких символов называется алфавит языка. Алфавит –конечный набор знаков, состоящий из букв, десятичных и шестнадцатеричных цифр и специальных символов.
Алфавит языка
1. 26 прописных и строчных букв латинского языка
2. 33 прописных и строчных букв русского языка
3. Арабские цифры (0-9)
4. Специальные символы (+,-,/,*,>,<)
Из символов алфавита строятся более сложные конструкции: символы, слова, выражения (словосочетания), операторы и описания (предложения).
Слово – минимальная единица языка самостоятельного значения, представляет собой последовательность символов.
Словосочетание – набор слов, имеющих некоторый смысл.
Предложения – минимальная конструкция языка, представляет собой законченную мысль.
Совокупность описания и операторов, объединенных, единым алгоритмом, образует программу.
Основные принципы структурного программирования
Под структурным программированием понимают методы разработки и записи программ, которые ориентированы на максимальные удобства для восприятия и понимания ее человеком.
Структурное программирование – это процесс программирования на алгоритмическом языке с использованием определенных конструкций.
Основные положения:
1. Любая программа составляется на базе основных алгоритмических структур (линейной, разветвляющейся, циклической)
2. Между этими структурами производится передача управления только вперед, что соответствует линии сверху вниз в блок-схеме
3. Должна четко прослеживаться логика работы программы, т.е. не должно быть «скачков» на фрагменты программы, расположенные где-то в другом месте программы, т.е. не допускается пользоваться командой безусловной передачи управления из одного места программы в другое (например: команда перехода goto) без необходимости.
Структурное программирование применяется для программирования отдельных модулей, т.е. функционально и структурно законченных блоков.
Вначале на основе вышеперечисленных положений разрабатывается алгоритм, а затем базовые алгоритмические конструкции заменяются соответствующими конструкциями конкретного языка программирования.
Трансляторы. Компиляторы. Интерпретаторы.
Для подготовки текста программы на любом алгоритмическом языке требуется специальная программа, называемая текстовым редактором – это первый инструмент при написании программ. ПК языков высокого уровня не понимает, поэтому придумали специальные программы, называемые трансляторами (translation - перевод).
Транслятор – это программа, предназначенная для перевода (трансляции) описания алгоритма с одного формального языка на другой.
Этап превращения программы, написанной на языке высокого уровня, в машинный код реализуется в двух вариантах:
1. Транслятор берет из файла программу на языке высокого уровня и переводит на машинный язык всю целиком, записывая в файл с расширением *.obj. Программу, записанную в такой файл, называют объектный модуль, а транслятор, который выполняет такой перевод - компилятор
2. Транслятор берет из файла программу на языке высокого уровня по одной команде (предписанию), транслирует (переводит на машинный язык) и сразу выполняет ее. Такой транслятор называется интерпретатор.
Превращение объектного модуля в исполняемую программу осуществляет редактор связи. Редактор связи берет из специальной системной библиотеки все необходимые для работы блоки, с помощью которых «склеивает» исполняемую программу.
Объектный модуль представляет собой схему будущей программы. В нем отсутствуют связи с конкретной операционной системой, особенностями ее обмена с клавиатурой, диском, оперативной памятью и т.д.
Системы структурного программирования предназначены для создания программ и включают в состав следующие компоненты:
1. Текстовые редакторы (редакторы программ)
2. Трансляторы (компилятор или интерпретатор)
3. Редактор связи
Турбо Паскаль. Начальный курс
Система программирования Турбо Паскаль, разработанная американской корпорацией Borland , остается одной из самых популярных систем программирования в системе.
В 1970 г. Швейцарец Никлаус Вирт разработал язык программирования и назвал его в честь великого французского математика, философа и изобретателя XVII века Блеза Паскаля. В 1983 г. Фирмой Borland выпущен в продажу компилятор Turbo Pascal, разработанный Андерсом Хейльсбергом.
Система программирования Турбо Паскаль представляет собой единство двух в известной степени самостоятельных начал: компилятора с языка программирования Паскаль и некоторой инструментальной программной оболочки, способствующей повышению эффективности создания программ.
Запуск программы: C: \ Program \ TP \ BIN \ turbo.exe
Интерфейс программы
В окне программы отображаются три основных компонента:
1. Меню – обеспечивает доступ ко всем командам. (Если за командой следует знак многоточия (…), это значит, что выбор команды приведет к появлению диалогового окна. Если за командой следует стрелка (4), то данный пункт меню имеет свое подменю)
2. Рабочая область окна – область, предназначенная для создания и редактирования текста программы.
3. Строка статуса – строка, которая выполняет следующие функции:
- предоставляет быстрый вариант выполнения действий (функциональные и горячие клавиши);
- отображает информации, о том какая функция выполняется в данный момент;
- предлагает краткие советы по выбранной команде меню и элементам диалогового окна.
(необязательно до *)
Функциональные клавиши
Функциональные клавиши используются для управления средой Турбо Паскаль. Они обозначаются F1, F2 , …, F3 и располагаются в самом верхнем ряду клавиатуры.
F1 – обратиться за справкой к встроенной справочной службе (Help – помощь);
F2 – записать редактируемый файл в дисковый файл;
F3 – прочитать текст из дискового файла в окно редактора;
F4 – используется в отладочном режиме: начать или продолжить исполнение программы и остановиться перед исполнением той строки, на которой стоит курсор;
F5 – открыть активное окно во весь экран;
F6 – сделать активным следующее окно;
F7 – используется в отладочном режиме: выполнить следующую строку; если в строке есть обращение к процедуре (функции), войти в эту процедуру и остановиться перед исполнением первого ее оператора);
F8 - используется в отладочном режиме: выполнить следующую строку; если в строке есть обращение к процедуре (функции), исполнить ее и не прослеживать работу;
F9 – компилировать программу, но не выполняя ее;
F10 – перейти к диалоговому выбору режима работы с помощью главного меню;
Ctrl – F9 – выполнить прогон программы: компилировать программу, находящуюся в редакторе, загрузить ее в оперативную память и выполнить, после чего вернуться в среду Турбо Паскаль;
Alt – F5 – сменить окно редактора на окно вывода результатов работы (прогона) программы;
Alt – X - выход.
Текстовый редактор
Текстовый редактор среды Турбо Паскаль предоставляет пользователю удобные средства создания и редактирования текстов программы.
Функциональные клавиши управления курсором:
PgUp – на страницу вверх (PaGe Up – страницу вверх);
PgDn – на страницу вниз (PaGe Down – страницу вниз);
Home – в начало текущей строки (Home – домой);
End – в конец текущей строки (End – конец);
Ctrl – PgUp – в начало текста;
Ctrl – PgDn – в конец текста.
Команды редактирования:
Backspace – стереть символ слева от курсора;
Del - удаление символа, на котором стоит курсор;
Ctrl – Y – удаление строки, на которой стоит курсор;
Enter – вставить новую строку, разрезать старую;
Ctrl –Q L - восстановить текущую строку (действует, если курсор не покидал измененную строку).
Функциональные клавиши для работы с блоком:
Ctrl – K B – пометить начало блока;
Ctrl – K K – пометить конец блока;
Ctrl – K Y - стереть блок;
Ctrl – K C - копировать блок;
Ctrl – K V - переместить блок;
Ctrl – K W – записать блок в дисковый файл;
Ctrl – K R – прочитать блок из дискового файла;
Ctrl – K P – напечатать блок.
Редактор работает в 2 режимах: замены и вставки (переключение Insert). В конце каждой строки вставляется невидимый на экране символ – разделитель. Этот символ вставляется клавишей Enter, а стирается клавишами Backspace или Del. Обычно редактор работает в режиме автоотступа. В этом режиме каждая новая строка начинается в той же позиции на экране, что и предыдущая. Режим автоотступа поддерживает хороший стиль оформления текста программ: отступы от левого края выделяют тело условного или составного оператора и делают программу более наглядной. Отказаться от автоотступа можно командой Ctrl - O I (при нажатой клавише Ctrl нажимается сначала клавиша O, затем О отпускается и нажимается клавиша I) , повторная команда Ctrl - O I восстановит режим автоотступа.
Прогон и отладка программы
После подготовки текста программы можно попытаться исполнить ее, т.е. откомпилировать программу, связать ее (если необходимо) с библиотекой стандартных процедур и функций, загрузить в оперативную память и передать ей управление. Вся эта последовательность действий называется прогоном программы и реализуется командойCtrl – F9.
Если в программе нет синтаксических ошибок, то все действия выполняются последовательно одно за другим, при этом на экране сообщается о количестве строк откомпилированной программы и объеме доступной оперативной памяти. Перед передачей управления загруженной программе среда очищает экран (точнее, выводит на экран окно прогона программы), а после завершения работы программы вновь берет управление компьютером на себя и восстанавливает на экране окно редактора.
Если на каком-либо этапе среда обнаружила ошибку, она прекращает дальнейшие действия, восстанавливает окно редактора и помещает курсор на ту строку программы, при компиляции или исполнения которой была обнаружена ошибка. При этом в верхней строке редактора появляется диагностической сообщение о причине ошибки. Все это позволяет очень быстро отладить программу, т.е. устранить в ней синтаксические ошибки и добиться правильности ее работы.
Если ошибка возникла на этапе работы программы, простое указание того места, где она обнаружена, может не дать нужной информации, так как ошибка может явиться следствием неправильной подготовки данных. Например, если ошибка возникла при извлечении корня из отрицательного числа, будет указан оператор, в котором осуществлялась сама операция извлечения корня, хотя ясно, что первопричину ошибки следует искать где-то раньше, там, где соответствующей переменной присваивается отрицательное значение. В таких ситуациях обычно прибегают к пошаговому исполнению программы с помощью команд, связанных с клавишами F4, F7 и F8.
Пока еще не накоплен достаточный опыт отладки, можно пользоваться одной клавишей F7, после нажатия на которую среда осуществит компиляцию, компоновку (связь с библиотекой стандартных процедур и функций) и загрузку программы, а затем остановит прогон перед исполнением первого оператора. Строка программы, содержащая этот оператор, будет выделена на экране указателем (цветом). Теперь каждое новое нажатие на F7 будет вызывать выполнение всех операций, запрограммированных в текущей строке, и смещение указателя к следующей строке программы. В подозрительном месте программы можно просмотреть значения нужных вам переменных или выражений. Для этого можно действовать следующим образом. Установите курсор в то место текущей строки, где написано имя интересующей вас переменной, и нажмите Ctrl – F4. На экране откроется диалоговое окно, состоящее из трех полей. В верхнем поле будет стоять имя переменной. После этого нажмите клавишу Enter, чтобы получить в среднем поле текущее значение этой переменной. Если перед командой Ctrl – F4 курсор стоял на пустом участке строки или указывал на другую переменную, верхнее поле также окажется пустым или будет содержать имя другой переменной. В этом случае следует ввести с помощью клавиатуры интересующее вас имя в верхнем поле и нажать клавишу Enter.Кстати, таким образом можно вводить не только имена прослеживаемых переменных, но и выражения с их участием – среда вычислит и покажет значение этого выражения. (*)
Идентификаторы и служебные слова
Рассматривая понятия языка, следует отметить и существование служебных слов, которые используются для строго определенных целей:
1) для обозначения операторов (Case, Write, Read и т.д.);
2) описаний (Var, Const, Label);
3) операций (div – целочисленное деление, mod – остаток от деления и т.д.).
Имена (идентификаторы) – служат для обозначения различных объектов и конструкций программы и отличных от служебных слов тем, что выбираются самим программистом по правилам:
1) латинский алфавит, цифры , знак подчеркивания;
2) не начинается с цифры;
3) не совпадает с зарезервированными словами;
4) имя является словами произвольной длины (максимум 255 символов), значащими является только первые 63 символа;
5) имя должно быть уникальным;
6) избегать схожих по имен (AX1 и AXI).
Идентификаторы применяются для имен, констант, переменных, меток, типов, процедур, функций, модулей, программ и т.д.
Например: Примеры идентификаторов
правильные
неправильные
a
alpha
date_27_sep_39
a1
_beta
_x1
1p
1x
alpha#5!03_C
#_x’
My Program
Mod
Константы и переменные
Константы - постоянные величины, значения которых не меняются в процессе выполнения программы. Могут быть представлены либо непосредственно своим значением (числом, строкой), либо именем.
Например: а=312, Max=1000, MyName=’Иванов Иван Иванович’
Переменные – величины, значения которые могут изменяться в процессе выполнения программы.
Например: а:=х+2; в:=2*i-1
Каждая переменная или константа принадлежит к определенному типу данных. Тип констант определяется автоматически, а тип переменной необходимо указать.
Комментарии
Для лучшего понимания программы в ней записывается пояснительный текст – комментарии. Комментарий можно записать в любом месте программы, его текст ограничен символами {} или (**) и может содержать любые комбинации латинских и русских букв, цифр и других символов языка Паскаль. Ограничений на длину комментария нет, он может занимать несколько строк.
Структура программы на языке Turbo Pascal
Основные характеристики программы: точность полученного результата, время выполнения и объем требуемой памяти. В большинстве случаев определяющим требованием является точность, но ограничения по объему памяти и времени выполнения носят менее жесткий характер.
Программа на языке Turbo Pascal состоит из следующих разделов:
· Заголовок программы;
· Раздел uses (подключение библиотечных модулей);
· Раздел объявления меток;
· Раздел объявления констант;
· Раздел объявления типов;
· Раздел объявления переменных;
· Раздел объявления процедур и функций;
· Раздел операторов.
Любой раздел, кроме раздела операторов, может отсутствовать. Разделы описаний (кроме uses, который всегда располагается заголовка программы) могут встречаться в программе любое количество раз и следовать в произвольном порядке. Главное, чтобы все описания объектов были сделаны до того, как объекты будут использованы.
Структура программы в общем виде выглядит следующим образом: