При закрытии подписчики были переданы в рассылку "RFpro.ru: Программирование на языке Pascal" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Информационный Канал Subscribe.Ru |
Доброе время суток!
|
Тип | Размер(в байтах) | Диапазон значений |
integer | 2 | -32768...32767 |
shortint | 1 | -128...127 |
longint | 4 | -2147483648...2147483647 |
byte | 1 | 0...255 |
word | 2 | 0...65535 |
Вещественные типы
Тип | Размер(в байтах) | Диапазон значений |
real | 6 | 2.9E-39..2.7E-38 |
double | 8 | 5.0E-324..1.7E+308 |
comp | 8 | E-263+1..E+263-1 |
extended | 10 | 3.4E-4932..1.1E+4932 |
single | 4 | 2.9E-39..1.7E+38 |
Начнём с целых типов. Вы, наверное, посмотрев на некоторые числа в таблице, перехотели даже трогать паскаль.
Ведь надо выучить все эти числа, чтобы умело оперировать переменными. И тут я скажу, что очень легко вручную получить
Диапазон любой переменной целого типа. Для этого нужно знать размер переменной (в байтах), а также Может ли
она хранить отрицательные числа. Сначала, давайте разберёмся с переменными, которые хранят только положительные
числа и 0 (byte, word). Для этого возьмём калькулятор. Пуск---Выполнить---Calc. Когда появится калькулятор,
надо изменить вид на инженерный. Если не знаете, как это делается, спросите у кого-нибудь из взрослых или
внимательно изучите меню. Когда вы справились с этим заданием, надо отметить переключатель Bin. После
выполнения этого действия мы готовы к подсчёту диапазона. Берём тип Byte и смотрим его размер. В данном случае
это 1 байт. Как вы, наверное, знаете, что байт - 8 бит. Каждый бит может иметь значение 1 или 0. Так вот мы
берём и вводим 11111111 (8 единиц) - максимальное число, которое может содержать 1 байт. Отмечаем переключатель
Dec, и получаем самое большое число, которое может хранить тип Byte. Должно выйти 255.
Задание: догадаться, как посчитать диапазон целого типа со знаком, если известно, что под знак уходит
1 бит (самый старший).
Теперь рассмотрим вещественные. Если мне не изменяет память, то все, кроме Real, могут быть использованы на процах intel 8087/80287. Вы, наверное, испугались интервалов. Какие-то 2.9E-39..2.7E-38. Дело в том, что вещественный тип имеет общий вид С Е+n, где с - какое-то число (целое или дробное). E+n - 10 в степени n. Например, 3.40Е+2=3.40*10^2=340.
Существует ещё один очень интересный тип boolean. Интересен он тем, что может иметь только два значения: true и false (правда, ложь). Переменные данного типа "заводятся" преимущественно для контроля какого-нибудь процесса. Например, если изменилось какое-нибудь значение, мы можем присвоить ему значение true. После этого мы точно будем знать, что значение менялось.
Чтобы работать с переменной, надо её объявить. Объявление переменной имеет вид
var
имя : тип;
Пример.
var
w:word; {i - переменная целого типа}
i,N:integer; {i,N}
s:single; {s - вещественная переменная}
str:string[40]; {str - строковая переменная}
...
Возникает вопрос: что это за строковая переменная. Ответ: переменная, которая может хранить строку.
Её объявление имеет следующий вид
name: string[l];
где l - максимальная длина строки. Если не указывать - 256. Под переменную отводится l байт памяти.
Также, мы имеем возможность определить свой тип
type
type_name = 0..70;
var
t: type_name;
...
Есть возможность определения константы.
const
Теперь приведу таблицу возможных операций над переменными
c=5;
d=10;
...
Операция | Общий вид | Пример |
Сложение | a+b | a=3; b=1; c=a+b; после выполнения с=4 |
Вычитание | a-b | a=3;b=1; c=a-b; после выполнения с=2 |
Умножение | a*b | a=3;b=2; c=a*b; - c=6 |
Деление | а/b | a=555; b=5; c=a/b; - c=111; |
Деление целых | a div b | a=13; b=3; c=a div b; - c=4 |
Остаток от деления целых | a mod b | a=13; b=3; c=a mod b; - c=1 |
a:=5;
b:=3;
c:=a+b;
str:='First string';
Функция | Что возвращает |
abs(x) | модуль числа |
cos(alfa) | косинус угла |
sin(alfa) | синус угла |
arctan(alfa) | арктангенс |
frac(x) | дробная часть |
int(x) | целая часть |
pi | число пи pi=3.14... |
ln(x) | логарифм натуральный |
sqr(x) | квадрат |
sqrt(x) | арифметический квадратный корень |
...
name:='pascal'; {присвоить переменной name значение pascal}
write(name); {вывести значение переменной на экран}
writeln(name); {вывести значение переменной на экран и перейти на новую строку}
write(name, ' '); {вывести значение переменной на экран, после него поставить}
writeln; {прейти на новую строку}
writeln(name, ' rulez'); {вывести значение переменной на экран, а потом то, что в кавычках}
writeln('a=5, b=5'); {смотри прошлый выпуск}
writeln('a+b=', 5+5); {выводит то, что в кавычках, а потом сумму двух пятёрок}
writeln(name:3); {см. дальше}
...
У вас возник вопрос, что это за writeln(name:3);, а именно, что это за :3. Ответ прост
...
write('enter your name, please: ');
readln(name);
writeln('Hello, ',name);
...
Напишем прогу перевода температуры. Цельсий - Фаренгейт.
uses crt;
var
tem_cels, tem_far:real;
begin
clrscr;
WriteLn('Programm by v()v@#. CELbSii vs FAPEHrEIT');
write('VVEDITE TEMnEPATyRy V rRADySAX CELbSIYA: ');
ReadLn(tem_cels);
tem_far := 9 / 5 * tem_cels + 32;
WriteLn('FAPEHrEIT: ',tem_far:4:5);
readln;
end.
Написать прогу, которая вычисляет площадь треугольника (вводят длины сторон)
Написать прогу, которая находит радиус окружности, если вводят объём
Написать прогу, которая выводит число обратное данному. Ввод - трёхзначное число. Пример: ввод - 345, вывод - 543.
Написать прогу, которая вычисляет cos(cos(x)+sin(x)+cos(|x-2*x|)). Округлить до ближайшего целого. Ввод - x.
Написать прогу, которая находит максимальную высоту (относительно земли), на которую поднимается тело, брошенное со скоростью V под углом alfa с поверхности земли. Ввод - v, alfa. Константа g=10.
Все вопросы и ответы шлите на мыло v()v@#[CPM]
Автор >>>v()v@#[CPM] (это я). IСQ: 88880172
Дизайн и верстка >>>Ustas[CPM]
MedL[CPM] человек, который любит помогать другим и обожает Паскаль. IСQ:88883515
@mor[CPM] в общем программер, который, как и все остальные, хочет помочь вам в освоении Паскаля. IСQ:88884978
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||