As frmulas so uma sequncia de intrues ordenadas de forma lgica para a resoluo de uma determinada tarefa ou problema. Para montar uma frmula alm de comandos e funes utilizamos tambm operadores aritmticos, relacionais e lgicos. Os operadores aritmticos so usados para realizar operaes matemticas: + Adio Subtrao * Multiplicao / Diviso Os operadores relacionais so usados para fazer comparaes: > Maior que < Menor que >= Maior ou Igual <= Menor ou Igual = Igual <> Diferente Os operadores lgicos so usados para unir/comparar expresses e retornam um valor lgico (Verdadeiro ou Falso): E OU NO Retorna Verdadeiro se ambas as partes forem verdadeiras. Basta que uma parte seja verdadeira para retornar Verdadeiro. Inverte o estado, de Verdadeiro passa para Falso e vice-versa.
Segue abaixo uma tabela chamda tabela verdade, comparando duas expresses usando e, ou e no e os possveis resultados. TABELA VERDADE A V V F F B V F V F AEB V F F F A OU B V V V F NO (A) F F V V
Segue os principais comandos usados nas frmulas do RM Classis. 1) SE <<CONDIO>> ENTAO <<COMANDOS>> FIMSE - Se uma determinada condio for satisfeita ento podemos listar vrios procedimentos a serem executados e terminamos fechando a execuo. Ex. SE CAMPOTAB(6,A1,S)<> ENTAO
GRAVATAB(6,A0,V,CAMPOTAB(6,A1,V)) FIMSE 2) SE <<CONDIO>> ENTAO <<COMANDOS>> SENAO <<NOVOSCOMANDOS>> FIMSE Se a consio for satisfeita os COMANDOS sero executados, caso contrrio os NOVOSCOMANDOS sero executados. Ex. SE CAMPOTAB(6,A0,V) >= 60 ENTAO GRAVATAB(6,CONCEITO,S,APROV) SENAO GRAVATAB(6,CONCEITO,S,REPRO) FIMSE 3) DECL Comando usado para declarar as variveis que sero usadas na frmula. Variveis so endereos de memria destinados a armazenar informaes temporariamente, por isso seu valor s pode ser utilizado dentro da frmula. Ex. DECL RESULT, A1; Criamos duas variveis que podero ser setadas com valores a serem trabalhados na frmula. No confundir as variveis com os campos das tabelas, mesmo que tenham nomes iguais. No exemplo acima criamos a varivel A1, que no igual ao campo A1 da tabela emataluno. A varivel s possui um valor depois que setado com o comando SETVAR (explicado abaixo) e esse valor s existe durante a execuo da frmula, no ficando guardado em nenhuma tabela do sistema.
FUNES DE FRMULA
Uma funo um instrumento que tem como objetivo retornar um valor ou uma informao. A chamada de uma funo feita atravs da citao do seu nome seguido de seu parmetro (se for o caso) entre parnteses. Funes comuns ao Ensino Superior e Ensino Bsico: CAMPOTAB CAMPOTAB (CODIGO DA TABELA, CAMPO DA TABELA, TIPO DOS DADOS) Busca o valor do campo informado de uma tabela do registro selecionado. Os cdigos de tabelas vlidos so: 6 Tabela EMATALUNO 4 Tabela EMATRICPL 5 Tabela EALUNOTPR O tipo de dados pode ser: S String (letra) utilizado para comparar valores vazios
V Value (Nmero) utilizado para fazer clculos Ex: CAMPOTAB(6,"A1","V") Busca o campo A1 da tabela EMATALUNO como valor. GRAVATAB GRAVATAB(CODIGO DA TABELA, CAMPO DA TABELA, TIPO DE DADOS, VALOR A SER GRAVADO) Grava no campo de uma tabela o valor referenciado. Os cdigos de tabelas vlidos so: 6 Tabela EMATALUNO 4 Tabela EMATRICPL 5 - Tabela EALUNOTPR O tipo de dados pode ser: S String (letra) utilizado para comparar valores vazios V Value (Nmero) utilizado para fazer clculos Ex: GRAVATAB(6,"CONCEITO","S","REPRO") Grava a palavra REPRO no campo CONCEITO da tabela EMATALUNO como string. SETVAR SETVAR(VARIVEL, VALOR ) Coloca um valor em uma varivel previamente criada na frmula. O valor pode ser um valor constante (fixo) ou o valor de um campo de uma das tabelas que podem ser utilizadas na frmula. Ex. SETVAR(TESTE, 1) Seta o valor 1 (um ) na varivel TESTE. SETVAR(Nota1, CAMPOTAB(6,A1,V)) Seta na varivel Nota1 o valor do campo A1 da tabela emataluno. Obs: No comeo da frmula, as variavs que sero utilizadas devem estar declaradas usando o comando DECL. Ex. DECL TESTE, Nota1; NSITMAT NSITMAT (PERIODO LETIVO, ORIGEM DOS DADOS, VALOR PROCURADO) Retorna o nmero de ocorrncias do VALOR PROCURADO no campo Conceito do PERIODO LETIVO informado.
Ex: NSITMAT(CAMPOTAB(6,PERLETIVO,S), CAMPOTAB (6,"MATALUNO","S"),'APROV')
Retorna quantas vezes a palavra APROV aparece no campo Conceito (tabela emataluno) do perodo letivo do registro em que a frmula est sendo exeutada de acordo com o resultado da funo campotab.
No Ensino Superior NSITMAT (PERIODO LETIVO, MATRICULA DO ALUNO, CODIGO DO CURSO, CODIGO DA HABILITACAO, GRADE, STATUS) - Retorna o nmero de disciplinas com um determinado status em que o aluno est matriculado. Ex: NITMAT(CAMPOTAB(6,PERLETIVO,S), CAMPOTAB(6,MATALUNO,S),
CAMPOTAB(6,CODCUR,S), CAMPOTAB(6,CODPER,S), CAMPOTAB(6,GRADE,S),'5')
Retorna o nmero de disciplinas em que o aluno est matriculado no perodo letivo informado que esto com o status 5. EXECSQL EXECSQL(CDIGO DA CONSULTA) Testa a execuo da consulta SQL informada no parmetro e retorna VERDADE ou FALSO. Ex. SE EXECSQL("MATFILHA1") = VERDADE ENTAO Se a execuo da consulta MATFILHA1 tiver sucesso, a funo EXECSQL retornar VERDADE e a frmula executar os comandos dentro da condicional SE .. ENTAO RESULTSQL RESULTSQL (CDIGO DA CONSULTA, CAMPO DA CONSULTA) Retorna o valor do campo da consulta informados nos parmetros. Ex. GRAVATAB(6,"A1","V", RESULTSQL("MATFILHA1", "ETAPA1")) Ser gravado no campo A1 da tabela emataluno o valor do campo Etapa1 da consulta MATFILHA1. OBS: As consultas usadas nas frmulas so consultas do Corpore (Utilitrios | ConsultasSQL). ARRENDONDA ARREDONDA(NMERO, NMERO DE CASAS DECIMAIS) Exemplos: Arredonda(5,1) - Retorna 5 Arredonda(5.54,1) - Retorna 5.5 Arredonda(5.55,1) - Retorna 5.6 Arredonda(5.56,1) - Retorna 5.6 Obs: Caso o nmero passado tenha 1 ou mais casas decimais, a funo retornar sempre uma casa decimal, mesmo que o nmero de casas decimais seja 0.
FILHASTEMAULAS Retorna se as disciplinas filhas possuem (S) ou no possuem (N) aulas dadas em uma Etapa. AULASFILHAS AULASFILHAS(ETAPA) - Retorna a soma das aulas dadas das disciplinas filhas em uma etapa (Etapa). FALTASFILHAS FALTASFILHAS(ETAPA) - Retorna a soma das faltas das disciplinas filhas em uma etapa (Etapa). FALTASGLOBAL FALTASGLOBAL(ETAPA) - Retorna a soma das faltas de todas as disciplinas em uma etapa (exceto as disciplinas filhas). AULASGLOBAL AULASGLOBAL(ETAPA) - Retorna a soma das aulas dadas de todas as disciplinas em uma etapa (exceto as disciplinas filhas).
e/ou gravao atravs de GravaTab. Ex. SE CONCCURSO (CAMPOTAB(4,MATALUNO,S), CAMPOTAB(4,CODCUR,V) , CAMPOTAB(4,CODPER,V) , CAMPOTAB(4,GRADE,V)) = 'S'
ENTAO MUDASTATUSCURSO (CAMPOTAB(4,MATALUNO,S),CAMPOTAB(4,CODCUR,V), CAMPOTAB(4,CODPER,V), CAMPOTAB(4,GRADE,V), '5') FIMSE
Se o aluno tiver concludo o curso ento o status de matrcula ser alterado para o status de cdigo 5. TOTALDISCATRASO TOTALDISCATRASO (MATRICULA , CODCUR , CODPER , GRADE , PERIODO) A funo TotalDiscAtraso retorna o total das disciplinas em atraso, de acordo com os parmetros. O perodo o perodo curricular de referncia para saber se uma disciplina est atrasada. Ex. SE TOTALDISCATRASO (CAMPOTAB(4,MATALUNO,S),
CAMPOTAB(4,CODCUR,V), CAMPOTAB(4,CODPER,V) , CAMPOTAB(4,GRADE,V) , CAMPOTAB(4,PERIODO,V)) >= 3 ENTAO MUDASTATUSCURSO (CAMPOTAB(4,MATALUNO,S), CAMPOTAB(4,CODCUR,V), CAMPOTAB(4,CODPER,V) , CAMPOTAB(4,GRADE,V), '5') FIMSE;
Se o total de disciplinas em atraso at o perodo atual do aluno for maior ou igual a 3, alterar o status do curso para o status de cdigo 5. STATUSCURSO STATUSCURSO(MATRICULA,CODCUR,CODPER,GRADE) - A funo StatusCurso retorna o status do aluno no curso passado como parmetro. MUDATIPOALUNO MUDATIPOALUNO(MATRICULA, CODIGO DO TIPO) Essa funo altera o tipo do aluno na tabela ealunos.
Ex. SE STATUSCURSO (CAMPOTAB(4,MATALUNO,S), CAMPOTAB(4,CODCUR,V), CAMPOTAB(4,CODPER,V) , CAMPOTAB(4,GRADE,V)) = '5' ENTAO MUDATIPOALUNO (CAMPOTAB(4,MATALUNO,S), 4) FIMSE;
Se o status do curso do aluno for igual a 5, alterar o tipo do aluno para o tipo de cdigo 4.
DISCCREDITOS DISCCREDITOS(CODMAT) Retorna o nmero de crditos do aluno na disciplina passada como parmetro. DISCFALTAS DISCFALTAS(CODMAT) Retorna o nmero de faltas (F0) do aluno na disciplina passada como parmetro. DISCMEDIA DISCMEDIA(CODMAT) Retorna a nota final (A0) do aluno na disciplina passada como parmetro. DISCSTATUS DISCSTATUS(CODMAT) Retorna o status do aluno na discipina passada como parmetro. MEDIADISCFILHAS MEDIADISCFILHAS(ETAPA) Retorna a mdia das notas das disciplinas filhas por etapa. MEDIAPONDDISCAPR MEDIAPONDDISCAPR Retorna a mdia ponderada das disciplinas aprovadas do aluno. MEDIAPONDTODASDISC MEDIAPONDTODASDISC Retorna a mdia ponderada das disciplinas do aluno. SOMAAULASDISCFILHAS SOMAAULASDISCFILHAS(ETAPA) Retorna a soma das aulas dadas das disciplinas filhas por etapa. SOMAFALTASDISCFILHAS SOMAFALTASDISCFILHAS(ETAPA) Retorna a soma das faltas das disciplinas filhas por etapa
SOMANOTASDISCFILHAS SOMANOTASDISCFILHAS(ETAPA) Retorna a soma das notas das disciplinas filhas por etapa