Repositório para o conteúdo das aulas e exercícios propostos na matéria cursada no 4º semestre do curso de análise e desenvolvimento de sistemas.
Todas as aulas e exercícios foram feitos utilizando as seguintes ferramentas:
- DOSBox - O compilador funciona apenas em 32bits então foi necessário usar o emulador DosBox para rodar corretamente;
- um editor de texto de sua preferência (utilizamos o Notepad++ pois auxilia no entendimento dos comandos da linguagem;
- o Compilador se encontra na pasta COBOL. Utilizamos apenas esta forma de trabalho durante o curso.
-
Para rodar qualquer programa é só copiar os arquivos
.COB
para dentro da pasta COBOL e fazer os passos abaixo:- Arrastar a pasta COBOL para o ícone do executável do DOSBox, ou montar o diretório da pasta COBOL no DOSBox (Exemplo: Mount Z "C://COBOL");
- Executar o comando
ISAM
no DOSBox para iniciar o programa que acessa os arquivos de registro (Index Sequential Access Method); - Executar o comando "Cobol + NomedoPrograma+,,," (Exemplo:
Cobol CEP001,,,
) para executar o compilador, ele deve exibir a tela abaixo com a informação "No errors or warnings"); - Executar o comando "Runcob + NomedoPrograma (Exemplo:
Runcob CEP001
);
-
Dicas:
- Você pode usar F1 para voltar um campo já digitado e digitar novamente;
- Você pode usar F2 para tentar avançar um campo (caso o campo não possa ser vazio vai dar erro);
- Em alguns momentos serão exibidas diversas opções pré definidas para preencher alguns campos, você pode digitar o código ou apertar a tecla ESC para ir navegando entre as opções.
-
OBS: Em todos os programas que existe registro e validação de datas a validação ainda está com erro, não consegui fazer rodar corretamente.
- Para o Sistema_Medico_Paciente eu mantive os arquivos de registro e chaves no GitHub para que o sistema possa ser testado sem que seja necessária a digitação de valores. Detalhamento das chaves cadastradas estão no exercício.
- No EXERCICIO 6 do Sistema Médico Paciente não consegui resolver um erro que não deixa o programa rodar, dizendo que tem algum valor não numérico sendo inserido em um campo numérico
Programa de Cadastro de Produtos
- Foi o primeiro programa que trabalhamos, aprendendo conceitos básicos de cada division e os comandos básicos da linguagem.
Exercício valendo nota contendo programa de cadastro de alunos.
-
Fazer um sistema de cadastro de alunos contendo os campos abaixo:
NOME > EX201T01 ARQUIVO : CADALUNO REGISTRO : REGALUNO CAMPOS : RA / RM 9(6) NOME X(30) CPF 9(11) RG X(12) DATA NASCIMENTO DIA 9(02) MES 9(02) ANO 9(04) NATURAL X(20) NACIONALIDADE X(20) ENDERECO LOGRADOURO X(30) NUMERO 9(3) COMPLEMENTO X(12) BAIRRO X(20) CIDADE X(20) ESTADO X(2) CEP 9(8) EMAIL X(30) TELEFONE DDD 9(2) NUMERO 9(9)
Exercício valendo nota contendo programa de cadastro de Funcionários. Aprendemos a usar a SCREEN SECTION
-
Fazer um sistema de cadastro de funcionários contendo os campos e tabelas abaixo:
NOME > PROGR02T ARQUIVO : CADFUN REGISTRO : REGFUN CAMPOS : NUMERO REGISTRO 9(6) NOME X(30) DEPARTAMENTO 9(1) (usar a TABELA DEPARTAMENTOS) CARGO 9(1) (usar a TABELA DE CARGOS) SALARIO BASE 9(06)V99 NUMERO FILHOS 9(1) DATA ADMISSÃO 9(8) DDMMAAAA DATA DEMISÃO 9(8) DDMMAAAA TABELA DEPARTAMENTOS 1-COMERCIAL 2-ADMINISTRATIVA 3-FINANCEIRA 4-RECURSOS HUMANOS 5-CONTABILIDADE 6-TECNOLOGIA INFORMAÇÃO 7-VENDAS 8-SERVICOS GERAIS 9-TRANSPORTES TABELA DE CARGOS 0-DIRETOR 1-GERENTE 2-SUPERVISOR 3-COORDENADOR 4-ASSISTENTE 5-AUXILIAR 6-CONTINUO 7-VENDEDOR 8-VIGIA 9-TELEFONISTA OBSERVAÇÕES : DEVE SER UTILIZADO SCREEN SECTION; TODOS OS CAMPOS DEVEM SER CONSISTIDOS; AS DATAS DEVEM SER VALIDADAS; OS CAMPOS DEPARTAMENTO E CARGO DEVEM CONTER NA FRENTE A DESCRIÇÃO DA TABELA.
Exercício valendo nota contendo programa de cadastro de Amigos e de Endereço. Aprendemos como utilizar o OPEN INPUT
para buscar registros de outros arquivos como somente leitura utilizando uma chave primária.
-
Fazer um sistema de cadastro de endereços contendo os campos e tabelas abaixo:
NOME > PCADEND ARQUIVO : ARQENDER REGISTRO : REGENDER CAMPOS : CEP 9(08) ENDERECO X(35) BAIRRO X(20) CIDADE X(35) UF X(02) TABELA UF SP- "SAO PAULO" RJ- "RIO DE JANEIRO" PR- "PARANA" RS- "RIO GRANDE DO SUL" SC- "SANTA CATARINA" MG- "MINAS GERAIS" MT- "MATO GROSSO"
-
Fazer um sistema de cadastro de amigos conectando com o cadastro de endereços e usando os campos e tabelas abaixo:
NOME > PCADAMIG ARQUIVO : ARQAMIGO REGISTRO : REGAMIGO CAMPOS : APELIDO X(12) NOME X(35) LOGRADOURO ACEP 9(08) NUMERO 9(04) COMPLEMENTO X(12) TELEFONES CELULAR DDDCEL 9(03) NUMCEL 9(09) RESIDENCIAL DDDRES 9(03) NUMRES 9(08) EMAIL X(35) TIPOAMIGO 9(01) DATANASC DIA 9(02) MES 9(02) ANO 9(04) SEXO X(01) OPCSEX X(01) TABELA TIPO AMIGO 1-BAIRRO 2-FACULDADE 3-COLEGIO 4-CLUBE 5-BAIRRO 6-IGREJA 7-BALADA 8-EX NAMORADO(A) 9-NAMORADO DO(A) EX TABELA DE SEXO M-MASCULINO F-FEMININO TABELA DE GENERO E-HETEROSEXUAL B-BISEXUAL T-TRANSSEXUAL P-PANSEXUAL H-HOMOSEXUAL N-NAO DECLARADO O-OUTROS Obs: O programa deve puxar o endereço usando o CEP como chave primária para trazer as informações do arquivo ARQENDER
Aprendemos a utilizar aqui campos calculados
-
Fazer um Sistema de Notas usando os campos e tabelas abaixo:
NOME > PNOTA ARQUIVO : CADNOTA REGISTRO : REGNOTA CAMPOS : MATRICULA 9(06) NOME X(30) NOTA1 9(02)V9 NOTA2 9(02)V9 Obs: Incluir os campos com a média das duas notas.
-
Fazer um Segundo sistema de Notas incluíndo campos para calcular as faltas dos dois bimestres:
NOME > PNOTA1 ARQUIVO : CADNOTA1 REGISTRO : REGNOTA CAMPOS : MATRICULA 9(06) NOME X(30) NOTA1 9(02)V9 NOTA2 9(02)V9 FALTA1 9(02) FALTA2 9(02) Obs: Incluir os campos com a média das duas notas e a soma das faltas.
Trabalho valendo nota contendo um sistema de cadastro e manutenção de endereços, CID's, Convenios, Médicos, Pacientes e Consultas.
-
OBS: Para esse sistema deixei no repositório os arquivos .DAT e .KEY para que não seja necessária a inserção de valores para testar o sistema. Logo abaixo estão os registros para utilização na consulta (Não existem registros de consultas pois o sistema não está funcional ainda):
CEP 11111111 Avenida Paulista 22222222 Rua Aires Saldanha 33333333 Rua Maringa 44444444 Rua Minas Gerais CID 1010 Peste 1011 Leptospirose 1012 Coqueluche 1013 Febres Recorrentes 1014 Dengue 1015 Meningite Viral Convenio 1110 Bradesco Seguros / Enfermaria Regional 1111 Bradesco Seguros / Enfermaria Nacional 1112 Bradesco Seguros / Enfermaria Internacional 1113 Amil / Emergência Internacional 1114 Amil / Emergência Nacional 1115 Amil / Plano Global Paciente 11111111111 Paciente 1 22222222222 Paciente 2 33333333333 Paciente 3 44444444444 Paciente 4 Médico 111111 Medico 1 222222 Medica 2 333333 Medico 3 444444 Medico 4
PROGRAMA : SMP001 CADASTRO DO CEP
ARQUIVO : CADCEP
REGISTRO : REGCEP
CAMPOS DO REGISTRO :
CEP 9(08)
ENDERECO X(30)
BAIRRO X(20)
CIDADE X(35)
UF X(02)
TABELA UF
SP- "SAO PAULO"
RJ- "RIO DE JANEIRO"
PR- "PARANA"
RS- "RIO GRANDE DO SUL"
SC- "SANTA CATARINA"
MG- "MINAS GERAIS"
MT- "MATO GROSSO"
OBS.: TODOS OS CAMPOS DEVEM SER CONSISTIDOS
CAMPOS NUMÉRICOS NÃO PODEM SER ZERO.
CAMPOS ALFANUMÉRICOS NÃO PODE FICAR EM BRANCO (EXCETO COMPLEMENTO).
PROGRAMA : SMP002 CADASTRO DA CID (CID = DOENÇA)
ARQUIVO : CADCID
REGISTRO : REGCID
CAMPOS DO REGISTRO :
CODCID 9(04)
DENOMINACAO X(30)
OBS.: TODOS OS CAMPOS DEVEM SER CONSISTIDOS
CAMPOS NUMÉRICOS NÃO PODEM SER ZERO.
CAMPOS ALFANUMÉRICOS NÃO PODE FICAR EM BRANCO (EXCETO COMPLEMENTO).
PROGRAMA : SMP003 CADASTRO DO CONVENIO
ARQUIVO : CADCONV
REGISTRO : REGCONV
CAMPOS DO REGISTRO :
CODIGO 9(04)
NOME CONVENIO X(30)
PLANO 9(02)
TABELA PLANOS
01 –ENFERMARIA REGIONAL
02 –ENFERMARIA NACIONAL
03 -ENFERMARIA INTERNACIONAL
04 –APTO PADRÃO REGIONAL
05 –APTO PADRAO NACIONAL
06 -APTO PADRAO INTERNACIONAL
07 –EMERGENCIA REGIONAL
08 –EMERGENCIA NACIONAL
09 –EMERCENCIA INTERNACIONAL
10 –PLANO GLOBAL
OBS.: TODOS OS CAMPOS DEVEM SER CONSISTIDOS
CAMPOS NUMÉRICOS NÃO PODEM SER ZERO.
CAMPOS ALFANUMÉRICOS NÃO PODE FICAR EM BRANCO (EXCETO COMPLEMENTO).
DATA NASCIMENTO TEM QUE SER UMA DATA VALIDA.
PLANO NÃO PODE SER ZERO.
PROGRAMA : SMP004 CADASTRO DE PACIENTES
ARQUIVO : CADPACI
REGISTRO : REGPACI
CAMPOS DO REGISTRO :
CPF 9(11)
NOME PACIENTE X(30)
DATANASC
DIA 9(02)
MES 9(02)
ANO 9(04)
SEXO X(01)
GENERO X(01)
CONVENIO 9(04)
LOGRADOURO
ACEP 9(08)
NUMERO 9(04)
COMPLEMENTO X(12)
TELEFONE
DDD 9(03)
NUM 9(09)
EMAIL X(30)
ESPECIALIDADE 9(02)
SEXO X(01)
TABELA DE GENERO
E-HETEROSEXUAL
B-BISEXUAL
T-TRANSSEXUAL
P-PANSEXUAL
H-HOMOSEXUAL
N-NAO DECLARADO
O-OUTROS
TABELA SEXO
M –MASCULINO
F –FEMENINO
TABELA PLANOS
01 –ENFERMARIA REGIONAL
02 –ENFERMARIA NACIONAL
03 -ENFERMARIA INTERNACIONAL
04 –APTO PADRÃO REGIONAL
05 –APTO PADRAO NACIONAL
06 -APTO PADRAO INTERNACIONAL
07 –EMERGENCIA REGIONAL
08 –EMERGENCIA NACIONAL
09 –EMERCENCIA INTERNACIONAL
10 –PLANO GLOBAL
OBS.: TODOS OS CAMPOS DEVEM SER CONSISTIDOS
CAMPOS NUMÉRICOS NÃO PODEM SER ZERO.
CAMPOS ALFANUMÉRICOS NÃO PODE FICAR EM BRANCO (EXCETO COMPLEMENTO).
DATA NASCIMENTO TEM QUE SER UMA DATA VALIDA.
CONECTAR COM ARQUIVO DO SMP001 PARA CEP E SMP003 PARA CONVENIO.
PROGRAMA : SMP005 CADASTRO DO MEDICO
ARQUIVO : CADMED
REGISTRO : REGMED
CAMPOS DO REGISTRO :
CRM 9(06)
NOMEM X(30)
LOGRADOURO
ACEP 9(08)
NUMERO 9(04)
COMPLEMENTO X(12)
TELEFONES
CELULAR
DDDCEL 9(03)
NUMCEL 9(09)
RESIDENCIAL
DDDRES 9(03)
NUMRES 9(08)
EMAIL X(35)
ESPECIALIDADE 9(02)
DATANASC
DIA 9(02)
MES 9(02)
ANO 9(04)
SEXO X(01)
TABELA ESPECIALIDADE
01 -CLINICA MEDICA
02 –UROLOGIA
03 –GINICOLOGISTA
04 –PEDIATRIA
05 –CARDIOLOGISTA... ( COLOCAR DIVERSAS ESPECIALIDADES )
TABELA SEXO
M –MASCULINO
F –FEMENINO
OBS.: TODOS OS CAMPOS DEVEM SER CONSISTIDOS
CAMPOS NUMÉRICOS NÃO PODEM SER ZERO.
CAMPOS ALFANUMÉRICOS NÃO PODE FICAR EM BRANCO (EXCETO COMPLEMENTO).
DATA NASCIMENTO TEM QUE SER UMA DATA VALIDA.
CONECTAR COM ARQUIVO DO SMP001 PARA CEP.
PROGRAMA : SMP006 CADASTRO DO CONSULTA
ARQUIVO : CADCONSU
REGISTRO : REGCONSU
CAMPOS DO REGISTRO :
CPF PACIENTE 9(11)
DATA CONSULTA
DIA 9(02)
MES 9(02)
ANO 9(04)
CRM MÉDICO 9(06)
CONVENIO 9(04)
CID 9(04)
DESCRIÇÃO CONSULTA1 X(60)
DESCRIÇÃO CONSULTA2 X(60)
OBS.: TODOS OS CAMPOS DEVEM SER CONSISTIDOS
CAMPOS NUMÉRICOS NÃO PODEM SER ZERO.
CAMPOS ALFANUMÉRICOS NÃO PODE FICAR EM BRANCO (EXCETO COMPLEMENTO).
DATA CONSULTA TEM QUE SER UMA DATA VALIDA.
CONECTAR COM ARQUIVO DO SMP002 PARA CID, SMP003 PARA CONVENIO, SMP004 PARA PACIENTE E SMP005 PARA MEDICO.
EXIBIR AS INFORMAÇÕES CONFORME TELA ABAIXO: