System/34 BASIC

El IBM System/34 BASIC era un intérprete para la computadora IBM System/34 de rango medio.[1]​ Se ofreció por primera vez en 1978 y, como tal, contenía muchas de las trampas que un programa BASIC habría encontrado en la época del TRS-80, o muchas otras ofertas de la década de 1970 y principios de la de 1980.[2]​ Como tal, el BASIC S/34 usa convenciones que ya no son estándar en los BASIC modernos, como números de línea, y no admite funciones más nuevas como WHILE/WEND, DO/ENDDO, WITH/END WITH, procedimientos, propiedades, etc.

Convenciones BASIC

Los intérpretes BASIC escritos en los años setenta tendían a «hacer cosas extrañas de maneras extrañas». Por ejemplo, en el Apple II, un programador podía incrustar un comando de DOS en un programa a través de PRINT, cuando está precedido por la cadena de caracteres CHR$ (4). PEEK y POKE podrían usarse en varios BASIC para examinar el contenido de la memoria o cambiarlo, o incluso para crear un programa de lenguaje de máquina ad hoc y luego ejecutarlo. El System/34 BASIC tiende a mantenerse alejado de estas extrañas convenciones; sin embargo, el programador podía hacer sonar la alarma (un zumbido hecho por la terminal) a través de PRINT CHR$(7).

Se espera que las declaraciones de BASIC se ingresen en letras mayúsculas, y aunque el operador puede presionar Cmd2 para usar minúsculas, el intérprete de BASIC convertirá las palabras clave que no son comentarios en mayúsculas.

Para que BASIC pudiera ser útil en un entorno informático de rango medio, IBM agregó extensiones al lenguaje que eran específicas de las convenciones de hardware y software de la familia IBM System/34, como el archivo WORKSTN, soporte para archivos de disco indexados, directos y secuenciales, la capacidad de abrir y cerrar varios archivos de impresora y LOAD/SAVE desde bibliotecas en el disco fijo.

Declaraciones BASIC

Se utilizaron estas declaraciones, funciones y comandos básicos de BASIC:

DATA
DIM
END
FOR...NEXT
GOSUB...RETURN
GOTO
IF...THEN
INPUT
LET
ON...GOTO
PRINT
PRINT USING
READ
REM
STOP


ASC()
RND()
SIN()
COS()
TAN()
TAB()
SQRT()
LOG()


LIST

Declaraciones más avanzadas proporcionadas por IBM incluyen:

ON ERROR Permite atrapar errores
OPTION Permite propiedades de todo el programa, como indexación de matriz Base 1 o Base 0, precisión larga o corta, etc.
OPEN Permite abrir un archivo o dispositivo (estación de trabajo formateada, impresora)
CLOSE Cierra un archivo o dispositivo
WRITE Salidas a un archivo o dispositivo
REWRITE Cambia el formato de un registro o de visualización
APPEND Agrega a un archivo
DELETE Elimina un registro de un archivo
IMAGE Define el formato de un registro utilizando una sintaxis similar a COBOL
FORM Define el formato de un registro utilizando una sintaxis tipo RPG
DEF FN..FNEND Define una función
CHAIN ​Carga y pasa el control a otro programa BASIC


PRINT #255: Imprime en el archivo de impresora (predeterminada)
PRINT NEWPAGE Borra la pantalla
PRINT #255: NEWPAGE Avanza a la siguiente página en el archivo de impresora


AIDX() Hace referencia al índice ascendente de una matriz, que es una matriz de punteros ordenados relativos a los elementos de la matriz.
DIDX() Igual que AIDX pero usa un índice descendente
SRCH() Se utiliza para encontrar un valor en una matriz recuperando el puntero de coincidencia
SRCH$() Se usa para encontrar un valor de cadena en una matriz de cadenas recuperando el puntero de coincidencia


RENUMBER Un comando usado para renumerar las líneas dentro de un programa
LOAD Un comando usado para cargar un programa desde una biblioteca en el disco fijo
SAVE Un comando utilizado para guardar un programa en una biblioteca en el disco fijo
OFF Un comando utilizado para salir de la sesión BASIC interactiva
LISTP Un comando usado para listar el programa actual a la impresora

ON ERROR es una declaración de captura de errores que permite a BASIC suspender un error que, de lo contrario, podría detener la ejecución de un programa BASIC y, en su lugar, realizar una rutina de manejo de errores. Las variantes incluyen el sufijo OFLOW, ZDIV y otros tipos de errores en una declaración y atrapan inmediatamente estos errores.

OPTION permite que el programa BASIC cumpla con criterios especiales. A veces BASIC no tenía mucho espacio de usuario (dado que todos los programas S/34 están limitados a 64K) y el área llamada «espacio de código» que contiene el programa de usuario actual debe residir dentro del espacio de usuario. Por lo tanto, los usuarios pueden elegir OPTION LPREC, que hace que BASIC calcule con valores numéricos de precisión doble (largos), u OPTION SPREC, que proporciona más espacio y valores numéricos de precisión simple (cortos). Algunos programadores prefieren las matemáticas matriciales donde el índice con el número más bajo es 0, otros prefieren 1. OPTION BASE 0 y OPTION BASE 1 logran esto. Hay otros usos para OPTION.

Los programas RPG II en el S/34 no podían llamarse entre sí, pero los programas BASIC sí, usando la instrucción CHAIN. CHAIN ​​pasa el control del módulo BASIC actual al módulo nombrado, con una lista de argumentos que pueden convertirse en variables en el nuevo módulo cuando se carga.

DEF FN permite la definición de una función de usuario en BASIC que puede ser nombrada y referenciada en el programa. FNEND se coloca después de la última declaración en una función.

Hay cuatro formas de formatear la entrada y salida BASIC. Primero, sin formato; simplemente PRINT e INPUT lo que desee. En segundo lugar, con PRINT USING, que en BASIC S/34 puede incorporar una constante, una variable de cadena, un número de línea o una etiqueta. En tercer lugar, con PRINT FIELDS y INPUT FIELDS, que colocan campos de visualización de tipo 5250 en el CRT en modo inmediato. Cuarto, usando un archivo de estación de trabajo (abierto con OPEN #x: "WS,NAME=" y así sucesivamente) y realizando varias combinaciones de WRITE y READ en ese archivo de estación de trabajo, usando Formatos de pantalla generados por SDA similares a los de otras aplicaciones S/34. WRITE y READ, así como PRINT USING e INPUT USING, pueden dirigir al BASIC a un número de línea o una etiqueta que contiene la palabra clave «IMAGE:».

Una instrucción IMAGE contiene decimales, comas, signos de dólar, guiones y signos de numeral («#») en representación de los valores numéricos o alfanuméricos sustituidos.

3540 IMAGE: ###-##-#### ############################ $#,###, ###.##

Una instrucción FORM denota el tamaño de las variables que se leerán o escribirán. Para guardar un valor numérico de 0,00 a 99.999,99, utilice esta notación:

2959 FORM N 7.2

Una etiqueta es una etiqueta en una línea de la siguiente manera:

260 COMIENZO_CÁLCULOS::
270 FOR X = 1 TO 12
280 Y = Y + X*1.08
290 NEXT X

Si lo desea, se puede usar la instrucción GOSUB COMIENZO_CÁLCULOS en lugar de GOSUB 260.

OPEN, CLOSE, WRITE, REWRITE, DELETE y APPEND ya son familiares para los programadores de COBOL y describen las acciones realizadas para acceder a archivos de disco S/34 utilizando BASIC. No es posible acceder a todos los tipos de archivos S/34 porque incluyen archivos del sistema, bibliotecas y carpetas, pero todos los archivos S/34 creados por el usuario con una longitud de registro fija (solo los programas FORTRAN pueden usar longitudes de registro variables) será suficiente. Los archivos de disco se pueden abrir secuencialmente, por índice o relativamente (por número de registro). Si un archivo tiene capacidad de eliminación, los registros se pueden eliminar mediante la instrucción DELETE. Para agregar un registro, use WRITE (con APPEND especificado en la sentencia OPEN) y para actualizar use REWRITE.

Impresión

En el BASIC S/34, para imprimir en la impresora se debe usar un archivo de dispositivo. Siempre existe un archivo de impresora predeterminado llamado #255 cuando se inicia BASIC. Tiene un nombre de impresora BASIC255 y abre el dispositivo que es la impresora predeterminada para el terminal que inicia una sesión BASIC. Si lo desea, es posible crear un archivo de impresora diferente numerado entre 1 y 254. Use OPEN #x: PRINTER,NAME= y así sucesivamente para hacer esto, especificando columnas o ID de dispositivo u otros parámetros según sea necesario. La palabra clave PAGEOFLOW se puede utilizar para atrapar la condición de desbordamiento de página para la impresora.

Matriz

Algunas versiones de BASIC permiten al programador ordenar una matriz. El S/34 BASIC no proporciona una función para esto, pero proporciona un solución interesante. El programador puede definir una matriz con el mismo número de elementos que la matriz de destino y usar AIDX o DIDX para crear un índice ascendente o descendente. Cada elemento de la nueva matriz contendrá un número que representa la posición ordenada ordinal de la matriz de destino, por lo que si AMÉRICA es el sexto elemento de la matriz A$ pero primero en orden alfabético, entonces establece A() = AIDX (A$) haría que A(1) contuviera el valor 6.

Escribir un programa BASIC es mucho más divertido que reescribir el mismo programa cada vez que lo usa, por lo tanto, los autores de BASIC permiten a los programadores SAVE (guardar) su código de programa en un miembro de la biblioteca y REPLACE (reemplazar) cuando se realizan cambios.

SAVE PROG1,PGMRLIB hace que el módulo actual se guarde como un miembro de subrutina (tipo R) denominado PROG1 en una biblioteca de usuario denominada PGMRLIB.

Tenga en cuenta que los archivos System/34 no forman parte de las bibliotecas. Si un archivo de disco se llama FNF001, entonces una instrucción OPEN como esta puede funcionar:

OPEN #3:"NAME=FNF001,SEQUENTIAL",INPUT

No importa qué biblioteca se use para acceder al archivo FNF001.

RENUMBER es el comando del BASIC S/34 utilizado para renumerar sentencias. Todas las referencias internas a números de sentencias se recalculan inmediatamente.

El System/34 BASIC tiene un comando muy peligroso llamado FREE. Escribir FREE seguido de un nombre de archivo elimina ese archivo sin dejar rastro. Funcionará para todos los archivos de usuario, a menos que haya un conflicto de seguridad o una condición de uso que lo bloquee.

El System/34 BASIC tiene otro comando peligroso llamado LOCK. El comando LOCK hará que el código fuente del programa actual sea inaccesible y no es reversible. Guarde siempre una copia desbloqueada antes de usar LOCK.

Incompatibilidad entre S/34 y S/36

En 1983, IBM anunció la familia System/36 de computadoras de gama media.

System/34 BASIC y System/36 BASIC son muy similares; sin embargo, la incompatibilidad a nivel código de máquina hace que sea imposible portar una subrutina de un programa BASIC entre estos sistemas.

Referencias

  1. «IBM Archives: System/34». www.ibm.com (en inglés estadounidense). 23 de enero de 2003. Consultado el 18 de mayo de 2022. 
  2. «IBM System/34...Because Nobody Wants to Wait | Selling the Computer Revolution | Computer History Museum». www.computerhistory.org. Consultado el 18 de mayo de 2022. 

Enlaces externos

Read other articles:

Glenea celia Klasifikasi ilmiah Kerajaan: Animalia Filum: Arthropoda Kelas: Insecta Ordo: Coleoptera Famili: Cerambycidae Subfamili: Lamiinae Tribus: Saperdini Genus: Glenea Spesies: Glenea celia Glenea celia adalah spesies kumbang tanduk panjang yang tergolong famili Cerambycidae. Spesies ini juga merupakan bagian dari genus Glenea, ordo Coleoptera, kelas Insecta, filum Arthropoda, dan kingdom Animalia. Larva kumbang ini biasanya mengebor ke dalam kayu dan dapat menyebabkan kerusakan pada b...

 

الدوري السويدي الممتاز 1992 تفاصيل الموسم الدوري السويدي الممتاز  النسخة 68  البلد السويد  التاريخ بداية:25 أبريل 1992  نهاية:19 يوليو 1992  المنظم اتحاد السويد لكرة القدم  مباريات ملعوبة 90   عدد المشاركين 10   الدوري السويدي الممتاز 1991  الدوري السويدي الممتاز ...

 

Il Consorzio nazionale per l'ammortamento del debito pubblico (o Cassa ammortamento debito pubblico) fu un ente italiano istituito nel 1866[1] e sciolto nel 1930[2], avente come scopo quello di contribuire a finanziare il debito pubblico italiano. Indice 1 Storia 2 Note 3 Bibliografia 4 Voci correlate Storia Venne istituito in un periodo particolarmente difficile per le finanze del Regno d'Italia[3] e, per tradizione, vedeva alla sua guida personaggi di sangue reale pa...

1991 film by Mary Agnes Donoghue This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Paradise 1991 film – news · newspapers · books · scholar · JSTOR (May 2020) (Learn how and when to remove this message) ParadiseTheatrical release posterDirected byMary Agnes DonoghueScreenplay byMary Agnes DonoghueBased on...

 

† Египтопитек Реконструкция внешнего вида египтопитека Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:Четвероно...

 

Сибирский горный козёл Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:ЧетвероногиеКлада:АмниотыКлада:СинапсидыКла�...

The climate of ancient Rome varied throughout the existence of that civilization. In the first half of the 1st millennium BC the climate of Italy was more humid and cool than now and the presently arid south saw more precipitation.[1] The northern regions were situated in the temperate climate zone, while the rest of Italy was in the subtropics, having a warm and mild climate.[1] During the annual melt of the mountain snow even small rivers would overflow, swamping the terrai...

 

Mexican baseball player (born 1986) Baseball player Jaime GarcíaGarcía with the St. Louis CardinalsPitcherBorn: (1986-07-08) July 8, 1986 (age 37)Reynosa, Tamaulipas, MexicoBatted: LeftThrew: LeftMLB debutJuly 11, 2008, for the St. Louis CardinalsLast MLB appearanceOctober 1, 2018, for the Chicago CubsMLB statisticsWin–loss record70–62Earned run average3.85Strikeouts925 Teams St. Louis Cardinals (2008, 2010–2016) Atlanta Braves (2017) Minnesota Twins...

 

Academic journalJournal of the History of SexualityDisciplineSexologyLanguageEnglishEdited byAnnette TimmPublication detailsHistory1990–presentPublisherUniversity of Texas Press (United States)FrequencyTriannuallyImpact factor0.324 (2010)Standard abbreviationsISO 4 (alt) · Bluebook (alt1 · alt2)NLM (alt) · MathSciNet (alt )ISO 4J. Hist. Sex.IndexingCODEN (alt · alt2) · JSTOR (alt) · LCCN (alt)MIAR&...

Explorer of North America (1645–1700) Louis JollietAlfred Laliberté's Louis Jolliet sculpture in front of Parliament Building (Quebec)Born(1645-09-21)September 21, 1645near Quebec, New FranceDied1700 (aged 54–55)en route from Quebec to Anticosti IslandAllegianceNew France (Canada)AwardsJolliet was granted land south of Quebec in return for his favoursRelationsJean Jolliet: FatherOther workCanadian explorerSignature Louis Jolliet (September 21, 1645 – after Ma...

 

Battle of Pease BottomPart of the Yellowstone Expedition of 1873DateAugust 11, 1873Locationpresent-day Treasure County, Montana, U.S. territory since May 7, 1868Result United States VictoryBelligerents  United States Lakota SiouxCommanders and leaders George A. Custer Sitting BullStrength ~500 soldiers ~400 warriorsCasualties and losses 3 killed, 4 wounded 3 killed, 1 wounded vteYellowstone Expedition of 1873 Honsinger Bluff Pease Bottom The Battle of Pease Bottom, also called the Battle...

 

Questa voce sugli argomenti distretti della Repubblica Ceca e regione di Ústí nad Labem è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Distretto di Ústí nad Labemdistrettookres Ústí nad Labem LocalizzazioneStato Rep. Ceca Regione Ústí nad Labem AmministrazioneCapoluogoÚstí nad Labem TerritorioCoordinatedel capoluogo50°39′40″N 14°01′59″E50°39′40″N, 14°01′59″E (Distretto di Ústí nad Labem) Superficie404,44 km...

American singer and actor of Puerto Rican descent Carlito OliveroOlivero in 2014Background informationBirth nameCarlos Emmanuel OliveroBorn (1989-07-16) July 16, 1989 (age 34)[1][2]Chicago, Illinois, U.S.GenresPop, Latin pop, R&BOccupation(s)Singer, actorInstrument(s)Vocals, guitarYears active2007–presentMusical artist Carlos Emmanuel Olivero (born July 16, 1989),[1][2] better known as Carlito Olivero, is an American singer and actor of Puerto Rican ...

 

Aiutami a sognareMariangela Melato e Anthony FranciosaLingua originaleitaliano Paese di produzioneItalia Anno1981 Durata112 min. (versione cinematografica); 185 min. (versione televisiva) Generecommedia RegiaPupi Avati SoggettoPupi Avati SceneggiaturaPupi Avati ProduttoreGianni Minervini, Antonio Avati Casa di produzioneRai e A.M.A. Film Distribuzione in italianoTitanus FotografiaFranco Delli Colli MontaggioAmedeo Salfa MusicheRiz Ortolani ScenografiaGuido Josia CostumiGuido Josia Interpreti ...

 

Castle in Lousã, Portugal Not to be confused with Castelo da Lousa. You can help expand this article with text translated from the corresponding article in Portuguese. (September 2011) Click [show] for important translation instructions. View a machine-translated version of the Portuguese article. Machine translation, like DeepL or Google Translate, is a useful starting point for translations, but translators must revise errors as necessary and confirm that the translation is accurate, ...

Cet article est une ébauche concernant le rugby à XV et la Lituanie. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Lituanie Données clés Entrée au Board 1992 Sélectionneur Irmantas Kukulskis Capitaine Mindaugas Misevičius Record de sélections Mindaugas Misevičius et Laurynas Tipelis (45) Record de points Kęstutis Macišauskas (272) Premier match officiel1er mai 1993 Allemagne 31 - 5 Lituanie Plus lar...

 

Мятеж ЧВК «Вагнер»Основной конфликт: Вторжение России на Украину (с 2022) Карта продвижения ЧВК «Вагнер» к Москве Дата 23—24 июня 2023 года Место  Россия (Ростовская, Воронежская, Липецкая области) Причина Конфликт Евгения Пригожина с Министерством обороны Итог Соглашение �...

 

Archaeological sub-discipline Experimental tree felling with reconstructed adzes of the Linear Pottery culture for the analysis of stress marks on the adze blades and ghost lines on the tree stump and the timber in comparison with marks on archaeological finds Creating a wall of mud in the Viking style. Experimental archaeology (also called experiment archaeology) is a field of study which attempts to generate and test archaeological hypotheses, usually by replicating or approximating the fea...

Optical distortion used in art This article is about anamorphosis in art. For other uses, see Anamorphosis (disambiguation). Part of a series onGraphical projection Planar Parallel projection Orthographic projection Isometric projection Oblique projection Perspective projection Curvilinear perspective Reverse perspective Views Bird's-eye view Cross section Cutaway drawing Exploded view drawing Fisheye lens Multiviews Panorama Worm's-eye view Zoom lens Topics 3D projection Anamorphosis Axonome...

 

هيرني تقسيم إداري البلد أوكرانيا  خصائص جغرافية إحداثيات 48°03′30″N 38°11′57″E / 48.058333333333°N 38.199166666667°E / 48.058333333333; 38.199166666667   الارتفاع 218 متر  معلومات أخرى التوقيت ت ع م+02:00 (توقيت قياسي)،  وت ع م+03:00 (توقيت صيفي)  تعديل مصدري - تعديل   هيرني (Гірне) هي بلدة م�...