Mostrando postagens com marcador Algoritmos. Mostrar todas as postagens
Mostrando postagens com marcador Algoritmos. Mostrar todas as postagens

quarta-feira, 17 de agosto de 2022

Algoritmos de Ordenação

 

Os problemas de ordenação são comuns tanto em aplicações comerciais quanto científicas. Entretanto, raro são os problemas que se resumem à pura ordenação de sequências de elementos. Normalmente, os problemas de ordenação são inseridos em problemas de pesquisa, intercalação e atualização. Isto torna ainda mais importante o projeto e a construção de algoritmos eficientes e confiáveis para tratar o problema.

O nosso objetivo é analisar os seguintes tipos de ordenação :

a. Selection Sort

b. Bubble Sort

c. Insertion Sort

d. Selection Sort

Algoritmos de Pesquisa Sequencial e Binária

A capacidade de armazenar informações foi um passo decisivo na evolução da ciência da computação e para o nível generalizado de utilização do computador. Com isso, a capacidade de recuperar informações, para posterior processamento, assume papel de suma importância na utilização cotidiana do computador, existindo para isto inúmeros exemplos, como: recuperação de dados de dados de transações bancárias de um cliente através de um número de conta, no cadastro de cliente/operações de um banco. Portanto, algoritmos de pesquisa devem ser projetados de forma a garantir a confiabilidade e eficiência exigidas pela importância das aplicações existentes.

A pesquisa de dados pode ser efetuada tanto em unidades de memória secundárias (disco rígido, disquetes, fita), quanto na memória principal do computador. 

ALGORÍTMO ESTRUTURADO - MODULARIZAÇÃO

 

A modularização consiste num método para facilitar a construção de grandes programas, através de sua divisão em pequenas etapas, que são : módulos, rotinas, sub-rotinas ou sub-programas. Permitindo o reaproveitamento de código, já que podemos utilizar um módulo quantas vezes for necessário, eliminando assim a necessidade de escrever o mesmo código em situações repetitivas.

Procedimentos - Um procedimento é um bloco de código precedido de um cabeçalho que contém o Nome do procedimento e seus parâmetros. Com isto, podemos fazer referência ao bloco de código de qualquer ponto do algoritmo através do seu nome e passando os seus parâmetros. 

Declaração :

Procedimento NomeDoProcedimento [(parâmetros)] 

Variáveis 

Inicio

Comandos;

Fim;

Onde, parâmetros representam as variáveis que devem ser passadas ao procedimento. Os parâmetros podem ser de : ENTRADA (passado por valor) ou de ENTRADA/SAÍDA (passado por referência). Os parâmetros de ENTRADA não podem ser alterados pelo procedimento, para que isso seja possível o parâmetro deve ser de ENTRADA/SAÍDA Para indicar que um parâmetro é de ENTRADA/SAÍDA devemos colocar a palavra VAR antes da sua declaração.

Algoritmo estruturado - Tipos de Dados

 Estruturas formadas por um conjunto de variáveis, permitindo modelar de forma mais natural os dados.

VETOR: estrutura formada por um conjunto unidimensional de dados de mesmo tipo (homogêneo) e possuindo número fixo de elementos (Estático). 

Na declaração dos vetores devemos informar o seu nome, seu tipo (inteiro, real, caracter, ...), e seu tamanho (número de elementos). 

Cada elemento do vetor é identificado por um índice (unidimensional), o qual indica a sua posição no vetor. 

Declaração :

NomeDoVetor : vetor[nº de elementos] de Tipo do Vetor 

Referência : 

NomeDoVetor[índice]

 

ALGORÍTMO ESTRUTURADO - Comandos de Entrada e Saída

 No algoritmo é preciso representar a troca de informações que ocorrerá entre o mundo da máquina e o nosso mundo, para isso, devemos utilizar comandos de entrada e saída, sendo que, a nível de algoritmo esses comandos representam apenas a entrada e a saída da informação, independe do dispositivo utilizado (teclado, discos, impressora, monitor,...), mas, sabemos que nas linguagens de programação essa independência não existe, ou seja, nas linguagens de programação temos comandos específicos para cada tipo de unidade de Entrada/Saída.

Comando de Entrada de Dados

Leia(variável_1, variável_2,...)

Comando de Saída de Dados

Imprima(expressão_1, expressão_2,...)

COMANDOS DE CONTROLE DE FLUXO:

Para representar a solução de um problema devemos escrever o conjunto de passos a serem seguidos, sendo que, a maioria dos problemas exigem uma dinâmica na sua solução, impondo assim que os algoritmos executem conjunto de instruções de acordo com as possíveis situações encontradas no problema original.