Você está na página 1de 13

ÍNDICE

INTRODUÇÃO…………………………………………………………………….……1
LOGICA DE ALGORITMO DE UMA BIBLIOTECA...................................................2
TIPOS DE DADOS...........................................................................................................7
CONCLUSÃO.................................................................................................................11
ANEXO...........................................................................................................................12

0
INTRODUÇÃO

Um algoritmo é uma sequência de instruções ou comandos realizados de


maneira sistemática com o objectivo de resolver um problema ou executar uma tarefa.

A palavra "algoritmo" faz referência ao matemático árabe Al Khowarizmi, que


viveu no século IX, e descreveu regras para equações matemáticas.

Os algoritmos são como uma receita de bolo: uma sequência de ações que
devem ser executadas até que o objectivo final - o bolo pronto - seja atingido.

Os algoritmos se aplicam das tarefas simples do dia a dia a programas


computacionais complexos e ferramentas que identificam o comportamento do
consumidor na internet.

Todas as funções dos computadores, smartphones e tablets, por exemplo, são


resultado de algoritmos. Essas máquinas são capazes de realizar bilhões de comandos
em poucos segundos.

1
LOGICA DE ALGORITMO DE UMA BIBLIOTECA

As bibliotecas desempenham um papel crucial na aprendizagem. A primeira grande


biblioteca, em Alexandria, há dois mil anos, foi realmente a primeira universidade.
Consistia em um zoológico com vários arte factos culturais e grande parte do conhecimento
escrito do mundo antigo, atraindo estudiosos de todo o Mediterrâneo que viveram e
trabalharam em comunidades acadêmicas por anos a fio.

algoritmo "Biblioteca"
// Função :
// Autor :
var
//Criação das variaveis
cpf,nome,exclusao,endereco,livro, autor, editora, ano: vetor [1..20] de caracter
telefone:vetor [1..20] de inteiro
x,y,z: inteiro
opcao: inteiro
//criacao do menu de opções
procedimento MenuP
var
//não irei utilizar nenhuma var local neste procedimento.
inicio
Limpatela
Escreval (" ******************")
Escreval (" * MENU PRINCIPAL *")
Escreval (" ******************")
Escreval ("")
escreval ("#1 - Cadastrar livro")
escreval ("#2 - Buscar livro ")
escreval ("#3 - Listar livro")
escreval ("#4 - Excluir livro")
escreval ("#5 - Emprestar livro")
escreval ("#6 - Devolver livro")
escreval ("#7 - Cadastrar Leitor")
escreval ("#8 - Buscar leitor")
escreval ("#9 - Excluir leitor")
escreval ("#10 - Sair")
Escreval ("")
Escreva ("Entre com a sua opção: ")
leia (opcao)
escolha opcao
caso 1
cadastrolivro
caso 2
buscarlivro
caso 3

2
listarlivro
caso 4
excluirlivro
caso 5
emprestarlivro
caso 6
devolverlivro
caso 7
cadastroleitor
caso 8
buscarleitor
caso 9
excluirleitor
caso 10
sair
outrocaso
MenuP
fimescolha
fimprocedimento
// Fim procedimento menu principal

//inicio do menu Cadastro.


procedimento cadastrolivro
var
//não necessita utilizar nenhuma var local.
inicio
limpatela
Escreval ("")
Escreval (" *****************")
escreval (" * Cadastro Nº",x, " *")
Escreval (" *****************")
escreval ("")
escreva ("Nome do livro: ")
leia (livro[x])
escreva ("Nome do autor: ")
leia (autor[x])
escreva ("Editora: ")
leia (editora[x])
escreva ("Entre com o ano do livro: ")
leia (ano[x])
x <- x + 1
MenuP
fimprocedimento
// Fim procedimento Cadastro
// inicio do procedimento Listar
procedimento listarlivro
var
i: inteiro
c: caracter
inicio

3
limpatela
Escreval (" ****************")
Escreval (" * LISTAR *")
Escreval (" ****************")
para i de 1 ate x faca
escreval ("Nome do livro : ", livro)
escreval ("Nome do autor : ", autor)
escreval ("Nome da editora : ", editora)
escreval ("Ano de puplicacao : ", ano)
escreval ("")
fimpara
escreval ("Pressione *|ENTER|* para continuar")
leia (C)
MenuP// chama o MENU PRINCIPAL
fimprocedimento
// Fim procedimento Listar
// Busca os registros
procedimento buscarlivro
var
i, a : inteiro
busca, c : caracter
inicio
limpatela
Escreval (" ****************")
Escreval (" * BUSCAR *")
Escreval (" ****************")
escreva ("Entre com o nome do livro: ")
leia (busca)
a <- 0
para i de 1 ate (x-1) faca
se livro = busca então
a <- i
fimse
fimpara
//inicio de impressão do livro.
se a> 0 então
Escreval (" ***********************************")
Escreval ("Nome do livro : ", livro[a])
Escreval ("Nome do autor : ", autor[a])
Escreval ("Nome da editora : ", editora[a])
Escreval ("Ano de publicação : ", ano[a])
Escreval (" ***********************************")
Escreval ("")
senao
escreval ("O livro ", busca, " não foi encontrado em nosso banco de dados")
fimse
escreval ("Pressione *|ENTER|* para continuar")
leia (c)
MenuP
fimprocedimento

4
// Fim procedimento Buscar
// inicio do procedimento de excluir
procedimento excluirlivro
var
i, a : inteiro
busca, c : caracter
inicio
limpatela
Escreval (" ****************")
Escreval (" * EXCLUIR*******")
Escreval (" ****************")
escreva ("Entre com o nome do livro a ser excluído: ")
leia (busca)
a <- 0
para i de 1 ate (x-1) faca
se livro = busca então
a <- i
x<-i
fimse
fimpara
escreval (" Exclusão realizada com sucesso")
escreval ("Pressione *|ENTER|* para continuar")
leia (c)
MenuP
fimprocedimento
// inicio do procedimento de cadastro de leitor
procedimento cadastroleitor
var
//não precisa de nenhuma variavel local
inicio
limpatela
Escreval ("")
Escreval (" *****************")
escreval (" * Cadastro Nº",y, " *")
Escreval (" *****************")
escreval ("")
escreva ("Nome do aluno: ")
leia (nome[y])
escreva ("CPF do aluno: ")
leia (CPF[y])
escreva ("Endereço: ")
leia (endereco[y])
escreva ("Telefone ")
leia (telefone[y])
y <- y + 1
MenuP
fimprocedimento
// fim do procedimento de cadastro do leitor
// Busca os registros de alunos
procedimento buscarleitor

5
var
i, a : inteiro
busca, c : caracter
inicio
limpatela
Escreval (" ****************")
Escreval (" * BUSCAR LEITOR*")
Escreval (" ****************")
escreva ("Entre com o nome do leitor: ")
leia (busca)
a <- 0
para i de 1 ate (x-1) faca
se nome = busca então
a <- i
fimse
fimpara
//inicio de impressão do livro.
se a> 0 então
Escreval (" ***********************************")
Escreval ("Nome do Aluno : ", nome[a])
Escreval ("CPF do Aluno : ", cpf[a])
Escreval ("Endereço do Aluno : ", endereco[a])
Escreval ("Telefone do Aluno : ", telefone[a])
Escreval (" ***********************************")
Escreval ("")
senao
escreval ("O Aluno ", busca, " não foi encontrado em nosso banco de dados")
fimse
escreval ("Pressione *|ENTER|* para continuar")
leia (c)
MenuP
fimprocedimento
procedimento excluirleitor
var
i, a : inteiro
busca, c : caracter
inicio
limpatela
Escreval (" ****************")
Escreval (" * EXCLUIR*******")
Escreval (" ****************")
escreva ("Entre com o nome do leitor: ")
leia (busca)
a <- 0
para i de 1 ate (x-1) faca
se nome = busca então
a <- i
fimse
fimpara
//inicio de impressão do livro.

6
se a> 0 então
escreval (" Exclusão realizada com sucesso")
escreval ("Pressione *|ENTER|* para continuar")
leia (c)
MenuP
fimprocedimento
//inicio do procedimento SAIR
procedimento sair
inicio
limpatela
fimprocedimento
//fim do procedimento SAIR

inicio
//*********
//atribuir valor para X e Y
x<- 1
y<- 1
z<- 1
//*********

//MENU PRINCIPAL
MenuP
fimalgoritmo

TIPOS DE DADOS

O VisuAlg prevê quatro tipos de dados: inteiro, real, cadeia de caracteres e


lógico (ou booleano). As palavras-chave que os definem são as seguintes (observe que
elas não têm acentuação):

Inteiro: define variáveis numéricas do tipo inteiro, ou seja, sem casas decimais.

Real: define variáveis numéricas do tipo real, ou seja, com casas decimais.

Caractere: define variáveis do tipo string, ou seja, cadeia de caracteres.

Lógico: define variáveis do tipo booleano, ou seja, com valor VERDADEIRO ou


FALSO.

O VisuAlg permite também a declaração de variáveis estruturadas através da


palavra-chave vetor, como será explicado a seguir.

7
Nomes de Variáveis e sua Declaração Os nomes das variáveis devem começar
por uma letra e depois conter letras, números ou underline, até um limite de 30
caracteres. As variáveis podem ser simples ou estruturadas (na versão atual, os vetores
podem ser de uma ou duas dimensões). Não pode haver duas variáveis com o mesmo
nome, com a natural exceção dos elementos de um mesmo vetor.

Constantes e Comando de Atribuição O VisuAlg tem três tipos de constantes:

Numéricos: são valores numéricos escritos na forma usual das linguagens de


programação. Podem ser inteiros ou reais. Neste último caso, o separador de decimais é
o ponto e não a vírgula, independente da configuração regional do computador onde o
VisuAlg está sendo executado. O VisuAlg também não suporta separadores de milhares.

Caracteres: qualquer cadeia de caracteres delimitada por aspas duplas (").

Lógicos: admite os valores VERDADEIRO ou FALSO.

A atribuição de valores a variáveis é feita com o operador <-. Do seu lado


esquerdo fica a variável à qual está sendo atribuído o valor, e à sua direita pode-se
colocar qualquer expressão (constantes, variáveis, expressões numéricas), desde que seu
resultado tenha tipo igual ao da variável. Alguns exemplos de atribuições, usando as
variáveis declaradas acima:

a <- 3 Valor1 <- 1.5 Valor2 <- Valor1 + a vet[1] <- vet[1] + (a * 3) matriz[3,9]
<- a/4 - 5 nome_do_aluno <- "José da Silva" sinalizador <- FALSO

Operadores Aritméticos +,- Operadores unários, isto é, são aplicados a um único


operando. São os operadores aritméticos de maior precedência. Exemplos:

-3, +x. Enquanto o operador unário - inverte o sinal do seu operando, o operador
+ não altera o valor em nada o seu valor. \ Operador de divisão inteira.

Por exemplo, 5 \ 2 = 2. Tem a mesma precedência do operador de divisão


tradicional. +,- ,*,/ Operadores aritméticos tradicionais de adição, subtração,
multiplicação e divisão. Por convenção, * e / têm precedência sobre + e -. Para
modificar a ordem de avaliação das operações, é necessário usar parênteses como em
qualquer expressão aritmética. MOD ou % Operador de módulo (isto é, resto da divisão

8
inteira). Por exemplo, 8 MOD 3 = 2. Tem a mesma precedência do operador de divisão
tradicional. ^ Operador de potenciação. Por exemplo, 5 ^ 2 = 25. Tem a maior
precedência entre os operadores aritméticos binários (aqueles que têm dois operandos).

Operadores Aritméticos +,- Operadores unários, isto é, são aplicados a um único


operando. São os operadores aritméticos de maior precedência. Exemplos: -3, +x.
Enquanto o operador unário - inverte o sinal do seu operando, o operador + não altera o
valor em nada o seu valor. \ Operador de divisão inteira. Por exemplo, 5 \ 2 = 2. Tem a
mesma precedência do operador de divisão tradicional. +,- ,*,/ Operadores aritméticos
tradicionais de adição, subtração, multiplicação e divisão. Por convenção, * e / têm
precedência sobre + e -. Para modificar a ordem de avaliação das operações, é
necessário usar parênteses como em qualquer expressão aritmética. MOD ou %
Operador de módulo (isto é, resto da divisão inteira). Por exemplo, 8 MOD 3 = 2. Tem a
mesma precedência do operador de divisão tradicional. ^ Operador de potenciação. Por
exemplo, 5 ^ 2 = 25. Tem a maior precedência entre os operadores aritméticos binários
(aqueles que têm dois operandos). Operadores de Caracteres Manual do VisuAlg Curso
Técnico em Informática Prof. Arley Rodrigues www.portalgigaweb.com.br Página 8
Instituto Federal de Educação, Ciência e Tecnologia + Operador de concatenação de
strings (isto é, cadeias de caracteres), quando usado com dois valores (variáveis ou
constantes) do tipo "caractere". Por exemplo: "Rio " + " de Janeiro" = "Rio de Janeiro".

Operadores Relacionais =, , <=, >=, <> Respectivamente: igual, menor que,


maior que, menor ou igual a, maior ou igual a, diferente de. São utilizados em
expressões lógicas para se testar a relação entre dois valores do mesmo tipo. Exemplos:
3 = 3 ( 3 é igual a 3?) resulta em VERDADEIRO ; "A" > "B" ("A" está depois de "B"
na ordem alfabética?) resulta em FALSO. Importante: No VisuAlg, as comparações
entre strings não diferenciam as letras maiúsculas das minúsculas. Assim, "ABC" é
igual a "abc". Valores lógicos obedecem à seguinte ordem: FALSO < VERDADEIRO.

Operadores Lógicos nao Operador unário de negação. nao VERDADEIRO =


FALSO, e nao FALSO = VERDADEIRO. Tem a maior precedência entre os
operadores lógicos. Equivale ao NOT do Pascal. ou Operador que resulta
VERDADEIRO quando um dos seus operandos lógicos for verdadeiro. Equivale ao OR
do Pascal. e Operador que resulta VERDADEIRO somente se seus dois operandos
lógicos forem verdadeiros. Equivale ao AND do Pascal. xou Operador que resulta

9
VERDADEIRO se seus dois operandos lógicos forem diferentes, e FALSO se forem
iguais. Equivale ao XOR do Pascal.

Comandos de Saída de Dados escreva () Escreve no dispositivo de saída padrão


(isto é, na área à direita da metade inferior da tela do VisuAlg) o conteúdo de cada uma
das expressões que compõem . As expressões dentro desta lista devem estar separadas
por vírgulas; depois de serem avaliadas, seus resultados são impressos na ordem
indicada. É equivalente ao comando write do Pascal.

De modo semelhante a Pascal, é possível especificar o número de espaços no


qual se deseja escrever um determinado valor. Por exemplo, o comando escreva(x:5)
escreve o valor da variável x em 5 espaços, alinhado-o à direita. Para variáveis reais,
pode-se também especificar o número de casas fracionárias que serão exibidas. Por
exemplo, considerando y como uma variável real, o comando escreva(y:6:2)escreve seu
valor em 6 espaços colocando 2 casas decimais.

escreval (). Idem ao anterior, com a única diferença que pula uma linha em
seguida. É equivalente ao writeln do Pascal. Exemplos: algoritmo "exemplo" var x: real
y: inteiro a: caractere l: logico inicio x <- 2.5 y <- 6 a <- "teste" l <- VERDADEIRO
escreval ("x", x:4:1, y+3:4) // Escreve: x 2.5 9 escreval (a, "ok") // Escreve: testeok (e
depois pula linha) escreval (a, " ok") // Escreve: teste ok (e depois pula linha)

Manual do VisuAlg Curso Técnico em Informática Prof. Arley Rodrigues


www.portalgigaweb.com.br Página 9 Instituto Federal de Educação, Ciência e
Tecnologia escreval (a + " ok") // Escreve: teste ok (e depois pula linha) escreva (l) //
Escreve:

VERDADEIRO fimalgoritmo Note que o VisuAlg separa expressões do tipo


numérico e lógico com um espaço à esquerda, mas não as expressões do tipo caractere,
para que assim possa haver a concatenação. Quando se deseja separar expressões do
tipo caractere, é necessário acrescentar espaços nos locais adequados. Comando de
Entrada de Dados leia () Recebe valores digitados pelos usuário, atribuindo-os às
variáveis cujos nomes estão em (é respeitada a ordem especificada nesta lista). É
análogo ao comando read do Pascal. Veja no exemplo abaixo o resultado: algoritmo
"exemplo 1" var x: inteiro; inicio leia (x) escreva (x) fimalgoritmo

10
CONCLUSÃO

Nesta investigação, concluímos que uma das vantagens das bibliotecas é


possibilitar o estudo e pesquisa por meio da internet, como auxílio do computador e
telefones, aliando a leitura e tecnologia para optimizar a sua informação, servindo de
duas ou mais pessoas realizarem a leitura do mesmo livro simultaneamente.

E desempenham um papel prático na partilha de recursos de alto valor. Recursos


físicos, como livros e periódicos, filmes e vídeos, software e bases de dados eletrônicos,
além de ferramentas especializadas, como projetores, equipamentos gráficos e câmeras, são
compartilhados por uma comunidade de usuários.

11
ANEXO

12

Você também pode gostar