Anda di halaman 1dari 20

ALGORITMO Profª.

: 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.

• LINGUAGEM DE ALTO NÍVEL


É uma linguagem que se aproxima mais da linguagem utilizada pelo ser humano. Exemplo típico é:
VisualG, Pascal, C, C++ e etc, ou seja, os compiladores.

• LINGUAGEM DE BAIXO NÍVEL


É o código que o computador executa diretamente. É composta de 0 e 1 e é conhecida como linguagem
binária.
Ambiente de programação?
É um aplicativo que combina editor de texto, compilador e outras séries de recursos para se programar sobre
uma determinada linguagem.
A conversão de uma linguagem de alto nível para uma linguagem de máquina é feita através de uma
ferramenta, conhecida como Compilador.

Técnico de Informática Página 3


ALGORITMO Profª.: Marcele Lima

Compilador: compilador é um programa que transforma o código escrito em uma linguagem de


programação, código objeto, que é escrito e uma linguagem de baixo nível como uma seqüência de
instruções a serem executadas por um sistema operacional.

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:

ENTRADA PROCESSAMENT SAÍDA


O

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.

Técnico de Informática Página 4


ALGORITMO Profª.: Marcele Lima

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.

Funções numéricas, algébricas e trigonométricas

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.

Técnico de Informática Página 5


ALGORITMO Profª.: Marcele Lima

3. Funções para manipulação de caracteres (strings)

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.

ABS() VALOR ABSOLUTO


SQRT() RAIZ QUADRADA
SQR() ELEVA AO QUADRADO
TRUNC() VALOR TRUNCADO
ROUND() VALOR ARREDONDADO
LOG() LOGARÍTIMO
SIN() SENO
COS() COSSENO
TAN() TANGENTE

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

Técnico de Informática Página 6


ALGORITMO Profª.: Marcele Lima

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

Técnico de Informática Página 7


ALGORITMO Profª.: Marcele Lima

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

Pseudocódigo: Este nome é uma alusão à posterior implementação, em uma linguagem de


programação, ou seja, quando formos programar em uma linguagem, como, por exemplo: pascal, então
estará gerando um código em pascal, por isso os algoritmos são independentes das linguagens.

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.

Programa <Nome do Programa>


<definições>
Inicio
<comandos>
Fim
Teste de Mesa

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

Receba a nota da prova 1


Receba a nota da prova 2
Some as notas e divida o resultado por 2
Exiba o resultado da divisão.

Prova 1 Prova 2 Média


70 90 80

Técnico de Informática Página 8


ALGORITMO Profª.: Marcele Lima

8. Formas de Representação Gráfica

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.

• Seta de Fluxo de Dados: indica o sentido do fluxo do dado.

• Entrada: Símbolo em função de um dispositivo qualquer de entrada ou saída de dados.

• Processamento: manipulação de dados.

• 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.

• Conector: é usado quando é preciso dividir o fluxograma.

• Conector: é usado para identificar conexo do fluxo em outra página.

Técnico de Informática Página 9


ALGORITMO Profª.: Marcele Lima

• Preparação ou Processamento Predefinido: representa um bloco de operações que não estão


incluídas na diagramação.

• Sub-Rotina: Representa um trecho de instrução que está fora do programa principal.

• 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.

• Modificações de Programas: indica a existência de uma instrução ou de um grupo de instruções que


irão modificar o programa.

• Teclado: são informações recebidas ou fornecidas.

• Disco Magnético: memória de massa para armazenamento magnético de dados.

• Tambor Magnético: memória de massa para armazenamento magnético de dados.

• Fita Magnética: memória de massa para armazenamento magnético de dados.

• Disquete: memória de massa para armazenamento magnético de dados.

Técnico de Informática Página 10


ALGORITMO Profª.: Marcele Lima

Veja o exemplo de um algoritmo para a verificação da aprovação ou reprovação de um aluno:

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.

Programa (Nome) Programa “Média”

Declaração de variável n1,n2: inteiro


M: Real
Inicio Inicio

Escreva (“Digite o 1º número”)


Leia (n1)
Escreva (“Digite o 2º número”)
Comandos Leia (n2)

Processamento M:= (n1+n2)/2;

Saída Escreva (“A média é: ”, M)


Fim FimAlgoritmo

Técnico de Informática Página 11


ALGORITMO Profª.: Marcele Lima

10. Estruturas de Controle

Toda linguagem de programação possui instruções que controlam o fluxo de execução de um


programa. As estruturas de controle são inseridas em um código com o objetivo de direcionar o fluxo de
execução fazendo com que algumas linhas de código só sejam executadas caso necessário. Estas estruturas
permitem que um código seja executado um número determinado de vezes ou quando obedecem a condições
lógicas.
Para desenvolver programas eficientes é necessário na maioria das vezes, tomar decisões durante a
execução do algoritmo, como por exemplo, se será exibido para o usuário se o aluno foi aprovado ou
reprovado, de acordo com os dados informados. Estas decisões interferem diretamente no andamento do
programa, e é através delas que resolvemos os problemas propostos.

10.1 Estruturas de Decisão – SE –

Os comandos de decisão, ou desvio, são técnicas de programação que conduzem estruturas de


programas que não são totalmente seqüenciais. As estruturas de decisão determinam se um bloco de ações
será ou não executado e acordo com as decisões tomadas por condições lógicas ou relacionais

Ex.: Estrutura de decisão Simples SE, com apenas 2 alternativas (Aprovado ou Reprovado)

Programa (Nome) Programa “Média”


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)

Processamento M:= (n1+n2)/2


Comandos Se (M >=70) entao
Escreva (M, “Aprovado”)
Saída Senão
Escreva (M, “Reprovado”)
Fim FimSe

FimAlgoritmo

Técnico de Informática Página 12


ALGORITMO Profª.: Marcele Lima

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

10.2 Estruturas de Condição – CASO -

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.

Ex.: Estrutura Composta, com várias alternativas. Programa Idades


Programa “ Idade”
Programa (Nome)
Idade: inteiro
Declaração de variável
Inicio
Inicio algoritmo "Times"
var time: caractere
inicio
escreva ("Entre com o nome de um time de
futebol: ")
leia (time)
escolha time
caso "Flamengo", "Fluminense", "Vasco",
Comandos "Botafogo"
escreval ("É um time carioca.")
caso "São Paulo", "Palmeiras", "Santos",
"Corínthians"
Processamento escreval ("É um time paulista.")
outrocaso
escreval ("É de outro estado.")
fimescolha
fimalgoritmo
Fim

Técnico de Informática Página 13


ALGORITMO Profª.: Marcele Lima

11. Estruturas de Repetição

Durante o desenvolvimento de um programa muitas vezes encontramos situações, onde é necessário


repetir um trecho do código várias vezes, como por exemplo, quando temos que calcular a média aritmética
das notas dos alunos de uma escola. Se fossemos utilizar a estrutura Se, teríamos que escrever um trecho de
cálculo para cada aluno da escola. Para resolver situações com esta, utilizaremos os comandos de repetição
que possibilitam que um trecho do código, seja repetido por quantas vezes forem necessárias.
Os comandos de repetição também conhecidos por loops ou looping, que significa laçadas, voltas.
São utilizados quando desejamos que um determinado conjunto de instruções sejam executadas um número
determinado ou indeterminados de vezes, ou enquanto um determinado estado de coisa prevalecer ou até que
seja alcançado.
Temos:
• Enquanto Faca
• Repita ate que
• Para de até faca
Nota: A principal vantagem desses comandos é que possibilitam a redução das linhas e a melhora do
desempenho.

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

Enquanto sal >= 1 faca


escreval ("digite o seu salário")
Processamento leia (sal)
res := sal * 10
escreval ("Seu salário é: ", res)
fimEnquanto
Escreval(“Programa Finalizado”)
FimAlgoritmo
Fim

Técnico de Informática Página 14


ALGORITMO Profª.: Marcele Lima

11.2 – REPITA ... ATE QUE-

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.

Programa (Nome) Programa “repetição”

Declaração de variável n1,n2; inteiro


media: real
Inicio resposta: caracter

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

Técnico de Informática Página 15


ALGORITMO Profª.: Marcele Lima

11. 3 – PARA FAÇA –

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.

Programa (Nome) Programa “Números”

Declaração de variável n: inteiro

Inicio Inicio
n:= 1
Comandos
Para n de 1 ate 10 faca
Processamento Escreval (n)
FimPara
FimAlgoritmo

Fim

Técnico de Informática Página 16


ALGORITMO Profª.: Marcele Lima

12. Estruturas de dados Homogêneas

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

Programa (Nome) Programa “Vetor Nomes”


Var
Declaração de variável Nome: vetor[1..5] de caracter
I: inteiro

Inicio Inicio

Comandos Para n de 1 ate 5 faca


Escreval (“Entre
Programa “Vetor com 5 Nomes”)
Nomes”
Leia(nome[i])
Var
limpatela
Nome: vetor[1..5] de caracter
FimPara
I: inteiro

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

Para n de 1 ate 5 faca


escreval(nome[i])
FimPara
Técnico de Informática Página 17
Fim
ALGORITMO Profª.: Marcele Lima

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.

Programa (Nome) Programa “Vetor Nomes”


Var
Declaração de variável Nome: vetor[1..2,1..2] de caracter
i,j: inteiro

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

para i de 1 ate 2 faca


para j de 1 ate 2 faca
escreva(mat[i,j])
se (j=2) entao
escreval("")
fimse
fimpara
fimpara
FimAlgoritmo
Fim

Técnico de Informática Página 18


ALGORITMO Profª.: Marcele Lima

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.

A utilização de sub-rotinas no desenvolvimento de um programa divide a complexidade do problema


tratado, e com isso a sua resolução fica mais simples, já que a análise é feita em pequenas partes do
problema, facilitando a compreensão do todo. No entanto, trabalhar com sub-rotinas requer muita atenção
com relação à divisão do programa para garantir a coerência entre as partes.
Este método faz com que o programa tenha uma estrutura parecida com um organograma, onde
existe um programa principal no topo, que deverá controlar todas as tarefas divididas em sub-rotinas. Cada
sub-rotina pode ser dividida novamente de modo a obter um programa menor e mais fácil de ser entendido e
manipulado. Essa técnica de dividir as sub-rotinas em unidades mais simples é que chamamos de
refinamento sucessivo.

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:

- Reduzem o tamanho do algoritmo.


- Facilitam a compreensão e visualização do algoritmo.
- São declaradas no início do algoritmo e podem ser chamadas em qualquer ponto após sua
declaração.
- Elas podem ser Funções que retorna algum valor ou Procedimentos.

Técnico de Informática Página 19


ALGORITMO Profª.: Marcele Lima

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

Procedimento Procedimento roterrada


Inicio
Escreval ("Resposta Errada")
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

Técnico de Informática Página 20


ALGORITMO Profª.: Marcele Lima

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.

Programa (Nome) ALGORITMO "Funções Personalizadas"


//Variável Global
Declaração de variável var
n1, soma: real

funcao Fquadrado(x: inteiro):inteiro


//Variável da função
var
Função quadrado:inteiro
Inicio
quadrado:= x*x
retorne quadrado
fimfuncao

Inicio do algoritmo INICIO


Escreva ("Escreva um Número : ")
LEIA (n1)

Comandos soma<-Fquadrado(n1)

ESCREVA ("Quadrado do número é ", soma)

FimAlgoritmo

Fim

Técnico de Informática Página 21


ALGORITMO Profª.: Marcele Lima

14. BIBLIOGRAFIA –

PAULA, EVERALDO ANTÔNIO; SILVA, CAMILA CECCATTO. LÓGICA DE PROGRAMAÇÃO APRENDENDO A PROGRAMAR. SÃO

PAULO: VIENA 2007

MANZANO, J.A.N.G; OLIVEIRA, J.F. ALGORITMO LÓGICA PARA DESENVOLVIMENTO DE PROGRAMAÇÃO DE COMPUTADORES.

SÃO PAULO: ÉRICA,2000

COSTA, RENATO. APOSTILA DE LÓGICA DE PROGRAMAÇÃO DE ALGORITMOS E PROGRAMAS

TONET, BRUNO; KOLIVER CRISTIAN. Apostila de Introdução aos Algoritmos

NAPRO. NÚCLEO DE APOIO APRENDIZAGEM DE PROGRAMAÇÃO, UCS UNIVERSIDADE DE CAXIAS


DO SUL
http://www.apoioinformatica.inf.br/

Técnico de Informática Página 22