Программа алгоритм, записанный на языке программирования, служащий для выполнения каких-либо действий. Транслятор
Вид материала | Программа |
- Автор программы И. В. Баркова Ф. И. О., Педагога дополнительного образования; квалификационная, 224.25kb.
- Игра ) Имя известного ученого, в честь которого названа самая популярная программа, 21.91kb.
- Программа элективного курса «Программирование на языке Pascal» 10 класс, 63.48kb.
- Алгоритмизация и программирование. Языки программирования высокого уровня. Технологии, 57.23kb.
- Краткий курс лекций "Основы программирования на языке Паскаль" Основные понятия, 265.68kb.
- Тема : Обработка массива (написать программу из 10-15 строк на языке программирования, 361.29kb.
- Данная инструкция содержит описание и порядок действий для самостоятельного подключения, 280.92kb.
- Урок математики во 2-м классе по теме: Порядок действий. Алгоритм, 63.65kb.
- Программа дополнительного образования муниципального общеобразовательного учреждения, 214.64kb.
- Перечень вопросов по медицинской информатике к контрольной работе №2 для студентов, 84.61kb.
-
Лекции по Turbo Pascal
7 класс
Паскаль.
Программа - алгоритм, записанный на языке программирования, служащий для выполнения каких-либо действий.
Транслятор.
Допустим, что написана программа решения задачи на каком-то языке программирования, но компьютер понимает только команды, переведенные в двоичный код. Этот перевод можно осуществить с помощью трансляторов.
Транслятор - программа, переводящая текст алгоритма, записанного на каком-то языке программирования, на язык машинных кодов.
Различают два вида трансляторов: компиляторы и интерпретаторы. Они различаются с точки зрения выполнения работы.
Компилятор читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, который затем загружается в компьютер и выполняется.
Интерпретатор переводит и выполняет программу строка за строкой (как синхронный переводчик).
Компилятор осуществляет синтаксический контроль программы и при обнаружении ошибок выдает диагностические сообщения. Если ошибок нет, результатом компиляции является программа на языке машинных команд (ее называют объектной).
Интегрированная среда Turbo Pascal.
Краткое знакомство.
Язык Паскаль появился в 1984 году. Он разработан Н.Виртом в 1968-1970 г.г., получил широкое распространение благодаря наглядности программ и легкости при изучении.
Turbo Pascal 7.0 позволяет:
а) создавать тексты программ;
б) компилировать их (находить и исправлять ошибки);
г) компоновать программы из отдельных частей;
д) использовать модули библиотек;
е) отлаживать и выполнять программы.
Система ТР состоит из множества файлов, основные из которых:
- TURBO.EXE, который содержит готовую к работе диалоговую систему программирования ( в нее входят текстовый редактор, компилятор, компоновщик, загрузчик);
- TURBO.TPL - основная библиотека ТР;
- TURBO.HLP - справочная служба.
Для загрузки программы Turbo Pascal 7.0 надо: запустить файл Turbo.ехе. После загрузки системы экран разделен на три части:
1. Главное меню.
2. Основное, или рабочее, окно.
3. Строка, в которой указывается назначение основных функциональных клавиш.
Меню Turbo Pascal
- File – сохранение, открытие программы, работа с каталогами.
- Edit – редактирование программы.
- Search – поиск и замена.
- Run – исполнение программы.
- Compile – компиляция программы, т.е. перевод на машинный язык.
- Debug – отладка программы.
- Tools – дополнительные возможности.
- Options – настройка системы.
- Window – работа с окнами.
- Help – помощь.
Функциональные клавиши Турбо Паскаль.
F1 - помощь;
F2 - сохранение редактируемого текста на диске;
F3 - загрузка текста с диска в окно редактирования;
F9 - компилировать программу, но не выполнять ее;
F10 - переход к верхнему меню;
CTRL-F9 - выполнить прогон программы (компилировать ее и выполнить);
ALT-F5 - просмотр результатов выполнения программы;
Esc - переход из главного меню в окно редактирования.
ALT-X - выход из системы Турбо Паскаль.
File состоит из следующих команд:
New – создать новое рабочее окно.
Open – открыть сохраненную ранее на диске программу.
Save – сохранить программу под текущим именем.
Save as – сохранение программы под новым именем.
Save all – сохранение всех окон под текущими именами.
Change dir – изменение текущего каталога.
Exit – выход из режима Turbo Pascal.
Работа с окнами в Turbo Pascal
- Удаление окна – мышью щелкнуть на значок []; нажать комбинацию клавиш Alt+F3; в меню Window исполнить команду Close.
- Изменение размеров – зацепить мышкой за нижний угол окна и двигать, пока окно не примет необходимые размеры; нажать комбинацию клавиш Ctrl+F5 и с нажатой клавишей Shift, с помощью стрелок изменять размеры, зафиксировать нажатием Enter.
- Передвижение окна – зацепить окно за верхнюю рамку и двигать.
- Раскрытие окна на весь экран – щелкнуть мышью на []; в меню Window исполнить команду Zoom; нажать клавишу F5.
- Смена активного окна – активное окно имеет двойную рамку, чтобы сделать окно активным необходимо щелкнуть мышью на нужном окне; нажать F6; в меню Window исполнить команду Next.
Tile – расположение открытых окон без перекрытий
Cascade – расположение открытых окон уступами.
Работа с блоками в Turbo Pascal
Блок это выделенная часть программы. Блоки можно переносить, копировать, удалять.
Ctrl+K,B – отметить начало блока;
Ctrl+K,K – отметить конец блока;
Ctrl+K,C – скопировать блок; в меню Edit выбрать команду Copy, затем команду Past.
Ctrl+K,V – переместить блок; в меню Edit выбрать команду Cut, затем команду Past.
Ctrl+K,Y – удалить блок; в меню Edit выбрать команду Clear.
Ctrl+K,H – снять выделение блока.
Выделить блок можно выделить еще следующим образом: прижать клавишу Shift и управляя стрелками продлить выделение на весь блок; либо с помощью мыши: прижать левую клавишу мыши протянуть выделение на весь блок. Повторное нажатие клавиши мыши приведет к снятию выделения.
Редактирование программы.
Перемещение курсора в начало строки – Home;
Перемещение курсора в конец строки – End;
Переключение между русским и латинским алфавитом - Ctrl+Shift (справа); Ctrl+Shift (слева);
Набор заглавной буквы – Shift+<клавиша с буквой>;
Удаление неправильного символа – установить курсор на этот символ и нажать клавишу Delete, либо установив курсор после неправильного символа и нажать BS;
Разрезать строчку на две – установить курсор на «место разреза» и нажать Enter;
Склеить две строки – установить курсор в конец первой из склеиваемых строк и нажать Delete или в начало второй и нажать BS;
Вставить между двумя строчками новую пустую – установить курсор в конец первой из двух строк или в начало второй и нажать Enter;
Удалить строчку целиком – установить на нее курсор и нажать комбинацию клавиш Ctrl+Y;
Отменить последнюю операцию по редактированию текста Alt+BS;
Запустить программу на исполнение - Ctrl+F9.
Алфавит языка Turbo Pascal
Алфавит языка Turbo Pascal содержит:
- латинские строчные и прописные буквы, а также символ подчеркивания «_», который приравнен к буквам;
- цифры;
- символ пробел;
- символы с кодами от 0 до 31 (управляющие коды);
- специальные символы: + - * / = < > [ ] . , ( ) : ; @ { } $ # ‘
- составные символы: <= >= <> := (* *) (. .) ..
При конструировании имен объектов программы (переменных, констант, типов, подпрограмм и т.д.) можно использовать только латинские буквы и цифры (причем первый символ должен быть обязательно буквой, большие и маленькие буквы в именах объектов считаются одинаковыми).
В языке Turbo Pascal есть зарезервированные слова, которые, так же нельзя использовать в качестве имен чего-либо (например begin, end, var, for, while, repeat и т.д.).
Структура программы на языке Turbo Pascal
program <имя программы>;
uses <имена подключаемых библиотек>;
type <описание типов данных>;
const <описание констант>;
label <описание меток>;
var <описание переменных>;
<описание подпрограмм>;
begin
<операторы>;
end.
Любой из перечисленных выше разделов может отсутствовать, за исключением раздела операторов. Поэтому самая короткая программа на языке Turbo Pascal выглядит так: begin end.
Правда, она ничего не делает, но с точки зрения синтаксиса языка, она написана верно.
Переменная - это область памяти, названная собственным именем, которая может менять свое значение в процессе выполнения программы. Переменная характеризуется именем, типом и значением.
Константа - не изменяет своего значения в процессе выполнения программы, она может быть задана явно своим значением или обозначена именем.
Имя (идентификатор) переменной или константы задается латинскими буквами и арабскими цифрами. В качестве идентификатора нельзя использовать служебные слова. Идентификатор должен быть уникальным, т.е. в данном блоке программы один идентификатор не может быть использован для обозначения более чем одного объекта.
Например : Zap, gor,X, p1, summa, a28,rar_1, proba, x1,y1,max,min и т.д.
Все переменные, которые будут использованы в разделе операторов, должны быть объявлены в разделе описания переменных, начинающемся словом var.
Описываются переменные так:
<имя переменной>: <имя типа>; (можно указывать несколько имен переменных через запятую)
Тип переменной – это множество значений, который она может принимать.
byte – целое число в диапазоне 0..255;
shortint – целое число в диапазоне -127..127;
word – целое число в диапазоне 0..65535;
integer – целое число в диапазоне -32768..32767;
longint – целое число в диапазоне -2147483648..2147483647;
real – вещественное число;
char – символ или #<код>;
boolean – логический тип {true,false}.
Типы переменных
Тип | | Диапазон значений |
Целый | ShortInt | -128...127 |
| Integer | -32768 ...32767 |
| Longint | -2147483648 ... 2147483647 |
| Byte | 0 .... 255 |
| Word | 0 ... 65535 |
Вещественный | Real | 2,9 10-39..... 1,7 1038 11..12 значащих цифр |
| Single | 7..8 значащих цифр |
| Double | 15..16 значащих цифр |
| Extended | 19..20 значащих цифр |
| Comp | 19..20 значащих цифр |
Логический | Boolean | TRUE FALSE |
Cимвольный | Char | 1 символ |
Строковый | String | Массив символов, по умолчанию длина 256 символов. |
Массивы | array | |
Записи | record | |
Множества | set | |
Файлы | file | |
Указатели | pointer | |
Операция присваивания
В результате выполнения операции присваивания переменная получает значение. В общем виде эта операция выглядит так:
<имя переменной>:=<выражение>;
Где := это символ операции присваивания. В Turbo Pascal после каждой операции ставится символ «точка с запятой».
Выполнение инструкции присваивания заключается в следующем: сначала вычисляется результат выражения, находящегося справа от символа присваивания, затем вычисленное значение записывается в переменную, имя которой стоит слева от символа присваивания.
Например, в результате выполнения операций:
- i:=0; значение переменной i становится равным нулю;
- a:=b+c; значением переменной а будет число, равное сумме значений переменных b и c;
- j:=j+1; значение переменной j увеличится на единицу.
Операция присваивания считается верной, если тип выражения соответствует или может быть приведен к типу переменной. Переменной типа real можно присвоить значение выражения типа real или integer. Переменной типа integer можно присвоить значение выражения только типа integer.
Например, если переменные i и n типа integer, а d типа real, то операции:
i:=n/10; и i:=1.0; - неправильные, а d:=i; - правильная.
Процедура вывода информации.
В любой программе должны быть инструкции, обеспечивающие прием исходных данных и выдачу пользователю результатов.
Вывод информации на экран.
Команда write предназначена для вывода на экран монитора сообщений и значений переменных. В этой команде после слова write в скобках задается список имен переменных. Кроме имен переменных в список можно включить сообщение – текст, заключенный в апострофы.
Примеры: write (Summa);
write (‘Результат вычислений’);
write (‘Корни уравнения: х1=’,x1,’ x2=’,x2);
После имени переменной через двоеточие можно поместить формат поля вывода значения переменной. Для переменной типа integer формат – это целое число, определяющее ширину поля вывода (количество позиций на экране). Например, команда write(d:5) показывает, что для вывода значения переменной d используется 5 позиций. Если число занимает меньше позиций, чем указано в формате, то неиспользуемые позиции заполняются пробелами, а само изображение выравнивается по правой границе поля.
Например, если значение переменной kol типа integer равно 15, то в результате выполнения инструкции: write (‘Всего изделий:’,kol:5); на экран будет выведено: Всего изделий: 15.
Для переменных типа real формат представляет собой два целых числа, разделенных двоеточием. Первое число определяет ширину поля вывода, второе – число цифр, стоящих справа от десятичной точки. Если задать только ширину поля, то на экране появится число, представленное в формате с плавающей точкой.
Пусть переменные х1 и х2 типа real имеют значения 13,25 и -0,3401; тогда в результате выполнения инструкции: write (‘х1=’,x1:5:2,’ x2=’,x2:12); на экране будет выведено: х1=13.25 х2=-3.40100Е-01.
Если ширины поля, указанной в формате, недостаточно для вывода значения переменной, то выводится число в формате с плавающей точкой и десятью цифрами после запятой (все поле вывода в этом случае занимает 17 позиций).
После выполнения команды write курсор остается в той позиции экрана, в которой он находился после вывода последнего сообщения этой команды. Следующая команда write начинает вывод именно с этой позиции. Например, в результате выполнения команд:
х:=2.73;
write (‘Значение перем’);
write (‘енной’);
write (‘х=’);
write (х:8:5);
на экран будет выведено:
Значение переменной х=-2.73000
Инструкция отличается от инструкции write только тем, что после вывода сообщения или значений переменных курсор переводится в начало следующей строки. например, если значением переменной х1 является число -3,561, а переменной х2 – число 10,345, то результатом выполнения команд:
writeln (‘Значения корней уравнения:’);
writeln (‘х1=’,х1:7:3);
writeln (‘х2=’,х2:7:3);
будет следующий текст на экране:
Значения корней уравнения:
х1=-3.5610
х2= 10.345
Пример программы №1
program primer1;
var
a,b:integer;
begin
a:=5;
b:=3;
writeln (‘5+3=’,a+b);
end.
Процедура ввода информации.
Команда read предназначена для ввода с клавиатуры значений переменных (исходных данных). в общем виде инструкция выглядит так:
read (переменная 1, переменная 2,…переменная n);
где переменная это имя переменной, значение которой должно быть введено с клавиатуры во время выполнения программы.
примеры:
read (а);
read (Cena,kol);
при выполнении команды происходит следующее: программа приостанавливает свою работу и ждет, пока на клавиатуре будут набраны нужные данные и нажата клавиша
Одна команда read позволяет получить значения нескольких переменных. В этом случае вводимые числа должны набираться в одной строке и разделяться пробелами. например, если тип переменных а,b и c – real, то в результате выполнения команды read (a,b,c) и ввода с клавиатуры строки 4.5 23 0.17
значения переменных будут следующими: a=4.5, b=23.0, c=0.17.
Если в строке набрано больше чисел, чем задано переменных в команде, то оставшаяся часть строки будет обработана следующей инструкцией read. Например, в результате выполнения команд:
read (а,b);
read (c);
и ввода с клавиатуры строки: 10 25 18
переменные примут следующие значения: a=10, b=25, c=18.
Инструкция readln отличается от инструкции read тем, что после выделения очередного числа из введенной с клавиатуры строки присваивания его последней переменной из списка инструкции readln оставшаяся часть строки теряется, и следующая инструкция read или readln будет требовать нового ввода. Например, в результате выполнения команд:
readln(а,b);
read (c);
при наборе пользователем строки: 10 25 18
переменная а получит значение 10, b – 25. После чего программа будет ожидать ввода нового числа, чтобы присвоить его переменной с.
Перед каждой командой read или readln следует располагать команду write, чтобы подсказать пользователю, какие данные ожидает от него программа. Например, фрагмент программы вычисления стоимости покупки может быть таким:
writeln (‘введите исходные данные’);
write (‘Цена изделия:’);
readln (Cena);
write (‘Количество в партии:’);
readln (kol);
write (‘Скидка:’);
readln (skidka);
Если тип данных, вводимых с клавиатуры, не соответствует или не может быть приведен к типу переменных, имена которых указаны в инструкции read или readln, то программа аварийно завершает работу (команды, следующие за этой не выполняются), и на экран выводится сообщение об ошибке.
Первая программа.
Задача 1 : Написать программу, которая вводит значения двух любых чисел, выводит на экран сумму, разность, произведение и частное от деления этих чисел. Ввод каждого числа произвести с отдельной строке. Каждый результат также нужно поместить на отдельную строку, пояснив в комментарии, чему соответствует выводимое число.
program exampl_1;
var a,b : integer;
begin
writeln('Введите первое число’);
readln(a);
writeln('Введите второе число’);
readln(b);
writeln('A+B= ', a+b:5);
writeln('A-B= ', a-b:5);
writeln('A*B= ', a*b:7);
writeln('A div B= ', a div b:5);
writeln('Нажмите
readln;
end.
Сохранение программы.
Для того чтобы сохранить программу, необходимо либо, либо :
- нажать Enter, в вертикальном меню выбрать команду Save as... и нажать клавишу Enter;
- в появившемся окне ввести имя файла и нажать Enter;
Компиляция программы
или
- выйти в верхнее меню и выбрать команду Compile и нажать клавишу Enter;
или
- нажать клавишу ALT-F9.
Запуск программы на выполнение.
или
- выйти в верхнее меню и выбрать команду RUN и нажать клавишу Enter;
или
- нажать клавишу CTRL-F9.
Алгоритм работы с программой
1. Написать программу на бумаге.
2. Запустить Турво Паскаль.
3. Набрать программу при помощи клавиатуры.
4. Сохранить программу на диске.
5. Запустить программу на компиляцию.
6. Запустить программу на выполнение.
Наша программа есть пример линейного алгоритма.
Линейные алгоритмы описывают решение задач с последовательным выполнением действий. Обычно такие действия идут в следующем порядке :
- ввод исходных данных (может отсутствовать, тогда данные задаются внутри программы),
- последовательные команды - обычно вычислительного характера;
- вывод результатов (должен присутствовать обязательно).
Задание: Исправить программу «пример1» так, чтобы значения переменных вводились пользователем с клавиатуры и результат сложения записывался в переменную summa.
program primer2;
const
p=3.14; { число ПИ }
var
r: real; { радиус }
c,s: real; { длина и площадь }
begin
write (‘Чему равен радиус окружности? ’);
redln (r);
c:=2*p*r;
s:=p*r*r;
writeln(‘длина окружности=’,c);
writeln(‘площадь окружности=’,s);
readln;
end.
Комментарий – это текст в фигурных скобках, который никак не воспринимается при выполнении программы. Комментарий предназначен для удобства программиста.
Задание: Исправить программу так, чтобы c и s выводились на экран в форме записи с фиксированной точкой и с точностью до сотых.
Составление линейных алгоритмов.
Алгоритм – последовательность действий со строго определенными правилами выполнения.
Программа – это набор инструкций для вычислительных машин и устройств.
Виды программ – компьютерные программы, программы управления роботами, станками и другими программируемыми устройствами.
Языки программирования – языки для записи программ для вычислительных машин и устройств (Turbo Pascal, Basic, Delphi и т.д.).
Типы алгоритмов – линейные, ветвящиеся, циклические, вспомогательные и т.д.
Линейные алгоритмы – линейная последовательность операторов и операций.
Ветвящиеся алгоритмы – алгоритмы с альтернативным выбором действий и групп операций.
Циклические алгоритмы – алгоритмы с циклическим повторением действий и групп операций.
Вспомогательные алгоритмы – алгоритмы решения определенных подзадач, состоящие из групп операций.
Задание: Составить программу, которая по двум введенным с клавиатуры целым числам вычисляла бы и выводила на экран в удобном виде:
- их сумму;
- их произведение;
- их разность;
- их частное;
- их среднее арифметическое;
- сумму квадратов этих чисел;
с точностью до сотых.
Стандартные операции и функции.
Операции бывают следующих видов:
- арифметические операции;
- операции отношений;
- булевские (логические) операции;
- поразрядные логические и сдвиговые операции;
- операции над множествами.
Арифметические операции:
«+» - сложение;
«*» - умножение;
«-» - вычитание;
«/» - деление; (результат всегда должен иметь вещественный тип).
div – деление нацело (с отбрасыванием дробной части);