Sunteți pe pagina 1din 2

Visualg

Em visualg, valem as regras: . cada comando de visualg deve estar em uma linha . n ao h a separadores (;), nem blocos (como { e {) nem goto . n ao h a fun c oes como sqr(), sqrt() . todas as palavras reservadas n ao tem acentos ou cedilha . n ao h a separa ca o entre mai usculas e min usculas nos comandos ou vari aveis . o limite de vari aveis e de 500 (cada item de vetor conta como 1 vari avel) . o ponto decimal e o ponto . valores caractere est ao entre aspas duplas . O s mbolo de atribui ca o e <. Existe recursividade

Express ao
de fun co es que

Num erica
acabem

Qualquer combina c ao compat vel gerando um u nico resultado num erico.


O que faz o usual da aritm etica n~ ao usa n umeros decimais o resto da divis~ ao inteira o valor absoluto de a arco xxx Exemplo A+3 A/2.5

Formato adi c~ ao (+), subtra c~ ao (), multiplica c~ ao (), divis~ ao real (/) divis~ ao inteira (barra ao contr ario) resto (percentagem) abs(a:real):real arcxxxx(a:real):real

xxx pode ser cos, sen e tan

asc(s:caracter):inteiro carac(c:inteiro):caracter caracpnum(c:caracter):inteiro ou real compr(c:caracter):inteiro copia(c:caracter; p,n:inteiro):caracter xxx(a:real):real a div b exp(b,e) grauprad(a:real):real int(a:real):inteiro log(a:real):real logn(a:real):real maiusc(c:caracter):caracter minusc(c:caracter):caracter a mod b numpcarac(n:inteiro ou real):caracter pi:real pos(subc,c:caracter):inteiro quad(a:real):real radpgrau(a:real):real raizq(a:real):real

converte o caracter s em inteiro converte o byte c em caracter deve ser o comprimento do string copia um substring funcao trigonometrica divisao inteira de a po b eleva a base ao expoente converte graus em radianos converte real em inteiro logaritmo base 10 logaritmo base e converte para maiuscula converte para minuscula resto da divisao inteira de a por b converte numerica a caracter devolve o valor de pi devolve a posicao de subc em c devolve o quadrado de a converte radiano para grau devolve a raiz quadrada xxx pode ser sen,cos,tan,cotan

Algoritmo
Formato algoritmo <nome> | var | <vari aveis>

a unidade b E asica de escrita de algoritmos.


Exemplo algoritmo TESTE | var | N : inteiro | inicio | leia (N) | escreva (N 2) fimalgoritmo

--->local da defini c~ ao de fun c~ ao | inicio | <comandos> fimalgoritmo

Coment arios s ao caracterizados por come car por \\.

Fun c ao

A fun c ao e uma unidade n ao aut onoma de programa ca o. Ela sempre precisa receber seus dados (atrav es de uma lista de par ametros) e devolver um resultado a quem a chamou. Em Visualg s ao colocadas imediatamente antes da palavra inicio do bloco a que se referem.
Formato funcao <nome>( <parametros>) : <tipo-res> | var | | | <variaveis locais> inicio <comandos> Exemplo fun ca ~o TESTE (N:inteiro) : var inicio | retorne N 2 fimfun ca ~o inteiro

Express ao
de rela c oes que
Formato Igual (=) Diferente (<>) Maior (>) Menor (>) Maior ou igual (>=) Menor ou igual (<=)

Relacional
acabem

Qualquer gerando um

combina c ao compat vel u nico resultado l ogico.


Exemplo 3=3 e VERDADEIRO 3<>3 e FALSO 3>4 e FALSO 3<4 e VERDADEIRO 3>=3 e VERDADEIRO 3<=3 e VERDADEIRO

fimfuncao

O <nome-de-fun ca o> obedece as mesmas regras de nomenclatura das vari aveis. Por outro lado, a <seq u encia-de-declara co es-de-par ametros> e uma seq u encia de [var] <seq u encia-de-par ametros>: <tipo-de-dado> separadas por ponto e v rgula. A presen ca (opcional) da palavra-chave var indica passagem de par ametros por refer encia; caso contr ario, a passagem ser a por valor.

O que faz devolve VERDADEIRO se seus operandos s~ ao iguais e FALSO sen~ ao devolve VERDADEIRO se seus operandos s~ ao diferentes e FALSO sen~ ao Em A > B devolve VERDADEIRO se A e maior do que B Em A < B devolve VERDADEIRO se A e menor do que B Em A >= B devolve VERDADEIRO se A e maior ou igual do que B Em A <= B devolve VERDADEIRO se A e menor ou igual do que B

Express ao L ogica
Formato E

Qualquer combina ca o compat vel de express oes relacionais e/ou l ogicas que acabem gerando um u nico resultado l ogico.
O que faz Em A E B, devolve VERDADEIRO se A e B s~ ao verdadeiros e devolve FALSO sen~ ao Em A OU B, devolve VERDADEIRO se A ou B ou ambos s~ ao VERDADEIRO e devolve FALSO sen~ ao Inverte o valor l ogico do operando Exemplo VERDADEIRO E VERDADEIRO e VERDADEIRO Todas as outras combina c~ oes d~ ao FALSO FALSO OU FALSO e FALSO Todas as outras combina c~ oes d~ ao VERDADEIRO NAO VERDADEIRO e FALSO e NAO FALSO e VERDADEIRO

Nomes

Ao construir algoritmos e necess ario dar nomes a muitas coisas. A regra de constru c ao de nomes e . Uma u nica palavra . Composta de letras e n umeros . Come cando com uma letra . Escrita em mai usculo

Ou

N~ ao (NAO)

Tipos
Tipo inteiro real caracter logico

Os tipos poss veis s ao 4: inteiro, real, l ogico, caracter.


Conte udo qualquer n umero inteiro, variando entre e + qualquer n umero inteiro ou n~ ao inteiro uma cadeia somente pode conter os valores VERDADEIRO e FALSO Exemplo inteiro A A,B,C : inteiro A : real X,Y,Z : real A : caracter // o tamanho n~ ao e expl cito A : logico

Este comando e denominado alternativo, pois permite escolher caminhos da programa ca o dependendo de uma condi ca o (express ao l ogica). Note que o trecho entre sen~ ao e o comando imediatamente anterior a fimse s ao opcionais, raz ao pela qual no formato eles aparecem entre colchetes. Os comandos entre ent~ ao e sen~ ao ou fimse (se n ao houver sen ao) ser ao executados apenas se a condi ca o do comando for verdadeira. Se houver comandos entre sen~ ao e fimse os mesmos ser ao executados apenas se a condi c ao for falsa.
Formato se (<condi c~ ao>) ent~ ao | <comando-1> | <comando-2> | <...> [senao | <comando-1> | <comando-2> | <...>] fimse Exemplo se (A 4) ent~ ao | B B + 1 | C C + D + A senao | escreva (N 2) fimse

Se

Vetor

Um vetor (ou matriz) e denido, escrevendo-se o nome, dois pontos (:) a palavra vetor e as especica co es de repeti c ao. Veja nos exemplos:
Formato <nome> : vetor [inicio..fim] [inicio..fim] ... de <tipo> Exemplo AAA : vetor [1..10] de real BBB : vetor [0..4] [1..8] de inteiro

Enquanto

Comandos

Os comandos em pseudo-c odigo s ao: < (recebe), leia, escreva, se...mse, enquanto...menquanto, para...mpara, repita...at e, retorne e abandone.

Este comando permite a realiza ca o de la cos (loops) dentro de programas. Come cando o comando, a condi c ao e avaliada. Se ela for falsa, h a um desvio para o comando seguinte ao fimenquanto. Se a condi c ao for verdadeira os comando internos ao enquanto s ao executados. Ao se encontrar o fimenquanto h a um desvio incondicional ao in cio do enquanto e a condi c ao inicial e reavaliada.
Formato enquanto (<condi ca ~o>) fa ca | <comando-1> | <comando-2> | <...> fimenquanto Exemplo A 5 enquanto (A 9) ent~ ao | escreva (A) | A A + 3 fimenquanto Ser~ ao impressos os valores 5 e 8.

Leia

Serve para introduzir um dado externo para dentro do algoritmo. As vari aveis citadas no comando j a ter ao que ter sido denidas e tipadas.
Formato leia (<lista de vari aveis>) Exemplo leia (A)

Escreva

Serve para produzir um dado como resposta do algoritmo. As vari aveis citadas no comando j a ter ao que ter sido devidamente atribu das.
Formato escreva (<lista de vari aveis>) Exemplo escreva (A, B, C)

Repita Este comando tamb em permite a realiza c ao de la cos (loops) dentro de programas.
Formato repita | <comando-1> | <comando-2> | <...> ate (<condi c~ ao>) Exemplo A 5 repita | escreva (A) | A A + 3 ate (A > 9) Ser~ ao impressos os valores 5 e 8.

Para vari aveis num ericas, pode-se especicar var:tamanho:decimais.

<

Este comando permite inicializar uma vari avel ou alterar-lhe o conte udo.
Formato <vari avel> < <vari avel> OU <vari avel> < <constante> OU <vari avel> < <express~ ao> OU Exemplo A < B B < "CURITIBA" C < A + 23

Para

Este comando tamb em permite a realiza ca o de la cos (loops) dentro de programas. No in cio a vari avel citada no comando e inicializada com <constante1>. Depois e feita a condi c ao. Se o passo est a

ausente ou e positivo, a variavel e testada para <constante2>. (Se o passo e negativo, o teste e com ). Se o resultado e VERDADEIRO os comandos internos s ao executados. Ao nal deles, a vari avel e incrementada (ou decrementada se o passo e negativo) e depois h a um retorno ao teste inicial. Quando o passo n ao e explicito, ele vale 1.
Formato para <var> de <constante1> ate <constante2> [passo <constante3>] fa ca | <comando-1> | <comando-2> | <...> fimpara Exemplo para K de 3 ate 8 passo 2 fa ca | escreva (A) fimpara Ser~ ao impressos os valores 3, 5 e 7.

Exemplo 2
algoritmo "palito" var N,SEQ,J,TV:inteiro inicio N<-0 enquanto ((N<20) ou (N>30)) faca escreval ("com quanto comecamos ?") leia (N) fimenquanto enquanto (N>0) faca SEQ <- 1 enquanto ((N-SEQ)>=0) faca SEQ <- SEQ + 4 // escreval ("depuracao... N=",N," SEQ=",SEQ) fimenquanto J<-4+(N-SEQ) se (J=0) entao J<-1 fimse escreval ("eu joguei ",J) N<-N-J escreval ("Existem ",N," palitos") se (N<=0) entao escreva ("por incrivel que pareca,... perdi,... babaca") interrompa fimse TV<-0 enquanto ((TV<1) ou (TV>3)) faca escreval ("jogue") leia (TV) fimenquanto N <- N - TV escreval("existem ",N," palitos") se (N<=0) entao escreval("burrao, eu ganhei...") interrompa fimse fimenquanto fimalgoritmo

Retorne

Usado exclusivamente dentro de fun c oes, tem a nalidade de devolver um resultado a quem chamou esta fun ca o. Ao contr ario do C, n ao necessariamente encerra a execu c ao da fun ca o.
Formato retorne <express~ ao compat vel> Exemplo se A > 5 ent~ ao | retorne A fim{se}

Outros Comandos

aleatorio arquivo <nome-de-arquivo> algoritmo lendo do arquivoarquivo teste.txt timer on / timer o pausa debug eco cron ometro

Exemplo 1
algoritmo "primos" var J,K,R: inteiro funcao QP(N: inteiro): inteiro var A,B:inteiro inicio A <- 2 B <- 1 enquanto B <= N faca se EPRIMO(A) entao B <- B + 1 fimse A <- A + 1 fimenquanto retorne A - 1 fimfuncao funcao EPRIMO(M: inteiro): logico var QT,DI:inteiro inicio QT <- 0 DI <- 2 enquanto DI < M faca se M % DI = 0 entao QT<- QT + 1 fimse DI <- DI + 1 fimenquanto retorne QT = 0 fimfuncao inicio leia (J,K) R <- QP(K)-QP(J) escreva (R) escreva (QP(K)) escreva (QP(J)) fimalgoritmo

Exemplo 3
algoritmo "raiz quadrada" var a:real funcao sqrt(N:real):real retorne teste(N,1) fimfuncao funcao teste(X,G:real):real inicio se perto((X/G),G) entao retorne G senao retorne teste(X, melhor(X,G)) fimse fimfuncao funcao melhor(X,G:real):real inicio retorne (G+(X/G))/2 //a media entre G e X/G fimfuncao funcao perto(A,B:real):logico inicio retorne (B*0.001) > abs(A-B) fimfuncao inicio leia(a) escreval(a, sqrt(a)) fimalgoritmo

S-ar putea să vă placă și