Beruflich Dokumente
Kultur Dokumente
: Marcele Lima
1. Lógica de Programação
Lógica: É o pensamento necessário para pessoas que desejam trabalhar com desenvolvimentos de
sistemas e programas.
É a técnica de encadear pensamentos para atingir determinados objetivos, esses pensamentos podem
ser descritos como uma seqüência de instruções que devem ser seguidas para cumprir uma determinada
tarefa.
Seqüência Lógica: são passos executados até atingir um objetivo ou a solução de um problema.
Programas: são conjuntos de comandos escritos em uma linguagem de computador como: (pascal,
C, Visual Basic, Delphi e outros), que são interpretados e executados pelo computador e a partir deste
momento o usuário pode usá-lo para o fim que foi desenvolvido. Como por exemplo: sistema de cadastro de
cliente controle de contas a pagar e receber.
Para que o computador possa entender o que está sendo pedido pelo programa, ou seja, as instruções
fazem-se necessário um meio de tradução entre a linguagem utilizada no programa de máquina. Esta
tradução é feita pelo compilador ou interpretador.
Instrução: conjunto de regras ou normas definidas para a realização de uma tarefa, ou seja, é a
informação que indica o computador a ação que deve ser executada.
Aplicativos: São programas criados geralmente para facilitar o trabalho do usuário nas tarefas diárias
mais comuns, para uso genérico.
Exemplo: NERO - EXCEL – WORD
Aplicativos Específicos: São programas desenvolvidos, para satisfazer uma necessidade não
encontrada nos softwares aplicativos existentes.
Linguagem de Programação?
Uma linguagem de programação é uma linguagem destinada a ser usada por uma pessoa para expressar um
processo através do qual um computador pode resolver um problema. As linguagens de programação podem
ser de alto nível, nível intermediário e baixo nível.
Interpretador: são programas que lêem um código fonte de uma linguagem de programação e os
convertem em código executável. Seu funcionamento pode variar de acordo com a implementação. Mas
existem também linguagens que funcionam como interpretadores e compiladores como o “C”.
Algoritmo: seqüência lógica finita de passos que levam a execução de uma tarefa, estas tarefas não
podem ser redundantes ou subjetivas em sua definição, devem ser claras e precisas. Podemos criar
algoritmos para qualquer tarefa.
Para montar um algoritmo precisamos primeiro dividir o problema apresentado em três fases
fundamentais:
Onde temos:
Entrada: são dados inseridos pelo usuário
Processamento: são os procedimentos utilizados para chegar ao resultado final.
Saída: são os dados já processados, ou seja, as informações resultado final.
Operadores Aritméticos:
+ adição
- subtração
* multiplicação
/ divisão
Operadores relacionais:
> maior que
< menor que
>= maior igual
<= menor igual
= igual
<> diferente
Operadores Especiais:
Mod retorna o resto da divisão
Div retorna o valor inteiro que resulta da divisão entre dois números, quociente da divisão.
Operadores Lógicos:
E retorna verdadeiro se ambas as partes forem iguais.
Ou retorna verdadeiro se uma das partes for verdadeira.
Não inverte o resultado de verdadeiro passa a ser falso e vice-versa.
2. Bibliotecas de Funções:
Toda linguagem de programação já vem com um grupo de funções que facilitam a vida do
programador. Estas funções realizam os cálculos aritméticos, trigonométricos e de manipulação e conversão
de dados mais comuns; assim, o programador não tem que reinventar a roda a cada programa que faz. A este
grupo de funções dá-se às vezes o nome de biblioteca.
Abs( expressão) Retorna o valor absoluto de uma expressão do tipo inteiro ou real.
Equivale a | expressão | na álgebra.
ArcCos( expressão) Retorna o ângulo (em radianos) cujo coseno é representado por
expressão.
ArcSen( expressão) Retorna o ângulo (em radianos) cujo seno é representado por
expressão.
ArcTan( expressão) Retorna o ângulo (em radianos) cuja tangente é representada por
expressão.
Cos( expressão) Retorna o co
seno do ângulo (em radianos) representado por expressão.
CoTan( expressão) Retorna a co
tangente do ângulo (em radianos) representado por expressão.
Exp( base, expoente) Retorna o valor de base elevado a expoente, sendo ambos expressões
do tipo real.
GraupRad( expressão) Retorna o valor em radianos correspondente ao valor em graus
representado por expressão.
Int( expressão) Retorna a parte inteira do valor representado por expressão.
Log( expressão) Retorna o logaritmo na base 10 do valor representado por expressão.
LogN( expressão) Retorna o logaritmo neperiano (base e) do valor representado por
expressão.
Pi Retorna o valor 3.141592.
Quad( expressão) Retorna quadrado do valor representado por expressão.
RadpGrau( expressão) Retorna o valor em graus correspondente ao valor em radianos
representado por expressão.
RaizQ( expressão) Retorna a raiz quadrada do valor representado por expressão.
Rand Retorna um número real gerado aleatoriamente, maior ou igual a zero
e menor que um.
RandI( limite) Retorna um número inteiro gerado aleatoriamente, maior ou igual a
zero e menor que limite.
Sen( expressão) Retorna o seno do ângulo (em radianos) representado por expressão.
Tan( expressão) Retorna a tangente do ângulo (em radianos) representado por
expressão.
OBS.: Essas funções referem-se ao programa que iremos usar, VisualG
Os valores que estão entre parênteses, representados pelas palavras como expressão, base e expoente,
são os parâmetros, ou como dizem alguns autores, os argumentos que passamos à função para que realize
seus cálculos e retorne outro, que usaremos no programa. Algumas funções, como Pi e Rand, não precisam
de parâmetros, mas a maioria tem um ou mais. O valor dos parâmetros naturalmente altera o valor retornado
pela função.
Asc (s : caracter) : Retorna um inteiro com o código ASCII do primeiro caractere da expressão.
Carac (c : inteiro) : Retorna o caracter cujo código ASCII corresponde à expressão.
Caracpnum (c : caracter) : Retorna o inteiro ou real representado pela expressão.
Compr (c : caracter) : Retorna um inteiro contendo o comprimento (quantidade de caracteres) da
expressão.
Copia (c : caracter ; p, n : inteiro) : Retorna um valor do tipo caracter contendo uma cópia parcial da
expressão, a partir do caracter p, contendo n caracteres. Os caracteres são numerados da esquerda para a
direita, começando de 1.
Maiusc (c : caracter) : Retorna um valor caracter contendo a expressão em maiúsculas.
Minusc (c : caracter) : Retorna um valor caracter contendo a expressão em minúsculas.
Numpcarac (n : inteiro ou real) : Retorna um valor caracter contendo a representação de n como uma
cadeia de caracteres.
Pos (subc, c : caracter) : Retorna um inteiro que indica a posição em que a cadeia subc se encontra em c, ou
zero se subc não estiver contida em c.
As funções abaixo são funções de âmbito geral que encontraremos em outras programações como em
Pascal.
4. PALAVRAS RESERVADAS
aleatorio e grauprad passo nao raizq
abs eco inicio pausa numerico rand
algoritmo enquanto int pi timer
arccos entao interrompa pos logico
arcsen Escolha leia procedimento logn
arctan escreva caracter fimalgoritmo quad
arquivo exp caso fimenquanto repita
asc faca compr fimescolha radpgrau
ate falso copia fimfuncao sen
cos fimpara maiusc literal senao
cotan fimprocedimento minusc log verdadeiro
cronometro fimrepita numpcarac randi tan
debug fimse ou mensagem outrocaso
declare função para se xou
5. Linearização de Expressões
Para a construção de algoritmo todas as expressões devem ser linearizadas, ou seja, colocadas em linhas.
EX.:
TRADICIONAL COMPUTACIONAL
2 (2/3 +(5-3))+1
+ (5 – 3 ) +1=
3
6. VARIÁVEIS:
São endereços de memória destinados a armazenar informações temporariamente, um algoritmo deve
possuir variáveis de entrada e de saída.
EX.: Somar 2 + 7 = 9
A B C
2 7 9
Obs.: De acordo com o exemplo acima A e B são variáveis de entrada e C é uma variável de saída.
CONSTANTE:
São endereços de memórias destinados a armazenar informações fixas, inalteráveis durante a execução do
programa.
EX.: PI = 3,1416
Tipos de variáveis:
Caracter = Textos Caracteres alfanuméricos
Inteiro = Números naturais, geralmente usados para contagem e ou quantidade.
Real = conjunto dos números reais, com ou sem casas decimais, geralmente usados para medição.
Lógico = Admite somente valores (verdadeiro ou falso).
Comandos Principais:
Comando de Atribuição Receba (:=) ou (<─)
Comando de Entrada (Leia)
Comando de Saída (Escreva)
Comando de Processamento Se, Enquanto, Faça ,Para faça, Faça Caso e Repita.
Exemplo de Algoritmo
7. Estrutura de Algoritmos
Os algoritmos são construídos em uma linguagem chamada pseudocódigo seguindo uma estrutura
básica para qualquer linguagem de programação. Não existe uma forma específica de como deve ser o
algoritmo, eles são independentes das linguagens de programação.
Nota: Pseudocódigo significa que o algoritmo está sendo desenvolvido em uma linguagem que não é
uma linguagem de programação. Nesta apostila usaremos o pseudocódigo denominado PORTUGOL
Portugol: Português estruturado, e sua equivalência em fluxograma. É importante lembrar que portugol não
é uma linguagem de programação, serve somente para auxiliar o programador a montar a estrutura de seu
programa.
O teste de mesa nada mais é do que seguir as instruções do algoritmo de maneira precisa para
verificar se há erros em sua estrutura, independente da linguagem que será implementada.
Exemplo: Algoritmo do cálculo de Média, considerando a nota da prova 1 como 70 e da prova 2 como 90
Os algoritmos podem ser representados por um conjunto de símbolos padronizados para facilitar a
compreensão do código chamado Fluxograma que tem como finalidade descrever o fluxo das informações.
Veremos aqui apenas os símbolos mais usados.
• Terminal: símbolo usado para indicar o início ou fim de um algoritmo.
• Decisão: indica a decisão que deve ser tomada, mostrando a possibilidade de desvios para outros
pontos do fluxo dependendo do resultado da comparação.
• Saídas de Dados em Impressora: è usado pra representar os dados que serão impressor.
• Saídas de Dados em Vídeos: è usado pra representar os dados que serão exibidos em vídeos.
• Outros Símbolos:
Há outros símbolos que são utilizados em outras áreas, mas também podem ser utilizados pela área
de processamento de dados.
Inicio
Media
Nota 1
Nota2
Média= Nota1+Nota2 / 2
F V
Média > =70
Reprovado Aprovado
Fim
Nesse fluxograma o algoritmo inicia e o usuário entra com as notas da primeira da segunda prova. O
compilador processa o cálculo da média das duas notas e verifica a decisão a ser tomada. Se a média for
menor que 70 a condição é falsa então é exibido na tela “Reprovado”, se a condição for maior ou igual a 70,
é verdadeira, nesse caso é exibido “Aprovado”.
9. Estruturas Sequências
É um código estruturado produzido por programadores, possuindo instruções que seguem uma seqüência de
processamento, executando toda a seqüência de comandos e retorna uma informação processada, ou seja
uma resposta esperada.
Ex.: Estrutura de decisão Simples SE, com apenas 2 alternativas (Aprovado ou Reprovado)
FimAlgoritmo
Ex.: Estrutura de decisão Encadeada, ninho de SE, ou seja, SE dentro de SE, com várias alternativas.
(Aprovado, Reprovado e Em Recuperação)
Programa “Média”
Programa (Nome)
n1,n2: inteiro
Declaração de variável
M: real
Inicio
Inicio
Escreva (“Digite o 1º número”)
Leia (n1)
Escreva (“Digite o 2º número”)
Leia (n2)
Comandos
M:= (n1+n2)/2
Se (M >=70) entao
Escreva (M, “Aprovado”)
Senão
Se (M <=40) entao
Processamento
Escreva (M, “Reprovado”)
Senão
Escreva (M, “Em recuperação”)
FimSe
fimSe
FimAlgoritmo
Fim
A estrutura de decisão caso é utilizada para testar, na condição uma única expressão. Compara-se
então o resultado obtido no teste com valores fornecidos em cada cláusula CASO e executa somente os
comandos do caso, cujo valor é igual ao declarado.
11.1 – ENQUANTO -
A estrutura de repetição enquanto é usada para permitir que um trecho do código possa ser
executado diversas vezes dependendo do resultado de um teste lógico.
Nesta estrutura de repetição, o teste lógico é feito no início do bloco de instruções,ou seja, a
verificação da condição é feita antes da execução dos comandos. As instruções apenas serão executadas se a
condição for verdadeira, nesta estrutura existe um retorno à condição após a execução dos comandos, e o
processo se repete até que a condição seja falsa, em caso de condição falsa são executados os comandos
posteriores a essa estrutura, ou seja, depois do fimEnquanto.
Programa “Salário”
Programa (Nome)
Sal, res: inteiro
Declaração de variável
Inicio Inicio
sal:=1
Comandos
Nesta estrutura de repetição, o teste lógico é feito no final do bloco de instruções, devido a isso os
comandos dessa estrutura são executados pelo menos uma vez, já que o teste é realizado após a execução dos
comandos.
Observe que o funcionamento do Repita é o contrário do Enquanto, já que irá processar o bloco de
instruções pelo menos uma vez até que a condição seja verdadeira, ou seja, mantém a repetição dos
comandos enquanto a condição for falsa e abandona quando for verdadeira. Já a estrutura enquanto
abandona quando for falsa.
Comandos
Processamento Inicio
Repita
Escreval (“Digite o 1º número”)
Leia(n1)
Escreval (“Digite o 2º número”)
Leia(n2)
Media:= (n1+n2)/2
Escreval (media)
Escreval(“ Você deseja continuar? SIM ou Não”)
Leia (resposta)
Ate que (resposta = “Não”)
FimAlgoritmo
Fim
A estrutura Para é utilizada somente quando já se sabe a quantidade de vezes que a execução de um
bloco de comandos deve ser repetida, pois não verifica uma condição mais sim uma determinada variável,
chamada de contador. Assim, quando é conhecido o número de vezes que uma determinada seguência de
instruções deverá ser executada utiliza-se a estrutura Para. Nesta estrutura a variável de controle recebe o
valor inicial e verifica se o valor da variável ultrapassa o valor final. Se não ultrapassa, o bloco de comandos
que está dentro da estrutura para será executado e a seguir a variável de controle será incrementada de mais
1, - ou outro valor determinado pelo programador - e faz uma nova verificação, se o valor não ultrapassar o
valor final o bloco de comandos será executado novamente, caso contrário será executado o comando depois
do FimPara.
Um aspecto importante a ser lembrado sobre essa estrutura de repetição é que ela sempre será
executada pelo menos uma vez, pois a variável de controle receberá o valor inicial como primeiro valor
estando então dentro da faixa de valores que permitem a execução do programa.
Inicio Inicio
n:= 1
Comandos
Para n de 1 ate 10 faca
Processamento Escreval (n)
FimPara
FimAlgoritmo
Fim
12.1- VETOR –
Há situações em que precisaremos trabalhar com muitas variáveis de mesmo tipo,como Por
exemplo um cadastro de nomes.
Para facilitar o nosso trabalho, podemos utilizar as estruturas de dados homogêneas, também chamada de
vetores.
Vetor são conjuntos de informações que têm mesmo tipo de dados, e cada uma dessas
informações pode ser acessada através do seu índice. Um vetor pode armazenar vários dados em sua
estrutura, e com isso pode manipular um maior número de informações de forma mais rápida.
Índice é a posição do vetor onde se encontram os dados alocados, sendo incrementado de um em
um, os valores do vetor devem ser sempre constantes inteiros e positivos, onde o valor inicial deve ser
sempre menor que o valor final.
Estrutura de um vetor
Declarando um vetor
Exemplo
var
nome : vetor[1..5] de caractere
1 2 3 4 5
ANA LUCAS JOÃO MARCIA JONAS
Inicio Inicio
Para
Inicion de 1 ate 5 faca
escreval(nome[i])
FimPara
Para n de 1 ate 5 faca
Escreval (“Entre com 5 Nomes”)
FimAlgoritmo
Leia(nome[i])
Fim limpatela
FimPara
12.2- MATRIZ –
Matrizes são variáveis compostas multidimensionais, ou seja, possuem várias linhas e colunas,
diferentes do vetor que possuem apenas uma linha e várias colunas. Os elementos da matriz são
representados por dois índices o 1º número indica linha e o 2º número indica a coluna. O processo de leitura
e escrita de dados de uma matriz é parecido com o processo do vetor. Cada elemento é lido e exibido um por
vez com o auxílio de uma estrutura de repetição
Por exemplo: Para representar o elemento Phelype da matriz nome devemos utilizar a notação:
M(2,1)
Veja uma representação de Matriz de 4 colunas e 5 linhas.
1 2
1 Ana Lucas
2 Phelype Marcele
Nota: O número de elementos da matriz é igual ao produto dos números de suas dimensões.
Inicio Inicio
para i de 1 ate 2 faca
Comandos para j de 1 ate 2 faca
escreval("Digite um nome")
leia(mat[i,j])
limpatela
fimpara
fimpara
13. - SUB-ROTINAS -
As sub-rotinas que também são conhecidas como módulos subprogramas ou subalgoritmos, é uma
fragmentação do programa principal que resolve uma parte pequena do problema tratado pelo algoritmo.
Quando o programa é muito complexo, o seu desenvolvimento é feito em unidades menores que se
relacionam. Cada sub-rotina funciona como um programa, podendo realizar todas as funções computacionais
vistas até agora.
As sub-rotinas são trechos de algoritmos que efetuam um ou mais cálculos determinados. Ao invés
de escrever-se um algoritmo grande, escrevem-se vários algoritmos menores, os quais, não isoladamente,
mas em conjunto, resolvem o problema proposto. É conveniente utilizá-los quando uma determinada tarefa é
efetuada em diversos lugares no mesmo algoritmo. Ao invés de escrever-se um trecho diversas vezes,
escreve-se um subalgoritmo e chama-o diversas vezes.
As Sub-rotinas:
13.1- PROCEDIMENTOS –
Procedimento é um tipo de sub-rotina que possui inicio, fim e um nome pelo qual é referenciado em
qualquer lugar do programa principal. Quando um procedimento é chamado, são executadas as instruções
que estão em seu interior e no término de seu fluxo de execução retorna automaticamente para a primeira
linha após a linha que o chamou.
Por exemplo:
ALGORITMO "Procedimento"
Programa (Nome) //Variável Global
var
Declaração de variável resposta,r: caracter
Procedimento rotcerta
Inicio
Escreval ("Resposta Certa")
FimProcedimento
INICIO
Inicio do Algoritmo
Escreval ("escolha a alternativa Correta:")
Escreval ("Quem Inventou a Lâmpada?")
Escreval ("A) Alexander Graham Bell")
Escreval ("B) Issac Newton")
Escreval ("C) Albert Eistein")
Escreval ("D) Benjamim Franklin")
Leia (resposta)
escolha (resposta)
Caso "A"
rotcerta
escreval (r)
caso "B"
roterrada
caso "C"
roterrada
caso "D"
roterrada
outrocaso
escreval (Maiusc("Digite apenas as letras que
correspondem as respostas."))
Fimescolha
FimAlgoritmo
Fim
13.2 - FUNÇÃO –
As funções são um bloco de instruções identificadas por um nome pelo qual é referenciada pelo
programa principal ou por uma sub-rotina. Assim as funções são muito parecidas com os procedimentos.
A criação de uma Função deve ser declarada, com os demais objetos, no início do programa. Estes
tipos de subalgoritmos, sempre retornam um e apenas um valor ao algoritmo que lhe chamou. Cada função
tem associada ao seu valor de retorno um tipo explícito. Da mesma maneira com que os parâmetros são fixos
para todas as chamadas o retorno também é fixo.
Nota: Sempre declare as variáveis globais antes da função. A função sempre fica dentro do
escopo algoritmo e Fim algoritmo. Procure não Declarar variáveis globais com o mesmo nome das
variáveis da função e não nomeie funções com mesmo nome de variáveis.
Por exemplo: Escreva um programa que utilize função para calcular o quadrado de um número.
Comandos soma<-Fquadrado(n1)
FimAlgoritmo
Fim
14. BIBLIOGRAFIA –
PAULA, EVERALDO ANTÔNIO; SILVA, CAMILA CECCATTO. LÓGICA DE PROGRAMAÇÃO APRENDENDO A PROGRAMAR. SÃO
MANZANO, J.A.N.G; OLIVEIRA, J.F. ALGORITMO LÓGICA PARA DESENVOLVIMENTO DE PROGRAMAÇÃO DE COMPUTADORES.