Clipper On Line • Ver Tópico - Linguagens de programação que tem as menores demandas.

Linguagens de programação que tem as menores demandas.

Aqui é o lugar para bater papo e trocar idéias sobre os mais variados assuntos

Moderador: Moderadores

 

Linguagens de programação que tem as menores demandas.

Mensagempor manhobby » 25 Out 2018 10:46

Eu decidi postar este tópico porque o alxsts disse em outro tópico:

Itamar M. Lins Jr. escreveu:JavaScript, Java, and Python are evidently the best programming languages to learn for jobs in 2018.


Preciso avisar o Manhobby...

Referência: viewtopic.php?f=5&t=19527

É boa idéia estudar Fortran e Cobol para conseguir emprego?

Se não porque?

Quais são as linguagens de programação que não são aconselháveis estudar para conseguir emprego?

Por favor, me avisem quando falarem de mim.

Eu soube que vocês falaram de mim porque eu tive sorte ou eu fui predestinado para ler o tópico que foi postado pelo Itamar M. Lins Jr. onde vocês falaram de mim.
E foi-lhe concedido que desse espírito à imagem da besta, para que também a imagem da besta falasse, e fizesse que fossem mortos todos os que não adorassem a imagem da besta.
E faz que a todos, pequenos e grandes, ricos e pobres, livres e servos, lhes seja posto um sinal na sua mão direita, ou nas suas testas,
Para que ninguém possa comprar ou vender, senão aquele que tiver o sinal, ou o nome da besta, ou o número do seu nome.
Aqui há sabedoria. Aquele que tem entendimento, calcule o número da besta; porque é o número de um homem, e o seu número é seiscentos e sessenta e seis.

Apocalipse 13:15-18
Avatar de usuário

manhobby
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 99
Data de registro: 03 Set 2018 00:15
Cidade/Estado: Teresina, PI
Curtiu: 53 vezes
Mens.Curtidas: 0 vez

Linguagens de programação que tem as menores demandas.

Mensagempor Jairo Maia » 25 Out 2018 12:47

manhobby escreveu:É boa idéia estudar Fortran e Cobol para conseguir emprego?
Não!

manhobby escreveu:Se não porque?
Porque não!

manhobby escreveu:Quais são as linguagens de programação que não são aconselháveis estudar para conseguir emprego?
Fortran e Cobol.

manhobby, você entendeu a mensagem que o alxsts destacou do texto do Itamar? Veja o que diz o que o alxsts destacou:
"Evidentemente, JavaScript, Java, e Python são as melhores linguagens de programação à aprender para se empregar em 2018".

manhobby escreveu:Por favor, me avisem quando falarem de mim.
manhobby, falei de você.

Qual é o seu problema? Como podemos ajudar? Porque interesse em programação tenho a impressão que você não tem.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar de usuário

Jairo Maia
Colaborador

Colaborador
 
Mensagens: 2733
Data de registro: 16 Ago 2010 13:46
Cidade/Estado: Campinas-SP
Curtiu: 371 vezes
Mens.Curtidas: 305 vezes

Linguagens de programação que tem as menores demandas.

Mensagempor JoséQuintas » 25 Out 2018 13:10

Menores demandas = pouca demanda = pouco uso = pouco interesse

Quais as linguagens de programação que tem as menores demandas?
São as que não interessam mais.

Quais são?
Sei lá... nunca tive interesse em saber.

Porque:
Porque poucos tem interesse, talvez só o Manhobby
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Linguagens de programação que tem as menores demandas.

Mensagempor manhobby » 25 Out 2018 15:34

Jairo Maia escreveu:Qual é o seu problema? Como podemos ajudar? Porque interesse em programação tenho a impressão que você não tem.


Eu simplesmente tentei que as perguntas que eu fiz fossem respondidas.

JoséQuintas escreveu:Quais as linguagens de programação que tem as menores demandas?
São as que não interessam mais.

Quais são?
Sei lá... nunca tive interesse em saber.

Porque:
Porque poucos tem interesse, talvez só o Manhobby


O livro Java Como Programar décima edição comenta brevemente no capítulo 1 sobre as diversas linguagens de programação populares segundo esse livro.

Segundo a seção 1.7 desse livro, as diversas linguagens de programação populares são o Fortran, COBOL, Pascal, Ada, Basic, C, C++, Objective-C, Visual Basic, Visual C#, PHP, Perl, Python, JavaScript e Ruby on Rails e na próxima seção introduz o Java.

Quem tem interesse de saber sobre a demanda das linguagens de programação populares é quem quer escrever livro do tipo do livro Java Como Programar dos Deitel.

Eu não acredito que Ada é uma linguagem popular, mas o livro dos Deitel que eu citei acima diz que é.

Quem participa aqui no fórum Clipper On Line tem coragem de postar um tópico dizendo que Ada, Fortran, COBOL e Pascal são populares seguindo o exemplo do livro Java Como Programar dos Deitel?
E foi-lhe concedido que desse espírito à imagem da besta, para que também a imagem da besta falasse, e fizesse que fossem mortos todos os que não adorassem a imagem da besta.
E faz que a todos, pequenos e grandes, ricos e pobres, livres e servos, lhes seja posto um sinal na sua mão direita, ou nas suas testas,
Para que ninguém possa comprar ou vender, senão aquele que tiver o sinal, ou o nome da besta, ou o número do seu nome.
Aqui há sabedoria. Aquele que tem entendimento, calcule o número da besta; porque é o número de um homem, e o seu número é seiscentos e sessenta e seis.

Apocalipse 13:15-18
Avatar de usuário

manhobby
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 99
Data de registro: 03 Set 2018 00:15
Cidade/Estado: Teresina, PI
Curtiu: 53 vezes
Mens.Curtidas: 0 vez

Linguagens de programação que tem as menores demandas.

Mensagempor JoséQuintas » 25 Out 2018 17:18

Pega cada uma dessas e analisa:

Fortran - se não me engano é pra cálculo
Pascal (Borland ?) - depende, Delphi é pascal, vai considerar Pascal ou Delphi
Ada - sei lá
Basic - vinha no PC/XT, embutido no dentro do computador, o primeiro computador IBM padrão, que teve DOS, talvez 1982
C - substituído e melhorado com o C++
C++ - base de tudo atualmente, além do Visual Studio (Microsoft), em tudo que é sistema operacional, e também base do Harbour
Objective-C - sei lá
Visual Basic (Microsoft) - Ainda vai viver bastante tempo, se a Microsoft não matar, igual aconteceu com o Clipper
Visual C# (Microsoft) - convive com C++, faz parte do Visual Studio e acho que tem pra Linux
PHP - atual, usado em internet
Perl - sei lá
Python - sei lá
JavaScript - atual, usado em internet
Ruby on Rails - sei lá

Acho que a explicação de cada uma serve como resposta ao porque.

Por falar nisso... tinha lá antigamente nos computadores:
debug
G800:5
Isso fazia a formatação física de HD
Comentar do PC/XT me lembrou disso.... rs
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Linguagens de programação que tem as menores demandas.

Mensagempor janio » 27 Out 2018 19:30

É sério que vcs ainda continuam respondendo as mesmas perguntas desse sujeito?
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar de usuário

janio
Colaborador

Colaborador
 
Mensagens: 1835
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE
Curtiu: 8 vezes
Mens.Curtidas: 68 vezes

Linguagens de programação que tem as menores demandas.

Mensagempor asimoes » 04 Nov 2018 20:01

Pega um livro de cobol em qq livraria sebo e vai estudar, se não gostar pega um de fortran e se não gostar vai pro basic, dbase, clipper se gostar do clipper aqui tem fórum para clipper se quer aprender para trabalhar vai direto pro c# ou java
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Linguagens de programação que tem as menores demandas.

Mensagempor manhobby » 05 Nov 2018 06:50

asimoes escreveu:Pega um livro de cobol em qq livraria sebo e vai estudar, se não gostar pega um de fortran e se não gostar vai pro basic, dbase, clipper se gostar do clipper aqui tem fórum para clipper se quer aprender para trabalhar vai direto pro c# ou java


@asimoes,

Você me sugere ir direto pro c# ou java se eu quero aprender programação para trabalhar, mas o alxsts me sugeriu aprender várias linguagens, por exemplo, PHP, no tópico "O conteúdo de Harbour de Vlademiro Landim está obsoleto"?, ele me sugeriu o seguinte:

"Resumindo, a tendência atual é computação em nuvem, SaaS. Prepare-se para este cenário estudando as ferramentas utilizadas por ele. São muitas. Além de lógica de programação e orientação a objetos, posso citar HTML, CSS, Javascript, AngularJS, React, Bootstrap, PHP, ASP .Net, C Sharp, Python, JSON, NodeJS e SQL (MySQL, Postgree, SQL Server, Oracle - aprendendo um, os outros ficam fáceis). Um bom lugar para aprender estas coisas é a Codecademy (em Inglês). Tem uma parte paga e outra gratuita, que também é ótima".

Referência: viewtopic.php?f=5&t=19441&p=125561&hilit=fuja#p125561

@asimoes,

Porque você me sugere ir direto pro c# ou java se eu quero aprender programação para trabalhar, mas não me sugere as linguagens que o alxsts me sugeriu, por exemplo, PHP?
E foi-lhe concedido que desse espírito à imagem da besta, para que também a imagem da besta falasse, e fizesse que fossem mortos todos os que não adorassem a imagem da besta.
E faz que a todos, pequenos e grandes, ricos e pobres, livres e servos, lhes seja posto um sinal na sua mão direita, ou nas suas testas,
Para que ninguém possa comprar ou vender, senão aquele que tiver o sinal, ou o nome da besta, ou o número do seu nome.
Aqui há sabedoria. Aquele que tem entendimento, calcule o número da besta; porque é o número de um homem, e o seu número é seiscentos e sessenta e seis.

Apocalipse 13:15-18
Avatar de usuário

manhobby
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 99
Data de registro: 03 Set 2018 00:15
Cidade/Estado: Teresina, PI
Curtiu: 53 vezes
Mens.Curtidas: 0 vez

Linguagens de programação que tem as menores demandas.

Mensagempor sygecom » 05 Nov 2018 10:01

manhobby

Da uma olhada no Windev, tem um galera usando e migrando para ele, pelo que vi, pra quem vai começar do zero como seu caso, deve ser uma ótima opção.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
leonardodemachado@hotmail.com

Faça você também sua doação esse fórum é uma lenda viva: http://www.pctoledo.com.br/doacao
Avatar de usuário

sygecom
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 7006
Data de registro: 21 Jul 2006 10:12
Cidade/Estado: Alvorada-RS
Curtiu: 1 vez
Mens.Curtidas: 130 vezes

Linguagens de programação que tem as menores demandas.

Mensagempor Claudio Soto » 05 Nov 2018 21:38

manhobby escreveu:Porque você me sugere ir direto pro c# ou java se eu quero aprender programação para trabalhar, mas não me sugere as linguagens que o alxsts me sugeriu, por exemplo, PHP?


Todo depende del objetivo que deseas

https://es.gizmodo.com/que-lenguaje-de- ... 1479554075
Saludos.
Dr. Claudio Soto
(Uruguay)
http://srvet.blogspot.com
Avatar de usuário

Claudio Soto
Colaborador

Colaborador
 
Mensagens: 555
Data de registro: 27 Ago 2012 12:31
Cidade/Estado: Uruguay
Curtiu: 35 vezes
Mens.Curtidas: 166 vezes

Linguagens de programação que tem as menores demandas.

Mensagempor bencz » 14 Nov 2018 12:35

Existem demandas para N linguagens, até mesmo aquelas que se considera "mortas"
Na empresa atual que trabalho eu programo em C#, mas, já trabalhei com diversas linguagens, como C/C++ ( ainda programo, mas, como hobby ), Assembly s390 ( nos mainframes ), programo em COBOL ( no AS/400 e nos mainframes )
Já prestei serviços para a DDC-I desenvolvendo em Ada, após tirar minha certificação, prestei serviços para a Shell desenvolvendo em SmallTalk.
No ramo dos AS/400, existe muita, mas MUITA demanda para desenvolvedores em linguagem RPG, pois, os programadores estão se aposentando ou "indo para casa", sim, falecendo, a demanda de programadores RPG é para fazer a migração dos sistemas legados para outras linguagens mais atuais, como C# ou Java, para isto, é necessário conhecer a arquitetura do OS/400 ( que é o sistema operacional utilizado nos AS/400 ).

Então, é tudo uma questão, de onde deseja atuar...
Eu sou meio louco mesmo e programo em linguagens consideradas 'estranhas' para o Brasil, um exemplo disto é SmallTalk e Ada, se eu tivesse feito uma escolha diferente no passado, eu estaria programando Avionics em Ada atualmente, que é o que fiz para a DDC-I

Respondendo a pergunta sobre estudar COBOL ou FORTRAN, no Brasil, existe uma demanda bem grande para desenvolvimento em COBOL, por empresas gigantes que utilizam os mainframes com z/os ou s390, como Casas Bahia, Bancos como, Itau, Bradesco, Caixa, Safra e etc
Vale apena estudar ?
Depende, é essa área que deseja atuar ?
Se sim, então estude, conhecimento nunca é demais

Eu, me especializei em linguagens como C/C++, Ada, Assembly ( padrão Intel e s390 ), Cobol ( nem tanto, mas, entendo o bastante para me virar ) e .Net em geral

Se for estudar COBOL para Mainframes, é necessário lembrar que não é apenas programar em COBOL, vai ser necessário estudar JCL também e estudar a arquitetura do sistema operacional, que é completamente diferente da arquitetura de um Windows ou Linux.

Para você ter uma ideia, segue um código de exemplo do meu curso de mainframes:
//PRIMCOB3 JOB (COBOL),
//             'Eratosthenes Sieve',
//             CLASS=A,
//             MSGCLASS=A,
//             REGION=8M,TIME=1440,
//             MSGLEVEL=(1,1)
//********************************************************************
//*
//* Name: SYS2.JCLLIB(PRIMCOB3)
//*
//* Desc: Sieve of Eratosthenes programmed in COBOL.
//*       All prime numbers up to the value entered via
//*       //GO.SYSIN DD are computed. An assembler subroutine
//*       is used to overcome COBOL 32767 array index
//*       and 131068 array length limitations.
//*
//********************************************************************
//ARRAY   EXEC ASMFC,PARM.ASM=(OBJ,NODECK,NOESD,NOLIST,NOXREF)
//ASM.SYSIN DD *
INIPRIME TITLE 'Provide Array to COBOL Program'                         00000100
         ENTRY ISPRIME,SETPRIME,RLSPRIME entry points                   00000200
*********************************************************************** 00000300
***                                                                 *** 00000400
*** Program:  INIPRIME                                              *** 00000500
***                                                                 *** 00000600
*** Purpose:  Provide dynamic array to COBOL Sieve of Eratosthenes  *** 00000700
***                                                                 *** 00000800
*********************************************************************** 00000900
INIPRIME CSECT ,                main entry point and program name       00001000
*                                                                       00001100
* Obtain storage and initialize array                                   00001200
*                                                                       00001300
         SAVE  (14,12),,*       save registers                          00001400
         LR    R12,R15          establish module addressability         00001500
         USING INIPRIME,R12     tell assembler of base                  00001600
         LA    R2,SAVEA         chain ..                                00001700
         ST    R13,4(,R2)         .. the ..                             00001800
         ST    R2,8(,R13)           .. save ..                          00001900
         LR    R13,R2                 .. areas                          00002000
         L     R2,0(,R1)        array size address                      00002100
         L     R7,0(,R2)        array size                              00002200
         LA    R7,1(,R7)        COBOL Sieve will overshoot by one       00002300
         ST    R7,SIZE          remember array size                     00002400
         GETMAIN R,LV=(R7)      obtain storage                          00002500
         ST    R1,ARRAY         remember address of gotten storage      00002600
         LR    R6,R1            address of array for MVCL               00002700
         XR    R8,R8            clear R8 for MVCL                       00002800
         L     R9,INIT          get initialization pattern for MVCL     00002900
         MVCL  R6,R8            initialize array                        00003000
         B     RETURN           return to caller                        00003100
*                                                                       00003200
* Query array element                                                   00003300
*                                                                       00003400
ISPRIME  SAVE  (14,12),,*       save registers                          00003500
         USING ISPRIME,R15      tell assembler of temporary base        00003600
         L     R12,LOADED       establish original base                 00003700
         DROP  R15              drop temporary base                     00003800
         LA    R2,SAVEA         chain ..                                00003900
         ST    R13,4(,R2)         .. the ..                             00004000
         ST    R2,8(,R13)           .. save ..                          00004100
         LR    R13,R2                 .. areas                          00004200
         LM    R2,R3,0(R1)      array index and return value addresses  00004300
         L     R2,0(,R2)        index value                             00004400
         BCTR  R2,0             COBOL index counts from 1, decrement    00004500
         L     R7,ARRAY         array address                           00004600
         LA    R7,0(R2,R7)      array element address                   00004700
         MVC   1(1,R3),0(R7)    return array element                    00004800
         B     RETURN           return to caller                        00004900
*                                                                       00005000
* Set array element                                                     00005100
*                                                                       00005200
SETPRIME SAVE  (14,12),,*       save registers                          00005300
         USING SETPRIME,R15     tell assembler of temporary base        00005400
         L     R12,LOADED       establish original base                 00005500
         DROP  R15              drop temporary base                     00005600
         LA    R2,SAVEA         chain ..                                00005700
         ST    R13,4(,R2)         .. the ..                             00005800
         ST    R2,8(,R13)           .. save ..                          00005900
         LR    R13,R2                 .. areas                          00006000
         LM    R2,R3,0(R1)      array index and return value addresses  00006100
         L     R2,0(,R2)        index value                             00006200
         BCTR  R2,0             COBOL index counts from 1, decrement    00006300
         L     R7,ARRAY         array address                           00006400
         LA    R7,0(R2,R7)      array element address                   00006500
         MVC   0(1,R7),1(R3)    set array element                       00006600
         B     RETURN           return to caller                        00006700
*                                                                       00006800
* Release array                                                         00006900
*                                                                       00007000
RLSPRIME SAVE  (14,12),,*       save registers                          00007100
         USING RLSPRIME,R15     tell assembler of temporary base        00007200
         L     R12,LOADED       establish original base                 00007300
         DROP  R15              drop temporary base                     00007400
         LA    R2,SAVEA         chain ..                                00007500
         ST    R13,4(,R2)         .. the ..                             00007600
         ST    R2,8(,R13)           .. save ..                          00007700
         LR    R13,R2                 .. areas                          00007800
         L     R1,ARRAY         array address                           00007900
         L     R7,SIZE          array size                              00008000
         FREEMAIN R,LV=(R7),A=(R1) release storage                      00008100
*                                                                       00008200
* Return to caller                                                      00008300
*                                                                       00008400
RETURN   L     R13,4(,R13)      caller's save area pointer              00008500
         RETURN (14,12),RC=0    restore registers and return            00008600
*                                                                       00008700
* Data area                                                             00008800
*                                                                       00008900
SAVEA    DS    18F              save area                               00009000
LOADED   DC    A(INIPRIME)      our own address                         00009100
INIT     DC    X'01000000'      array initialization pattern            00009200
ARRAY    DS    F                array address                           00009300
SIZE     DS    F                array size                              00009400
R0       EQU   0                Register  0                             00009500
R1       EQU   1                Register  1                             00009600
R2       EQU   2                Register  2                             00009700
R3       EQU   3                Register  3                             00009800
R4       EQU   4                Register  4                             00009900
R5       EQU   5                Register  5                             00010000
R6       EQU   6                Register  6                             00010100
R7       EQU   7                Register  7                             00010200
R8       EQU   8                Register  8                             00010300
R9       EQU   9                Register  9                             00010400
R10      EQU   10               Register 10                             00010500
R11      EQU   11               Register 11                             00010600
R12      EQU   12               Register 12                             00010700
R13      EQU   13               Register 13                             00010800
R14      EQU   14               Register 14                             00010900
R15      EQU   15               Register 15                             00011000
         END   INIPRIME         end of INIPRIME                         00011100
/*
//ASM.SYSGO DD UNIT=VIO,SPACE=(800,(1,1)),DISP=(,PASS),
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=800),DSN=&&INIPRIME
//PRIMES   EXEC COBUCG,
//         PARM.COB='FLAGW,LOAD,SUPMAP,SIZE=2048K,BUF=1024K'
//COB.SYSPUNCH DD DUMMY
//COB.SYSIN    DD *
   10 * //////////////////////////////////////////////////////////         PRIME
   20 * // Name: Alexandre                                                 PRIME
   30 * // Program: Sieve of Eratosthenes                                  PRIME
   40 * // Due:                                                            PRIME
   50 * // Language: COBOL                                                 PRIME
   60 * //                                                                 PRIME
   70 * // Changes:                                                        PRIME
   80 * //   o adaption to IBM OS COBOL                                    PRIME
   90 * //   o read limit from SYSIN                                       PRIME
  100 * //   o n**2 (sqrt) shortcut                                        PRIME
  110 * //   o skip even numbers                                           PRIME
  120 * //   o compact output format                                       PRIME
  130 * //   o dynamic prime flags                                         PRIME
  140 * //////////////////////////////////////////////////////////         PRIME
  150 ***                                                                  PRIME
  160 ***                                                                  PRIME
  170 ***                                                                  PRIME
  180  IDENTIFICATION DIVISION.                                            PRIME
  190  PROGRAM-ID.  'PRIMES'.                                              PRIME
  200 ***                                                                  PRIME
  210 ***                                                                  PRIME
  220 ***                                                                  PRIME
  230  ENVIRONMENT DIVISION.                                               PRIME
  240 **                                                                   PRIME
  250 **                                                                   PRIME
  260  CONFIGURATION SECTION.                                              PRIME
  270  SOURCE-COMPUTER.  IBM-360.                                          PRIME
  280  OBJECT-COMPUTER.  IBM-360.                                          PRIME
  290 **                                                                   PRIME
  300 **                                                                   PRIME
  310  INPUT-OUTPUT SECTION.                                               PRIME
  320  FILE-CONTROL.                                                       PRIME
  330      SELECT PRIMES-SYSIN                                             PRIME
  340         ASSIGN TO UT-S-SYSIN.                                        PRIME
  350 ***                                                                  PRIME
  360 ***                                                                  PRIME
  370 ***                                                                  PRIME
  380  DATA DIVISION.                                                      PRIME
  390 **                                                                   PRIME
  400 **                                                                   PRIME
  410  FILE SECTION.                                                       PRIME
  420  FD  PRIMES-SYSIN                                                    PRIME
  430      RECORDING MODE IS F                                             PRIME
  440      RECORD CONTAINS 80 CHARACTERS                                   PRIME
  450      BLOCK  CONTAINS  1 RECORDS                                      PRIME
  460      LABEL RECORDS ARE OMITTED                                       PRIME
  470      DATA RECORD IS PRIMES-SYSIN-RECORD.                             PRIME
  480  01  PRIMES-SYSIN-RECORD.                                            PRIME
  490   02 PRIMES-SYSIN-NUMBER PIC 99999999 OCCURS 10.                     PRIME
  500 **                                                                   PRIME
  510 **                                                                   PRIME
  520  WORKING-STORAGE SECTION.                                            PRIME
  530      77 I PIC 99999999 COMP VALUE 1.                                 PRIME
  540      77 J PIC 99999999 COMP.                                         PRIME
  550      77 K PIC 99999999 COMP VALUE 1.                                 PRIME
  560      77 N PIC 99999999 COMP.                                         PRIME
  570      77 N-2 PIC 99999999 COMP.                                       PRIME
  580      77 SQRTN PIC 99999999 COMP.                                     PRIME
  590      77 PRODUCT PIC 99999999 COMP.                                   PRIME
  600      77 ISPRIME PIC 9 VALUE 1 COMP.                                  PRIME
  610      77 NOTPRIME PIC 9 VALUE 0 COMP.                                 PRIME
  620      01 BLANK-LINE PIC A(160) VALUE ' '.                             PRIME
  630      01 OUT-INTEGER.                                                 PRIME
  640       02 SHOWIT PIC ZZZZZZZZ OCCURS 20.                              PRIME
  650      01 OUT REDEFINES OUT-INTEGER.                                   PRIME
  660       02 OUT-LINE PIC X(160).                                        PRIME
  670 ***                                                                  PRIME
  680 ***                                                                  PRIME
  690 ***                                                                  PRIME
  700  PROCEDURE DIVISION.                                                 PRIME
  710 **                                                                   PRIME
  720 **                                                                   PRIME
  730  MAIN-PART.                                                          PRIME
  740      OPEN INPUT PRIMES-SYSIN.                                        PRIME
  750      READ PRIMES-SYSIN AT END DISPLAY '** EOF on SYSIN **'.          PRIME
  760      MOVE PRIMES-SYSIN-NUMBER (1) TO N.                              PRIME
  770      CLOSE PRIMES-SYSIN.                                             PRIME
  780      SUBTRACT 2 FROM N GIVING N-2.                                   PRIME
  790 *                                                                    PRIME
  800      PERFORM NEXT-SQUARE UNTIL SQRTN GREATER N.                      PRIME
  810      MOVE I TO SQRTN.                                                PRIME
  820 *                                                                    PRIME
  830      MOVE 3 TO I.                                                    PRIME
  840      CALL 'INIPRIME' USING N.                                        PRIME
  850      PERFORM CHECK-NUMBER UNTIL I GREATER SQRTN OR EQUAL SQRTN.      PRIME
  860 *                                                                    PRIME
  870      MOVE 3 TO I.                                                    PRIME
  880      MOVE 2 TO J.                                                    PRIME
  890      MOVE J TO SHOWIT (K).                                           PRIME
  900      PERFORM PRINT UNTIL I GREATER N.                                PRIME
  910      CALL 'RLSPRIME'                                                 PRIME
  920 *                                                                    PRIME
  930      MOVE K TO SHOWIT (1).                                           PRIME
  940      MOVE N TO SHOWIT (2).                                           PRIME
  950      DISPLAY ' '.                                                    PRIME
  960      DISPLAY SHOWIT (1), ' primes up to ', SHOWIT (2), ' found.'.    PRIME
  970      STOP RUN.                                                       PRIME
  980 **                                                                   PRIME
  990 **                                                                   PRIME
1000  CHECK-NUMBER.                                                       PRIME
1010      PERFORM ADVANCE UNTIL I GREATER THAN SQRTN OR EQUAL TO SQRT     PRIME
1020 -     N OR ISPRIME EQUAL TO 1.                                       PRIME
1030      IF ISPRIME EQUAL TO 1                                           PRIME
1040          ADD I I GIVING J                                            PRIME
1050          MULTIPLY I BY I GIVING PRODUCT                              PRIME
1060          PERFORM CROSS-OUT UNTIL PRODUCT GREATER THAN N.             PRIME
1070      MOVE 0 TO ISPRIME.                                              PRIME
1080 **                                                                   PRIME
1090 **                                                                   PRIME
1100  ADVANCE.                                                            PRIME
1110      ADD 2 TO I.                                                     PRIME
1120      CALL 'ISPRIME' USING I ISPRIME.                                 PRIME
1130 **                                                                   PRIME
1140 **                                                                   PRIME
1150  CROSS-OUT.                                                          PRIME
1160      CALL 'SETPRIME' USING PRODUCT NOTPRIME.                         PRIME
1170      ADD J TO PRODUCT.                                               PRIME
1180 **                                                                   PRIME
1190 **                                                                   PRIME
1200  NEXT-SQUARE.                                                        PRIME
1210      ADD 1 TO I.                                                     PRIME
1220      MULTIPLY I BY I GIVING SQRTN.                                   PRIME
1230 **                                                                   PRIME
1240 **                                                                   PRIME
1250  PRINT.                                                              PRIME
1260      CALL 'ISPRIME' USING I ISPRIME.                                 PRIME
1270      IF ISPRIME EQUAL TO 1                                           PRIME
1280          MOVE I TO SHOWIT (J)                                        PRIME
1290          ADD 1 TO K                                                  PRIME
1300          ADD 1 TO J                                                  PRIME
1310          IF J GREATER 20                                             PRIME
1320              DISPLAY OUT-LINE                                        PRIME
1330              MOVE BLANK-LINE TO OUT-LINE                             PRIME
1340              MOVE 1 TO J.                                            PRIME
1350      IF I GREATER N-2 AND J NOT EQUAL 1 DISPLAY OUT-LINE.            PRIME
1360      ADD 2 TO I.                                                     PRIME
/*
//COB.SYSLIB   DD DSNAME=SYS1.COBLIB,DISP=SHR
//GO.SYSLIN   DD
//            DD DSN=&&INIPRIME,DISP=(OLD,DELETE)
//GO.SYSOUT   DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=161,BLKSIZE=16100)
//GO.SYSIN    DD *
    2000
/*
//


Este é um código misto, direto no JCL, onde tem código assembly e Cobol, para calcular os numeros primos utilizando a regra de Eratosthenes
No inicio do código tem as informações do JOB (JCL) para compilar o programa, e no final do código, tem o JCL para executar o programa

/*
//COB.SYSLIB   DD DSNAME=SYS1.COBLIB,DISP=SHR
//GO.SYSLIN   DD
//            DD DSN=&&INIPRIME,DISP=(OLD,DELETE)
//GO.SYSOUT   DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=161,BLKSIZE=16100)
//GO.SYSIN    DD *
    2000
/*


No caso, passo como parametro para o programa, calcular os 2000 primeiros numeros primos
Imagem
Avatar de usuário

bencz
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 517
Data de registro: 28 Abr 2012 17:36
Curtiu: 6 vezes
Mens.Curtidas: 34 vezes




Retornar para Bate Papo

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 8 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro