Язык программирования Pascal.
Этапы создания компьютерной программы .
- 1 этап. Редактирования текста программы команда (Edit). На этом этапе пользователь набирает свою программу в символах выбранного им языка программирования.
- 2 этап. Компиляция программы (команда Compile). В результате программа пользователя переводится из символов языка программирования в двоичный код компьютера. При обнаружении ошибок происходит возврат к 1 этапу.
- 3 этап. Построение программы (команда Build ). Подгружаются библиотечные модули, и готовая программа в двоичном коде сохраняется на диске. При обнаружении ошибок происходит возврат к 1 этапу.
- 4 этап. Запуск программы на выполнение ( команда Run). При обнаружении ошибок происходит возврат к 1 этапу.
Прохождение всех этих этапов заложено в интегрированной среде Turbo Pascal.
Почти любая компьютерная программа состоит из блоков (модулей), каждый из которых выполняет какое- то одно действие. Программу составляют из блоков, как из кирпичиков. Однако даже в самых простых случаях приходится выполнять действия, без которых не обходится почти не одна программа – например выводить информацию на экран или вводить что – то с клавиатуры. Так как эти действия нужны всем, для них ввели специальные названия (например, write и writeln ) и заложили непосредственно внутрь программы Turbo Pascal. Они - то и называются библиотечными модулями. Их машинные коды хранятся в специальных файлах (библиотеках) и подсоединяются к вашим программам на этапе построения.
П
Запуск среды Turbo Pascal .
Щелкните на значке Turbo Pascal на рабочем столе.
- При успешном запуске интегрированной среды Turbo Pascal вы увидите на экране следующие элементы:
- главное меню (строка сверху);
- окно редактирование (синее поле посередине);
- описание функциональных клавиш (строка внизу).
Запомните!
Клавиша F10 вызывает главное меню (можно также щёлкнуть мышью).
Клавиша Esc осуществляет возврат из любого вызванного режима к предыдущему.
Работа в окне редактора Edit.
- Перейдите в главное меню (клавиша F10).
- Выберите пункт File с помощью клавиш перемещения курсора (↑,↓)
- Нажмите клавишу Enter.
- Появится раскрывающееся меню File :
New
Open F3
Save F2
Save as
……… ..
Dos shell
Exit Alt+x
Комбинация клавиш редактора Turbo Pascal
Действие
Клавиша
Образование новой строки
Enter
Переход в начало строки
Номе
Переход в конец строки
End
Переход в начало файла
Ctrl + Номе
Переход в конец файла
Ctrl +End
Включение режима замены символа
Включение режима вставки символов
Insert (Ins)
Insert (Ins)
Удаление текущего символа
Delete (Del)
Удаление предыдущего символа
Backspace (Bs) – правая клавиша в ряду цифровых клавиш
Перемещение курсора по тексту
← ,→,↑,↓
Страница вверх
Page Up (PgUp)
Страница вниз
Page Dn (PgDn)
Склеивание двух строк
- Переход в конец 1 – й строки.
- Клавиша Delete.
Удаление текущей строки
Ctrl +Y
Сохранение программы в файле на диске.
- В главном меню выберите File ( Клавиши Alt +F).
- В раскрывающемся меню File выберите команду Save as…(Turbo Pascal откроет окно Save File As.)
- Переключайтесь между элементами окна клавишей Tab ( или щелчком мыши).
- В поле ввода Save file as введите имя, под которым собираетесь сохранить файл, например М Y.PAS и нажмите Enter ( расширение. pas набирать не обязательно).
Как представляются переменные целого типа в памяти компьютера.
Вся информация в компьютере хранится в виде последовательности нулей и единиц. Информация, для записи которой используется всего два знака: 0 и 1, называется двоичной. Информация в компьютере хранится в виде двоичных кодов (комбинации из нулей и единиц). Память мы представляем, как последовательность ячеек, каждая из которых имеет свой адрес.
Стандартная длина ячейки – 8 бит, что равно 1 байт. В такую ячейку можно записать двоичный код длинной 8 бит.
Для переменной типа integer выделяется ячейка длиной в 2 байта = 16 бит. Такая ячейка получает символьное имя – имя переменной, и вы обращаетесь к ней не по адресу, а по имени.
Крайняя левая позиция выделяется для знака числа:
- 0 – число положительное;
- 1 – число отрицательное.
Остальные 15 позиций выделяются для записи самого числа в двоичном виде.
На 15 позициях можно получить 2 15 двоичных кодов. Самое маленькое число состоит из 15 нулей, самое большое из 15 единиц. Поскольку счёт начинается с нуля, получаем всего (2 15 -1) положительных двоичных чисел. С учётом знака числа (+ или -) получаем, что числа типа integer имеют диапазон представления -2 15 …+2 15 - -1, или -32768…+32767. Тип integer является основой для нескольких производных типов – со знаком и без знака.
Наличие знака
Тип переменной
Без знака
Формат
(длина)
В байт
Диапазон
byte
Запись с порядком
Со знаком
1
word
0…2 8 - 1
2
Обычная запись
shortint
0…2 16 - 1
0…255
1
integer
0…65535
-2 7 …2 7 - 1
2
longint
-128…127
-2 15 …2 15 -1
4
- 32768…+32767
-2 31 …2 31 - 1
-2147483648…
2147483647
Форматы записи вещественных переменных.
В рассмотренном примере переменная вещественного типа будет выдана на экран в особой , экспоненциальной форме. Числа с десятичной точкой могут записываться в двух формах:
Примеры:
- 0,7 может быть записано как 0.7 или .7
- -2,1 может быть записано как -2.1
- Запись с экспонентной: число представляется в виде мантиссы, то есть дробной части числа, умноженной на 10 в некоторой степени..
Примеры 2700 = 2,7*10 3 . Число 10 записывается в виде буквы E, а за ней идёт величина степени: 2.7 E3;
0,002 =2*10 -3 соответствует запись 2 E-3.
Линейный алгоритм.
Линейные команды выполняются в порядке их естественного следования.
Program Action;
var
A,B,C : integer;
begin
A :=17;
B :=3;
{Операция умножения:}
C:=A*B; writeln (‘17*3=’,C);
{Деление нацело:}
C:=A div B; writeln (’17 div 3=’,C);
{Вычисление остатка от деления:}
C:=A mod B; writeln (’17 mod 3=’,C);
{ Сложение :}
C:=A+B; writeln (’17 + 3=’,C);
{ Вычитание :}
C:=A-B; writeln (’17 -3=’,C)
end.
При запуске программа выведет на экран следующее:
17 * 3=51
17 div 3 =5
17 mod 3=2
17 + 3=20
17 – 3=14
Разветвляющиеся алгоритмы.
Ветвление – в зависимости от поставленного условия алгоритм позволяет выбрать один из вариантов решения задачи.
=0 then If D0 then writeln (‘Два вещественных корня’) else writeln (‘Один вещественный корень’) else writeln (‘Нет вещественных корня’); readln end." width="640"
Рассмотрим задачу определения количества корней квадратного уравнения по дискриминанту.
program Diskr;
var
A, B, C, D : real;
begin
write (‘Введите коэффициенты A , B , C :’);
readln (А, B , C ); {Это оператор пустого ввода. Здесь программа опять приостановится и будет ожидать нажатия клавиши Enter . За это время вы успеете просмотреть вывод на экране. Этот приём мы рекомендуем использовать, чтобы не нажимать ALT + F 5 после окончания работы программы}
D:=SQR (B) – 4 *A*C;
If D=0 then
If D0 then
writeln (‘Два вещественных корня’)
else
writeln (‘Один вещественный корень’)
else
writeln (‘Нет вещественных корня’);
readln
end.
Оператор цикла for
На языке Паскаль повторение некоторой последовательности действий известное число раз выполняет оператор for. Подсчёт количества выполняемых действий осуществляется при помощи специальной переменной – счётчика. Поэтому цикл for называют иногда циклом со счётчиком. Цикл for на Паскале может быть представлен в двух формах. Первая форма последовательно наращивает счётчик:
for := to
do
Вторая форма последовательно уменьшает счётчик:
for := downto
do
Циклический алгоритм.
Цикл – в алгоритме встречаются повторяющиеся действия.
Трассировка.
Для проверки правильности работы программы рекомендуется пошагово отслеживать изменение всех переменных после выполнения каждого оператора программы. Такой процесс называется трассировкой.
Задача. Вычисление суммы чисел от 6 до 10
Program Test4;
var
N: integer; { Это будет счётчик цикла for}
S : integer ; {В этой переменной будем накапливать сумму}
begin
S :=0; {Первоначально обнулим сумматор}
for N:=6 to 10 do
S:=S+N; { Эта строка – тело цикла . При его выполнении каждый раз к S прибавляется очередное N . Переменную S можно сравнить с аккумулятором, в котором накапливается сумма}
writeln (‘ Сумма чисел =’,S:6);
readln
end .
Оператор
S:=0
Условие
N
for N:=6 to 10 do
S
Да
S:=S+N
Примечание
0
for N:=6 to 10 do
6
Да
S:=S+N
for N:=6 to 10 do
6
7
Да
S:=S+N
0+6=6
13
for N:=6 to 10 do
8
S:=S+N
Да
6+7=13
for N:=6 to 10 do
21
9
Да
S:=S+N
13+8=21
for N:=6 to 10 do
30
10
writeln (‘C умма чисел ’,S :3)
Нет
21+9=30
40
11
30+10=40
???
На экране:
Сумма чисел=40