Для хранения информации в оперативной памяти используются переменные величины. Переменная имеет имя, тип и значение. Имена обозначают латинскими буквами и цифрами. Впереди всегда буква! Имя может состоять из нескольких слов, тогда между ними ставят знак подчеркивания_(над клавишей минус).
Тип переменной определяет, сколько байт памяти нужно отвести для хранения данной переменной величины.
Gambas:
Примерописания: Dim a, b, c AS integer
Паскаль: www.tutorialspoint.com (Coding Ground), ideone.com
Пример описания: vara, b, c: integer
- Команда «:="» (АЯ и Паскаль) означает «присвоить значение» отличается от знака равно, который лишь сравнивает.
- Знаки *, -, +, / - знаки арифметических операций.
- Порядок действий изменяется скобками,
- Нет ни верхних, ни нижних индексов
- Все арифметические выражения пишут в строчку
Некоторые типы переменных | Возможные значения Паскаль | Объем памяти (в байтах) |
|
byte | От 0 до 255 (целые) | 1 | |
integer | -32768 до 32767 (целые) (smallint)* Pascal ABC. NET | 2 | |
Longint | -2147 483648 до 2147483647 (целые) (Integer)* Pascal ABC. NET | 4 | |
shortint | { целые -128..128 } | 1 | |
word | { целые 0..65535 } | 2 | |
real | Для хранения действительных (дробных, целых и иррациональных) чисел. Десятичные числа одинарной точности (11-12 значащих цифр, диапазон десятичного порядка -39..+38) (вещественный) | 8 | |
single | Десятичные числа одинарной точности (7-8 значащих цифр, диапазон десятичного порядка -45..+38) От -1,4 ·10-45до 3,4·1038 (вещественный) | 4 | |
double | Десятичные числа одинарной точности (15-16 значащих цифр, диапазон десятичного порядка -324..+308) {вещественная} | 8 | |
extended | Десятичные числа одинарной точности (19-20значащих цифр, диапазон десятичного порядка -4951..+4932) {вещественная } | 10 | |
boolean | Логическое значение (true или false) | 2 | |
char | символ | 1 | |
string | Строка символов в кодировке Unicode | 2 на символ | |
Название операций или функции |
|||
Форма записи Паскаль | |||
сложение | a+b | ||
вычитание | a-b | ||
умножение | a*b | ||
деление | a/b | ||
возведение в степень | Нет * Power(x, y) |
||
корень квадратный | sqrt(x) | ||
абсолютная величина | abs(x) – модуль | ||
знак числа(-1, 0, 1) | Sign(x) |
||
Переводит из радиан в градусы | RadToDeg(x) |
||
Переводит из градусов в радианы | DegToRad(x ) |
||
синус | sin(x) | ||
косинус | cos(x) | ||
тангенс | tan(x) | ||
арксинус | ArcSin (x) |
||
арккосинус | ArcCos (x) |
||
арктангенс | arctan(x) | ||
остаток от деления x на y | Mod( x, y) | ||
целое частное от деления x на y | div (x ,y) | ||
целая часть х | trunc(x) – отбрасывает дробную часть числа; round(x) – округляет до ближайшего целого (внимание с отрицательными);floor(x) - округляет дроби в сторону уменьшения; ceil(x)- округление в большую сторону; int(x) -возвращает целочисленную часть числа | ||
Дробная часть числа | frac(x) – выделяет дробную часть числа; | ||
Создание случайного числа | Random – случайное вещественное число на полуинтервале [0;1) Random(n) - случайное целое число на отрезке [0;n-1] Rand(a,b) случайное вещественное число на промежутке[a;b) iRand(a,b) случайное целое число на промежутке[a;b) |
||
Randomize |
|||
число пи | pi | ||
Функции ввода/вывода Паскаль
- Функция вывода write (writeln – переводит курсор на следующую строку ) – выводит данные на экран (аналог print)
Writeln(’a="’, a)
- Функция ввода read (readln), обычно используется вместе с write.
Примеры:
Алгоритмический язык | Паскаль | Gambas (BASIC) |
алг сумма (целa, b, c) алгa, b резc нач вводa,b c:="<"span lang="EN-US" >a+b вывод с кон |
program sum; var a, b, c: integer; begin write (‘введите а и b’); read (a, b); c:="a+b; write (‘c=’, c) end. |
dim a",b,c as integer a="inputbox(“a=”) b="inputbox(“b=”) c="a+b print “c=”; c |
- Описание массива
2 способ const n =" 12; var a: array[1..n] of real; i: integer;
{Описание динамического массива: varA: arrayofreal;
В программе:read(N);SetLength(A, N); - установка длины [0.. N-1]
SetLength(A, 0); - Освобождение памяти}
- заполнение массива A [1..N]. N– число элементов, подставляем нужное.
Заполнение вручную | Заполнение по формуле. Например: 2+ i |
Заполнить массив (псевдо)случайными* целыми числами в диапазоне от 20 до 100. | Заполнить массив (псевдо)случайными* числами в диапазоне от 20 до 100. |
for i:="1 to N do begin write('A[', i, ']='); read ( A[i] ) end; |
for i:=1" to N do begin A[i]:="2+I; write('A[', i, ']=') end; |
for i:=1 to N do begin A[i]:= 20 + random(81); write(A[i],' ') end; |
for i:=1 to N do begin A[i]:= 20 + random*81; write(A[i],' ') end; |
(вызов функции без параметров);
random (N) — случайное целое число на отрезке [0, N-1)
- решениезадач
сумма | произведение | количество | замена |
S:=0 | P:=1 | K:=0 | |
for i:=1 to N do begin If a[i] … Then S:=s+ a[i] end; |
for i:=1 to N do begin if a[i] … Then p:=p* a[i] end; |
for i:=1 to N do begin if a[i] … then k:=k+1 end; |
for i:=1 to N do begin if a[i] … then a[i]:=… end; |
… Виды условий для таблицы с именем А
Условие | Вариант записи |
Элемент таблицы неотрицательный | (A[i]>=0) |
Элемент таблицы четный | (A[i]/2"="<"span lang="EN-US" >int(A[i]/2)) |
Элемент таблицы делится на 3 (кратен 3) | (A[i]/3="int(A[i"]/3)) |
Элемент таблицы больше 4, но меньше или равен 6 | (A[i]>4) and (A[i]<=6) |
Элемент таблицы является целым числом | (A[i]="int(A[i"])) |
Номер элемента четный | (I mod 2 =0) |
- выводданных
сумма | произведение | количество | замена |
write(' S="<"span lang="ES" >',S); | write(' Р="<"span lang="ES" >',Р); | write(' К="<"span lang="ES" >', к); | writeln('Массив A:'); for i:=1 to N do write(A[i]:4); |