Сайт Николаевской общеобразовательной школы №31!

              
Главная | Регистрация | Вход Приветствую Вас Гость | RSS

Меню сайта

Кто сегодня был на сайте:
 
Страничка посвященная теме PASCAL

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 -запустить во весь экран


Качаем инсталяшку PASCAL с нашего сервера: http://31soft.3dn.ru/tp7.exe

ПОЛЕЗНЫЕ ССЫЛКИ


  • DOS Navigator - DOS Shell от компании RIT Research Lab      www.ritlabs.com/ru/index.html

  • CONNECT - Мощный DOS-Shell типа DOS NAVIGATOR      ftp.kiae.su/pub/msdos/shell/connect/

  • DN/2 для OS/2 - это файловый менеджер для OS/2, основанный на исходных текстах DN Open Source Project.
    Однако DN/2 не является просто портом DN OSP.
    В нем содержатся как новые решения, специфические для OS/2,
    так и собственные решения некоторых системно-независимых вопросов.      www.dnosp.ru
 
  Коллекции Паскальных Исходников
 
  Полезная Информация
 
  Архивы ФайлЭхоКонференций сети FIDO.

  • Архивы ФайлЭх на LIPETSK.RU        ftp://ftp.lipetsk.ru/fido/FE/
      (описание архива - см. файл FILES.BBS)
 
  Free Pascal Sources from Toth Paul

Программы сделанные нами!
КАЧАЕМ:
Программа предназначенная для поворачивания слова задом на перед: http://31soft.3dn.ru/PASCAL/POVOROT.zip
Программа предназначенная для нахождения разницы между введенными цифрами: http://31soft.3dn.ru/Raznitsa.zip

Типы Данных:
Все переменные, используемые в программе Паскаля, должны быть описаны. Напримерa,b,c:integer (a,b,c принимают тип integer).

Описание типа - информация для компилятора о том, что из себя представляет переменная, сколько ячеек памяти для нее отводить и какие операции с ней можно выполнять.

  • 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...then...else
Английское слово if переводится как "если", а оператор:

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 обязательно!-------


Массивы. Array.
 

Массив - множество данных одинаковой природы.

Например: 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 целых чисел.

Оператор Case
 

Пусть две величины 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/Write
         

Оператор 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.







Для перехода к графическим модулям нажмите СЮДА


Форма входа
Календарь новостей
«  Июнь 2025  »
ПнВтСрЧтПтСбВс
      1
2345678
9101112131415
16171819202122
23242526272829
30
Поиск
Статистика


СЛУШАТЬ РАДИО
Используются технологии uCoz