Showing posts with label operator. Show all posts
Showing posts with label operator. Show all posts

Thursday, November 9, 2017

Atribuirea multiplă

Sunt situații în care limbajele de programare sunt considerate ca aparținând unei generații mai noi dacă anumite mecanisme sunt implementate. Dacă acele mecanisme se află la limbaje aparținând mai multor generații, lucrurile se complcă destul de tare.
dacă se dorește inițializarea unor variabile cu o aceeași valoare ca de exemplu
a=0
b=0
c=0
d=0
d=0
e=0
f=0
g=0
în limbajul COBOL totul se realizează folosind instrucțiunea
MOVE ZERO TO A, B, B, C, D, E, F, G.
în limbajul C sau în limbajul C++ se folosește expresia
a=b=c=d=d=e=f=g=0;
iar în limbajul PASCAL se folosește construcția
a:=b:=c:=d:=d:=e:=f:=g;=0;
în limbajul FORTRAN secvența va fi 
a=0
b=0
c=0
d=0
d=0
e=0
f=0
g=0       ceea ce arată destul de nasol.
Limbajul FORTRAN arată că este un limbaj de nivel scăzut, dar limbajul COBOL considerat cam de aceeași facută face excepție în acestaă situație punctuală.
Programatorii noștri au exploatat foarte mult  definirea la inițializare a variabilelor în toate limbajele. Atribuirea multiplă evidențiază cât de bun este programatorul, căci un programator bun scrie expresii foarte concentrate, exploatând la maximul facilitățile de la definirea limbajului.



(09 noiembrie 2017)

Wednesday, October 11, 2017

Operatori calculator

În intervalul 1968 -1992 am avut șansa să colaborez cu operatorii care lucrau cu calculatoarele din dotarea Centrului de calcul alm ASE.
Operatorii de la calculatorul CIFA 101 aveau o misiune cu mult mai complicată decât ne imaginăm azi când calculatorul înseamnă în primul rând o tastatură, câteva butoane, câteva periferice și multe, foarte multe cunoștințe de operare, de programare și de management resurse, pentru că a șterge sau a modifica  fișiere fără ca aceste operație să fie ansolut necesare, deja înseamnă risipă de resurse și costuri nejustificate pentru a reconstitui ceea ce s-a pierdut. Ei trebuiau să știe să utilizeze nenumăratele butoane, comutatoare și dispozitive care erau ale calculatorului. În plus, trebuiau să știe să perforeze banda cu program și cu date, să fixeze hârtia în imprimată și să ruleze programul. Cât timp am stat în fața acelui calculator am murmărit măiestria operatorului și m-am minunat cât de mult știa să interpreteze tot ce se întâmpla cu calculatorul care emitea mesaje sonore dar și semnale luminoase. Miulte dintre comenzi se dădeau prin taste, butoane și prin comutatori.
Operatorii de la calculatorul NEAC asemeni celor de la calculatorul CIFA 101 trebuiau să știe cum se pornește și cum se oprește calculatorul, cum se perforează banda, cum se fac conexiunile cu perifericele și cum să folosească nenumăratele comutatoare care se găseau pe panoul cu semnale luminoase. M-au impresionat nenumăratele cutiuțe în care aceștia păstrau suluri de bandă perforată cu diferite programe și date și cum le manipulau atunci când doreau să obțină rezultate la anumite probleme ale beneficiarilor. Am văzut că ei mai făceau uneori și corecții pe foile de cod date de programatori, căci uneori zero era confundat cu litera o datorită faptului că programatorii uitau să-l taie pe zero, ∅.
Operatorii de la calculatorul IBM 360 erau cei ce trebuiau să stea în săli cu temperaturi scăzute pentru a protejea echipamentele. Ei știau să gestioneze mesajele consolei introducând propriile mesaje care însemnau decizii de a continua anumite faze de prelucrare ale job-urilor. Trebuiau să schimbe unitățile de bandă și de discuri, să încarce magazia cu cartele perforate și să gestioneze imprimanta, căci fiecărui pachet de cartele îi corespundeau pagini de la imprimantă mai puține sau mai multe și uneori prea multe, dacă programul intra în ciclare infinită cu imprimare pe măsură, caz în care operatorul trebuia să întrerupă brutal execuția.
Operatorii de la calculatorul FELIX C-256 făcea cam aceleași lucruri ca la calculatorul IBM 360, căci erau din aceleași generații.
Operatorii de la calculatorul I-100 erau ceva mai relaxați și orice programator ceva mai interesat de cum stau lucrurile cu lucrul pe acest calculator învăța repede să se descurce în fața acestuia mai ales că față de calculatoarele din generația de dinainte apăruseră foarte multe simplificări și programatorii deja aveau posibilitatea să-și introducă programele de la tastatură și să beneficieze de interfețe deja cu mult mai prietenoase, dialogul om-calculator nemaifăcându-se obligatoriu prin intermediul cartelelor de comandă.
Operatorii de calculatoare erau majoritatea tineri plini de elan și care știau meserie și aveau o putere de concentrare foarte bună, care le permitea să lucreze eficient. În fircare moment ei trebuiau să ia decizii legate de bunul mers al fluxurilor de prelucrare, căci nu întotdeauna programele care se rulau ofereau rezultate vesele sau parcurgeau toate etapele cap-coadă, ci se închieau cu erori fatale sau continuau tipărirea la nesfârșit a unor imagini de memorie dacă era dat parametrul DUMP.
Operatorii de la calculatoarele personale din laboratoare deja aveau o muncă mult mai simplificată, exact cu au acum persoanele care-și gestionează resursele la laptop sau la calculatoarele personale proprii. Când acestea nu sunt legate în rețea operarea înseamnă printre altele și actualizarea sistemului de operare, încărcarea de programe, încărcarea mediilor de programare, încărcarea de instrumente, lansarea în execuție a programelor, a mediilor de programare, a instrumentelor, conectarea de echipamente terminale, dar mai ales gestiunea de fișiere, dintre care operația de ștergere trebuie activată cu mare, foarte mare atenție. Operarea pe aceste calculatoare înseamnă și asigurarea elementelor de securitate, dar și a elementelor de finețe de operare, mai ales atunci când se lucrează cu partiții sau se fac configurări ceva mai sofisticate. Dacă are loc interacțiunea cu alte calculatoare personale operatorul trebuie să știe cu mult mai multe decât simple manipulări cu componente software, iar dacă se leagă la Internet un calculator personal deja universul se schimbă și resursele pe care operatorul trebuie să le gestioneze sunt cu totul altele.
Istoria arată că de la operatorul extrem de tehnic care trebuia să știe lucruri foarte precise legate de a gestiona un panou de comandă extrem de complex, cu trecerea de la o generație la alta, operatorul a schimbat ponderea activităților, căci sistemele de operare au evoluat așa încât acum orice cetățean într-o lună de studiu și de practivă va învăța să-și folosească echipamentul său de calcul la cote de eficiență foarte ridicate, dacă are un anumit obiectiv profesional specific și probleme concrete de rezolvat folosind produse software deja aflate în uz curent.
Pentru operaorii de calculator am manifestat întotdeauna respect pentru că lucrau în condiții dure, trebuiau să dea dovadă de mare concentrare și pentru a exploata bine calculatorul trebuiau să știe meserie și să aibe viteză de reacție.


(12 octombrie 2017)

Wednesday, October 4, 2017

Cartela perforată

Cartela perforată a făcut istorie în informatica mondială pentru că:
- a dezvoltat creativitatea programatorilor;
- a crescut complexitatea aplicațiilor;
- efectuarea corecțiilor era la nivel de 80 caractere numai;
- a crescut calitatea prelucăriilor fiind sigură;
- manipularea cutiilor de cartele era lejeră;
- procesele de perforare se realizau  simultan;
- verificarea și corectarea cartelelor erau efective;
- stocarea nu necesita decât restricții de umiditate;
- duplicarea cartelelor nu era o problemă;
- sortarea și interclasarea erau operații obișnuite;
- costul procesului era suportabil și domestic;
- generalizarea cartelelor a mers cu mare viteză.
În țara noastră consider că s-a început lucrul cu cartele perforate undeva în jurul anului 1960, dacă se ține seama că:
- lucrarea lui Manea Mănescu unde descrie cartela perforată a apărut în anul 1966;
- tipărirea unei cărți dura cam 2 ani;
- procesele de documentare și elaborare durau între 3 - ani;
- importul de mașini de perforat, sortat și tabulatoare dura și el 2-3 ani.
În anul al II-lea de studenție, 1966-1967 deja la subsolul clădirii ASE din Romană 6 unde acum este editura, se aflau un tabulator, o mașină de perforat cartele și una de sortat, toate de proveniență sovietică, folosite de colegii din promoția mai mare cu un an, pentru că mecanografia se studia în
anul al III-le alsecției de Mecanizare și Automatizare a calculului Economic din ASE.
În anul universitar 1967-1968, în practica de vară efectuată la DJS Argeș toate prelucrările majore se efectuau folosind cartele perforate utilizându-se mașini de perforat electro-mecanice și două tabulatoare de proveniență sovietică, extrem de zgomotoase.
Cartela perforată este făcută dintr-un carton subțire dar foarte rezistent. Este sub formă dreptunghiulară având dimensiunile de 187mm și 83mm, iar colțul din stânga este tăiat. Cartelele se păstrau în cutii în care intrau cam 2000 de cartele. Cartele era divizată în 80 de coloane și 13 linii, iar combinațiile de perforații permiteau punerea în corespondență a unui alfabet definit cu perforații, o perforație pentru câte o cifră, dpuă perforații pentru litere și câte trei perforații pentru caracterele speciale. Nu este greu de anticipat folosind matematica din teoria codurilor cum se face punerea în corespondență. Având în vedere că la începuturi tabulatoarele lucrau numai cu date numerice, evident perforarea se făcea cu o perforație pe coloană.Pentru literele  A - I se perforau linia 12 cu o altă linie de la 0 - 9, pentru literele j - R se perforau linia 11 cu o altă linie de la 0 - 9, iar pentru literele S - Z se perforau linia 10 cu o altă linie de la 0 - 9. Carcaterele speciale erau reprezentate prin 3 perforații, pe liniile 12, 11, 10, respectiv, linia 0-9. Codificarea i se datorează lui Herman Hollerith. Perforațiile erau și ele sub formă dreptunghiulară cu dimensiuni standard. Totul avea la bază mecanisme de mare precizie, căci cartela:
- se așeja într-o magazie de cartele;
- cu un cuțit era transportată pentru perforare;
- perforarea se făcea coloană de coloană;
-după perforare cartela era transportată într-o magazie de depozitare;
- de acolo cartelele erau luate și verificate;
- pachetul de cartele, job-ul,  era dus la calculator.
Delimitarea pachetelor de cartele se realiza cu o cartelă colorată (roz, verde, alvatru) numită cartelă de job, iar sfârșitul job-ului era și el delimitat de o cartelă care avea fie .EOJ fie // EOJ fie /* după cum era definit limbajul de gestionare a job-urilor, JCL - Job Control Language.
Am lucrat cu cartele perforate chiar și în anul universitar 1990-1991, iar venirea masivă a calculatoarelor personale a detronat lucrul cu cartelele perforate, anul 1995 făcându-le să dispară definitiv și să rămână doar o amintire frumoasă în mintea programatorilor. Acum în 2017 tinerii care lucrează în IT&C nici nu știu ce a însemnat cartele perforată și fac ochii mari când aud de ele. În țara noastră se lucra cu cartele perforate în:
- centrele teritoriale de calcul;
- centrele de calcul ale întreprinderilor;
- sistemul informațional statistic;
- în centrele de cercetare unde erau calculatoare IBM sau FELIX;
- peste tot unde problemele necesitau programe mari și fișiere mari.
Fluxul era următorul:
- programatorul își structura cu rigurozitate problema;
- programatorul elabora schema logică;
- programatorul scria multe detalii pe o foaie de hârtie;
- programatorul se apuca să scrie textul sursă pe foaia de programare;
- programatorul mergea cu teancul de foi la dispeceratul de perforare;
- cartelele erau perforate de operator după foile de programare;
- cartelele erau verificate de operatori la o mașină specială;
- dispeceratul îl anunța pe programator să vină să ridice pachetul de cartele și foile de programare;
- programatorul insistent făcea o verificare cartelă-foaie, dacă avea răbdare;
- programatorul ducea pachetul de cartele la dispeceratul calculatorului pentru rulare;
- operatorii luau pachetul și-l rulau;
- dispeceratul îl anunța pe programator că programul a fost rulat;
- programatorul venea și ridica pachetul de cartele și imprimanta;
- programatorul analiza și avea momente de tristețe sau de bucurie citind imprimanta.
Bucuria programatorului era cînd imprimanta îi arăra că a obținut rezultatele corecte și complete. Tot momente de bucurie, dar mai mici erau și acelea când pe imprimantă era mesajul că procesul de compilare a trecut cu succes, dar și atunci când se obțineau rezultate chiar și parțiale. Mai era de lucrat, dar oricum era cu mult mai bine decât în situația în care la rularea curentă s-au obținut cu mult mai multe erori decât la rularea precedentă, lucru deprimant la o adică pentru programator, mai ales dacă era legat de niște termene.
Cartela perforată este cel mai drăguț lucru care mi s-a produs pe toată durata când am lucrat în informatică. Ea avea poezia ei care uneori genera sentimente de bucurie, care alternau cu tristeți profunde datorită tocmai fragilității cartonului din care era făcută.




Pentru ilustrarea dimensiunilor și perforațiilor am utilizat poze din cartea Inițiere în programarea calculatoarelor, apărută la București, în Editura Tehnică în 1967, a lui Donald I. CUTLER, care are  230 pagini.

(05 octombrie 2017)