Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Основные команды и горячие клавиши




Ниже приведены основные команды среды раработчика Турбо Паскаль и соответствующие им горячие клавиши. Более полный перечень горячих клавиш вы можете найти в приложении.

  • Ctrl+F9 - запуск программы
  • Alt+F5 - просмотр пользовательского экрана
  • F2 - сохранение программы
  • F3 - открытие сохраненной программы
  • Alt+F3 - закрытие активного окна
  • Alt+X - выход из Турбо Паскаль
  • F1 - контекстная помощь
  • Ctrl+F1 - справка об операторе, на котором установлен курсор
  • Alt+Backspace - отмена последнео изменения
  • Ctrl+Y - удаление строки
  • Shift+стрелки - выделение блока текста
  • Ctrl+Insert - копирование выделенного блока в буфер
  • Shift+Insert - вставка из буфера

12. Любая программа, написанная на любом языке программирования, по большому счету предназначена для обработки данных. В качестве данных могут выступать числа, тексты, графика, звук и др. Одни данные являются исходными, другие – результатом, который получается путем обработки исходных данных программой.

Данные хранятся в памяти компьютера. Программа обращается к ним с помощью имен переменных, связанных с участками памяти, где хранятся данные.

Переменные описываются до основного кода программы. Для них указываются ее имя и тип хранимых данных.

В языке программирования Паскаль достаточно много типов данных. Кроме того, сам пользователь может определять свои типы данных.

Тип переменной определяется тем, с какими данными она связана.

Переменные типа integer могут быть связаны только с целыми значениями обычно в диапазоне от -32768 до 32767. В Pascal есть другие целочисленные типы.

Переменные типа real хранят вещественные (дробные) числа.

Переменная булевского (логического) типа может принимать только два значения - true (1, правда) или false (0, ложь).

Символьный тип (char) может принимать значения из определенной упорядоченной последовательности символов.

Интервальный тип определяется пользователем и формируется только из порядковых типов. Представляет собой подмножество значений в конкретном диапазоне.

Можно создать собственный тип данных простым перечислением значений, которые может принимать переменная данного типа. Это так называемый перечисляемый тип данных.

Все вышеописанное – это простые типы данных. Но бывают и более сложные, структурированные, которые базируются на простых типах.

Массив – это структура, занимающая в памяти единую область и состоящая из фиксированного числа компонентов одного типа.

Строки представляет собой последовательность символов. Причем количество этих символов не может быть больше 255 включительно. Такое ограничение характерная черта Pascal.

Запись – это структура, состоящая из фиксированного числа компонент, называемых полями. В разных полях данные могут иметь разный тип.

Множества представляют собой совокупность любого числа элементов, но одного и того же перечисляемого типа.

Файлы для Pascal представляют собой последовательности однотипных данных, которые хранятся на устройствах внешней памяти (кстати, жесткий диск – это тоже внешняя память).

Понятие такого типа данных как указатель связано с динамическим хранением данных в памяти компьютера. Часто использование динамических типов данных является более эффективным в программирование, чем статических.

13. Арифметические выражения (АВ) строятся из операндов, которыми могут быть константы, переменные и стандартные функции. В АВ также входят арифметические операции и круглые скобки. В языке Паскаль определено 6 арифметических операций, перечислим их в соответствии с приоритетом, то есть, старшинством (табл. 3.1). Операции с одинаковым приоритетом равноправны между собой и выполняются слева направо, как и в математике.

 

Табл. 3.1. Арифметические операции языка Паскаль

Приоритет Знак операции Описание операции
  * умножение
/ деление
div деление 2 целых значений с отбрасыванием остатка
mod взятие остатка от деления 2 целых значений
  + сложение
- вычитание

 

Операции div и mod определены только для целочисленных операндов. Приведем пример их использования:

var y,c,n:integer;

...

y:=2009;

c:=y div 100;

n:=y mod 100;

Здесь переменная c получит значение 20, а n -- значение 9.

Примеры арифметических выражений мы приведем после рассмотрения стандартных функций языка Паскаль.

Стандартные функции служат для выполнения элементарных математических расчетов, часто требуемых при написании программ. Разработчики Паскаля стремились сделать его программное ядро максимально компактным, поэтому в него не вошел ряд функций, обычно имеющихся в других языках, таких, как вычисление максимума и минимума, возведение числа в произвольную степень и др. Физически коды стандартных функций хранятся в стандартной библиотеке Паскаля -- файле с именемturbo.tpl. Все функции оформляются одинаково: после имени функции следует ее аргумент, заключенный в круглые скобки. Если аргументов несколько, они разделяются запятыми. Информация об основных стандартных функциях представлена в табл. 3.2.

 

Табл. 3.2. Стандартные функции языка Паскаль

Математическая запись Запись на Паскале Пояснение Тип аргумента и результата
|x| abs(x) Модуль аргумента x Integer (I) или Real (R)
x2 sqr(x) Квадрат аргумента x аргумент - I или R, результат -r
sin x cos x arctg x sin(x) cos(x) arctan(x) Остальные тригонометрические функции выражаются через эти аргумент - I или R, результат -R
ex ln x exp(x) ln(x) Экспонента и натуральный логарифм аргумент - I или R, результат -R
sqrt(x) Квадратный корень от аргумента x аргумент - I или R, результат -R
p pi Функция без аргументов, вернет число p R
  trunc(x) Функция отбрасывает дробную часть аргумента, аргумент не округляется аргумент R, результат I
  frac(x) Функция выделяет дробную часть своего аргумента R
  round(x) Округление вещественного числа до ближайшего целого аргумент R, результат I

 

В табл. 3.2 x обозначает любую подходящую по типу переменную, либо результат вычисления выражения соответствующего типа, либо соответствующий по типу результат, вычисленный другой стандартной функцией.

Приведем примеры арифметических выражений.

1. Возвести величину x в пятую степень. Выражение может быть записано как x*x*x*x*x или sqr(x)*sqr(x)*x или sqr(sqr(x))*x, последнее показывает, что результаты одних функций могут быть аргументами других -- это называют вложением функций. Разумеется, тип результата, возвращаемый вложенной функцией, должен быть подходящим для аргумента внешней функции.

2. Возвести величину a в произвольную степень x. Так как в Паскале нет функции возведения в произвольную степень, воспользуемся формулой ax=ex*ln a:

a:=2.5; x:=0.25;

ax:=exp(x*ln(a));

Обратите внимание, что все круглые скобки в выражении должны быть парными. Другой пример применения этого способа: = exp(1/3*ln(x)).

3. Вычислить sin2x. Запись на Паскале: sqr(sin(x)). Сравните с выражением sin x2, которое записывается как sin(sqr(x)).

4. Вычислить k=tg(t). Т. к. функции тангенса в Паскале нет, распишем тангенс в виде k:=sin(t)/cos(t);.

5. При необходимости изменить обычное старшинство операций в записи выражения используются дополнительные круглые скобки. Например, правильная запись выражения выглядит как y:=(a+b)/2;. Запись y:=a+b/2; неверна, т. к. это означает .

6. В записи выражений нельзя пропускать знак *, как часто делается в математике: b2-4ac записывается как sqr(b)-4*a*c. Нельзя писать sin*x или sin x, после имени функции может следовать только ее аргумент в круглых скобках.

Тип выражения определяется старшим из типов входящих в него операндов (т. е., стандартных функций, переменных, констант). Старшинство типов можно определить по табл. 2.1, напомню, что в первой строке таблицы находится самый младший тип.

Например, для переменных

var i,j:integer; f:real;

выражение i+4*j имеет целый тип, и его результат можно записать в целую переменную. Выражение f+i*0.5 дает вещественный, результат, который должен быть записан в вещественную переменную.

Операция деления / в Паскале всегда дает вещественное число. Для деления целых чисел с целым результатом (остаток отбрасывается) используйте div, для взятия остатка от деления двух целых -- mod.

14. Программа на языке Паскаль состоит из заголовка, разделов описаний и раздела операторов. Заголовок программы содержит имя программы, например:

Program PRIM;

Описания могут включать в себя:

  • раздел подключаемых библиотек (модулей);
  • раздел описания меток;
  • раздел описания констант;
  • раздел описания типов;
  • раздел описания переменных;
  • раздел описания процедур и функций.

Раздел описания модулей определяется служебным словом USES и содержит имена подключаемых модулей (библиотек) как входящих в состав системы Turbo Pascal, так и написанных пользователем. Раздел описания модулей должен быть первым среди разделов описаний. Имена модулей отделяются друг от друга запятыми:

uses CRT, Graph;

Любой оператор в программе может быть помечен меткой. Имя метки задается по правилам образования идентификаторов Турбо Паскаль. В качестве метки также могут использоваться произвольные целые числа без знака, содержащие не более четырех цифр. Метка ставится перед оператором и отделяется от него двоеточием. Все метки, используемые в программе, должны быть перечислены в разделе описания меток, например:

label 3, 471, 29, Quit;

Описание констант позволяет использовать имена как синонимы констант, их необходимо определить в разделе описания констант:

const K= 1024; MAX= 16384;

В разделе описания переменных необходимо указать все переменные, используемые в программе, и определить их тип:

var P,Q,R: Integer;

A,B: Char;

F1,F2: Boolean;

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

Раздел операторов представляет собой составной оператор, который содержит между служебными словами

begin.......end

последовательность операторов. Операторы отделяются друг от друга символом;. Текст программы заканчивается символом точка.

Кроме описаний и операторов Паскаль - программа может содержать комментарии, которые представляют собой произвольную последовательность символов, расположенную между открывающей скобкой комментариев { и закрывающей скобкой комментариев }.

Пример 1

program Primer; {вычисление суммы двух чисел}

var

x,y,s: integer;

begin

WriteLn('Введите через пробел два числа ');

ReadLn(x,y);

s:= x + y;

WriteLn('Сумма чисел равна ',s);

end.

Данная программа запрашивает с клавиатуры два числа, находит их сумму и выводит ответ. Теперь сделаем так, чтобы программа сначала очищала экран, выполняла свои действия, а в конце работы позволяла пользователю посмотреть результат, ожидая его нажатия клавиши.

Пример 2

program Primer; {вычисление суммы двух чисел}

uses Crt; {подключение модуля, необходимого для процедур

очистки экрана и задержки}

var

x,y,s: integer;

begin

ClrScr; {очистка экрана}

WriteLn('Введите через пробел два числа ');

ReadLn(x,y);

s:= x + y;

WriteLn('Сумма чисел равна ',s);

ReadKey; {ожидание нажатия клавиши}

end.

 

 

Подробности..

Текст Паскаль - программы может содержать ключи компиляции, которые позволяют управлять режимом компиляции. Синтаксически ключи компиляции записываются как комментарии. Ключ компиляции содержит символ $ и букву-ключ с последующим знаком + (включить режим) или - (выключить режим). Например:

{$E+} - эмулировать математический сопроцессор;
{$F+} - формировать дальний тип вызова процедур и функций;
{$N+} - использовать математический сопроцессор;
{$R+} - проверять выход за границы диапазонов.

Некоторые ключи компиляции могут содержать параметр, например:

{$I имя файла} - включить в текст компилируемой программы названный файл.

15. Ввод данных с клавиатуры

Ввод данных в языке программирования Паскаль обеспечивается процедурамиread() и readln(). Ввод данных осуществляется либо с клавиатуры, либо из файла. Здесь рассматривается только ввод с клавиатуры.

Когда данные вводятся, то они помещаются в ячейки памяти, доступ к которым обеспечивается с помощью механизма переменных. Поэтому, когда в программе на Pascal используется процедура read() (или readln()), то в качестве фактического параметра (аргумента) ей передается имя переменной, которая будет связана с вводимыми данными. Потом эти данные можно будет использовать в программе или просто вывести на экран.

В процедуры ввода можно передавать не один фактический параметр, а множество.

При вводе данных их разделяют пробелом, табуляцией или переходом на новую строку (Enter). Данные символьного типа не разделяются или разделяются переходом на новую строку.

Существуют особенности ввода данных с помощью операторов read() и readln(). Если используются подряд несколько операторов read(), то вводимые данные можно разделять всеми допустимыми способами. При использовании нескольких вызововreadln() каждый последующий срабатывает только после нажатия Enter. Программа ниже иллюстрирует это. Комментарии поясняют последовательность возможных действий при вводе данных.

var

a,b,c,d: integer;

begin

read(a); // a -> <space> or <tab> or <enter> -> b

read(b);

writeln(a,' ',b);

 

readln(c); // c -> only <enter> -> d

readln(d);

writeln(c,' ',d);

 

read(a,b); // a -> <space> or <tab> or <enter> -> b

writeln(a,' ',b);

 

readln(c,d); // c -> <space> or <tab> or <enter> -> d

writeln(c,' ',d);

end.

16. Вывод данных на экран. Форматированный вывод

Вывод данных на экран и в файл в языке программирования Pascal осуществляется с помощью процедур write() и writeln(). Здесь будет рассмотрен вывод только на экран.

Допустим, нам требуется отобразить на экране пару фраз. Если мы хотим, чтобы каждая из них начиналась с новой строки, то надо использовать writeln(), если нет – то write().

Write() чаще используется, когда надо вывести для пользователя сообщение на экран, после чего получить данные, не переводя курсора на новую строку. Например, выводим на экран "Введи число: " и не переводим курсор на новую строку, а ждем ввода.

Еще один пример. В памяти компьютера хранятся данные. Из программы мы обращаемся к ним с помощью переменных num, fl и st. Вывести их значения на экран можно по-разному.

Во втором случае мы видим, что процедуры вывода (как write() так writeln()) позволяют конструировать выводимую информацию из различных компонент (строк-констант и переменных).

В третьем случае был осуществлен так называемый форматированный вывод. При этом для выводимого значения указывается ширина поля вывода (количество знакомест). Если мы выводим вещественное (дробное) число, то вторым числом через двоеточие указывается количество знаков после запятой. Если для вещественных чисел не осуществлять форматирование, то они отобразятся так, как определено для данного компьютера. Если указать только число знакомест без фиксирования дробной части, то вывод будет в экспоненциальной форме.

17. Константа — это фиксированное значение, которое не может быть изменено программой. Константа может относиться к любому базовому типу. Способ представления константы определяется ее типом. Константы также называются литералами.

Символьные константы заключаются в одинарные кавычки. Например, 'а' и '%' — это символьные константы. В языке С определены многобайтовые (состоящие из одного или более байт) и широкие (обычно длиной 16 бит) символы. Они используются для представления символов языков, имеющих в своем алфавите много букв. Многобайтовый символ записывается в одинарных кавычках, например, 'ху', а широкий — с предшествующим символом L, например:

wchar_t wc;wc = L'A';

Здесь переменной wc присвоено значение константы А, рассматриваемой как широкий символ. Тип широкого символа wchar_tопределен в заголовочном файле <stddef.h>, этот тип не является встроенным.

Целые константы определяются как числа без дробной части. Например, 10 и -100 — это целые константы. Константы в плавающем формате записываются как числа с десятичной точкой, например, 11.123. Допускается также экспоненциальное представление чисел (в виде мантиссы и порядка): 111.23е— 1.

По умолчанию компилятор приписывает константе тип наименьшего размера, в ячейку которого может уместиться константа. Таким образом, если целые числа обычно являются 16-разрядными, то константа 10 по умолчанию имеет тип int, a 103000 — тип long int. Число 10 может поместиться в типе char, однако компилятор не нарушит границы типов и поместит ее в int. Но это правило имеет исключение: всем константам в плавающем формате, даже самым маленьким, приписывается тип double (если, конечно, они сюда помещаются).

Определение типов констант по умолчанию является вполне удовлетворительным при разработке большинства программ. Однако, используя суффикс, можно явно указать тип числовой константы. Если после числа в плавающем формате стоит суффикс F, то считается, что константа имеет тип float, а если L, то long double. Для целых типов суффикс U означает unsigned, a L — long. Тип суффикса не зависит от регистра, например, как F, так и f определяют константы типа float. Приведем несколько примеров:

Тип данных Примеры констант
int       -243
long int 35000L -34L    
unsigned int 10000U 987u 40000U  
float 123.23F 4.34e-4f    
double 123.23 1.0 -0.98765432    
long double 1001.2L      

Стандарт С99 определяет также целые константы типа long long, их суффикс — LL или ll.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных