Расчет количества блоков: Калькулятор для расчета количества блоков на дом

как рассчитать количество блоков/дорожек — IBM Mainframes

Форумы по мейнфреймам IBM -> JCL и VSAM
    Краткие ссылки
Просмотреть предыдущую тему :: Просмотреть следующую тему
Автор Сообщение
sprasannapathy

Новый пользователь

Присоединился: 04 Янв 2008
Сообщения: 42
Откуда: Индия

Размещено: Чт, 13 ноября 2008 г., 22:24

Привет всем!

Когда я просматривал документ, который случайно прочитал

Я использовал ISPF 3. 2 для размещения тестового набора данных с LRECL=1, BLKSIZE=1,
RECFM=FB и пробел в блоках. После выделения тестового набора данных я
проверил, сколько блоков он занимает. Результат: 87 блоков. Здесь
мой расчет.

(MaxBytesPerTrack — MinBlockSize) / MinBlockSize = IBG (56 664 — 87)
/ 87 = 650,31+мискбит

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

Если вы использовали IDCAMS для копирования и повторной блокировки плохо заблокированного набора данных с

BLKSIZE=80,LRECL=80 без специального кодирования JCL вы получите
5 буферов для ввода и вывода. На трек приходится 77 записей.
это DCB.

Есть ли какая-нибудь формула для расчета количества блоков, созданных для трека? В приведенном выше примечании блок / дорожка равен 77.
Кто-нибудь может мне помочь?

Наверх
Роберт Сэмпл

Глобальный модератор

Присоединился: 06 июня 2008 г.
Сообщений: 8687
Местоположение: Dubuque, Iowa, USA

Размещено: Пт, 14 ноября 2008 г., 00:48

Блоки на дорожку нельзя рассчитать, просто разделив 56664 на размер записи — 3390 — это CKD, и каждый блок имеет накладные расходы и пробел для подсчета. Я не видел его в последнее время, но у IBM была диаграмма задавая диапазон размеров блоков, которые соответствовали бы заданному количеству блоков на дорожке (например, что-то до 27998 помещается 2 блока на дорожку).
Наверх
gcicchet

Senior Member

Присоединился: 28 июля 2006 г.


Сообщения: 1702
Откуда: Австралия

Опубликовано: Пт, 14 ноября 2008 г., 2:57

Привет!

попробуйте Quickref 3380 или 3390, а затем выберите либо

Цитата:
3390 ИНФОРМАЦИЯ ОБ УСТРОЙСТВЕ DASD IBM. Z/OS ВЕРСИИ 1 И РАНЕЕ
3390 IBM MVS СПРАВОЧНАЯ ИНФОРМАЦИЯ. Z/OS ВЕРСИИ 1 И РАНЕЕ
за 3390 или
Цитата:
3380 ИНФОРМАЦИЯ ОБ УСТРОЙСТВЕ DASD IBM. Z/OS ВЕРСИИ 1 И РАНЕЕ
3380 IBM MVS СПРАВОЧНАЯ ИНФОРМАЦИЯ. Z/OS ВЕРСИИ 1 И РАНЕЕ
за 3380р.

Джерри

Наверх
Педро

Глобальный модератор

Присоединился: 01 сентября 2006 г.


Сообщения: 2417
Откуда: Силиконовая долина

Опубликовано: Пт, 14 ноября 2008 г., 3:06

Укажите BLKSIZE, равный нулю. Система определит лучший размер блока.

Непонятно, что вы пытаетесь узнать. LRECL=1, BLKSIZE=1 не является реальной ситуацией.

Наверх
Билл Деннис

Активный пользователь

Присоединился: 17 августа 2007 г.
Сообщения: 562
Откуда: Айова, США

Опубликовано: Пт, 14 ноября 2008 г. , 3:42

Вот ссылка на буклет 3390 Capacities. Используйте таблицу «Без ключей» для обычных последовательных файлов.

publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/КНИГИ/am3u1001/B.1.2

Выберите размер блока и посмотрите, сколько блоков помещается на дорожке.

Наверх
sprasannapathy

Новый пользователь

Присоединился: 04 января 2008 г.
Сообщений: 42

Откуда: Индия

Опубликовано: Пт, 14 ноября 2008 г., 13:48

Привет, gcicchet,

Спасибо за добрый ответ. Расчет для 3390. Моя цель состоит в том, как рассчитать количество блоков для каждой дорожки. Есть ли какая-то формула? Или мы можем получить его с любых экранов ISPF.

Спасибо
Прасанна С

Наверх
enrico-sorichetti

Superior Member

Присоединился: 14 марта 2007 г.
Сообщения: 10858
Откуда: Италия
90 044

Опубликовано: Пт, 14 ноября 2008 г., 13:55

что непонятно в этой таблице…
— в таблице запись является синонимом блока
, например, посмотрите на строку, начинающуюся с 951.
..

для размера блока от 951 до 984 Вы получаете коэффициент использования 60,8% при 35 блоках на дорожку с емкостью 34440 байт на дорожку

Наверх
sprasannapathy

Новый пользователь

Присоединился: 04 января 2008 г.
Сообщений: 42

Откуда: Индия

Размещено: Пт, 14 ноября 2008 г., 15:17

Привет, Энрико Соричетти,

Спасибо за ваше доброе возвращение. Мое намерение состоит в том, как рассчитать количество блоков на цилиндр. В упомянутой таблице мы можем видеть только цифры (например, для размера блока от 951 до 984 — количество блоков на цилиндр равно 35. Я хочу знать, как мы получаем значение 35). Пожалуйста, помогите мне.

Спасибо
Прасанна С

Наверх
enrico-sorichetti

Superior Member

Присоединился: 14 марта 2007 г.
Сообщения: 10858
Откуда: Италия
90 044

Размещено: Пт, 14 ноября 2008 г., 17:00

вот ссылка на документы и формулы

руководство
publibz. boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/am3u1001/CONTENTS?SHELF=&DT=19930630180527#COVER

приложение с формулами
publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/am3u1001/B.1.1?SHELF=&DT=19930630180527

Наверх
sprasannapathy

Новый пользователь

Присоединился: 04 января 2008 г.
Сообщений: 42
Откуда: Индия

Опубликовано: Пт, 14 ноября 2008 г., 17:50

Спасибо за ответ. Пожалуйста, объясните мне, что такое C, в K объясните мне, что такое цифра 9, 34, 6, kn и аналогично для длины данных.

Пробел = С + К + Д
= ? + Длина ключа + Длина данных

где:

С 10.

K зависит от длины ключа.

Если KL = 0, K = 0.

Если KL не равен 0:

КЛ + (6 х СН) + 6
К = 9 + ——————- (округлено до целого числа)
34
где:

КЛ + 6
кН = ——— (округлено до целого числа)
232
Д это:

DL + (6 x DN) + 6
D = 9 + ——————- (округляется до целого числа)
34
где:

ДЛ + 6
DN = ——— (округлено до целого числа)
232

Спасибо
Прасанна С

Наверх
enrico-sorichetti

Superior Member

Присоединился: 14 марта 2007 г.
Сообщения: 10858
Откуда: Италия
90 044

Размещено: Пт, 14 ноября 2008 г., 18:00

это простая математика, что это Вы не понимаете
Наверх
Роберт Сэмпл

Глобальный модератор

Присоединился: 06 июня 2008 г.
Сообщения: 8687
Откуда: Дубьюк, Айова, США
9 0044

Опубликовано: Пт, 14 ноября 2008 г., 18:27

Цитата:
Моя цель — рассчитать количество блоков на цилиндр. В упомянутой диаграмме мы можем видеть только цифры (например, для размера блока от 951 до 984 — количество блоков на цилиндр равно 35. Я хочу знать, как мы получаем значение 35)
Вы ЗНАЕТЕ, что на цилиндре 3390 15 дорожек на цилиндр? И вы ЗНАЕТЕ, что в таблице указаны блоки на дорожку, а не на цилиндр?

Значение 35 взято из таблицы. Если вы будете изучать геометрию дисковода и аппаратное обеспечение в течение 6–12 месяцев и сосредоточитесь на дисках CKD, вы, вероятно, сможете точно понять, как было получено число 35 (конечно, при условии, что вы можете посмотреть документацию IBM по проектированию аппаратного обеспечения). Если у вас нет времени или доступа, просто примите номер в таблице. Просить что-то еще было бы все равно, что хотеть знать, почему значение PI равно 3,14159…. (ответ: ЭТО ПРОСТО ЕСТЬ)

Наверх
sprasannapathy

Новый пользователь

Присоединился: 04 января 2008 г.
Сообщений: 42
Откуда: Индия

Размещено: Пт, 14 ноября 2008 г., 19:39

Спасибо за ответ. Не могли бы вы объяснить, какова функция констант 9, 6, 32, dn, 232. Например, пропускная способность пути рассчитывается по формуле
1729 / пробел. Где константа 1729 означает, что каждая дорожка 3390 разделена на 1729 ячеек данных пользователя.

Спасибо
Прасанна

Наверх
enrico-sorichetti

Superior Member

Присоединился: 14 марта 2007 г.
Сообщения: 10858
Откуда: Италия
90 044

Опубликовано: Пт, 14 ноября 2008 г., 19:55

если Вы заметили, что даже инструкция не дает пояснений к константам

также я хотел бы отметить, что вы получите больше удовольствия
искать и находить вещи самостоятельно, а не спрашивать

гугл для ( например
Аппаратная архитектура IBM Dasd CKD 3390 3990 FBA Redbooks Systems Journal
и потихоньку научишься

Наверх
Роберт Сэмпл

Глобальный модератор

Присоединился: 06 июня 2008 г.
Сообщений: 8687
Местоположение: Dubuque, Iowa, USA

Опубликовано: Пт, 14 ноября 2008 г., 20:06

Константы — это константы, основанные на геометрии устройства. Они представлены в формулах от IBM. Вы можете поднять вопрос с IBM о том, почему они являются ценностями, которыми они являются, но не ждите ответа в ближайшее время, поскольку они являются теми ценностями, которыми они являются.

И если вы не занимаетесь аппаратным программированием очень низкого уровня, игнорируйте ячейки данных 1729 и работайте с записями, блоками и байтами. Мне никогда за многие годы программирования мэйнфреймов не нужно было знать значение 1729 или использовать его в каких-либо вычислениях.

Наверх
enrico-sorichetti

Superior Member

Присоединился: 14 марта 2007 г.
Сообщений: 10858
Откуда: Италия

Размещено: Пт, 14 ноября 2008 г., 20:16

если Вам действительно нужно знать…

надвигающаяся анорексия
долгих бессонных ночей,
кошмаров о байтах, теряющих четность…
добавляйте сколько хотите

Вы можете попробовать, выполнив поиск в базе данных патентов США,
трудно поверить, но он содержит много коммерческой тайны

PS
гнев

Цитата:
что все ваши байты теряют четность

мой любимый
Наверх
спрасаннапати

Новый пользователь

Присоединился: 04 января 2008 г.
Сообщений: 42
Откуда: Индия

Размещено: Сб, 15 ноября 2008 г., 17:27

Благодарим всех вас за любезный ответ и руководство.

Спасибо
Прасанна С

Наверх
enrico-sorichetti

Superior Member

Присоединился: 14 марта 2007 г.
Сообщения: 10858
Откуда: Италия
90 044

Размещено: Сб, 15 ноября 2008 г., 17:47

вот небольшой REXX который я написал для расчетов blksize

проверено с помощью oorexx на Leopard и Windows/XP
. ..должно работать с любым Рексом на любом опсе

сохранить его в любом месте по пути с любым именем,
ПРИМЕЧАНИЕ. При вызове с помощью lrecl 1 будет воспроизведена таблица в руководстве.

Код:

#! /opt/ooRexx/bin/rexx
/*REXX — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — -*/
/*                                                                */
/* — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — -*/
След «О»
разбор      источник  _source_
разбор      var _source_ _opsys_ _envir_ _commnd_ .
_opsys_    = нижний (_opsys_)
если  abbrev(_opsys_,»windows»), то выполните
   __PSEP__   = «\»
конец
еще сделать
   __PSEP__   = «/»
конец
p          = lastpos(__PSEP__,_commnd_)
интерпретировать «анализировать var _commnd_ с 1 _mypath «p» . «p+1″ _myself»
parse       var _myself  _myname «.» _myextn

ТРККАП = 56664
МАКСРЕК = 32760
МАКСИ = 256

аргументы разбора аргументы
аргументов = полоса (аргументы)
argc = слова (аргументы)

если    argc = 0, то выполните
   say _myname «- нужен хотя бы один аргумент»
   say _myname «- синтаксис ‘»_myname» lrecl [длина ключа]'»
   выход
конец

если    argc > 2, выполните
   say _myname «- поддерживает только два аргумента»
   say _myname «- синтаксис ‘»_myname» lrecl [длина ключа]'»
   выход
конец

разбор аргументов var reclen keylen
reclen = полоса (reclen)
кейлен = полоса (кейлен)

если   keylen = «» то ,
   кейлен = 0

если тип данных (reclen) \= «ЧИСЛО» | ,
   тип данных (keylen) \= «ЧИСЛО», затем выполните
   say _myname «- не числовые аргументы, повторите »
   выход
конец

если   reclen > MAXREC, выполните
   say _myname «- reclen» reclen «вне диапазона, до «MAXREC» разрешено»
   выход
конец

если   keylen > MAXKEY, выполните
   say _myname «- keylen» keylen «вне диапазона, до «MAXKEY» разрешено»
   выход
конец

c_blksz = reclen
c_count = blksxtrk(c_blksz,keylen)
i_blksz = c_blksz
i_count = c_count
p_blksz = c_blksz
p_count = c_count

если кейлен \= 0 то ,
   say _myname «-  keylen  lrecl min-blksz max-blksz блоков»
еще ,
   say _myname «-   lrecl min-blksz max-blksz блоков»

do   i = reclen в MAXREC by reclen
   c_blksz = я
   c_count = blksxtrk(c_blksz,keylen)

   если   c_count \= p_count, то выполните
      если keylen \= 0 тогда ,
         say _myname «-» right(keylen,  7) || ,
            право(reclen,  7) || ,
            право(i_blksz, 10) || ,
            право(p_blksz, 10) || ,
            право(p_count, 7)
      еще ,
         say _myname «-» right(reclen,  7) || ,
            право(i_blksz, 10) || ,
            право(p_blksz, 10) || ,
            право(p_count, 7)

      i_blksz = c_blksz
      i_count = c_count
   конец
   p_blksz = c_blksz
   p_count = c_count

конец

если кейлен \= 0 то ,
   say _myname «-» right(keylen,  7) || ,
      право(reclen,  7) || ,
      право(i_blksz, 10) || ,
      право(p_blksz, 10) || ,
      право(p_count, 7)
еще ,
   say _myname «-» right(reclen,  7) || ,
      право(i_blksz, 10) || ,
      право(p_blksz, 10) || ,
      право(p_count, 7)

выход

blksxtrk:процедура
аргумент синтаксического анализа blksz, keyln
   с = 10
   если keyln = 0 , то ,
      к = 0
   иначе сделайте
      kn = ( keyln + 6 ) % 232 + 1 — ( ( ( keyln + 6 ) // 232) = 0 )
      k  = 9 + (keyln + 6 * kn + 6 ) % 34 + 1 — ( ( ( keyln + 6 * kn + 6 ) // 34) = 0 )
   конец
   dn = ( blksz + 6 ) % 232 + 1 — ( ( ( blksz + 6 ) // 232) = 0 )
   d  = 9 + (чернз + 6 * дн + 6 ) % 34 + 1 — ( ( (чернз + 6 * дн + 6 ) // 34) = 0 )
   s = c + k + d
   вернуть 1729 % с

, если вас хорошо попросят, я могу опубликовать также версию макроса редактирования ISPF

Наверх
Предыдущая тема :: :: Следующая тема
    Посмотреть закладки
Часовой пояс GMT + 6 Hours
Индекс форума -> JCL и VSAM

 

Похожие темы
Тема Форум Ответов
Программа Cobol с порядковым номером ra. .. Программирование на языке COBOL 5
COBOL Сортировка по возрастанию и убыванию номер… Программирование на языке COBOL 5
Подсчитать количество символов в f… Продукты CA 1
Хотите скрыть средние 8 цифр дебета… Программирование на языке COBOL 3
Любая утилита JCL или VSAM для получения номера… JCL и VSAM 1
Поиск на нашем форуме:

Пожалуйста, включите JavaScript!

Как рассчитать камни в блоке ступенчатой ​​пирамиды? — Обсудить

Jio_Fate (г-н профессор)

#1

Как рассчитать камни в блоке ступенчатой ​​пирамиды.
Как мне сделать калькулятор для подсчета количества камней или блоков в пирамиде.

На этом изображении всего 14 блоков.

Я хочу просто ввести номер слоя в текстовое поле и количество блоков двух боковых нижних слоев в двух разных текстовых полях
И калькулятор выдаст результат 14 блоков.

Как я могу сделать это в кодуляре?
Пожалуйста, помогите мне с идеей или аа.
Заранее спасибо.

deanart2012 (Дин Артис)

#2

Джио_Судьба:

ааа

Сколько вы заплатите за aia?

Джио_Судьба (г-н профессор)

#3

deanart2012:

платить за aia

Я хочу помочь без платной услуги.

deanart2012 (Дин Артис)

#4

Хорошо. Надеюсь, кто-нибудь сделает вам aia бесплатно.

Тайфун

#5

Джио_Судьба:

Как мне сделать калькулятор для подсчета количества камней или блоков в пирамиде.

это простая математика, не так ли?
1 слой = 1 x 1 = 1
2 слоя = 1 слой + 2 x 2 = 1 + 4 = 5
3 слоя = 2 слоя + 3 x 3 = 5 + 9 = 14
4 слоя = 3 слоя + 4 x 4 = 14 + 16 = 30
и т. д.

Тайфун

2 лайков

Jio_Fate (г-н профессор)

#6

Тайфун:

это простая математика, не так ли?

Да, но как я могу редактировать блок в кодуляре?
Я хочу сделать что-то подобное, я только что ввел 3 значение пирамиды.
Где,
1 Значение — номер слоя пирамиды.
2 Значение равно количеству блоков слоя One Side Bottom.
3 Значение — количество блоков другого слоя с одной стороны.

Затем укажите общее количество блоков в пирамиде.

Возможно ли .?
Заранее спасибо.

Profi_Game (PG)

#7

Эта тема показалась мне домашней работой школьника. Но я хотел поделиться ею на благо кого-то другого или учителя в частности.

Если вы знаете приведенную выше формулу:

Страница дизайна:

Страница блока:

image1379×455 85,1 КБ

1800×800 8,69КБ


2800×800 14,6 КБ


3800×800 21,8 КБ


4800×800 30,1 КБ


5800×800 40,4 КБ


6800×800 52,6 КБ


7800×800 66,9 КБ

Изображения были созданы из одного блока.

Снимок экрана телефона.

изображение1224×560 57 КБ

1 Нравится

Тайфун

#8

Profi_Game:

Эта тема звучала как домашнее задание школьника

Да точно

Profi_Game:

Но я хотел поделиться этим на благо кого-то другого или, в частности, учителя.

Полагаю, учитель не очень доволен тем, что ученики теперь могут просто скопировать ваше решение, ничего не изучив сами…

Тайфун

Jio_Fate (г-н профессор)

#9

Profi_Game:

в пользу кого-то другого или учителя в частности.

Тайфун:

сами ничему не научились сейчас…

Спасибо за помощь. Но я совсем новичок в этой платформе. Я техник по текстилю. Я пытаюсь сделать приложение для Android, которое ускорит мою работу.

20221028_2137101920×1436 226 КБ

На этом изображении есть запас пряжи-пирамидки. Мне нужно рассчитать весь пакет пряжи ежедневно. На что нужно больше времени, но я хочу сделать приложение типа калькулятора, где я буду вводить 3 значения в 3 текстовых поля, которые я отметил на этом изображении, и приложение даст мне результат, сколько пакетов пряжи есть в этой пирамиде.

LEAVE A REPLY

Ваш адрес email не будет опубликован. Обязательные поля помечены *