??????????????? ????? Turbo Pascal - DOC by 703P1E7

VIEWS: 258 PAGES: 12

									               Интегрированная среда Turbo Pascal.
             Функциональные клавиши Турбо Паскаль.
F2 - сохранение редактируемого текста на диске;
F3 - загрузка текста с диска в окно редактирования;
F9 - компилировать программу, но не выполнять ее;
CTRL-F9 - выполнить прогон программы (компилировать ее и
выполнить);
ALT-F5 - просмотр результатов выполнения программы;
Esc - переход из главного меню в окно редактирования.
ALT-X - выход из системы Турбо Паскаль.
Запустить программу на исполнение - Ctrl+F9.
                  Работа с блоками в 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;

Кузнецов А. В. http://artemvk77.narod.ru/                       -1-
    File состоит из следующих                 Структура программы
              команд:                   program <имя программы>;
 New – создать новое рабочее окно. uses <имена подключаемых
 Open – открыть сохраненную             библиотек>;
 ранее на диске программу.              type <описание типов данных>;
 Save – сохранить программу под         const <описание констант>;
 текущим именем.                        label <описание меток>;
 Save as – сохранение программы         var <описание переменных>;
 под новым именем.                      <описание подпрограмм>;
 Save all – сохранение всех окон        begin
 под текущими именами.                  <операторы>;
 Exit –выход из программы               end.
          ПЕРЕМЕННЫЕ ВЕЛИЧИНЫ. ОПИСАНИЕ ПЕРЕМЕННЫХ.
Каждую переменную необходимо описать в VAR.
Например VAR W,R,Y:INTEGER;
               F,G:REAL;
        ДОПУСТИМЫЕ ИМЕНА                        НЕ ДОПУСТИМЫЕ
 S, D1, Y2, DD, DD1                    Ж, 2G
 SUMMA, SUMMA_1                        SUMMA 1
 TRY_PLUS_DVA                          TRY&DVA
                          Типы переменных
      Тип                                Диапазон значений
Целый            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

Кузнецов А. В. http://artemvk77.narod.ru/                        -2-
                       Операция присваивания
<имя переменной>:=<выражение>;
i:=0; значение переменной i становится равным нулю;
a:=b+c; значением переменной а будет число, равное сумме значений
переменных b и c;
j:=j+1; значение переменной j увеличится на единицу.
                        Операции отношений:
< - меньше; > - больше; = - равно; <> - не равно; >= - больше или
равно; <= - меньше или равно.
               Стандартные математические функции
div            деление нацело (с отбрасыванием дробной части);
mod            взятие остатка от целочисленного деления.
abs(x)         Абсолютное значение х, т.е. модуль х
sqr(x)         Квадрат х.
sqrt(x)        Квадратный корень из х.
sin(x) и       Значение синуса или косинуса х, х должен задаваться в
cos(x)         радианах.
arctan(x)      Арктангенс х.
random(x)y     Случайное число из диапазона y<=...< y+x
ln(x)          Натуральный логарифм х (х>0)
inc(x,n)       Значением является х увеличенное на n.
dec(x,n)       Значением является х уменьшенное на n.
int(x)         Целая часть числа х.
frac(x)        Дробная часть числа х.
trunc(x)       Целая часть в форме longint.
round(x)       Значение х округленное до следующего целого числа.
Pi             Значение пи.
odd(x)         Значение функции true, если х нечетен, и false в
               противном случае.
exp(x)         Значением функции является е в степени х.
           Алгоритм ветвление Синтаксис конструкции IF:
If условие then
   begin
      {серия команд, если условие истино};
   end
   else
   begin
      {серия команд, если условие ложно};
   end;
                   Синтаксис коннструкции case:
 case выражение of
  список констант_1 : begin
                            {последовательность инструкций 1};
Кузнецов А. В. http://artemvk77.narod.ru/                        -3-
                     end;
 список констант_2 : begin
                             {последовательность инструкций 2};
                    end;
 список констант_n : begin
                             {последовательность инструкций n};
                     end
else begin
{последовательность инструкций, выполняемая в случае, если
выражение не попало ни в один из списков констант};
     end;
  end;
                            Алгоритм цикл
                     Синтаксис оператора цикл for:
    For i:=n1 to n2 do
         begin
            {последовательность операторов};
          end;
    Либо:
    For i:=n2 downto n1 do
         begin
            {последовательность операторов};
           end;




Где i – это счетчик цикла, который обязательно должен быть объявлен
в разделе var, и иметь целочисленный тип;
n1 – начальное значение счетчика цикла;
n2 – конечное значение счетчика цикла.
               Оператор цикла с предусловием while.
  Оператор цикла while используется
  в программе, если надо провести
  некоторые повторные вычисления
  (цикл), однако число повторов
  заранее неизвестно и
  определяется самим ходом
  вычисления.В общем виде
  оператор выглядит так:
  while условие do
     begin
  {последовательность операторов};
      end;

Кузнецов А. В. http://artemvk77.narod.ru/                         -4-
                  Оператор цикла с постусловием repeat.
  Инструкция repeat как и инструкция while, используется в
программе, если надо провести некоторые повторяющиеся вычисления
(цикл), однако число повторений не известно и определяется самим
ходом вычислений.
  В общем виде                Оператор работает следующим образом:
оператор выглядит так:      1) Выполняются инструкции следующие за
  repeat                       словом repeat.
                            2) Вычисляется значение условия. Если
{последовательность            условие ложно, то повторно
операторов};                   выполняются инструкции цикла. Если же
  until условие;               условие истинно, то выполнение цикла
где условие –                  заканчивается.
выражение логического       Таким образом, операторы находящиеся
типа.                       между repeat и until выполняются до тех
                            пор, пока условие ложно.
  Примечания:
1) Последовательность инструкций между repeat и until всегда будет
    выполнена хотя бы один раз.
2) Для того чтобы цикл завершился, необходимо, чтобы
    последовательность операторов между repeat и until изменяла
    значения переменных, входящих в выражение условие.
Инструкция полезна при создании программ, обрабатывающих ввод с
клавиатуры.
Пример: Составить программу          С клавиатуры вводится число,
вычисляющую сумму                    проверить является ли оно
положительных чисел, вводимых с простым.
клавиатуры.                          var
program polog;                         r, n, d: integer;
uses crt;                            begin
var                                  writeln (‘Введите целое число’);
  n, s: integer;                     readln (n);
begin                                  d:=2;
 clrscr;                              repeat
 s:=0;                                     r:=n mod d;
 repeat                                     if r<>0 then d:=d+1;
     write (‘->’);                      until r=0;
     readln (n);                           if d=n then
       if n>0 then s:=s+n;                      writeln (n,‘ – простое
   until n<=0;                       число’)
   writeln (‘Сумма введенных                    else writeln (n,‘ –
положительных чисел =’,s);           составное число’)
 readln;                              readln;
 end.                                 end.
Кузнецов А. В. http://artemvk77.narod.ru/                         -5-
                         Задачи цикл repeat:
1) Дано натуральное число.
  а) Получить все его делители.
  б) Найти сумму его делителей.
  в) Найти сумму его четных делителей.
  г) Определить количество его делителей.
  д) Определить количество его нечетных делителей.
  е) Определить количество его делителей. Сколько из них четных?
  ж) Найти количество его делителей, больших D.
2) Натуральное число называется совершенным, если оно равно сумме
   своих делителей, включая 1 и, естественно, исключая это самое
   число. Например, число 6 - совершенное (6=1+2+3). Дано
   натуральное число. Выяснить, является ли оно совершенным.
3) Найти количество делителей каждого из целых чисел от 120 до 140.
4) Найти все целые числа из промежутка от 1 до 300, у которых ровно
   5 делителей.
5) Найти все целые числа из промежутка от 200 до 500, у которых
   ровно 6 делителей.
6) Найти все целые числа из промежутка от А до В, у которых
   количество делителей равно К. Если таких чисел нет, то должно
   быть напечатано соответствующее сообщение.
7) Найти натуральное число из интервала от А до В, у которого
   количество делителей максимально. Если таких чисел несколько, то
   должно быть найдено:
  а) максимальное из них; минимальное из них.
8) Найти все трёхзначные простые числа.
9) Найти 100 первых простых чисел.
10)   Найти сумму делителей каждого из целых чисел от 50 до 70.
11)   Найти все целые числа из промежутка от 100 до 300, у которых
   сумма делителей равна 50.
12)   Найти все целые числа из промежутка от 300 до 600, у которых
   сумма делителей кратна 10.
13)   Два натуральных числа называются дружественными, если
   каждое из них равно сумме всех делителей другого (само другое
   число в качестве делителя не рассматривается).Найти все пары
   дружественных чисел, меньших 50000.
14)   Дана непустая последовательность неотрицательных целых
   чисел, оканчивающаяся отрицательным числом. Найти среднее
   арифметическое всех чисел последовательности (без учета
   отрицательного числа).
15)   Дана      непустая    последовательность      целых     чисел,
   оканчивающаяся      числом   -1.   Определить,     есть   ли    в
   последовательности хотя бы одно число, кратное 7. В случае
   положительного ответа определить номер первого из них.

Кузнецов А. В. http://artemvk77.narod.ru/                      -6-
                          Одномерные массивы.
Массив – это упорядоченный набор однотипных элементов, имеющих
общее имя.
                           Объявление массива.
Перед использованием массив, как и любая переменная, должен быть
объявлен в разделе объявления переменных. В общем виде объявление
массива выглядит так:
имя: array [нижний_индекс..верхний_индекс] of тип; где
имя – имя переменной – массива.
array – ключевое слово, обозначающее, что переменная является
массивом;
нижний_индекс и верхний_индекс – целые числа, определяющие
диапазон изменения индексов (номеров) элементов массива и, неявно,
количество элементов (размер) массива;
тип – тип элементов массива.
      Примеры объявления             Примеры заполнения массивов
             массивов:
t: array[1..31] of real;            1) Оператором ввода с
k: array[0..2] of integer;          клавиатуры.
n: array[1..30] of longint;         For i:=1 to 10 do
Чтобы в программе использовать        begin
элемент массива, надо указать           Writeln(‘введите ’,i,’-ый элемент
имя массива и номер элемента        массива’);
(индекс), заключив его в                Readln(a[i]);
квадратные скобки. индекс может        end;
быть константой или выражением      {в качестве индекса используется
целого типа.                        параметр цикла }
Например: t[1]:=1.22;               Этот способ задания значений
d:=k[1]*k[1]-4*k[2]*k[1];           используется для небольших
readln (n[i+1]);         writeln    массивов.
(t[m]);                             2) Заполнение массива с
Оператор присваивания.              использованием генератора
А[1]:=3;                            случайных чисел.
или                                    RANDOMIZE;
B[1]:=’Иванов’;                        For i:=1 to 10 do
B[2]:=’Петров’;                          a[i]:=Random(x);
Такой способ задания значений       {массив заполнится целыми
используется, если массив           числами в диапазоне от 0 до Х}
небольшой.                          3) Заполнение по формуле.
         Вывод массива.             Каждый элемент массива должен
For i:=1 to 10 do writeln(a[i]);    быть рассчитан по формуле
Вывод пятого элемента               (например ai=sin i - cos i)
массива записывается так :          for i:=1 to 10 do a[i]:=sin(i)-cos(i);
write(a[5]);
Кузнецов А. В. http://artemvk77.narod.ru/                            -7-
                     Алгоритмы работы с массивами
1) Сумма элементов         2) Сумма                3) Сумма и количество
массива.                   положительных           четных элементов.
s:=0;                      элементов.              s:=0; k:=0;
for i:=1 to 10 do          s:=0;                   for i:=1 to 10 do
begin                      for i:=1 to 10 do       if a[i] mod 2=0 then
 s:=s+a[i];                if a[i]>0 then          begin
end;                       s:=s+a[i];              k:=k+1;
writeln (‘Сумма=’,s);      writeln (‘Сумма         s:=s+a[i];
                           положительных           end;
                           элементов = ’,s);       writeln (‘Сумма ’,s, ‘
                                                   количество’, k);
4) Поиск заданного         5) Поиск наибольшего 6) Сортировка массива
элемента в массиве.        элемента в массиве.     q:=n-1;
Найти элементы             max:=a[1];              For i:=1 to n-1 do begin
массива большие            for i:=1 to 10 do       For i:=1 to q do begin
числа 5.                      begin                If a[i]>a[i+1] then
     for i:=1 to 10 do         if a[i]>max Then      begin
    if a[i]>5 then         max:=a[i];                 w:=a[i];
writeln(a[i]);                end;                    a[i]:=a[i+1];
                             writeln (‘max=’,max);    a[i+1]:=w;
                                                     end;
                                                   end;
                                                   q:=q-1;
                                                   end;
                               Поиск в массиве.
Например: определить сколько раз в массиве встречается число t.
k:=0;
writeln (‘Введите искомое число’); readln (t);
for i:=1 to n do if a[i]=a then inc(k);
writeln (‘Количество элементов равных ’,t,’ в массиве =’,k);
                    Задачи на одномерные массивы:
1) Заполнить массив:
   а) десятью первыми членами арифметической прогрессии с
        известным первым членом прогрессии a и ее разностью p;
   б) двадцатью первыми членами геом-кой прогрессии с известным
        первым членом прогрессии a и ее знаменателем z.
2) Дан массив. Все его элементы:
   а) уменьшить на 20;
   б) умножить на последний элемент;
   в) увеличить на число b.
3) Определить:
   а) сумму всех элементов массива;
   б) произведение всех элементов массива;
Кузнецов А. В. http://artemvk77.narod.ru/                             -8-
  в) сумму квадратов всех элементов массива;
  г) сумму шести первых элементов массива;
  д) сумму элементов массива с k1-го по k2-й (значения k1 и k2
     вводятся с клавиатуры; k2>k1);
  е) среднее арифметическое всех элементов массива;
  ж) среднее арифметическое элементов массива с s1-го по s2-й
     (значения s1 и s2 вводятся с клавиатуры; s2>s1).
4) Дан массив из 30 целых чисел массив. Напечатать:
  а) все неотрицательные элементы;
  б) все элементы, не превышающие числа 100.
  в) все четные элементы;
  г) все элементы, оканчивающиеся нулем.
5) Дан массив натуральных чисел. Напечатать:
  а) все элементы массива, являющиеся двузначными числами;
  б) все элементы массива, являющиеся трехзначными числами.
  в) второй, четвертый и т.д. элементы;
  г) третий, шестой и т.д. элементы.
6) Дан массив целых чисел. Выяснить:
  а) верно ли, что сумма элементов массива есть четное число;
  б) верно ли, что сумма квадратов элементов массива есть
     пятизначное число.
7) Определить количество положительных и количество
   отрицательных элементов массива.
8) Дан массив. Найти:
  а) сумму элементов массива, значение которых не превышает 20;
  б) сумму элементов массива, больших числа a.
9) Дан массив целых чисел. Найти:
  а) сумму нечетных элементов;
  б) сумму элементов, кратных заданному числу;
  в) сумму элементов массива, кратных a или b.
  г) Определить сумму второго, четвертого, шестого и т.д. элементов
     массива.
  д) Определить частное от деления суммы положительных элементов
     массива на модуль суммы отрицательных элементов.
  е) Дан массив целых чисел. Определить количество четных
     элементов и количество элементов, оканчивающихся на цифру 5.
  ж) Определить количество элементов массива, принадлежащих
     промежутку от a до b (значения a и b вводятся с клавиатуры;
     b>a).
  з) Найти число пар ''соседних'' элементов массива, являющихся
     четными числами.
  и) Найти число пар ''соседних'' элементов массива, оканчивающихся
     нулем.


Кузнецов А. В. http://artemvk77.narod.ru/                      -9-
  к) Найти число элементов массива, которые больше своих
     ''соседей'', т.е. предшествующего и последующего.
  л) Найти среднее арифметическое элементов массива, больших
     числа 10.
  м) Найти средние арифметические положительных и отрицательных
     элементов массива.
10)    Дан массив вещественных чисел.
  а) Каждый отрицательный элемент заменить на его абсолютную
     величину.
  б) Все элементы с нечетными номерами заменить на их квадратный
     корень.
  в) Из всех положительных элементов вычесть элемент с номером k1,
     из остальных - элемент с номером k2.
  г) Все элементы с нечетными номерами увеличить на 1, с четными -
     уменьшить на 1.
  д) Из всех положительных элементов вычесть элемент с номером k1,
     из всех отрицательных - число n. Нулевые элементы оставить без
     изменения.
  е) Ко всем нулевым элементам прибавить n, из всех положительных
     элементов вычесть a, ко всем отрицательным прибавить b.
11)    Дан массив вещественных чисел.
  а) Каждый элемент, больший 10, заменить на его квадратный
     корень.
  б) Все элементы массива с четными номерами заменить на их
     абсолютную величину.
  в) Ко всем отрицательным элементам прибавить элемент с номером
     m1, к остальным - элемент с номером m2.
  г) Все элементы с четными номерами удвоить, с нечетными -
     уменьшить на 1.
  д) Ко всем отрицательным элементам прибавить элемент с номером
     a1, из всех нулевых вычесть число b. Положительные элементы
     оставить без изменения.
  е) Из всех положительных элементов вычесть a, из всех
     отрицательных вычесть b.
12)    Дан массив целых чисел.
  а) Все элементы, оканчивающиеся цифрой 4, уменьшить вдвое.
  б) Все четные элементы заменить на их квадраты, а нечетные
     удвоить.
  в) Четные элементы увеличить на a, а из элементов с четными
     номерами вычесть b.
  г) Все элементы, кратные числу 10, заменить нулем.
  д) Все нечетные элементы удвоить, а четные уменьшить вдвое.
  е) Нечетные элементы уменьшить на m, а элементы с нечетными
     номерами увеличить на n.

Кузнецов А. В. http://artemvk77.narod.ru/                     - 10 -
13)   Дан массив. Определить:
  а) а) максимальный элемент;
  б) б) минимальный элемент;
  в) в) на сколько максимальный элемент больше минимального;
  г) г) индекс максимального элемента;
  д) д) индекс минимального и индекс максимального элементов.
14)   Дан массив. Определить:
  а) количество максимальных элементов в массиве;
  б) количество минимальных элементов в массиве.
  в) изменить знак у максимального по модулю элемента массива.
     Минимальный элемент массива при этом не определять.
15)   Дан массив.
  а) Найти количество элементов, значение которых больше среднего
     арифметического минимального и максимального элементов
     массива, и напечатать их номера.
  б) Найти элемент, наиболее близкий к среднему значению всех
     элементов массива.
16)   Дан массив. Скопировать все его элементы в другой
   массив такого же размера:
  а) в том же порядке расположения элементов;
  б) в обратном порядке расположения элементов.
17)   Даны два массива одного размера. Получить третий
   массив, каждый элемент которого равен:
  а) сумме элементов с одинаковыми номерами в заданных массивах;
  б) произведению элементов с одинаковыми номерами в заданных
     массивах;
  в) максимальному из элементов с одинаковыми номерами в
     заданных массивах.
18)    Даны два массива одного размера, в которых нет нулевых
   элементов. Получить третий массив, каждый элемент которого
   равен 1, если элементы заданных массивов с тем же номером имеют
   одинаковый знак, и равен нулю в противном случае.
19)   Дан массив целых чисел.
  а) Напечатать все элементы, предшествующие первому элементу с
     заданным значением n. Если элементов, равных n, в массиве нет,
     то должны быть напечатаны все элементы.
  б) Напечатать все элементы, следующие за последним элементом,
     оканчивающимся цифрой "7". Если элементов, оканчивающихся
     цифрой "7", в массиве нет, то ни один элемент не должен быть
     напечатан.
20)   Дан массив целых чисел. Найти:
  а) номер первого нечетного элемента. Если нечетных элементов в
     массиве нет, то должно быть напечатано соответствующее
     сообщение;

Кузнецов А. В. http://artemvk77.narod.ru/                     - 11 -
  б) номер первого элемента, кратного числу 13. Если таких
     элементов в массиве нет, то должно быть напечатано
     соответствующее сообщение;
21)   Дан массив вещественных чисел. Определить, есть ли в нем
   отрицательные числа. В случае положительного ответа:
  а) определить номер первого из них и напечатать все следующие за
     ним элементы;
  б) определить номер последнего из них напечатать все элементы,
     расположенные слева от него.
22)   Найти количество различных элементов в массиве.
23)   Определить количество различных цифр в целом числе.




Кузнецов А. В. http://artemvk77.narod.ru/                    - 12 -

								
To top