CONCEITO DE ALGORITMO
Trabalho Escolar: CONCEITO DE ALGORITMO. Pesquise 862.000+ trabalhos acadêmicosPor: • 10/4/2014 • 2.024 Palavras (9 Páginas) • 980 Visualizações
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, podese perceber que executamos no diaadia
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>
INICIOALGORITMO
DECLARE N1, N2, SOMA NUMÉRICO
ESCREVA “Digite dois números”
LEIA N1, N2
SOMA N1 + N2 ←
ESCREVA “A soma é = “ , SOMA
FIMALGORITMO.
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.
...