Turbo Pascal - он же Borland Turbo Pascal - язык программирования, обладающий текстовой и графической исполнительными функциями. Turbo Pascal является объектно-ориентированным языком программирования.
!!!!!ВНИМАНИЕ!!!!!
Перед тем,как начинать работать с ТР7 необходимо сделать следующее:
1.Установите ТР7 на диск С или любой другой( D....F) без корневого каталога
Пример:С:\tp7\
2.Зайдите в С:\tp7\BIN\TURBO.EXE
затем: OPTIONS после чего нажимаем DIRECTORIES
и меняем дерикторию на С:\tp7\units;
После чего нажимаем ОК.
Затем нажимаем SAVE TURBO.TP
После чего перезайдите.....и можем начинать РАБОТАТЬ!!!!!!!!
Думаю вы поймете!!!!:-)
КАК РАБОТАТЬ С Turbo PAscal?????
Основные функции:Ctrl + F9 -запуск программы
Alt + F9 -проверка компилятором на предмет ошибок
Alt + Enter -запустить во весь экран

| |
![]() | |
Коллекции Паскальных Исходников | |
| |
![]() | |
Полезная Информация | |
| |
![]() | |
Архивы ФайлЭхоКонференций сети FIDO. | |
| |
![]() | |
Free Pascal Sources from Toth Paul | |
|
Программа предназначенная для поворачивания слова задом на перед: http://31soft.3dn.ru/PASCAL/POVOROT.zip
Программа предназначенная для нахождения разницы между введенными цифрами: http://31soft.3dn.ru/Raznitsa.zip
Описание типа - информация для компилятора о том, что из себя представляет переменная, сколько ячеек памяти для нее отводить и какие операции с ней можно выполнять.
- integer - целый тип. Данный тип представляет собой целые числа в интервале от -32768 до 32767. Использует в памяти 2 байта.
- longint - целый тип. Интервал от -2 147 483 648 до 2 147 483 647. Использует в памяти 4 байта.
- real - вещественные числа. Использует 6 байт. (!) Внимание (!) Делить числа можно только в этом типе данных. Пример: d:longint; h:real; h:=d/2
- byte - разновидность целого типа. Интервал от 0 до 255. Использует 1 байт.
- word - разновидность целого. От 0 до 65535. 2 байта.
- char - символьный тип. Представляет собой просто любой символ.
- string - строковый тип. Переменная представляет собой строку символов. Примеры описания: f : string; или g : string(20); . В первом примере строка имеет максимально возможное количество символов - 255. Во втором - 20 символов.
- boolean - логические переменные. Принимают значение true или else
Знак: | Операция: |
- | Вычитание |
+ | Сложение |
* | Умножение |
/ | Деление |
Div | Целочисленное деление |
Mod | Остаток от деления |
Высший приоритет имеют: div, mod, / , *
Приведу несколько примеров правильных арифметических выражений: s/t/y-y+8*(u/7-5-g)*(u-8.78) -еще один- 5.89+6*(y+7*u*(t+6)) -еще один- 5 mod g (В этом выражении ищется остаток от деления 5 на g) -еще один- g mod 2 (В этом выражении вычисляется результат от деления g на 2).
Некоторые полезные арифметические функции:
sin | вычисление синуса. Аргумент задается в радианах. |
cos | вычисление косинуса. Аргумент задается в радианах. |
exp | вычисление экспоненты. |
sqr | вычисление квадрата выражения. |
sqrt | вычисление квадратного корня выражения. |
abs | вычисление модуля выражения. |
arctan | вычисление арктангенса выражения. |
frac | вычисление дробной части выражения. |
int | вычисление целой части выражения. |
round | преобразование к целому типу. |
random | вычисление случайного числа в указанном интервале. |
Логические операции.
Операция | Пояснение |
and | логическое умножение |
or | логическое сложение |
not | логическое отрицание |
xor | логическое деление |
Не хочу загружать Вам голову и ссылаться на алгебру логики, так что объясню все популярным языком. Как Вы уже догадались, логические операции не подразумевают реальное сложение или отрицание. Эти операции применяются в условных операторах. Например: If h:=7 then h=3 else h=11;
if a>0 then a:=s+1
называется условным оператором. Его устройство таково: после слова if записывается условие, а после слова then записывается один оператор (можно сложный), который исполняется, если условие оказывается истинным. Условный оператор имеет еще одну форму:
if условие then оператор else оператор
В этой форме, если условие истинно, то исполняется оператор, записанный после слова then, а если условие ложно, выполняется оператор, записанный после слова else.Приведем пример программы с использованием условного оператора:
Program MyFirstLesson;
Uses crt; Var n,s,i,a:integer; begin read(n) s:=0; for i:=1 to n do begin read(a); if a>0 then s:=s+1; end; write(s); readln; end.
|
Вместо MyFirstLesson можно вписать любое название на латинице
Uses crt - включает клавиатурный блок. integer - целое. Бывает longint, boolen, real и др...
read(n) - вводите значение с клавиатуры s:=0 - обнуление счетчика for i:=1 to n do - задание условного оператора, здесь он выступает в качестве цикла. begin - начало подпрограммы read(a) - вводите значение с клавиатуры Проверка условия. Сокращенный условный оператор ( без else) end; - окончание подпрограммы write(s) - вывод s на монитор readln - важный оператор (!) - он оставляет изображение выводимое на экран. Иначе, сразу после выполнения программы результат будет мгновенно исчезать. end. конец программы |
|
Оператор присваивания в Паскале выглядит так:
s:= 0
Теперь представим другую форму: s:=a+b
Еще иногда используют другую вариацию: s:=s+1
|
s:=0 - это т.н. "счетчик" - нужен для обнуления переменной
s:=a+b - здесь переменная s выступает как суммарное значение a и b
s:=s+1 - s является счетчик, каждый раз добавляющий к своему значению +1. Применяется вкупе с циклом. Например: s:=0; for i:=1 to 3 do; s:=s+1; write(s); ---------Обнуление s обязательно!------- |
Массив - множество данных одинаковой природы.
Например: F: array of [1..10] of integer (десять целых чисел) -еще один- H: array of [1..100] of string (сто строковых величин).
В качестве примера приведу программу, вычисляющую квадраты ста чисел.
Program preved;
Var
i:integer;
d: array of [1..100] of integer;
begin
for i:=1 to 100 do
begin
d[i]:=i*i;
write(d[i]);
end;
readln;
end.
Массивы могут быть многомерными, например, двумерными:
F: array of [1..10,1..100] of integer; Здесь объявлен массив в 10 по 100 целых чисел.
Пусть две величины Q и U могут принимать только три значения, причем эти величины взаимосвязаны, т.е. величина U принимает свои значения в зависимости от того, какое значение принимает величина Q. Предположим, что взаимосвязь устанавливается следующим образом: при Q=1 U=4; при Q=4 U=-5; при Q=0 U=11. Предположим, что величина Q вводится с клавиатуры, а величина U вычисляется в зависимости от введенного Q. Решение:
Program MyFirstProgram;
Var
U,Q:integer;
begin
read(Q);
case Q of
1: U:=4;
4: U:=-5;
0: U:=11;
end; (данный end завершает выполнение case)
end.
Рассмотрим другую ситуацию. Взаимосвязь Q и U немного усложнилась. Старые значения связаны так же, как и раньше, но теперь Q может принимать любые значения, и, если Q принимает значение, отличное от уже описанных, то U=20. Опишем ситуацию с помощью оператора Case (или оператора выбора).
Program MyFirstProgram;
Var
U,Q:integer;
begin
read(Q);
case Q of
1: U:=4;
4: U:=-5;
0: U:=11;
else U:=20;
end; (данный end завершает выполнение case)
end.
При исполнении этой конструкции, если Q примет значение, отличное от 1, 4, 0, то U примет значение 20. Возможна и такая структура оператора, при которой U будет принимать одно и то же значение при различных L. Приведем пример:
Program MyFirstProgram;
Var
U,Q:integer;
begin
read(Q);
case Q of
1, 5, 8: U:=4;
4, 7: U:=5;
0,3: U:=9;
else U:=20;
end; (думаю, уже понятно что завершает данный end))) )
end.
|
Пример: найти сумму N последовательных чисел. К примеру, следующего ряда: 1+2+3+...+N
Решение:
Алгоритм программы по сумме N чисел будет выглядеть:
Ввести N S=0 Для всех I от 1 до N делать Начало цикла S=S+I Конец цикла Вывести S
|
Program MyFirstProgram;
Uses crt;
Var
n,s,i:integer;
begin
read(n);
s:=0;
for i:=1 to n do
s:=s+i
write(s);
readln;
end.
|
Оператор Read
Предназначен для ввода информации. К примеру, Вам нужно ввести значение с клавиатуры.
Тогда фрагмент программы будет выглядеть следующим образом:
Uses crt; - этот оператор включает клавиатурный блок, для возможности ручного ввода числа.
Var - активирует нижестоящий блок, в котором описываются типы переменных.
n:integer; - n принимает тип integer.
read(n); - теперь Вы вводите значение с клавиатуры.
Оператор Write
Этот оператор предназначен для вывода информации. Как вы можете посмотреть, используется он в любой программе. (практически везде нужно показать результат операции) (смотрите Problems - это папка с решенными задачами и там показывается, как нужно использовать write.)
Выводить информацию можно двумя способами:
write(n) | в этом случае информация выводится на строке, на которой находится курсор |
writeln(n) | ln- аналогично Enter. В данном случае курсор переходит на следующую строку и информация выводится уже там. |
Аналогичная ситуация и для read и readln
Задача 1. |
Дано два
числа. Напечатать число, большее
их среднего арифметического.
Решение:
Program Vi4isl; Var a,s,d:real; begin read(a,s) ;d:=(a+s) / 2; if a>d then write (a); if s>d then write (s); end.
|
Пояснения Все числа, используемые в программе, действительные(тип real). Величина d играет роль среднего арифметического.
! Если Вам не понятен какой-то оператор, то посмотрите раздел Операторы ! |
Задача 2 |
Квадратное
уравнение. Коэффициенты вводятся
с клавиатуры. Вычислить его
корни. Решение:
Program Vi4isl; Var x1, x2, a, b, c, d : real; begin write ('Vvedite koefficenty yravneniya'); read (a,b,c); d := b*b - 4*a*c; if d<0 then write ('yravnenie korney ne imeet'); if d=0 then begin x1 := -b/2/a; write ('x=',x1); end; if d>0 then begin x1 := (-b+sqrt (d))/2/a; x2 := (-b-sqrt (d))/2/a; write ('x1=',x1, ' x2=',x2); end; end.
|
Пояснения Скорей всего, пояснения здесь излишни. Школьный курс математики за 8-ой класс )))
|
Задача 3
|
Дано два
числа. Выянить, делится ли
большее на меньшее нацело или
нет. Какое из них большее, а
какое меньшее - не известно.
Решение:
Program Vi4isl; Var a,b:integer; begin read(a,b); if (a>=b) then if a mod b=0 then write ('delitsa') else write (' ne dtlitsa'); else if b mod a=0 then write ('delitsa') else write ('ne delitsa'); end. |
Пояснения Так как не известно какое число большее, то программа рассматривает 2 ситуации: первую, когда b больше a, и вторую, когда а больше b. Операция mod находит остаток от деления. Числа делятся в том случае, когда остаток равен нулю. |
Задача 4 |
Вычислить
сумму и среднее арифметическое
чисел. Решение:
Program Vi4isl; Var i,n: integer; a,s,f: real; begin read(n);s := 0; for i:=1 to n do begin readln(a); s := s+a; end; f := s/n; writeln ('Summa =', s , ' Srednee arifmeticheskoe =' ,f); end. |
Для перехода к графическим модулям нажмите СЮДА
Форма входа |
Календарь новостей | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
Поиск |
|
Статистика |