Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
pos.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.94 Mб
Скачать

7. Пример выполнения задания

Задача. Вычислить при х = 2.1; у = 0.59; z = -4.8 значения a и b, используя формулы:

; .

Вывести результаты, сопровождая их вывод именами выводимых переменных. Задание выпол­нить в виде консольного приложения. Повторить задание 1, используя функции из модуля math

Блок-схема алгоритма имеет вид:

Создадим простое консольное приложение. Для этого запустим Delphi и выполним ряд действий. Выберем команду File New Other (Файл Новый Другое), выделим пиктограмму Console Appli­cation (Консольное приложение) и щелкнем на кнопке ОК. При этом на экране появляется окно редактора кода, в котором введем следующий текст:

program Project1;

{$APPTYPE CONSOLE}

uses SysUtils;

var a,b,c,x,y,z: single;

proba:integer;

function Rus(mes: string):string;

var i: integer;

begin

for i:=1 to length(mes) do

case mes[i] of

'А'..'п' : mes[i] := Chr(Ord(mes[i]) - 64);

'р'..'я' : mes[i] := Chr(Ord(mes[i]) - 16);

end;

rus := mes;

end; { Rus }

begin { program }

writeln(Rus('Введите x, y, z'));

readln (x,y,z);

c:=sin(x*x)/cos(x*x);

a:=y*c*sqr(c)+sqrt(z*z/(y*y+x*x));

b:=ln(y+x*x)+sqr(sin(z/y));

writeln('a=',a:8:3,' b=',b:8:3);

readln;

end. { program}

Сохраним программу, выбрав последовательно команды File Save Project As… Нажав клавишу <F9>, выполните программу. При этом на экране появляется такое ок­но работающего приложения.

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

program Project1;

{$APPTYPE CONSOLE}

uses SysUtils, math;

var a,b,c,x,y,z: single;

proba:integer;

function Rus(mes: string):string;

var i: integer;

begin

for i:=1 to length(mes) do

case mes[i] of

'А'..'п' : mes[i] := Chr(Ord(mes[i]) - 64);

'р'..'я' : mes[i] := Chr(Ord(mes[i]) - 16);

end;

rus := mes;

end; { Rus }

begin { program }

writeln(Rus('Введите x, y, z'));

readln (x,y,z);

c:=tan(x*x);

a:=y*power(c,3)+sqrt(z*z/(y*y+x*x));

b:=ln(y+x*x)+sqr(sin(z/y));

writeln('a=',a:8:3,' b=',b:8:3);

readln;

end. { program}

8. Символьный тип данных

Для хранения символьной информации в Паскале предусмотрен специальный тип данных Char. Допустимы переменные, нетипизированные и типизированные константы такого типа. Данные типа Char занимают 1 байт памяти. Неименованные символьные константы записываются в программе либо в виде 'символ', либо в виде #номер. Все имеющиеся символы пронумерованы от 0 до 255, символы с 0-го по 31-й - невидимые, как правило, они не отображаются на экране, 32-й символ - это пробел.

Некоторые из невидимых символов могут оказаться полезны: символ #8 – клавиша BackSpace; символ #10 - "конец строки", при выводе он перемещает текущую позицию вывода на одну строку вниз; символ #13 -"возврат каретки" - перемещает текущую позицию вывода в начало текущей строки. Клавиша Enter генерирует два символа - #10 и #13.

Символьные данные можно вводить и выводить процедурами READ и WRITE при вводе и выводе символьные значения изображаются без апострофов. Для символьных величин определены функции:

25. Ord(c) - возвращает номер символа.

26. Pred(c) - возвращает символ с номером, меньшим на 1.

27. Succ(c) - возвращает символ с номером, большим на 1.

Эти функции определены не только для символов, но для любого порядкового типа данных. Порядковым типом называется такой тип, все допустимые значения которого можно пронумеровать от 0 до некоторого N (в математике к этому понятию близко понятие счетного множества). Из известных нам типов порядковыми являются все целочисленные типы: Byte, ShortInt, Word, Integer, LongInt. И не являются порядковыми все вещественные типы. Значение функции Ord от числового аргумента равно самому этому аргументу, Pred(x) дает значение x-1, а Succ(x) - значение x+1. Функция

28. Chr(n) - в некотором смысле обратная функции Ord: для заданного числового аргумента n она возвращает символ с соответствующим номером. Для символьных переменных (так же, как и для любых переменных порядкового типа) определены процедуры Inc и Dec. Еще одна специфически символьная функция:

29. UpCase(c) - преобразует значение аргумента, если это маленькая латинская буква, в соответствующую заглавную букву. К сожалению, функция не работает для русских букв.

Напишем простую программу, обрабатывающую символьные величины.

var c : char; n : byte;

const space =' ';

begin write('введите какой-нибудь символ '); read(c);

writeln('вы ввели символ',space,c,space,'его номер=',ord(c)); writeln('соседние с ним символы :',space,pred(c),space,

'и',space,succ(c));

writeln('upcase(',c,')=',upcase(c));

writeln;

write('теперь введите число от 33 до 255 '); read(n); writeln('символ с номером ',n,' - это ',space,chr(n),space); writeln;

readln

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]