Você está na página 1de 29

1

Conceito de algoritmos.
Definição de lógica:
A lógica é a ciência que estuda as leis e critérios de validade que regem o pensamento.

Necessidade do uso da lógica:


É solucionar problemas e atingir os objetivos.
2

Programação estruturada:
É a técnica mais importante no projeto da lógica;
Sua metodologia de projeto objetiva:
• Agilizar a codificação e a escrita;
• Facilitar a depuração da sua leitura;
• Permitir a verificação de possíveis falhas;
• Facilitar a alteração e atualização dos programas;
Deve ser composta por quatro passos fundamentais:
• Escrever as instruções em sequências ligadas entre si apenas por estruturas de
sequências repetitivas ou de selecionamento;
• Escrever instruções em grupo pequenos e combiná-las;
• Distribuir módulos do programa entre os programadores
• Revisar o trabalho em reuniões.

Fluxograma:
É desenvolvida pelos profissionais de análise de sistemas;
Finalidade: Descrever o fluxo;
É representado por: Um símbolo de entrada, processamento e saída de dados.

Diagrama de blocos:
Desenvolvido pelo profissional que está ligado direto à programação
Finalidade: Descrever o método e a sequência do processo, pode ser desenvolvido em
qualquer nível de detalhamento;
Permite uma posterior codificação.

Algoritmo:
É um processo de cálculo matemático ou de resolução de um grupo de problemas.
Formas de representação gráfica.

3
4

Diagrama de blocos
Diagrama de blocos: É o melhor instrumento para avaliação do problema do fluxo de
informações de um dado do sistema.

Desenvolvimento correto de um diagrama de blocos :


• Deve ser quebrado em vários níveis, o primeiro com uma ideia geral e o restante
com maior detalhamento;
• Deve ser desenvolvido de cima para baixo e da esquerda para direita, sempre que
possível
• Não pode ocorrer cruzamento de linhas de fluxo de dados.
Resolução de problemas utilizando os
tipos de lógica linear, estruturada,
modular e português estruturado
Princípios de resolução de problemas:
É uma questão que foge a uma determinada regra, o qual impede de atingir um
5
determinado objetivo com eficiência e eficácia.

Particularidades entre lógicas:


Existem 5 tipos de lógicas: Linear , Modular, Estruturada, Diagrama de Chapin e
Português estruturado.

Linear:
Não está ligado a regras de hierarquias ou de estruturas de linguagens específicas de
programação.
Permite determinar a atribuição de recursos limitados, utilizando uma coleção de
elementos organizados ou ordenados por uma só propriedade, cada um deles seja
executado passo a passo de cima para baixo, em que tenha só um “predecessor” e um
“sucessor”.
Estruturada:
É a mais usada pelos profissionais de processamento eletrônico de dados;
Pontos fortes: Alta qualidade e baixo custo.
A sequência, seleção e iteração são as três estruturas básicas para construção do
diagrama de blocos

6
Modular:
Deve ser elaborada como uma estrutura de partes independentes, denominadas de
“módulos”, cujo procedimento é controlado por um conjunto de regras.
Sua metas são:
• Decompor um diagrama em partes independentes;
• Dividir um problema complexo em problemas menores e mais simples;
• Verificar a correção de um módulo de blocos, independentemente de sua utilização
como uma unidade em um processo maior.
7
Diagrama de Chapin:
Foi desenvolvido com o objetivo de substituir o diagrama de blocos tradicional por um
diagrama de quadros que permite apresentar uma visão hierárquica e estruturada da
lógica do programa.
Vantagem: É a representação das estruturas que tem um ponto de entrada e um ponto de
saída;
São compostos pelas estruturas básicas de (Sequência, Seleção e repartição.)

Pseudocódigo
Português estruturado (PORTUGOL)
Técnica narrativa denominada “pseudocódigo” ou portugol baseada em uma PDL,tem
como finalidade mostrar uma notação para elaboração de algoritmos, os quais serão
utilizados na definição, criação e desenvolvimento de uma linguagem computacional.
9

PORTUGOL/DIAGRAMA DE BLOCOS são as duas técnicas importantes para a


documentação da solução de um problema computacional na forma de um
programa de computador.

Tipos de dados
Existem 4 tipos de dados: inteiros,reais,caracteres e lógicos
Inteiros: 35,0,-56
Reais: 35,0,-56,1.2,-45.254
Caracteres: “programação”, “0438-7456”,”10”
Lógicos (booleanos) : verdadeiro e falso
Devem ser apresentados e delimitados pelo caractere (.) ponto.
ex: .falso. / .f. / .n.
.verdadeiro. / .v. / .s.
Operadores

10
Variáveis
O uso de variáveis:
Tudo aquilo que é sujeito a variações, que é incerto, instável ou inconstante.
O nome de uma variável é utilizado para sua identificação e posterior uso dentro de um programa.
Sendo assim, é necessário estabelecer algumas regras de utilização de variáveis:
• Nomes de uma variável poderão ser atribuídos com um ou mais caracteres;
• o primeiro caractere do nome de uma variável não poderá ser em hipótese alguma, um
número;sempre deverá ser uma letra; 11
• não pode possuir espaço em branco;
• não poderá ser uma palavra reservada (instrução ou comando);
• não poderão ser utilizados outros caracteres a não ser letras,números e sublinhado.

Uso de constantes:
tudo aquilo que é fixo ou estável. O valor 1.23 da fórmula seguinte é uma constante:
RESULTADO<- ENTRADA*1.23

Expressões

Estruturas de controle
Repetição do tipo: Teste lógico no início do Looping ( ENQUANTO )
Estrutura:
enquanto...faça...fim_enquanto
Efetua um teste lógico no início de um looping e verifica se é permitido executar o trecho
de instruções subordinado a esse looping.
(Poderá executar um determinado conjunto de instruções enquanto a condição verificada
for Verdadeira. No momento em que esta condição se torna Falsa, o processamento da
rotina é desviado para fora do looping. Se a condição for Falsa no início, o resto do
programa será ignorado.
12

Repetição do tipo: Teste lógico no fim do Looping ( REPITA )


Estrutura:
repita...até_que
Efetua um teste lógico no fim do looping;
Tem o seu funcionamento controlado por decisão;
Executa um conjunto de instruções pelo menos uma vez antes de verificar a validade da
condição estabelecida.
Sempre irá processar um conjunto de instruções até que a condição se torne verdadeira.
Repetição do tipo: Variável de controle (PARA) (tem preparação)
Estrutura:
para...de...até...passo...faça...fim_para
Tem o seu funcionamento controlado por uma variável denominada contador. Sendo
assim, poderá executar um determinado conjunto de instruções um determinado número
de vezes.

13
Estruturas de controle encadeadas
ENQUANTO: (SEMPRE COMEÇA COM CONDIÇÃO)

(ENQUANTO COM ENQUANTO) = 2 condições > instrução

14

(ENQUANTO COM REPITA) condição > instrução > condição


(ENQUANTO COM PARA) = condição > preparação > instrução

15

REPITA: (COMEÇA COM CONECTOR E TERMINA COM CONDIÇÃO)

(REPITA COM REPITA) = conector > instrução > 2 condições


(REPITA COM ENQUANTO) = conector > condição > instrução >
condição

16

(REPITA COM PARA) = conector > preparação > instrução > condição
PARA: (TEM PREPARAÇÃO)
para + para = duas preparações no início
para + enquanto = Preparação + condição
para + repita = preparação no começo e para no final

(PARA COM PARA) = preparação > preparação > instrução

17

(PARA COM ENQUANTO) = preparação > condição > instrução


(PARA COM REPITA) = preparação > instrução > condição

18

Estruturas de dados: vetores e matrizes.


Estrutura de dados homogêneas

Matrizes de uma dimensão ou vetores (unidimensionais)


Sua utilização mais comum está vinculada à criação de tabelas. É definida uma única
variável dimensionada com um determinado tamanho. A dimensão de uma matriz é
constituída por constantes inteiras e positivas.

Operações básicas com matrizes do tipo vetor


Uma matriz será representada por seu nome e seu tamanho entre colchetes [ ]. Desta
forma seria uma matriz MD [1..8], sendo seu nome MD, possuindo um tamanho de 1 até 8
( poderão ser armazenados em MD até 8 elementos.
Uma variável simples pode conter somente um valor por vez.
No caso das matrizes, poderão armazenar mais de um valor por vez, pois são
dimensionadas exatamente para este fim. Desta forma pode-se manipular uma
quantidade maior de informação com pouco trabalho de processamento, a manipulação
de uma matriz ocorrerá de uma forma individual, pois não é possível manipular todos
elementos ao mesmo tempo.
19

Atribuição de uma Matriz


var
nomedavariável : nomedainstrução [dimensão] de tipodedado
MD : conjunto [1..8] de real

Leitura dos dados de uma Matriz


A leitura de uma matriz é processada passo a passo, um elemento por vez. A instrução de
leitura é leia () seguida da variável mais o índice.
Escrita dos dados de uma matriz
Deverá ser utilizada a instrução escreva () seguida da indicação da variável e seu índice

20

Método de pesquisa sequencial


Efetua a busca da informação desejada a partir do primeiro elemento sequencialmente até
o último;
É lento mas é eficiente quando a matriz encontra-se desordenada.

Método de pesquisa Binária


É mais rápido que o sequencial;
Exige que a matriz esteja previamente ordenada;
Este método divide a lista em duas partes e procura saber se a informação a ser
pesquisada está acima ou abaixo da linha de divisão.
Vai dividindo até encontrar a informação que procura e despreza onde a informação não
estava.

Estrutura de dados heterogêneas


TABELA [2,3]
L C
L = Linha
C = Coluna
Operações básicas com matrizes de duas dimensões
A matriz de duas dimensões é desta forma: TABELA [1..8,1..5] onde seu nome é “tabela”,
possuindo um tamanho de 8 linhas [1..8] e 5 colunas [1..5] ou seja, é uma matriz de 8 por
5 (8x5), isto significa que pode ser armazenado em TABELA até 40 elementos (8x5=40)

21

Diagrama de blocos

Usa-se duas variáveis para controlar os dos índices, uma responsável pela linha e a outra
responsável pela coluna, Nota-se no diagrama abaixo:
Escrita dos dados de uma Matriz
Basta imprimir a variável que se refere à linha e a que se refere à coluna .
ex: escreva NOTAS : [I,J]

22

Atribuição de registros
Os tipos registro devem ser declarados ou atribuídos antes das variávei, pois pode ocorrer
a necessidade de declarar uma variável com o tipo registro anteriormente atribuído
Declaração de um tipo registro
Utiliza-se a instrução tipo em conjunto com a instrução registro...fim_registro

Leitura de registros
É efetuada com a instrução leia seguida do nome da variável registro e seu campo
correspondente separado por um caractere (.)
23

Estrutura de um registro de conjuntos


Utilização de sub-rotinas
As sub-rotinas (módulos subprogramas ou subalgoritmos)
É a parte menor de um programa grande dividido.
As sub-rotinas são utilizadas na divisão de algoritmos complexos, permitindo que um
problema grande e de difícil solução seja modulado;
24
Refinamento sucessivo
É o processo de dividir sub-rotinas em outras.

Método Top-Down (De cima para baixo)


É o método mais adequado para a programação estruturada.
É caracterizado por:
• O programador deverá ter em mente as principais tarefas que deverá executar;
• Deverá saber como será o programa principal;
• Após definir o programa principal, inicia-se o processo de detalhamento para cada
sub-rotina

A utilização deste método permite que seja efetuado cada módulo de programa em
separado, Assim permitindo que os módulos sejam testados separadamente garantindo
que o programa esteja completo e sem erros ao término.

Este método permite ao programador elaborar rotinas exclusivas.


Aplicação prática do sub de sub-rotinas e
procedimentos
Procedimento
É um bloco de programas contendo início e fim e será identificado por um nome, por meio
do qual será referenciado em qualquer parte do programa principal ou do programa
chamador da rotina.
25

Estrutura de controle com múltipla escolha


Utiliza-se quando há uma grande sequência de instruções do tipo se.
Estrutura: caso...fim_caso
Variável global X local
São dois tipos de variáveis usadas em um programa: Local e global.

Global
É uma variável que é declarada no início do algoritmo principal de um programa;
Pode ser utilizada por qualquer sub-rotina subordinada ao algoritmo principal.
É uma variável vista hierarquicamente por todas as sub-rotinas subordinadas à rotina
principal, que poderá ser o próprio programa ou uma outra sub-rotina.
26

Local
É uma variável que é declarada dentro de uma sub-rotina;
É válida somente dentro da rotina à qual está declarada.
As demais sub-rotinas e programa principal não poderão fazer o uso daquelas variáveis
como Global, pois não visualizam a existência delas.

Escopo das variáveis


Uma variável poderá ser considerada global para todas as sub-rotinas inferiores a uma
rotina principal, e dentro de uma dessas sub-rotinas a mesma variável poderá estar sendo
utilizada como local.
Utilização de parâmetros
Ponto de comunicação bidirecional entre subrotinas
Subrotinas <-> Programa principal.
Subrotinas <-> Outra de hierarquia mais alta.

Parâmetros formais e reais


27
Formais
São declarados por meio de variáveis juntamente com a identificação do nome da sub-
rotina, os quais serão tratados exatamente igual ao tratamento das variáveis globais ou
locais

Z é local e está sendo usada para armazenar a soma das variáveis A e B que
representam os parâmetros formais da sub-rotina CALCSOMA

Reais
Quando substituírem os parâmetros formais, na utilização de um programa principal à
sub-rotina ou uma rotina chamadora.

Toda vez que a sub-rotina CALCSOMA é chamada, faz-se o uso de parâmetros reais.
Desta forma, são parâmetros reais as variáveis : X,Y,W,T pois seus valores são
fornecidos pela instrução leia e também os valores 8 e 2.
Passagem de parâmetros
Ocorre quando é feita a substituição dos parâmetros formais pelos reais no momento da
execução da sub-rotina. Esses parâmetros são passados por variáveis de duas formas:
por valor e por referência.

Por valor (NÃO ALTERA O VALOR)


Caracteriza-se pela não alteração do valor do parâmetro real quando o parâmetro formal é
manipulado dentro da sub-rotina.
28
É utilizada somente para a entrada de um determinado valor.
O valor passado pelo parâmetro real é copiado para o parâmetro formal, que no caso
assume o papel de variável local da sub-rotina, desta forma, qualquer alteração que seja
dentro da sub-rotina não afetará o valor do parâmetro real correspondente, ou seja, o
processamento é executado somente dentro da sub-rotina, ficando o resultado obtido
“preso” na sub-rotina.
Por referência (ALTERA O VALOR)
Caracteriza-se pela alteração do valor do parâmetro real quando o parâmetro formal é
manipulado dentro da sub-rotina, desta forma, qualquer modificação feita no parâmetro
formal implica em alteração no parâmetro real correspondente.
A alteração efetuada é devolvida pela rotina chamadora.
É utilizada para que se tenha a saída de um determinado valor de dentro de uma sub-
rotina.

29

Você também pode gostar