Caros leitores, essas perguntas da entrevista COBOL foram projetadas especialmente para você se familiarizar com a natureza das perguntas que você pode encontrar
durante a entrevista para o assunto programação COBOL.
Normalmente, as perguntas começam com algum conceito básico do assunto e depois continuam com base em uma discussão mais aprofundada e no que você responde:
- O que você sabe sobre o COBOL?
COBOL significa Common Business-Oriented Language.
O Departamento de Defesa dos EUA, em uma conferência, formou a CODASYL (Conferência sobre Linguagem de Sistemas de Dados) para desenvolver uma linguagem para
atender às necessidades de processamento de dados comerciais, que agora é conhecida como COBOL.
- Listar alguns recursos do COBOL.
COBOL é uma linguagem padrão que pode ser compilada e executada em várias máquinas.
É ideal para aplicativos de negócios, pois pode lidar com grandes volumes de dados.
Ele fornece inúmeras ferramentas de depuração e teste.
COBOL é uma linguagem estruturada; possui divisões diferentes, portanto é fácil depurar.
- Nomeie as divisões em um programa COBOL.
IDENTIFICATION DIVISION (Divisão de Identificação)
ENVIRONMENT DIVISION (Divisão de Meio Ambiente)
DATA DIVISION (Divisão de Dados) e
PROCEDURE DIVISION (Divisão de Procedimentos).
- Quais são os diferentes tipos de dados disponíveis no COBOL?
Alfa-numérico (X), alfabético (A) e numérico (9).
- O que é a cláusula 'IS NUMERIC'?
A cláusula IS NUMERIC é usada para verificar se algum item é numérico ou não.
Retorna VERDADEIRO quando o item no qual é usado contém apenas números (0 a 9).
O item pode ser positivo ou negativo.
- Para que são utilizados os níveis 66 e 88?
O nível 66 é usado para a cláusula RENAMES e o nível 88 é usado para nomes de condições.
- Qual é a diferença entre subscrito e índice?
Subscrito é a ocorrência em uma matriz.
Índice é o deslocamento desde o início de uma matriz.
- Qual é a diferença entre SEARCH e SEARCH ALL?
SEARCH é uma pesquisa serial, enquanto SEARCH ALL é uma pesquisa binária.
Uma tabela deve estar classificada antes de usar o SEARCH ALL (ASCENDING ou DESCENDING).
Para o comando SEARCH a tabela não precisa estar classificada.
SEARCH |
SEARCH ALL |
SEARCH também é chamado de linear ou sequencial.
| SEARCH ALL também é chamado de binário.
|
As entradas não precisam estar em qualquer ordem.
| As entradas da tabela devem estar em alguma ordem.
|
É necessário inicializar e incrementar um índice.
| Apenas a inicialização é exigida de um índice. O incremento é feito automaticamente pelo sistema.
|
A instrução SET é obrigatória para inicializar o índice antes de seu uso.
| A instrução SET não é necessária.
|
Múltiplas condições quando podem ser codificadas.
| Apenas uma condição WHEN pode ser codificada.
|
Vários operadores aritméticos como =,>, <,> <=,> =, NOT = podem ser usados.
| Apenas = operador é permitido.
|
O acesso é lento.
| O acesso é mais rápido.
|
Ele pode ser usado para matrizes unidimensionais e multidimensionais.
| Ele é usado apenas para uma matriz dimensional única.
|
Os dados dentro de uma matriz não precisam estar em ordem de classificação.
| Os dados devem estar em ordem de classificação.
|
- Qual é a diferença entre executar uma SEÇÃO e um PARÁGRAFO?
A execução de uma SEÇÃO fará com que todos os parágrafos que fazem parte da seção sejam executados.
A execução de um PARAGRAPH fará com que apenas um parágrafo específico seja executado.
- O que é um terminador de escopo?
O terminador de escopo é usado para marcar o final de um verbo.
Exemplo:
IF e END-IF
EVALUATE e END-EVALUATE
COMPUTE e END-COMPUTE
- Quais são os modos de abertura de arquivo no COBOL?
Os modos de abertura de arquivo no COBOL incluem: INPUT, OUTPUT, I-O e EXTEND.
- Qual é o tamanho máximo de um campo numérico que podemos definir no COBOL?
O tamanho máximo de um campo numérico é PIC 9(18).
Quando você especifica ARITH(EXTEND):
O número máximo de posições de dígitos que você pode especificar na clásula PICTURE (PIC) para itens de dados decimais compactados, decimais externos e editados
numéricos é aumentado de 18 para 31.
- Qual é a diferença entre CONTINUE e NEXT SENTENCE?
CONTINUE transfere o controle para a próxima instrução após o terminador do escopo.
NEXT SENTENCE transfere o controle para a instrução após o primeiro período (ponto) ser encontrado.
O comando CONTINUE tem a mesma função do NEXT SENTECE, porém, é o único aceito pelo ENTERPRISE COBOL.
- Por que não podemos definir uma cláusula Occurs no nível 01?
01 é do nível de registro.
Repetimos os campos em um registro, não o próprio registro.
Portanto, uma cláusula Occurs não pode ser usada no nível 01.
- Qual é o modo em que você ABRIRÁ um arquivo para gravação?
Para gravar em um arquivo, o arquivo deve ser aberto no modo OUTPUT ou EXTEND.
- Qual é a diferença entre Chamada por conteúdo e Chamada por referência?
Os parâmetros passados em uma chamada por conteúdo são protegidos contra modificações pelo programa chamado.
Em Chamada por referência, os parâmetros podem ser modificados pelo programa chamado.
- O que é uma seção de ligação (LINKAGE SECTION)?
A seção de ligação faz parte de um programa chamado que 'vincula' ou mapeia para itens de dados no armazenamento de trabalho do programa de chamada.
- O que acontecerá se você codificar GO BACK em vez de STOP RUN em um programa COBOL independente?
O programa irá em um loop infinito.
- Como o sinal é armazenado em um campo COMP-3?
Ele é armazenado no último meio-byte.
- Qual é a diferença entre comp e comp-3?
Comp é um uso binário, enquanto comp-3 indica decimal compactado.
- Qual é o objetivo da IDENTIFICATION DIVISION (Divisão de Identificação)?
A Divisão de Identificação é usada para fins de documentação.
- Qual é a diferença entre chamada estática e chamada dinâmica?
Na chamada estática, o programa chamado é um programa independente, é um programa executável.
Durante o tempo de execução, podemos chamá-lo em nosso programa chamado.
Quanto à chamada dinâmica, o programa chamado não é um programa executável, Ele pode ser executado apenas através do programa chamado.
- O que é a cláusula Redefines?
A cláusula Redefines é usada para permitir que a mesma alocação de armazenamento seja referenciada por nomes de dados diferentes.
- Qual é o objetivo da frase do ponteiro no comando STRING?
A frase Objetivo do ponteiro é especificar a posição mais à esquerda no campo de recebimento onde o primeiro caractere transferido será armazenado.
- Para que é utilizado o nível 77?
É um item de nível elementar que não pode ser subdividido.
- O que é pesquisa binária?
Compare o item a ser pesquisado com o item no centro.
Se combina bem; caso contrário, repita o processo com a metade esquerda ou a metade direita, dependendo da localização do item.
- Qual é o uso da instrução EVALUATE?
EVALUATE é como uma instrução CASE e pode ser usado para substituir Ifs aninhados.
Nenhuma pausa é necessária, pois o controle sai assim que uma correspondência é encontrada.
- Posso redefinir um campo X(10) com um campo X (20)?
Sim, pois REDEFINES faz com que ambos os campos iniciem no mesmo local.
- O que é COMP-1 e COMP-2?
O COMP-1 é um ponto flutuante de precisão única que usa 4 bytes.
O COMP-2 é um ponto flutuante de precisão dupla que usa 8 bytes.
- Qual é a função do Accept Verb?
ACCEPT Verb é usado para obter dados como data, hora e dia do sistema operacional ou diretamente do usuário.
Se um programa estiver aceitando dados do usuário, ele precisará ser transmitido pela JCL.
- O que é uma declaração COMPUTE?
A instrução de COMPUTE é usada para escrever expressões aritméticas em COBOL.
Este é um substituto para ADD (Adicionar), SUBTRACT (Subtrair), MULTIPLY (Multiplicar) e DIVIDE (Dividir).
- Como você define os arquivos referidos em um programa de sub-rotina?
Forneça os cartões DD na JCL da mesma forma que faria com os arquivos referidos no programa principal.
- Quais divisões, seções e parágrafos são obrigatórios em um programa COBOL?
A IDENTIFICAION DIVISION (Divisão de Identificação) e o parágrafo do PROGRAM-D (ID do Programa) são obrigatórios em um programa COBOL.
- De onde começa a ÁREA B em COBOL?
A área B começa na coluna 12 a 72.
- Onde o parágrafo FILE-CONTROL aparece?
Ele aparece na seção INPUT-OUPUT na ENVIRONMENT DIVISION.
- Qual a diferença entre as opções WITH TEST BEFORE e WITH TEST AFTER num comando PERFORM?
Com WITH TEST BEFORE (que é o default) o PERFORM só vai executar os comandos do parágrafo se a condição UNTIL não for satisfeita.
Com WITH TEST AFTER ele vai primeiro executar o parágrafo para só depois verificar se a condição UNTIL foi satisfeita.
- O que é a LOCAL-STORAGE SECTION (SEÇÃO DE ARMAZENAMENTO LOCAL)?
O armazenamento local é alocado toda vez que um programa é chamado e será desalocado quando o programa for interrompido por meio de um EXIT PROGRAM, GOBACK ou
STOP RUN.
É definido na DATA DIVISION (DIVISÃO DE DADOS) após a WORKING-STORAGE SECTION (SEÇÃO DE ARMAZENAMENTO DE TRABALHO.
- Quais são os modos de acesso da instrução START?
Os modos de acesso são SEQUENCIAL ou DINÂMICO para a instrução de início.
- Qual é a diferença entre PIC 9.99 e PIC9v99?
O PIC 9.99 é um campo de quatro posições que realmente contém um ponto decimal, enquanto o PIC 9v99 é um campo numérico de três posições com posição decimal
assumida.
- Uma pesquisa pode ser feita em uma tabela com ou sem índice?
Não, a tabela deve ser indexada para pesquisar em uma tabela.
- Por que é necessário abrir um arquivo no modo I-O para REWRITE?
Antes de REWRITE ser executado, o registro deve ser aberto e lido no arquivo.
Portanto, o arquivo deve ser aberto no modo I-O para reescrever a funcionalidade.
- O que são literais?
Um literal é um item de dados que consiste em valor por si só.
Não pode ser referido por um nome.
Eles são itens de dados constantes.
- O que acontecerá se você codificar GO BACK em vez de STOP RUN em um programa COBOL independente?
Uma execução de parada finaliza a unidade de trabalho e retorna o controle ao sistema operacional, enquanto GOBACK retorna o controle ao programa de chamada.
Portanto, se codificarmos GO BACK em vez de STOP RUN, ele entrará em loop infinito.
- Qual é o modo em que você ABRIRÁ um arquivo para gravação?
Para gravar em um arquivo, o arquivo deve ser aberto no modo OUTPUT ou EXTEND.
- Onde o parágrafo FILE-CONTROL aparece?
O parágrafo FILE-CONTROL aparece na INPUT-OUPUT SECTION na ENVIRONMENT DIVISION, que fornece informações sobre os conjuntos de dados externos usados no
programa.
- Qual é o comprimento do PIC 9.999?
O comprimento do PIC 9.999 é 5 como '.' leva 1 byte.
Total de 1 byte para '.' e 4 bytes para 9.
- Qual verbo cobol é usado para atualizar um arquivo?
O verbo REWRITE é usado para atualizar os registros.
O arquivo deve ser aberto no modo I-O para operações de REWRITE.
Só pode ser usado após uma operação de leitura bem-sucedida.
REWRITE substitui o último registro lido.
- Se o valor 123 for movido para uma cláusula PP999 PIC, qual será o valor editado?
.00123 o valor editado será obtido.
P é assumida a posição de escala decimal usada para especificar a localização de um ponto decimal assumido quando o ponto não está dentro do número que aparece
no item de dados.
.PIC PP999 significa que o item de dados numéricos possui 3 caracteres e existem 5 posições após o ponto decimal.
- Onde podemos especificar a cláusula OCCURS?
Na declaração de matriz, podemos especificar a cláusula de ocorrência no item Elementar e também no item Grupo.
- Quantos bytes ocupa um campo S9(007) SIGN TRAILING SEPARATE?
9(007) terá 7 bytes e 1 byte para SIGN TRAILING SEPARATE, totalizando 8 bytes.
- O OPEN EXTEND serve para quê?
Para abrir um arquivo convencional em modo de gravação, mas mantendo o conteúdo que já existia.
- Quando a gente precisa usar vírgula decimal ao invés de ponto decimal, que cláusulas a gente tem que declarar no programa?
DECIMAL-POINT IS COMMA, no parágrafo SPECIAL-NAMES.
- SPECIAL-NAMES fica em que seção?
CONFIGURATION SECTION.
- Em que divisão?
ENVIRONMENT DIVISION.
- Onde se declara o FILE STATUS?
Na cláusula SELECT, do parágrafo FILE CONTROL, na seção INPUT-OUTPUT SECTION da ENVIRONMENT DIVISION.
A variável indicada nessa cláusula tem que ser declarada também na WORKING-STORAGE.
- Que picture é utilizada mais frequentemente para a variável indicada na cláusula FILE SECTION?
PIC X(2).
- Qual a diferença entre compilação e linkedição?
A compilação toma um programa fonte e transforma em programa objeto.
A linkedição toma o programa objeto, junta com libraries e subrotinas estáticas e gera um programa executável.
|