Какова положительная сторона Кобола? [закрытый]

Если у вас есть контроль над всеми компьютерами, на которых будет использоваться файл Excel, потенциально простой обходной путь - установить шрифт, содержащий символы, которые вы хотите использовать, а затем выберите этот шрифт для раскрывающегося объекта. Например: https://www.wfonts.com/font/flowchart

enter image description here

Если вам нужно больше контролировать формы, затем вы можете создать свой собственный шрифт на основе файлов .svg (которые вы находите или создаете), используя: https://icomoon.io/app/#/select

[117 ] К сожалению, это решение не позволяет выбирать разные цвета в одном и том же списке. Если цвет зависит от формы, некоторые VBA могут изменить цвет шрифта после выбора. Если у каждой фигуры может быть несколько цветов, потребуется второй объект выбора цвета, например кнопка, которая вызывает Application.Dialogs (xlDialogEditColor).

8
задан Robert Gould 5 April 2009 в 15:40
поделиться

16 ответов

Способность записать формулы менее кратким способом. Например:

ADD YEARS TO AGE.
MULTIPLY PRICE BY QUANTITY GIVING COST.
SUBTRACT DISCOUNT FROM COST GIVING FINAL-COST.

Действительно ли это - преимущество или недостаток? зависит от того, как Вы смотрите на него...

12
ответ дан 5 December 2019 в 04:29
поделиться

Другое преимущество..., если Вы программируете на мейнфрейме, можно в значительной степени быть уверены, что КОБОЛ будет доступен... не верный для любых других языков. Это отчасти похоже на C мейнфрейма.

0
ответ дан 5 December 2019 в 04:29
поделиться

КОБОЛ является большим для форматирования вывода. Выходное поле, которое похоже:

ОБЩАЯ ПЛАТА $$$ PIC.99$$$

распечатал бы $ прямо рядом со значением. Это распечатало бы до 99 999,99$. Если бы значение составляло только 150$, то оно распечатало бы 150,00$. Кроме того, обычно существует функция КОБОЛа, которая преобразовала бы ту сумму в слова - "СТО ПЯТЬДЕСЯТ ДОЛЛАРОВ И НИКАКИЕ ЦЕНТЫ"

1
ответ дан 5 December 2019 в 04:29
поделиться

Это также имеет интересную функцию при объявлении переменных... в месте объявления переменной, можно также объявить некоторые возможные значения переменной и маркировать их булевскими переменными. Можно использовать

IF [boolean_label]

вместо

IF [variable] IS [value]

который особенно хорош, если значения не особенно значимы (т.е. магические числа или даже волшебные строки)... они, волшебство оценивает, только появляются в объявлении переменной и приятно маркированы тем, что они имеют в виду.

Можно даже установить переменную на одно из этих значений с:

SET [boolean_label] TO TRUE
3
ответ дан 5 December 2019 в 04:29
поделиться

1). Легкий учиться. 2). Синтаксис является большим количеством английского языка как и следовательно легкий понять логику программы даже для новичков.

3
ответ дан 5 December 2019 в 04:29
поделиться

Очень легко учиться. Я только записал две программы КОБОЛа в своей жизни (для распаковки КОБОЛа файлы ISAM в другой формат), и я изучил все, что я должен был знать, чтобы сделать это, с помощью книги, днем.

О, и это внушит Вашему мозгу корректное написание слова "среда".

3
ответ дан 5 December 2019 в 04:29
поделиться
MOVE CORRESPONDING

Скажите, что у Вас было 2 класса в C#, у которого были некоторые общие поля, например, класс A имеет Имя, Возраст и Пол, плюс некоторые другие поля... класс B имеет те те же 3 поля плюс собственные некоторые другие. Единственный способ скопировать поля был бы:

a.Name = b.Name;
a.Age = b.Age;
a.Sex = b.Sex;

В КОБОЛе Вы просто пишете:

MOVE CORRESPONDING A TO B
4
ответ дан 5 December 2019 в 04:29
поделиться

Выходной формат является частью объявления переменной. Это очень ориентировано на бизнес.

В КОБОЛе объявление переменной состоит из строки в ПОДРАЗДЕЛЕНИИ ДАННЫХ, которое содержит следующие объекты:

* A level number.
* A data-name or identifier.
* A Picture clause.

Начальное значение может быть присвоено переменной посредством расширения пункта ИЗОБРАЖЕНИЯ, названного пунктом ЗНАЧЕНИЯ.

Некоторые примеры:

01 GrossPay       PIC 9(5)V99 VALUE ZEROS.

01 NetPay         PIC 9(5)V99 VALUE ZEROS.

01 CustomerName   PIC X(20) VALUE SPACES.

01 CustDiscount   PIC V99 VALUE .25.
5
ответ дан 5 December 2019 в 04:29
поделиться

Функции структурирования данных почти так хороши, как это добирается для полей фиксированной длины.

ИЗМЕНИТЕСЬ прямой изгиб ума. Возможно, не хороший для использования в производственном коде, но забавы играть с. В основном это позволяет Вам изменить, какие операторы следуют за тем, что другие операторы (вставляют GOTOs) во времени выполнения.

4
ответ дан 5 December 2019 в 04:29
поделиться

О, как я мог забыть...

Вместо:

if ((a == 3) || (a == 4) || (a == 10))

запись:

IF A IS 3 OR 4 OR 10

Вместо:

if ((a == 3) || (a < b))

запись:

IF A IS 3 OR LESS THAN B

Вместо:

if ((a >= 3)  && (a <= 10))

запись:

IF A IS BETWEEN 3 AND 10
5
ответ дан 5 December 2019 в 04:29
поделиться

Истинные переменные фиксированной точки и математика. Так, за 15 долларов и 75 центов Ваше внутреннее представление было двоичными единицами информации 1, 5, 7, и 5. Это было точным представлением по сравнению со стандартным приближением с плавающей точкой. Кроме того, все дополнение и вычитание на той переменной фиксированной точки были также фиксированной точкой.

Расширение Генератора отчетов было очень хорошо в генерации отчетов и обработке заголовков, нижних колонтитулов, разрывов страницы, разрывов раздела и примерно чего-либо имение отношение к генерации отчетов.

Расширение Вида/Слияния было также очень, очень хорошо. Со множеством допустимых конструкций Вы могли просто сортировать/объединять, или Вы могли обработать входные записи вида перед видом или выводом вида после вида. Например, подайте входные записи непосредственно на вид, но затем используйте Генератор отчетов на отсортированных записях, не имея необходимость справляться, промежуточное звено отсортировало файл в Вашем коде.Очень мило.

Что это преуспело, это сделало очень хорошо. Это просто, что большую часть времени, то, что это преуспело, не точно, в чем Вы нуждаетесь.

9
ответ дан 5 December 2019 в 04:29
поделиться

Поддержка упакованного десятичного числа для точной математики;

Созданный в индексируемых файлах/сортировке;

Сформировавшиеся компиляторы;

Это является немного подробным, но это сделало задание.

5
ответ дан 5 December 2019 в 04:29
поделиться

Долговечность. Язык, который я сначала выучил в 1975, может использоваться для потребления веб-сервисов сегодня.

Кроме того, КОБОЛ имеет функцию, которую я слышу, что люди спрашивают в течение каждого дня. Учитывая два поля наличия записей с теми же именами, можно сделать:

MOVE CORRESPONDING SOURCE-RECORD TO DESTINATION-RECORD.

и это переместит поля с тем же именем от одного до другого, делая преобразования по мере необходимости. Отсутствие функции как это является одним из барьеров в способе людей, принимающих Объекты Передачи данных для возврата из веб-сервисов - необходимо написать код, чтобы сделать вышеупомянутое, вручную, или использовать генерацию кода.

Я думаю, что, возможно, было ADD CORRESPONDING также, но я не уверен. Память начинает идти, через некоторое время...

8
ответ дан 5 December 2019 в 04:29
поделиться

Вы также можете переопределить записи, чтобы разрешить обработку текстовых файлов нескольких типов записей.

01 my-address-record.
   02 my-record-type      pic x.
   02 my-street           pic x(20).
   02 my-city             pic x(20).
   02 my-state            pic x(2).
   02 my-zip              pic x(5).
   02 filler              pic x(3).
01 my-comments-record redefines my-address-record.
   02 filler              pic x.
   02 my-comments         pic x(50).
01 my-automobiles redefines my-address-record.
   02 filler              pic x.
   02 year                pic 9(4).
   02 make                pic x(20).
   02 model               pic x(20).
   02 filler              pic x(6).


--code--
if my-record-type = 'a'
   ... process address
else if my-record-type = 'b'
   ... process comments
else if my-record-type = 'c'
   ... process automobiles.
1
ответ дан 5 December 2019 в 04:29
поделиться

Люди в Sun (теперь Oracle), вероятно, разозлятся на меня, но FORTRAN и COBOL были первыми попытками когда-то писать и запускать где угодно языки. IBM добавила расширения к языку COBOL, которые практически свели на нет попытки создания COBOL.

До COBOL и FORTRAN компьютерные языки были машинно-зависимыми. Компьютеры были настолько дорогими, что было дешевле переписывать код каждый раз при обновлении компьютера. В конце 1950-х годов IBM осознала, что создание и поддержание согласованной компьютерной архитектуры сэкономит деньги клиентов (и увеличит рынок компьютерных систем). Вот почему IBM разработала серию компьютеров 360.

Таким же образом клиенты поняли, что переписывание программного обеспечения для каждой новой машины становится слишком дорогим. IBM разработала истоки FORTRAN, в то время как Грейс Хоппер и федеральное правительство руководили разработкой COBOL. Это объясняет, почему IBM добавила в COBOL все эти проприетарные расширения. Участие федерального правительства также объясняет, почему COBOL такой многословный язык.

2
ответ дан 5 December 2019 в 04:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: