nsutextbook (1037554), страница 6

Файл №1037554 nsutextbook (Методические указания по выполнению лабораторной работы №1) 6 страницаnsutextbook (1037554) страница 62017-12-25СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Арифметические операторыObjectScript использует 7 бинарных арифметических операторов. Первые два являются также унарными операторами. В табл. 2 приведены основные арифметические операции.Таблица 2Арифметические операцииОператорОперация+Сложение. Если используется перед выражением, то это унарный оператор, который усиливает числовую интерпретацию выражения. Например:set x = 4 + 2 ( в результате x=6)set z = "546-FRJ"set y = +z (в результате y=546)Вычитание. Если используется перед выражением, то трактуется какунарный минус, т.е. меняет знак выражения и усиливает числовую интерпретацию выражения. Например:set x = 4 - 2 ( x=2)set z = "-10 degrees"set y = -z ( y=10)*Умножение.

Например: set x = 4 * 2 ( x=8)/Деление. Например: set x = 5 / 2 ( x=2.5)**Возведение в степень: set x = 5 ** 2 ( x=25)22\#Целочисленное деление. Например: set x = 5 \ 2 ( x=2)Остаток от деления: set x = 5 # 2 ( x=1)Например:SAMPLES>set x = 4 + 2SAMPLES>write x6Операторы в выражении выполняются строго слева направо, нет приоритетов операций, об этом нужно помнить, чтобы избежать ошибок. Для изменения порядка следования операций можно использовать скобки. Например, сравните 2 выражения:Set sum=sum+(num#10)+(num\10) и Set sum=sum+num#10+num\10.Вы получите разный результат.3.2.6. Оператор DoВ ObjectScript все подпрограммы как системные, так и пользовательские, запускаются с помощью команды Do.

Формы использования команды:Вызов программы P1: Do ^P1, где P1 – имя файла, где располагается программа.Вызов подпрограммы P2 из программы P1: Do P2^P1, где ^ - означает вызов глобальной программы, т.е. программы, которая располагается в другом файле.Вызов глобальной программы без параметров: Do ^sum.Вызов глобальной программы с параметрами a и b: Do ^sum(a, b).Вызов подпрограммы внутри текущей программы Do sum.Для демонстрации, рассмотрим системную подпрограмму, которая вычисляет квадратный корень числа – %SQROOT. Можно запустить ее с помощью команды Do, поставив перед ней знак ^ ( ^ – циркумфлекс). Заметим, что подпрограммы, перед которымистоит знак %, являются системными. В процессе выполнения программа запрашиваетчисло, из которого нужно извлечь квадратный корень.

Например:SAMPLES>Do ^%SQROOTSquare root of: 100 is: 10Square root of:К тому же, можно запустить процедуру внутри подпрограммы, ссылаясь на меткустроки (называемую также тегом), где процедура начинается в подпрограмме. Метка располагается непосредственно перед циркумфлексом (^). Например:Set %X = 523Do INT^%SQROOTWrite %YВ данном примере задается значение системной переменной %X, которое используется процедурой INT программы %SQROOT. Процедура INT вычисляет квадратный корень из числа 523 и сохраняет его в системной переменной %Y.3.2.7. Команда KillКоманду Kill можно использовать для удаления переменной, а безаргументнаяформа может использоваться для удаления всех переменных памяти.

Синтаксис:Kill <переменные>Команды Kill и безаргументная форма Write могут быть полезны при отладке программы. Например:SAMPLES>set a = 1, b = 2, c = 3, d = 4, e = 5SAMPLES>writea=123b=2c=3d=4e=5SAMPLES>kill cSAMPLES>writea=1b=2d=4e=53.2.8. Команда QuitЭта команда используется для завершения выполнения подпрограммы. Ее можноразмещать в нескольких местах подпрограммы. Если Quit не имеет аргументов, оставляйте всегда 2 пробела после нее.Замечание по поводу ошибок в подпрограммах.

Caché Studio будет выявлять синтаксические ошибки, которые делаются при вводе оператора. Но другие ошибки, такиекак undefined variable во время выполнения будут завершать выполнение программы. Выувидите сообщение об ошибке вместе с номером строки, содержащей ошибку в окнеCaché Terminal. К тому же, подсказка:SAMPLES>будет изменена на подсказку:SAMPLES 2d0>.Введите Q (аббревиатура команды Quit) для того, чтобы вернуть подсказку в нормальное состояние. Например вызов программы ^badroutine приводит к ошибке <UNDEFINED> :SAMPLES>do ^badroutine<UNDEFINED>start+3^badroutineВведите команду Quit, чтобы вернуть подсказку в нормальное состояние:SAMPLES 2d0>QuitSAMPLES>3.2.9. Комментарии// – текст после // и до конца строки рассматривается как комментарий.; – текст после ; и до конца строки рассматривается как комментарий/**/ – многострочный комментарий3.2.10. Конструкция IfСинтаксис команды:if condition {code} elseif condition {code} else {code}Где condition - это условие вида:condition = <выр1>[,<выр2>,...,<выр3>]Чтобы блок программы выполнился, все условия в списке должны быть логическиистинными.code это блок кода, т.е.

несколько строк кода, заключенных в фигурные скобки.Пример 1:Set x=0,y=-1,a=0if x<1,y<1 Set a=1write a24Пример 2:rootread "Введите пароль", parolif ( parol="salut"){ write !, "Приветствуем Вас!"}else{ write !,"Пароль не верен",! }quit3.2.11. Операции сравнения и логические операцииОперации сравнения := (равно), > (больше) , < (меньше), '= ( не равно), '> ( не больше), '< (не меньше).Логические операции:& , && – логическое И ;!, || – логическое ИЛИ ;' – отрицание.Отличие & от && и ! от || заключается в том, что операторы && и || прекращают выполнение операции, если вычисление левого операнда уже дает окончательный результат.Примеры истинных логических выражений:if (2 = 2) && (3 = 3) { write "оба выражения истинны" }if (2 = 2) || (3 = 4) { write "только одно истинно" }if '(2 = 3) { write "не равны" }3.2.12.

Постусловные конструкцииСинтаксис:<команда> : <условие>Команда выполняется, если условие истинно. Почти все команды Caché поддерживают постусловный синтаксис, кроме команд if else/elseif, For, While, Do/While.Например:1. Quit: name=” ” , что эквивалентно If name=” ” quit2. Write: count<5 “число меньше 5”,!3. Write: count>5 “число больше 5”,!3.2.13. Функции $Case и $SelectФункция $Case вычисляет значение первого аргумента и возвращает результат, который соответствует значению выражения в списке аргументов.

Последний аргумент можетбыть значением по умолчанию. Синтаксис функции $Case:$Case(<перем>,<знач1>:<выр1>[,<знач2>:<выр2>...][,:<знач по умолч>]))$Case может возвращать литерал, имя процедуры или подпрограммы, например:READ "Введите число от 1 до 3: ", xSET multi = $CASE(x, 1:"единица", 2:"двойка", 3:"тройка", :" ошибка ввода")write multido $case( surv, 1:celebrate^survivor() , :complain^survivor() )Yippee! I won! // результат выполнения подпрограммы celebrate^survivor()Функция $Select очень напоминает функцию $Case и имеет следующий формат:25$SELECT(<выражение1>:<значение1>,<выражение2>:<значение2>,...)$S(<выражение1>:<значение1>,<выражение2>:<значение2>,...)Логические выражения отделяются от значений двоеточиями. Функция $SELECTпросматривает выражения слева направо и возвращает значение соответствующее первому истинному выражению.

Например:StartREAD !,"Задайте номер уровня: ", aQUIT:a=""SET x=$SELECT(a=1:"Level1",a=2:"Level2",a=3:"Level3")GOTO @x3.2.14. Конструкция ForКонструкция For используется для создания циклов. Общая форма команды For:For <переменная>=<параметр> {код}Где переменная – это счетчик цикла. Параметр может иметь несколько форм использования:• список выражений, разделитель списка – запятая.• <начальное значение>:<инкремент>• <начальное значение>:<инкремент>:<конечное значение>Все параметры цикла необязательны.

Цикл For имеет две формы использования безаргументов и с аргументами. Безаргументная форма реализует бесконечный цикл. Долженбыть обеспечен выход из цикла либо с помощью оператора Quit, либо с помощью Goto.Различные формы конструкций цикла могут свободно комбинироваться.Примеры:1. Параметр – это список различных выражений:For prime=2,3,5,7,11 {write !,prime, "это простое число" }2. Задание числового диапазона:For i=1:1:10 {write !,"i"," ",i**2 }3. Числовой диапазон без конечного значения:for i = 2:2{ write !,iQuit:i>15}write i4.

Безаргументная форма. В этой форме нет ни переменной цикла, ни начального,ни конечного значения:For {код} // как минимум 2 пробела после ForНапример:For {Read !,”Введите число:”, numQuit:num=””Do Calc(num)}5. Комбинированная форма:For lv = 2, 5, 49, 1:1:15, 1:2 { код }В этом случае, цикл сначала выполнится для значений параметра 2, 5, 49, затемдля значений 1:1:15, затем для 1:2. В последнем случае должен быть обеспечен выход изцикла.263.2.15. Конструкция While и Do/WhileРаботают также как и for без аргумента, т.е.

повторяют набор команд, и завершаютвыполнение по условию. While – цикл с предусловием, Do/While – цикл с постусловием.Как и в случае for команда Quit внутри блока завершает цикл. Синтаксис:do {code} while conditionwhile condition {code}где condition - это условие:condition = <выр1>[,<выр2>,...,<выр3>]Чтобы блок программы выполнился, все условия в списке должны быть логическиистинными.Пример программы с числами Фибоначчи. Программа набирается в Caché Studio,текст программы приведен ниже:fibonacci ; генерирует числа Фибоначчиread !"Генерируем числа Фибоначчи до: ", uptoset t1=1, t2=1, fib=1write !do { write fib," " set fib=t1+t2, t1=t2 ,t2= fib}while (fib'>upto)set t1=1, t2=1, fib=1write !while (fib'>upto){ write fib," " set fib=t1+t2, t1=t2 ,t2= fib}Выполнение программы в Caché Terminal:SAMPLES>do ^fibonacciГенерируем числа Фибоначчи до: 1001 2 3 5 8 13 21 34 55 891 2 3 5 8 13 21 34 55 893.

3. Программы Caché3.3.1. Виды программCaché позволяет создавать 3 вида программ:1.Макрокод (расширение MAC) может содержать код ObjectScript, макродирективы,макросы, встроенный SQL, встроенный HTML. Он компилируется в промежуточныйкод, а тот уже в объектный(OBJ).2.Промежуточный код (расширение INT) это рабочий код ObjectScript. Макросы ивстроенный SQL сначала преобразуются в промежуточный код.3.Включаемые макропрограммы (расширение INC) могут содержать любой код, разрешенный в MAC-программах.

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

Тип файла
PDF-файл
Размер
2,42 Mb
Тип материала
Высшее учебное заведение

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

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