Основы программирования (Иванова Г.С. Основы программирования), страница 7

PDF-файл Основы программирования (Иванова Г.С. Основы программирования), страница 7 Информатика (720): Книга - в нескольких семестрахОсновы программирования (Иванова Г.С. Основы программирования) - PDF, страница 7 (720) - СтудИзба2013-09-15СтудИзба

Описание файла

PDF-файл из архива "Иванова Г.С. Основы программирования", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "информатика" в общих файлах.

Просмотр PDF-файла онлайн

Текст 7 страницы из PDF

2^^-!8Примечание. Следует иметь в виду, что:• работа со всеми вещественными типами, кроме Real, требует установки особого ре­жима компиляции (указания директивы {$N+} или соответствующей опции компилятора);• для типа Real используется самая медленная арифметика.Структурные типы данных будут рассмотрены в соответствующих раз­делах.Инициализированные переменные. В Borland Pascal имеется возмож­ность объявления переменных с заданными начальными значениями.

Такиепеременные называют инициализированными и объявляют в специальнойконструкции const (рис. 2.7).Примечание, С точки зрения идеологии языка объявление инициализированных пере­менных в конструкции const является не корректным. В последующих версиях языка эта не­корректность была исправлена.Инициализированные переменные в программе можно изменять так же,как и обычные, например:ИдентификаторпеременнойЬСКЗЧ1ЯРис. 2.7. Синтаксическая диафамма конструкции<Объявление инициализированных переменных>36Литерал2. Простейшие конструкции языкаConst a:real=5, б;...а:=(П'])/к;.,.Наложенные переменные. Иногда возникает необходимость объявле­ния переменных, размещенных по конкретным физическим адресам памятиили в том же месте, что и другие переменные программы. Наложение пере­менных выполняют также с использованием конструкции var, но после типауказывают зарезервированное слово absolute. На рис.

2.8 представлена пол­ная синтаксическая диаграмма данной конструкции, из которой следует, чтовозможны два варианта наложения переменной.1. Наполсение по абсолютному адресу. В этом случае за словом absoluteследует пара чисел типа word, разделенных двоеточием. Первое число трак­туется как адрес сег{иента, а второе как смещение (см. параграф 7.1). Такоеобъявление соответствует физическому связыванию переменной и областипамяти по указанному физическому адресу.Например:Var А: word absolute $0000:$OOFF;L:array[L.2] of char absolute 128:0;...Данный вариант применяют, например, для обращения к таблицам опе­рационной системы.2.

Наложение на ранее определенную переменную. В этом случае за сло­вом absolute размещают идентификатор ранее определенной переменной..При этом переменной, описанной с absolute, присваивается адрес перемен­ной, идентификатор которой стоит после него. Таким образом, происходитсовмещение в памяти данных с разными именами и, возможно, типами.

На­пример:Var c:byte;а:real absolute с;...Вследствие наложения любое изменение одной переменной отражаетсяна значении другой. При несовпадении размеров областей внутреннего предхНУ Т I переменной | \J_y\\^AbsoIuteVrH АбсолютныйадресгОИдентификаторРис. 2.8. Полная синтаксическая диаграмма конструкции <Объявлениепеременной>37Часть 1. Основы алгоритмизации и процедурное программированставления переменных, связанных по absolute, как в примере выше, коррект­ность полученных результатов не контролируется. Пример использованиятакого варианта наложения рассмотрен в параграфе 5.5.2.4* ВыраженияВсе вычисления и другие преобразования данных в программе записы­ваются в виде выражений.

Обычно выражение включает несколько опера­ций, которые выполняются в порядке их приоритетности. Различают:• арифметические операции: + (сложение), - (вычитание), * (умноже­ние), / (деление вещественное), div (деление целочисленное), mod (остатокцелочисленного деления) - эти операции применяют к вещественным и це­лым числам, результат - также число;• операции отношения: > (больше), < (меньше), = (равно),о (не равно),>= (не меньше), <= (не больше) - эти операции применяют к числам, симво­лам, символьным строкам и некоторым другим типам данных, результат значение логического типа;• логические операции: and (и), or (или), хог (исключающее или), not(не) - эти операции выполняют с логическими переменными и константами,результат - значение логического типа;• поразрядные операции: and (и), or (или), хог (исключающее или), not(не), shr (сдвиг вправо), shl (сдвиг влево) - эти операции выполняют с целы­ми числами, результат - целое число;• строковая операция: + (сцепление строк) - выполняется над символа­ми и строками, результат - строка (см.

параграф 4.5);• операции над множествами: + (объединение), - (дополнение), * (пе­ресечение), результат - множество; in (определение принадлежности эле­мента множеству), результат ~ значение логического типа (см. параграф 4.7);• операция над указателями: @ (определение адреса программногообъекта), результат - адрес (см. параграф 7.1).В табл. 2.3 приведены приоритеты,Т а б л и ц а 2.3 присвоенные этим операциям.Для изменения порядка выполненияОперацииПриоритетопераций в выражении используют круг­лые скобки. В выражениях также допус­1@, notкается использование стандартных (см.2*, /, div, mod,приложение 1) и определенных програм­мистомфункций (см.

главу 5). Им при­and, shr, shlсваивается высший приоритет.+, -, or, xor3 ,Арифметические операции. За­письвыражений, содержащих арифме­4>, <, o, =, <=,тические операции, выполняется «в>=, inстроку», порядок выполнения операций382. Простейшие конструкции языкаопределяется скобками. Особенно внимательно следует программироватьвыражения, включающие операции различных приоритетов. Например:1) запись а+Ь/с предполагает, что вначале выполняется операция деле­ния, а затем сложения;2) запись (a+b)/c*d предполагает, что сумма а+Ь делится на с, а затем ум­ножается (!) на d.При программировании арифметических выражений также следует учи­тывать правила выполнения операций, перечисленные ниже.1. Операции «целочисленное деление» и «определение остатка от деле­ния» применимы только к операндам целых типов, например: 6 div 4 =1, а6 mod 4 = 2.

Если в операции участвуют переменные, то они должны бытьобъявлены как целые, например:Var /, n:integer;...п mod 2;...Для получения при делении целых значений результата с точностью додробной части необходимо использовать операцию вещественного деления:6/4=1.5.2. При выполнении арифметических операций над числами различныхтипов выполняется неявное преобразование типов:а) если один операнд целого типа, а другой - вещественного, то пере­менная целого типа преобразуется к вещественному типу; результат опера­ции - значение вещественного типа;б) если в качестве операндов использованы вещественные или целые пе­ременные различных типов, то их значения преобразуются к типу с наиболь­шей разрядной сеткой; результат операции того же типа.

Так, если в выраже­нии есть переменные double, extended и real, то значения будут преобразова­ны в тип extended и того же типа будет полученный результат.Операции отношения. Операции отношения определены для вещест­венных и целых чисел, логических значений, кодов символов, строк и мно­жеств. Результат этих операций ~ значение логического типа, true, если отно­шение истинно, и false - в противном случае.Следует помнить, что из-за ограниченной разрядной сетки веществен­ные числа представляются в памяти не точно, и, соответственно, проверкаравенства или неравенства вещественных чисел долэюна выполняться с не­которым допуском^ например:(х-у)>1е'10(Х'у)<1е'10{вместо хОу}(вместо х=у}Если такой допуск не указан, то он определяется автоматически, исходяиз количества значащих цифр в представлении числа (см. табл.

2.2), и может39Часть I. Основы алгоритмизации и процедурное программированиеоказаться слишком строгим для задачи с неточными данными или методамирешения (более подробно см. параграф 2.7).Логические операции. Логические операции выполняют над значения­ми типа boolean. Если в логических операциях в качестве операндов исполь­зуют результаты операций отношения, которые имеют более низкий приори­тет, то необходимы скобки. Например, логическое выражение, которое долж­но быть истинно, если значение х попадает в интервал [а, Ь], должно быть за­писано следующим образом:(х> =а) and (х< =Ь).Поразрядные логические операции и операции сдвигов. Поразряд­ные логические операции и операции сдвигов выполняются над целыми чис­лами.

Полученный результат- число того же типа. Второй операнд операцийсдвига определяет количество двоичных разрядов, на которое необходимосдвинуть первый операнд:5 shl 4 - число 5 в своем внутреннем двоичном представлении сдвигает­ся влево на 4 двоичных разряда, что соответствует умножению числа на 2^ == 16. Следовательно, результат данного выражения - число 80.Остальные типы операций рассмотрены в соответствующих разделах.2.5. Оператор присваиванияС помощью оператора присваивания в программе записываются дейст­вия, связанные с изменением значений переменных (рис.

2.9). При выполне­нии этого оператора вычисляется выражение, приведенное в правой части, иего результат заносится в переменную, имя которой указано слева. Если опе­ратор присваивания записывается в последовательности операторов, то по­сле него ставится точка с запятой.Например:а) Var a,b,c:real;Begin ...c:=(a*a'Sin(b)J/(a+25J); ...б) Var v: boolean; a: integer; b:real;Begin a:=8;b:--]J;v: =(a>5)and(b> =8); {v получит значение false}...ИдентификаторпеременнойВыражениеРис. 2.9. Синтаксическая диаграмма конструкции<Оператор присваивания>402. Простейшие конструкции языкаДля корректного выполнения операции присваивания результат выраже­ния и переменная, записанная в правой части оператора присваивания,должны иметь одинаковые или совместимые типы.Совместимыми считаются:• все целые типы;• все вещественные типы;• отрезок некоторого базового типа и базовый тип;• два отрезка одного базового типа;• символ и строка.При несовпадении типов правой и левой частей оператора присваиваниядля совместимых типов происходит неявное преобразование результата вы­ражения к типу переменной, указанной в правой части.

Например:VarL:longint; {переменная типа longint}Е,х: extended; {переменные типа extended}Linteger; {переменная типа integer}R:real; {переменная типа real}Begin...R:=I*E/(x-^L);... {результат выражения, записанного в правойчасти оператора присваивания, будет иметь тип extended,однако, так как переменная R типа real, то результат будетпреобразован в этот тип}End,Если типы правой и левой частей оператора присваивания не совмести­мы, то необходимо использовать явное преобразование типов.Явное преобразование обычно выполняют посредством использованияспециальных функций:Тгипс(х) - преобразует значение вещественного типа в значение целоготипа, отбрасывая дробную часть;Round(x) - преобразует значение вещественного типа в значение целоготипа, округляя его до ближайшего целого;Ord(x) - преобразует значение порядкового типа в его номер;Cltr(x) - преобразует номер символа по таблице ASCII в сам символ.Например:а)Varn,nl:integer;xn,xk,h:real;Beginxn:=I;xk:=5.7; h:=OJ;n:'=Round((xk'Xn)/h);nl:=Trunc((xk'Xn)/h);{n получит значение 16}...

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