apostila de lógica de programação

26
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. Técnico de Informática Página 3

Upload: marcosrang5520

Post on 25-Jun-2015

259 views

Category:

Documents


4 download

TRANSCRIPT

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:

Onde temos:Entrada: são dados inseridos pelo usuárioProcessamento: 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ãoDiv 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

ENTRADA PROCESSAMENTO

SAÍDA

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 coseno do ângulo (em radianos) representado por expressão.

CoTan( expressão) Retorna a cotangente 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 ABSOLUTOSQRT() RAIZ QUADRADASQR() ELEVA AO QUADRADO

TRUNC() VALOR TRUNCADOROUND() VALOR ARREDONDADO

LOG() LOGARÍTIMOSIN() SENOCOS() COSSENOTAN() 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õesPara a construção de algoritmo todas as expressões devem ser linearizadas, ou seja, colocadas em linhas.EX.:

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

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

A B C2 7 9

2

3

+ (5 – 3 ) + 1 = (2/3 +(5-3))+1

TRADICIONAL COMPUTACIONAL

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 1Receba a nota da prova 2Some as notas e divida o resultado por 2Exiba o resultado da divisão.

Prova 1 Prova 2 Média70 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:

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)

Declaração de variável

Inicio

Comandos

Processamento

SaídaFim

Técnico de Informática Página 11

Programa “Média”

n1,n2: inteiroM: RealInicio

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

M:= (n1+n2)/2;

Escreva (“A média é: ”, M)FimAlgoritmo

Inicio

MediaNota 1Nota2

Média= Nota1+Nota2 / 2

Média > =70

Reprovado

Fim

Aprovado

VF

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)

Declaração de variável

Inicio

ProcessamentoComandos

Saída

Fim

Técnico de Informática Página 12

Programa “Média”n1,n2: inteiroM: realInicio

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

M:= (n1+n2)/2Se (M >=70) entaoEscreva (M, “Aprovado”)SenãoEscreva (M, “Reprovado”)FimSe

FimAlgoritmo

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 (Nome)

Declaração de variável

Inicio

Comandos

Processamento

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 (Nome)

Declaração de variável

Inicio

Comandos

Processamento

Fim

Técnico de Informática Página 13

Programa “Média”

n1,n2: inteiroM: realInicioEscreva (“Digite o 1º número”)Leia (n1)Escreva (“Digite o 2º número”)Leia (n2)M:= (n1+n2)/2Se (M >=70) entaoEscreva (M, “Aprovado”)SenãoSe (M <=40) entaoEscreva (M, “Reprovado”)SenãoEscreva (M, “Em recuperação”)FimSefimSeFimAlgoritmo

Programa “ Idade”

Idade: inteiro

Inicioalgoritmo "Times"var time: caractereinicioescreva ("Entre com o nome de um time de futebol: ")leia (time)escolha timecaso "Flamengo", "Fluminense", "Vasco", "Botafogo"   escreval ("É um time carioca.")caso "São Paulo", "Palmeiras", "Santos", "Corínthians"   escreval ("É um time paulista.")outrocaso   escreval ("É de outro estado.")fimescolhafimalgoritmo

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 (Nome)

Declaração de variável

Inicio

Comandos

Processamento

Fim

Técnico de Informática Página 14

Programa “Salário”

Sal, res: inteiro

Iniciosal:=1

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

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)

Declaração de variável

Inicio

Comandos

Processamento

Fim

Técnico de Informática Página 15

Programa “repetição”

n1,n2; inteiromedia: realresposta: caracter

Inicio

RepitaEscreval (“Digite o 1º número”)Leia(n1)Escreval (“Digite o 2º número”)Leia(n2)Media:= (n1+n2)/2Escreval (media)Escreval(“ Você deseja continuar? SIM ou Não”)Leia (resposta)Ate que (resposta = “Não”)FimAlgoritmo

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)

Declaração de variável

Inicio

Comandos

Processamento

Fim

Técnico de Informática Página 16

Programa “Números”

n: inteiro

Inicio

n:= 1

Para n de 1 ate 10 facaEscreval (n)FimParaFimAlgoritmo

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 vetorDeclarando um vetor

Exemplo

var nome : vetor[1..5] de caractere

1 2 3 4 5ANA LUCAS JOÃO MARCIA JONAS

Programa (Nome)

Declaração de variável

Inicio

Comandos

Fim

Técnico de Informática Página 17

Programa “Vetor Nomes”VarNome: vetor[1..5] de caracterI: inteiro

Inicio Para n de 1 ate 5 facaEscreval (“Entre com 5 Nomes”)Leia(nome[i])limpatelaFimPara

Para n de 1 ate 5 facaescreval(nome[i])FimPara

FimAlgoritmo

Programa “Vetor Nomes”VarNome: vetor[1..5] de caracterI: inteiro

Inicio Para n de 1 ate 5 facaEscreval (“Entre com 5 Nomes”)Leia(nome[i])limpatelaFimPara

Para n de 1 ate 5 facaescreval(nome[i])FimPara

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.

Nota: O número de elementos da matriz é igual ao produto dos números de suas dimensões.

Programa (Nome)

Declaração de variável

Inicio

Comandos

Fim

Técnico de Informática Página 18

1 21 Ana Lucas2 Phelype Marcele

Programa “Vetor Nomes”VarNome: vetor[1..2,1..2] de caracteri,j: inteiro

Iniciopara i de 1 ate 2 faca 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 fimparaFimAlgoritmo

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:

Programa (Nome)

Declaração de variável

Procedimento

Inicio do Algoritmo

Fim

Técnico de Informática Página 20

ALGORITMO "Procedimento"//Variável Global

varresposta,r: caracter

Procedimento rotcertaInicioEscreval ("Resposta Certa")FimProcedimento

Procedimento roterradaInicioEscreval ("Resposta Errada")FimProcedimento

INICIO

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"roterradacaso "C"roterradacaso "D"roterradaoutrocasoescreval (Maiusc("Digite apenas as letras que correspondem as respostas."))FimescolhaFimAlgoritmo

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)

Declaração de variável

Função

Inicio do algoritmo

Comandos

Fim

Técnico de Informática Página 21

ALGORITMO "Funções Personalizadas"//Variável Global

varn1, soma: real

funcao Fquadrado(x: inteiro):inteiro//Variável da função

var quadrado:inteiro Inicio quadrado:= x*x retorne quadrado fimfuncao

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

soma<-Fquadrado(n1)

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

FimAlgoritmo

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