TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

CONCEITO DE ALGORITMO

Trabalho Escolar: CONCEITO DE ALGORITMO. Pesquise 859.000+ trabalhos acadêmicos

Por:   •  10/4/2014  •  2.024 Palavras (9 Páginas)  •  892 Visualizações

Página 1 de 9

CONCEITO DE ALGORITMO

“É uma seqüência de passos que visa atingir um objetivo bem definido”

(FORBELLONE, 1999)

“É a descrição de uma sequência de passos que deve ser seguida para realização de uma tarefa”

(ASCÊNCIO, 1999)

“ É uma sequencia finita de instrução cuja execução, em tempo finito, resolve um

problema computacional, qualquer que seja sua instância.”

(SALVETTI, 1999)

“São regras formais para obtenção de um resultado ou da solução de um problema,

englobando fórmulas de expressões aritméticas.”

(MANZANO, 1997)

“É a descrição de um conjunto de comandos que, obedecidos, resultam numa sucessão

finita de ações.”

(FARRER, 1999)

Analisando as definições anteriores, pode­se perceber que executamos no dia­a­dia

vários algoritmos, como:

• Somar números;

• Fazer um sanduíche;

• Trocar uma lâmpada;

• Ir para a escola;

• Sacar dinheiro no Banco 24 horas, etc..

OBS:

Um problema pode ser resolvido de diversas formas, porém gerando a mesma resposta.

Exemplos de Algoritmos:

ALG. 1: SOMA TRÊS NUMEROS

Passo 1: Receber os três números

Passo 2: Somar os três números

Passo 3: Mostrar o resultado obtido.

OU

Passo 1: Ler o 1º número

Passo 2: Ler o 2º número

Passo 3: Ler o 3º número

Passo 4: Adicionar os números lidos

Passo 5: Imprimir o resultado da operação.

ALG. 2: SACAR DINHEIRO NO BANCO 24 HORAS

Passo 1: Ir até um Banco 24 horas.

Passo 2: Colocar o cartão.

Passo 3: Digitar a senha.

Passo 4: Solicitar a quantia a quantia desejada.

Passo 5: Se Saldo for maior ou igual à quantia desejada, SACAR; caso contrário,

mostrar mensagem de impossibilidade de saque.

Passo 6: Retirar o Cartão.

Passo 7: Sair do Banco 24 horas.

MÉTODO PARA CONSTRUIR UM ALGORÍTMO:

1. Compreender completamente o problema;

2. Definir os dados de entrada;

3. Definir o processamento, ou seja, cálculos e restrições;

4. Definir os dados de saída;

5. Construir o algorítmo (Usar um tipo de algorítmos);

6.Testar o algorítmo (Teste de Mesa ­ Simulações)

Tipos de Algoritmos:

1. Descrição Narrativa.

2. Fluxograma.

3. PseudoCódigo.

1. Descrição Narrativa

Escrever, utilizando uma linguagem natural (ex. Língua Portuguesa), os passos a serem seguidos para a sua resolução.

Ex: Faça um algoritmo para mostrar o resultado da soma de dois números:

Passo 1: Receber os dois números

Passo 2: Somar os números

Passo 3: Mostrar o resultado obtido na soma.

Vantagem: não é necessário aprender nenhum conceito novo, pois uma língua natural, neste ponto, já é bem conhecida.

Desvantagem: a língua natural abre espaço para várias interpretações, o que posteriormente dificultará a transcrição desse algoritmo para o programa.

2. Fluxograma

Escrever, utilizando símbolos gráficos pré­definidos, os passos a serem seguidos para

sua resolução

Como primeiro exemplo de um algoritmo descrito por meio de fluxogramas vamos considerar o exemplo do algoritmo para decidir o que fazer em um dia de domingo. A Figura a seguir mostra o fluxograma equivalente à descrição feita por meio da linguagem natural:

Fluxograma:

Vantagem: o entendimento de elementos gráficos é mais simples que o texto narrativo.

Desvantagem: é necessário aprender a simbologia dos fluxograma e, além disso, o

algoritmo resultante não apresenta muito detalhes, dificultando sua transcrição para um programa.

PseudoCódigo ou Portugol:

Escrever, por meio de regras predefinidas, os passos a serem seguídos para a sua

resolução.

Exemplo: Faça um algoritmo para mostrar o resultado da soma de dois números.

ALGORITMO <somar_mostrar_dois_numeros>

INICIO­ALGORITMO

DECLARE N1, N2, SOMA NUMÉRICO

ESCREVA “Digite dois números”

LEIA N1, N2

SOMA N1 + N2 ←

ESCREVA “A soma é = “ , SOMA

FIM­ALGORITMO.

PseudoCódigo ou Portugol

Vantagem: a passagem do algoritmo para qualquer LP équase imediata, bastando

conhecer as palavras reservadas dessa LP.

Desvantagem: é necessário aprender regras do pseudocódigo.

VARIÁVEL

• É uma representação lógica (abstrata) de uma posição de memória.

• Possui uma nome e tipo e seu conteúdo pode variar ao longo do tempo, durante a execução de um programa.

• Ela só pode assumir um valor a cada instante.

Tipos de dados

Basicamente existem quatro de tipos de dados. São eles: inteiro, real, caracter e lógico.

Inteiro representa todo e qualquer número que pertença ao conjunto dos números inteiros. Na prática são os números positivos e negativos sem partes decimais. Exemplos: 2; -4; 145; -354.

Real representa todo e qualquer número que pertença ao conjunto dos números reais. Na prática são os números positivos e negativos que tem parte decimal. Exemplos: 3,545; -2,6; 0,157.

Caracter é qualquer dado composto por um conjunto de caracteres alfanuméricos. Os caracteres alfanuméricos são os números, as letras e os caracteres especiais (!,@,#,$,%, etc...). Exemplos: 3d; valor1; nome.

Lógico é um tipo de dado que só pode assumir dois valores.

Constantes e variáveis

Constante, como o nome indica, é um dado que não sofre nenhuma variação durante todo o algoritmo.

As constantes do tipo caracter sempre devem ser colocadas entre aspas ( " ). Exemplo: "Isto é uma constante caracter".

Convencionaremos que constantes do tipo lógico poderão assumir um dos seguintes valores: verdadeiro (V), ou falso(F).

Variável, como o nome indica, é um dado que tem a possibilidade de variar, ou seja, ter seu valor alterado durante a execução do algoritmo.

As variáveis do tipo caracter sempre devem ser colocadas entre aspas ( " ). Exemplo: "Isto é uma variável caracter".

Convencionaremos que variáveis do tipo lógico poderão assumir um dos seguintes valores: verdadeiro (V), ou falso(F).

Nomeando constantes e variáveis

Para nomear constantes e variáveis devemos obedecer as seguintes regras:

1. Os nomes devem começar por um caractere alfabético;

2. Podem ser constituídos de caracteres alfabéticos ou numéricos;

3. Não devem conter caracteres especiais;

4. Não devem ser utilizados nomes reservados da linguagem de programação que se vai usar.

Exemplos:

1. Nomes válidos: delta, X, BC4R, K7, notas, media, ABC, PI, ICMS.

2. Nomes inválidos: 5X, E(13), A:B, X-Y, Nota/2, AWq*, P&AA

Como regra de estilo eu costumo não utilizar acentuação, usar apenas letras maiúsculas para nomear as constantes e apenas letras minúsculas para nomear as variáveis. Mas, como gosto não se discute, fique livre para adotar estas regras ou não.

Declaração de variáveis

As variáveis devem ser declaradas antes do seu uso no algoritmo. Declarar uma variável é definir seu tipo e seu nome. Para a declaração de variáveis usaremos a seguinte sintaxe:

TIPO DE DADO: VARIÁVEL1, VARIÁVEL, VARIÁVEL n;

Exemplos:

inteiro: x;

caracter: nome, endereco, data;

real: PI, preco;

lógico: resposta, opcao;

A declaração das variáveis deve estar no início do algoritmo.

Duas variáveis não devem ter o mesmo nome.

Operadores aritméticos

Operadores aritméticos são os sinais que representam as operações básicas da matemática.

OPERADOR FUNÇÃO EXEMPLO

+ Adição 2 + 3, nr1 + nr1

- Subtração 5 - 3, b – c

* Multiplicação 12 * 4, x * y

/ Divisão 10 / 2, x / y3

% Resto da divisão 9 % 4 resulta em 1

27 % 5 resulta em 2

pot (x,y) Potenciação. Significa x elevado a y pot(3,2)

raiz(x) Raiz quadrada de x raiz(25)

Prioridade das operações:

1. Parênteses mais internos

2. pot, raiz

3. *, /, %

4. +, -Dentro da mesma prioridade as operações são executadas da esquerda para a direita.

Para alterar a prioridade utilize parênteses.

Operadores relacionais

Operadores relacionais são sinais utilizados para realizar comparações entre dois valores de mesmo tipo.

Os valores comparados podem ser constantes, variáveis ou expressões aritméticas.

OPERADOR FUNÇÃO EXEMPLO

= igual a 5 = 5, x = y

> maior que 8 > 4, x > y

< menor que 1 < 5, x < y

>= maior ou igual a 11 >= 5, x >= y

<= menor ou igual a 2 <= 5, x <= y

!= diferente de 34 != 5, a != b

O resultado obtido sempre será um valor lógico. Por exemplo, analisando a operação a + b = c, o resultado será verdadeiro se o valor da expressão aritmética a + b for igual ao conteúdo da variável c. Caso o resultado da expressão a + b seja diferente de c o resultado será falso.

Exemplos:

a) 2 * 4 = 24 /3 ® resultado V, pois 2 * 4 = 8 e 24 / 3 = 8;

b) (14 resto 4) < 1 ® resutaldo F, pois 14 resto 4 = 2 e 2 não é menor que 1;

c) (2 +(8 resto 7)) >= 3 ® resultado V, pois 2 + (8 resto 7) = 2 + 1 = 3 e 3 é maior ou igual a 3.

Operadores lógicos

Os operadores lógicos são sinais usados para montar operações relacionais compostas. São eles: não, e e ou

Exemplo: (notafinal >= 7,0) e (prestacao = V)

O resultado da operação acima será V se a variável "notafinal" for maior ou igual a 7,0 e a variável lógica "prestacao" for igual a V.

Prioridade de execução entre os operadores lógicos

1. não

2. e, ou

Prioridade de execução entre todos os operadores

1° parênteses mais internos

2°operadores aritméticos

3° operadores relacionais

4° operadores lógicos

Comando de atribuição

Este comando atribui um valor a uma constante ou variável. O valor deve ser compatível com o tipo de dado da constante ou variável, ou seja, para uma constante ou variável inteira deve ser atribuído um valor inteiro; para uma constante ou variável real deve ser atribuído um valor real; o mesmo ocorrendo com o tipo caracter e o lógico.

Sintaxe: VARIÁVEL <== VALOR;

VALOR pode ser um valor propriamente dito ou uma expressão.

Exemplos:

x <== 34;

notafinal <== ((nota1+nota2+nota3)/3);

LIGADO <== V;

preco <== 25,15;

Comandos para entrada e saída de dados

Para a entrada de dados adotaremos o comando ler, cuja finalidade é receber os dados que serão processados. Sua sintaxe é:

ler (VARIÁVEL1, VARIÁVEL2, ..., VARIÁVELn);

Para a saída de dados utilizaremos o comando imprimir, cuja finalidade é exibir os dados processados. Sua sintaxe é:

imprimir (VARIÁVEL1, VARIÁVEL2, ..., VARIÁVELn);

Você pode exibir texto juntamente com as variáveis. Para isso coloque o texto entre aspas ( " ). Exemplo:

imprimir ("Seu nome é :", nome)

Blocos de instruções

Um bloco de instruções é um conjunto de comandos com uma função definida. O algoritmo é formado de um ou mais blocos de instruções. O bloco de instruções também define os limites para o conhecimento de constantes e variáveis. Uma constante ou variável definida em um bloco só será conhecida dentro deste.

Para delimitar um bloco utilizamos os comandos início e fim. Exemplo:

início

inteiro: nota1, nota2; /* declaração das variáveis * /

imprimir ("Entre com a primeira nota :");

ler (nota1);

imprimir ("Entre com a segunda nota :");

ler (nota2);

imprimir ("A soma das duas notas é ", (nota1+nota2));

fim

Estrutura básica de um algoritmo

O algoritmo como um todo é um bloco de instruções, então deve ser delimitado pelos comandos início e fim.

As constantes e variáveis devem ser declaradas no início.

Os comandos são executados sequencialmente de cima para baixo e da esquerda para a direita, assim, devem ser escritos nesta sequência.

Cada comando deve terminar com ; (ponto-e-vírgula).

Abaixo segue um modelo da estrutura básica de um algoritmo:

início

/* declaração das constantes e variáveis*/

inteiro: var1, var2;

real: var3;

caracter: nome;

/* comandos */

comando 1;

comando 2;

comando 3;

..........

comando n;

fim

Observe que os comandos delimitados por início e fim estão avançados de dois espaços. Isto será muito utilizado pois facilita o entendimento do algoritmo.

Primeiros algoritmos

Abaixo seguem alguns algoritmos. Como pede na atps (atividade pratica supervisionada):

Média aritmética entre quatro notas

início

/* Declaração das variáveis */

real: nota1, nota2, nota3, nota4, soma, media;

/* Comandos * /

/* Entrada de dados */

imprimir ("Entre com a primeira nota :");

ler (nota1);

imprimir ("Entre com a segunda nota :");

ler (nota2);

imprimir ("Entre com a terceira nota :");

ler (nota3);

imprimir ("Entre com a quarta nota :");

ler (nota4);

/* Processamento */

soma <== (nota1 + nota2 + nota3 + nota4 );

media <== soma / 4 ;

/* Saída de dados */

imprimir ("A média aritmética é ", media);

fim

Cálculo da área de um quadrado

início

real: lado, area;

imprimir ("Entre com a medida do lado do quadrado :");

ler (lado);

area <== lado * lado;

imprimir ("A área do quadrado é ", area);

fim

Cálculo de juros

início

real: preco, taxa, juros, total;

imprimir ("Entre com o preço :");

ler (preco);

imprimir ("Qual a taxa de juros (%)?");

ler (taxa);

juros <== preco * (taxa / 100);

total <== preco + juros;

imprimir ("O total a pagar é ", total);

fim

Sumário

Conceito de algoritmo: .....................................................................................................4

Exemplos

Métodos

Tipos de algoritmo: .........................................................................................................7

Descrição narrativa

Fluxograma

Pseudocódigo

Variáveis e Constantes: ..................................................................................................12

Variável

Tipos de Dados

Variáveis e Constantes

Nomenclatura de variáveis e constantes

Declaração

Operadores Aritiméticos: ................................................................................................17

Operadores Relacionais: .................................................................................................18

Operadores Lógicos: .......................................................................................................19

Prioridade de execução entre todos os operadores

Comando de atribuição

Comando para entrada e saída de dados

Bloco de atribuição

Estrutura básica de um algoritimo: .................................................................................22

Exercícios ATPS (atividade pratica supervisionada): ....................................................23

Bibliografia: ...................................................................................................................26

Bibliografia

• Victorine Viviane Mizrahi, Treinamento em Linguagem C: módulo 1 e 2- São Paulo: Pearson Prentice Hall, 2007.

• Juan Alcántara Núnes, Universidade Anhanguera/ Uniban-Campus Maria Cândido- período noturno- São Paulo, 2013.

• Rosane Minghim, Manual Dev C++: Universidade de São Paulo- ICMC – Departamento de Ciência da Computação, Disponível o acesso: 13 de março de 2013.

Referências:

Algoritmos Computacionais ( Programas )- Disponível em: https://docs.google.com/a/aedu.com/file/d/0Bx2ZnHfyWt9QMnFjLXd4OHZ3V28/preview, ultima data de acesso: 02 de abril de 2013.

Algoritmos- Disponível em: https://docs.google.com/a/aedu.com/file/d/0Bx2ZnHfyWt9QTzluaU4yX1JRYTg/preview, ultima data de acesso: 02 de abril de 2013.

...

Baixar como  txt (15.2 Kb)  
Continuar por mais 8 páginas »