Главная » Просмотр файлов » Основы программирования

Основы программирования (947332), страница 63

Файл №947332 Основы программирования (Иванова Г.С. Основы программирования) 63 страницаОсновы программирования (947332) страница 632013-09-15СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 63)

Основные стандартные процедуры и функцииОбъявлениеabs(x:integer):integerabs(x:real):realarctan(x:real):realchr(i:integer):charcos(x:real):realdec(var i [; didongint])exp(x:real):realfiac(x:real):rea[^^£(^911 [; dUongint])int(x:re^J)jreal_ОписаниеВозвращает модуль (абсолютное значение)аргументаВозвращает арктангенс аргументаВозвращает i-й символ таблищ>1 символовВозвращает косинус аргументаУменьшает значение i на di единицВозвращает дробную часть аргументаУвеличивает значение i на di единиц_^озвращает yejiyjo ч^асть apr^^возвращает старший байт слова аргументаJo(w:wqrd):byteВозвращает младший байт слова аргументаВозвращает In х (натуральный)ord(x):longintВозвращает^омер значения пор^дшвого_типаpi:realВозвращает значение р|Возвращает значение, предшествующее аргументу!pred(x):<тип х>Возвращает случайное число О < г < 1Jrandom:real__ __ Jrandom(i:mteger):mteger Возвращает случайное число О < п < iИнициализирует датчик ^^^^1randomiseОкругляет аргумент до ближайшего целого числа^|round(x:real):mtegerВозвращает sin х|sin(x:real):realsqr(x:real):realВозвращают х^sqr(i:inteRer):mtegerВозвращает корень квадратный из аргументаsqrt(x: real): realВозвращает значение, ел^yjouiee за аргументомtrunc(x:real):integerВозвращает целое, полученноеотбрасыванием дробной части384ПриложениеШ .

Р у с с к а я кодовая т а б л и ц а д л я M S D O S ( с т р а н и ц а 8 6 6 )x\yiо . 1 i 2 I 3T©Ii 0 I4V16 I • ^ ^32h48пробел!0!1 I 2%45D80 1 PTIQ i R ; SТb i сd112;aВ i СIf.Е8 I 9 ; 10; 1112-^ I • _|D ! о|В$ 'Л U U |<-J&;"б""1-A••$64 \ @'i§_196!6 ! 7-71иV I W XYеf.tUVI wгДЕЖ ! 3I 1441 PС; тI УФXЦЧ: 160бдe I ж3гIm ! пI УШ IЩizЙL _}лI ~млъьымПЭ I Ю Ян I оJ iP I стУфцчЁ \ ёGеъыушощ;_Li 1ГIIIгЪпптг208О.-V192!240!.о1 —^ !H мГТ^ '=^ ни II' 176:224|jИ I Й киL j M ; N\ i ] 'i•XК1g ' hБ ' в !в?8I i JS/-LF ! G i Н: 128: Aa; (.- -41--p13 [ 1 4 I 151Ыь№эюа ! •Примечания:1. Код символа = х + у .2.

Пробел имеет код 32. Символы с кодами О и 255 называют пустыми.3. При выводе символа с кодом 8 предусмотрен звуковой сигнал.4. При выводе символа с кодом 10 происходит переход на следующую строку.5. При выводе символа с кодом 13 происходит установка курсора на начало строки.385ПрилоэюениеПЗ. Расширенные scan-кодыКомбинации клавишРасширенный scan-код1Cntl + 2^Shift +ТаЬjAlt + Q..Alt + Р (верхний ряд букв)::::::::::^::i::"T""i15I1.71 Z7^^^-^^^^^Alt + A..Alt + L (средний ряд букв)30..38i1Alt + Z..Alt + М (нижний ряд)44..50:!F1..F1059..68i!__,1!._;;; ;;;;;;7;;;7"7iНотет;iPage up73'^ 75 "^"" ^->—End_._.\zii. I'jii' ' ^""1179"80Page down81jIns82\831Del..,Shift + Fl..Shift+ F10184..93!Ctrl + Fl..Ctrl + F101j94..

1031Alt + Fl..Alt+F10Ctrl + Print screenCtrl + <rCtrl + ->Ctrl + End~[04|Л13114_...^-1Ctrl + Home_.._|_._JJAlt+l..Alt + = (верхний ряд)Ctrl + Page up]"';;115Ctrl + Page down386-'~"~""],_//" ГГ ^^irzii^< -^"'" ' ii—"1161117_1118!119!120..131•132Прилоэюение2. С т р о к о в ы е т и п ы . Добавлены новые строковые типы, измене­но значение String. В результате определены следующие типы строк:• ShortString = String Borland Pascal;• AnsiString - переменная, содержащая указатель на строку из символовAnsiChar размером до 2147483547 байт, завершающуюся нулем (#0), первыйсимвол расположен в элементе с номером 1;• WideString - переменная, содержащая указатель на строку из символовWideChar размером до 2147483547 байт, завершающуюся нулем (#0), первыйсимвол расположен в элементе с номером 1;• PChar - переменная, содержащая указатель на массив array[0..п] ofChar, которая завершается нулем (#0), первый символ расположен в элемен­те с номером 0;• String соответствует ShortString при {$Н-} и AnsiString при {$Н+}.Строки первых трех типов совместимы.

При присваивании строк любо­го типа строке PChar используют явное преобразование типа в тип PChar ви­да: PChar(<cтpoкoвaя переменная>).3. Ф а й л ы. Изменены имена нескольких стандартных процедур в свя­зи с тем, что эти имена используются как имена методов визуальных компо­нентов: Assign -> AssignFile, Close -> CloseFile.4. И н и ц и а л и з а ц и я п е р е м е н н ы х . В качестве инициализиро­ванных переменных при {$J+} используют типизированные константы, какв Borland Pascal, а при {$J-} - инициализированные переменные:f^r <имя>:<тип>=<значение>; ...5. Ф у н к ц и и.

Функция может возвращать параметр любого типа, кро­ме файла. Внутри функции определена специальная переменная Result, типкоторой совпадает с типом возвращаемого значения. Этой переменной идолжно присваиваться значение результата. Допускается использовать ста­рый вариант, при котором значение результата присваивается переменной,имя которой совпадает с именем функции.6. М о д у л и. При описании модуля можно указывать новые секции:Unit <имя>;Interface <интерфейсная секция>;Implementation <секция реализации>;Initialization <секция инициализации>;Finalization <секция завершения>end.Операции, определенные в секции инициализации, выполняются приподключении модуля, а операции, определенные в секции завершения - призавершении программы.388ПрилоэюениеП4.

Основные отличия Delphi Pascal от Borland Pascal 7.0Языком программирования для среды Delphi является Object Pascal более развитая версия Borland Pascal 7.0. Все отличия Object Pascal отбазовой версии языка разобьем на две группы: отличия средств процедурно­го программирования и отличие объектной модели.Средства процедурного программирования Delphi Pascal.1. К л а с с и ф и к а ц и я т и п о в д а н н ы х . В Delphi Pascal измени­лись диапазоны значений существовавших типов данных и появились новыетипы.

Обновленная классификация типов выглядит следующим образом.Целые:ТипShortintByteSmallintWordLongintIntegerCardinalДиапазон-128... 1270...255-32768...327670...65535-2147483648...2147483647То же0...2147483547ФорматзнаковыйбеззнаковыйзнаковыйбеззнаковыйзнаковыйзнаковыйбеззнаковыйРазмер, байт1122444Логические:ТипBooleanByteBoolWordBoolLongBoolРазмер, байт1124Примечаниеord(false)=0, ord(true)=lord(false)=0, ord(true)?tOTo жеРазмер, байтКодировкаКодировка AN^IКодировка UnicodeСимвольные:ТипAnsiChar = CharWideChar12Вещественные:ДиапазонЗначащих цифр Размер, байт ПримечаниеТип±2,9- 10"39... 1,7-10^8Не эффективен11...126Real±1,5- 10-45...3,4-10387...84Single±5.10-324...

1,7.1030815...168Double19...2010Extended ±3,4.10-4932.. J J . 10493219...20.263 .263-1Comp19...20ДенежныйCurrency ±922337203685477.5808387ПргшооюениеОбъектная модель Delphi Pascal. Основное отличие объектной моделизаключается в том, что она предполагает использование только динамичес­ких объектов-переменных. При конструировании таких объектов им необхо­димо выделять память, а при уничтожении - освобождать ее.

Эти функциивыполняют конструктор Create и деструктор Destroy класса TObject, от кото­рого наследуются все классы Delphi. Следовательно, каждый объект при кон­струировании и уничтожении должен вызывать эти методы. Если класс оп­ределяет собственные конструкторы и деструкторы, то они должны вклю­чать вызов конструкторов и деструкторов родительского класса:Constructor <гшя класса>,Create;begininherited Create;end;Destructor <имя класса>,Destroy;begininherited Destroy;end;Обращение к объектам осуществляется по имени указателя без исполь­зования операции разыменования, что, к сожалению, заставляет забывать обих динамической природе:Borland Pascal 7.0:Delphi Pascal:Type pTNum = ^TNum;TNum = Objectn: integer;constructor Init (an:integer);end;Constructor TNum.Init;beginn;=an;end;TypeTNum = classpublic n; integer;constructor Create (an:integer);end;Constructor TNum.Create;begininherited Create;n:=an;end;Var p.pTNum;BeginNew(p, Init(5));WriteLn(p\n);Dispose(p);End.Var A:TNum;BeginA:=TNum.

Create (5);WriteLn(A.n);A. Destroy;End;...389ПрилоэюениеИзменился синтаксис описания класса, в Delphi Pascal он выглядит так:Туре <имя объявляемого класса> = class (<имя родителя>)private<скрытые элементы класса>protected<защищенные элементы класса>public<общедоступные элементы класса>published<опубликованные элементы класса>automated <элементы, реализующие ОЬЕ-механизм>end;Секция protected содержит объявление полей и методов, доступных впределах модуля и методам классов потомков.

Секция published использу­ется для объявлений компонент, доступных через Инспектор объектов (см.приложение 6).Изменилось описание виртуальных методов: только самый первый вир­туальный метод в иерархии описывается virtual, все методы, перекрывающиеего, описываются с директивой override. Если для некоторого класса объяв­ляется деструктор, то он описывается с директивой override, так как деструк­тор класса TObject является виртуальным.Для описания абстрактных методов класса в объектной модели Delphiиспользуют специальную директиву abstruct, например:Туре TNumber=class(TObject)publicProcedure Print; virtual; abstruct;end;TIntNumber=class(TNumber)private i: integer;publicConstructor Createfai: integer);Procedure Print;override;end;Кроме этого в объектной модели Delphi Pascal появился целый ряд но­вых возможностей и средств:• динамические и абстрактные полиморфные методы;• свойства (простые, массивы, индексные);• средства реализации делегирования методов;• метаклассы;• перегрузка методов и т.п.Особенности их использования подробно рассмотрены в [5].390ПргтоэюениеП5.

Создание приложений Windows с использованием средыпрограммирования DelphiИнтегрированная среда программирования Delphi (рис. П5.1) предназ­начена для создания 32-разрядных приложений Windows. В отличие от про­грамм, исполняемых в MS DOS, приложения Windows используют принципсобытийного программирования, согласно которому программа представля­ет собой совокупность подпрограмм - обработчиков событий, таких, как по­лучение сигналов от клавиатуры, мыши, таймера и т.п.

Характеристики

Тип файла
PDF-файл
Размер
13,06 Mb
Тип материала
Учебное заведение
Неизвестно

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6310
Авторов
на СтудИзбе
312
Средний доход
с одного платного файла
Обучение Подробнее