- •Лабораторная работа № 3 «Алгоритм как модель деятельности: создание линейных программ на языке Pascal 7.0»
- •«Элементарные функции»
- •Задания для самостоятельного выполнения
- •Лабораторная работа № 4 «Алгоритм как модель деятельности: создание программ с ветвлениями на языке Pascal 7.0»
- •Задания для самостоятельного выполнения
- •Лабораторная работа № 5 «Алгоритм как модель деятельности: создание программ с повторами на языке Pascal 7.0»
- •Оператор цикла с параметром
- •Оператор цикла с постусловием (используется, если число повторений заранее неизвестно).
- •Задания для самостоятельного выполнения
«Элементарные функции»
-
функция
назначение
функция
назначение
ABS(X)
Модуль числа Х
LN(X)
Натуральный логарифм
SQR(X)
Квадрат числа X
SQRT(X)
Корень квадратный
SIN(X)
Синус числа Х
INT(X)
Значение целой части Х
COS(X)
Косинус числа Х
TRUNC(X)
Отбрасывание дробной части Х
ARCTAN(X)
арктангенс
ROUND(x)
Округление Х в сторону ближайшего целого
EXP(X)
Экспонента
FRAC(x)
Значение дробной части Х
Примечание. Выражение 5х+3 запишется так: exp((x+3)*ln(5)).
Типы переменных
SHORTINT – короткое целое число со знаком от -128 до 127 занимает 1 байт памяти.
INTEGER – целое число со знаком от -32768 до 32767 занимает 2 байта памяти.
LONGINT – длинное целое число со знаком от -2147483648 до 2147483647 занимает 4 байта памяти.
BYTE – короткое целое число без знака от 0 до 255 занимает 1 байт памяти.
WORD – целое число без знака от 0 до 65535 занимает 2 байта памяти.
SINDLE – вещественное число одинарной точности от 1,5*10-45 до 3,4*1038 занимает 4 байта памяти.
REAL - вещественное число от 2,9*10-39 до 1,7*1038 занимает 6 байт памяти. Может быть с фиксированной точкой и с плавающей запятой. Число не может начинаться или заканчиваться точкой, не может содержать только степень, а показатель степени не может быть дробным и в записи числа не должны использоваться пробелы.
DOUBLE - вещественное число двойной точности от 5,0*10-324 до 1,1*10308 занимает 8 байт памяти.
EXTENDED - вещественное число повышенной точности от 3,4*10-4932 до 3,4 *104932 занимает 10 байт памяти.
COMP – целое число в формате вещественного от -9,2*1018 до 9,2*1018 занимает 8 байт памяти. Этот тип является своеобразным гибридом целого и вещественного типов: с одной стороны, переменные и константы этого типа могут иметь только целые значения (свойство целых типов), с другой стороны этот тип не является, в отличие от целых типов, порядковым (свойство вещественных типов).
BOOLEAN - занимает 1 байт памяти, BYTEBOOL - занимает 1 байт памяти, WORDBOOL - занимает 2 байта памяти, LONGBOOL - занимает 2 байта памяти. Значению FALSE соответствует число 0, а значению TRUE – любое число, отличное от 0.
BOOLEAN - логический тип данных, результат которых равен TRUE (истина) или FALSE (ложь). Свои значения переменные логического типа получают в результате выполнения операций сравнения (<, <=, >, >=, =, <>) или логических операций (NOT, AND, OR, XOR).
BYTEBOOL, WORDBOOL и LONGBOOL введены для обеспечения совместимости с оболочкой Windows.
CHAR – переменные и константы этого типа могут принимать значения из множества символов ASCII кода. Это могут быть любые символы: буквы, цифры, знаки препинания и специальные символы.
STRING и PCHAR – в отличие от других стандартных типов, являются структурированными.
STRING - строка символов с максимальной длинной 255 знаков.
PCHAR – поддерживает формат представления строк, признаком конца которых служит 0 и которые называются ASCIIZ-строками. Такие строки используются в Windows.
POINTER – стандартный указательный тип. Значениями переменных и констант указательного типа являются адреса оперативной памяти, состоящие из адреса сегмента (1 слово = 2 байта) и смещения (1 слово = 2 байта). Адрес сегмента хранится в старшем слове, а смещение – в младшем слове полного адреса. Элементы указательного типа, в отличие от определяемых пользователем указательных типов, могут содержать адрес переменной любого типа.
TEXT – стандартный текстовый тип используется для описания текстовых файлов.
Составление линейных программ
В линейных алгоритмических структурах операторы выполняются последовательно друг за другом, при этом используются операторы ввода (readln), вывода (writeln) и присваивания (:=).
Таблица обозначений
Обозначение в блок-схеме |
Оператор в программе |
|
WRITELN |
|
READLN |
|
ПРИСВОЕНИЕ (:=) |
|
IF …THEN…ELSE
REPEAT… UNTIL…
WHILE … DO… |
|
FOR …:=… TO… DO |
Составим программу вычисления объема шара.
Л
Program
– служебное слово, с которого начинается
любая программа. End.
– конец программы. END;-конец
блока.
Obiom
– имя программы (произвольное).
Const
– раздел описания постоянных величин.
Var
– всегда присутствует в программе
раздел описания переменных.
Real
– вещественный тип.
Begin
– служебное слово раздела операторов.
readln
– ввод
данных с клавиатуры
writeln
– вывод результата на экран и после
переход на новую строку
USES
CRT-
оператор подключает модуль CRT. CLRSCR
– оператор очистки экрана.
Program obiom;
USES CRT;
Const pi=3.14159;
Var r, v: real;
Begin
CLRSCR;
Writeln(‘введите радиус круга ’);
Readln(r);
V:=4/3*pi*r*sqr(r );
Writeln(‘объем шара ’, v); End.
Графический способ записи алгоритмов - блок-схема. Составим блок- схему к задаче вычисления объема шара.
Составить программу «знакомство» (ввести фио, вывести сообщение на экран: «Вас зовут …»).
Листинг программы program z2; Uses CRT; Var fio:string; BEGIN CLRSCR; writeln('vvedy fio'); readln(fio); writeln('Вас зовут ’, fio); END. |
Результаты выполнения программы vvedy fio Petrov Ivan Petrovih Вас зовут Petrov Ivan Petrovih
|
Составить программу, которая меняет местами первую и последнюю цифры введенного трехзначного числа.
Пусть x – введенное трехзначное число; x1 – полученное трехзначное число; a – число сотен числа х, b – число десятков числа х; c – число единиц числа х.
Число х=а*100 + b*10 + c, тогда число x1=c*100 + b*10 + a.
Листинг программы program z3; Uses CRT; Var x,x1,a,b,c:integer; BEGIN CLRSCR; writeln('vvedy x'); readln(x); a:=x div 100; c:=x mod 10; b:= (x div 10) mod 10; x1:= c*100 + b*10 + a; writeln('x1= ’, x1); END. |
Результаты выполнения программы vvedy x 123 x1=321
|
Если в блок-схеме несколько операторов идут подряд, то их можно записать в одном прямоугольнике.