algoritmo: do Lat. algorithmos < Ár. alkharizmi: [Inform.] conjunto de etapas bem definidas necessárias para chegar à resolução de um problema.
January 5, 2006
No primeiro artigo desta série, expliquei o que é um algoritmo e até citei exemplos do cotidiano, como acordar ou falar com outra pessoa. Talvez você nem tenha se dado conta, mas usando listas numeradas eu representei os algoritmos ali presentes, inclusive destacando a entrada e a saída de cada situação-problema. Porém, não é sempre assim que representamos algoritmos.
Não existe uma regra padrão para a representação de algoritmos. Cada pessoa escreve de forma diferente, mas o importante é ser legível e convencionado. Por exemplo, o livro Algoritmos: Teoria e Prática* traz nas páginas 14 e 15 convenções do pseudocódigo que utiliza no livro inteiro. Já eu, quando vou passar o mesmo algoritmo, utilizaria outro tipo de código, você pode utilizar outro, e por aí vai. Mas todos têm que ter o mesmo foco: legibilidade e fácil implementação para qualquer linguagem.
* A partir deste artigo, sempre que eu falar "Cormen", "CLRS", "Introduction to Algorithms" ou "Algoritmos: Teoria e Prática" estarei me referindo a um livro que é referência essencial nessa área. A versão que tenho (de onde tiro o número das páginas) é a tradução da segunda edição americana publicada pela Elsevier em 2002.
Os pseudocódigos costumam parecer um código em linguagem Pascal traduzido para a sua língua.
Usam quase sempre estruturas que estamos acostumados a usar na programação, como se, enquanto, para, arrays, etc. Eles existem para que o algoritmo seja de fácil leitura para qualquer programador, que programe em qualquer linguagem "normal". Veja o pseudocódigo do Insertion Sort, um algoritmo de ordenação de vetores bastante simples:
para j2 até comprimento do vetor, faça elemento
vetor[j] i
j - 1 enquanto i > 0 e vetor[i] > elemento, faça vetor[i + 1]
vetor[i] i
i - 1 fim-enquanto vetor[i + 1]
elemento fim-para
(Não se preocupe em entender o que ele faz, AINDA, pois veremos isso mais adiante)
Se você programa em qualquer linguagem, você não terá dificuldade em traduzir esse pseudocódigo para ela. O pseudocódigo é sempre uma maneira bem simples de escrever o código. Veja por exemplo, o mesmo código em C:
for (j=2; vetor[j]!=NULL; j++) { elemento = vetor[j]; for (i = j-1; i > 0 && vetor[i] > elemento; i--) { vetor[i+1] = vetor[i]; } vetor[i+1] = elemento;}
Você deve ter percebido que ao invés de usar três linhas com uma declaração, um condicional e um incremento, eu juntei todos num só for. Mas por isso o algoritmo é bem simples e sempre parte do princípio de que a sua linguagem é simples. Veja só a implementação do código em Pascal e compare-a com a do pseudocódigo:
for j:=2 to comprimento, do begin elemento := vetor[j]; i := j-1; while i>0 && vetor[i] > elemento, do begin vetor[i+1] := vetor[i]; i := i-1; end; vetor[i] := elemento;end;
Linha por linha ela é exatamente igual! A única diferença é que o pseudocódigo é traduzido... Geralmente os pseudocódigos são parecidos sempre com essa base e suas implementações não são muito diferentes. E vai ser sempre dessa maneira que eu vou representar os algoritmos (usando pseudocódigos e alguns traduzindo para C para mostrar implementações). No entanto, qualquer dúvida sobre essa representação, fique a vontade para perguntar através dos comentários.
Eu estou fazendo faculdade de sistema de informação, na máteria de algoritmo eu estou meio que boiando, gostaria muito de começar a entender melhor, nesta matéria acima eu tenho um pouco de dificuldade para entender, gostaria que se podessem me mandar alguma coisa de inicio de algoritmo onde eu podesse entender melhor como montar um. com a questão e a resolução.
Obrigada!!!!
Eu preciso de uma ajuda urgentimente,pois tenho um trabalho de 20 questoes sobre Algoritmos que tenha:para,enquanto e repita.
epa, mas quem e’ que inventou esta cena ? n tinham mais nada para fazer LOL
[...] O artigo está em outro local agora: Como representar um algoritmo? [...]
pohhaa… na aula de logica e programaçaum eu recebi uns algoritmos para converter em Pseudocódigos ….. mas eu naum sei fazeh q merda… alguem me ajuda…
ler número calcular raíz quadrada e imprimi-lo
gostaria que se me tira-sse uma dúvida,aliás duas:
1_ o que faz um (1) algoritmo ser melhor que o outro?
2_ quais os critérios que são ultilizados para avaliar a qualidade de um algoritmo?
se fosse possíovel gostaria que me exclarecesse estas dúvidas. Obrigado
Eu estou fazendo faculdade de sistema de informação, na máteria de algoritmo eu estou meio que boiando, gostaria muito de começar a entender melhor, nesta matéria acima eu tenho um pouco de dificuldade para entender, gostaria que se podessem me mandar alguma coisa de inicio de algoritmo onde eu podesse entender melhor como montar um. com a questão e a resolução.
Obrigada!!!!
gostaria que se me tira-sse uma dúvida,aliás duas:
1_ o que faz um (1) algoritmo ser melhor que o outro?
2_ quais os critérios que são ultilizados para avaliar a qualidade de um algoritmo?
se fosse possíovel gostaria que me exclarecesse estas dúvidas. Obrigado
Olá, gostaria de uma dica na feitura de um algoritmo para dizer se um ano é ou não bissexto. Obrigado!!! Se a dica puder vir rápido, agradaço mais ainda. Valeu!!
cara estou precisando do programa para ordenação de vetores usando funtion.
Você sabe usar uma função?
Pessoal, segue um programa muito legal para ajudar na construção de algoritmos http://diuf.unifr.ch/softeng/student-projects/completed/kalt/NSD.html
Ele desenha diagramas de Nassi-Shneiderman. É uma versão antiga, feito em Delphi, estou tentando arranjar um tempo para passá-lo para .Net.
Estou com um pouco de dificuldades de entender algoritmos,por favor meajude.
Hola estou com um pouco de dificuldades de entender pq reamente o que eu queria entender e algoritmo pagerank alguma coisa do tipo !!!
Aló
Eu sou Emilia Baltazar, estou a fazer Engenharia Informática e Comunicação, tenho muitas dificuldades na elaboração de um programa na Linguagem Pascal, Gostaria de obter alguns exercícios ou como devo fazer para melhor perceber
quero saber como se elabora um programa na linguagem pascal
Exemplo de algoritmo me passa ai pra mim entender melhor
estou fazendo um traballho e presciso de um explicação?” exemplo?
Eu estou fazendo faculdade de ciencia da computação, na máteria de algoritmo eu estou meio que boiando, gostaria muito de começar a entender melhor, nesta matéria acima eu tenho um pouco de dificuldade para entender, gostaria que se podessem me mandar alguma coisa de inicio de algoritmo onde eu podesse entender melhor como montar um. com a questão e a resolução.
Obrigado!!!!
Elabore um algoritimo que emplemente uma calculadora, com as funções de somar,subtrair,multiplicar e dividir oprograma devera pedir ao ultilizador os dois operandos e perguntar qual operação pretedinta.
Como resolver isso…
oi, faço faculdade de engenharia civil e to estudando algoritmo, mas nao consigo entender como funciona a montagem de um algoritmo.Fico boiando nessa aula.Se alguem puder me mandar um material pra eu poder começar eu ficarei muito grato.
desde ja brigado pela força…
Weliton Farias
Eu to fazendo facu de analise de sistema e não sei como fazer um algoritimo ta muito dificil me ajude por favor.
esta era a questão e eu não sei:
faça um algoritimo que calcule a media ponderada final sendo os pesos 1,2,3,4 respectivos os bimestre dos anos.
usando o exercicio anterior, faça um algoritmo que diga se o aluno esta reprovado, em exame ou aprovado sendo reprovado menor que 4e aprovado maior ou igual a 7
vlw
Pessoal, em relação ao ano bissexto, segue
Se ano módulo 400 é 0 então bissexto
Senão se ano módulo 100 é 0 então não_bissexto
Senão se ano módulo 4 é 0 então bissexto
Senão não_bissexto
Pessoal, fazer algoritmo tem haver com resolver problemas. É necessário ter uma estratégia, é preciso organizar o raciocínio. Tem um livro legal que recomendo a todos.
A arte de resolver problemas, G.Polya
Interciência
estou com dificuldade de desenvolver algoritmos em linguagem pascal de método de posição falsa,método iterativo linera,bisseção e queria uma idéia
Oiiiii
estou fazendo ciências da computação, no 1º semestre, eu tava indo muito bem em algoritmos só que to começando a me confundir, com o “caso” e o “enquanto…faça” na linguagem pascal. Gostaria de saber se vc poderia me dar umas dicas, se tem alguma apostila boa para estudar, pois nessa quarta terei prova disso
grata
Bruna
Estou com bastante dificuldades em um conteúdo que devo fazer uma prova neste sábado próximo. Esse conteúdo é algortimo.
podes me ajudar nesse sentido?
Fala Tiago.. blz?
cara, eu li esse artigo ae sobre Algoritmos, e gostei muito! Eu estou fazendo facul de Eng Civil na UNITAU em taubaté e nao sei se vou ter essa matéria… mas meu trabalho está me forçando a aprender de algum jeito… mas isso quero fazer com mais calma… na verdade mesmo eu precisava saber de vc se vc pode me ajudar aqui… trabalho numa fabrica de lajes e eu quero agilizar a producao de vigas aqui, e pelo que eu vi, a arrumação para a produção das vigas nas pistas é feita através do uso de algoritmos… gostaria que vc me ajudasse com isso se possivel…
aguardo contato no msn ou pelo e-mail mesmo! Grato
quero um exemplo de como construi um algoritmo usando:
escreva ( )
para
entao
saida
se nao
muito obriga abraço
Olá Tiago, li os seus artigos e gostei muito, gostaria se possivel que voce me ajudasse faço Analise e Desenvolvimento de Sistemas e estou tendo muita dificuldade na matéria de algorimos gostaria que me ajudasse com o CASO, ENQUANTO REPITA. Desde já fico muito grata.
muito legal o artigo mas teria como resolver esse algoritmo nao consegui de jeito nenhum, assim é a pergunta:
CRIE UM PROGRAMA QUE CALCULE E ESCREVA O VALOR DE E CONSIDERANDO A SEGUINTE FORMULA: E=1+1/1!+1?2!/1/3!+….1/N!, ONDE N DEVERA SER INFORMADO PELO USUARIO.
esse é o algoritmo se puderem me ajudar agraço ate mais!!!!!!!!!!!!!!
Leia a velocidade maxima permitida em uma avenida a velocidade com que motorista estava dirigindo nele e calcule a mlta que uma pessoa vai receber , sabengdo que sao pagos.
a) 50 reais se o motorista estiver altrapassarem em até 10Km/h a velocidade permitida.(ex :velocisdade maxima: 50km/h motorista a 60km/h ou 56km/h);
b)100reais se o motorista ultrapasssar de 11 a 30 km/h a velocidade permitida.
c) 200 reais ,se estiver a cima de 31km 7h da velocidade permitida
caros colegas estou com uma grande dificuldade,preciso de um exemplo de algoritmo q imprima 10 vezes o nome de uma pessoa o programa deve ser feito com o comando repita , por favor me ajudem.
Estou no primeiro periodo de Sistemas de Informação. Estou com dúvidas em como desenvolver um algoritimo. Gentileza, se possível, enviar uma maneira prática de se construir. No meu curso estamos útilizando linguagem “C”. Se possível mandar alguns exemplos. obrigado!
Eu estou fazendo faculdade de ciencia da computação, na máteria de algoritmo eu estou meio que boiando, gostaria muito de começar a entender melhor, gostaria que se podessem me mandar alguma coisa de inicio de algoritmo onde eu podesse entender melhor como montar um. com a questão e a resolução.
Obrigado!!!!
como calculo um algoritimo que mostre se o numero é divisivel por 5??
Eu estou fazendo faculdade de ciencia da computação, na máteria de algoritmo eu estou meio que boiando, gostaria muito de começar a entender melhor, gostaria que se podessem me mandar alguma coisa de inicio de algoritmo onde eu podesse entender melhor como montar um. com a questão e a resolução.
Obrigado!!!!
com fazer indentificação de variavel. passo a passo
oi!
Eu faço faculdade de Sistemas de Informação,tenho uma semana para realisar a prova, por isso preciso estar por dentro do assunto, necessito de exemplos para melhorar a compreensão.
Obrigado!
quero que um usurio imprima “ano bissexto” ou “ano não bissexto”. deve ser usado o oprador condicional.(linguagem c).
preciso de ajuda escrever um algoritimo para calcular e escrever o valor de soma a) S=1+1/2+1/3…………..1/100
b) S= 1+3/2+5/3+7/4……..+90/50
c) escreva um algoritimo que calcule e escreva a soma dos 30 primeiros termos da serie abaixo
1000/1-997/2+994/3-991/4……….
Aê galera! Tenho um amigo que é muito desgraçado de nerd em programação, muito fera em exatas, sabe muuuuito o cara. o e-mail dele é salem-haddad@hotmail.com add ele lá, que ele aluda vcs.
gostaria de saber se tem alguem para me ajudar a fazer alguns exercícios de algoritmo para nota.estou com dificuldade na estrutura de repetição.desde já agradeço
quero criar um algoritmo que permita ler 6 notas de alunos de uma turma e os respectivos nomes, e identificar qual a nota máxima e a mínima e mostre quais os respectivos nomes dos alunos que as obtiveram num vetor
Bom dia!! Hellp!!
Estou precisando de ajuda para responder algumas questoes de algoritimo..co
Pago!!
msn perereu@hotmail.com
Um abraco!
Ola pessoal eu estou muito preocupado, ao ver este tema nos topicos que vao connstituir
os testes de acesso a faculdade. Eu nunca dei este tema epreciso de ter pelo menos alguns conhecimentos basicos.
estou iniciando no curso de SI e estou com grande dificuldades em algoritimo
estou pesquizando, quem quizer ajudar esta ai meu e-mail
manfredojr@superig.com.br
por favor estou fazendo licensiatura em computaçao, e não consigo aprender algoritmo, não entendo como montar e resolver um algoritmo. estou no primeiro semestre. me ajude. quando são numericas, sei que todas são variavel mas não consigo entender para montar. como iniciar, como escrever, ler, fazer somo e resolver por fim. seus simbolos enfim não entendo nada espero resposta anciosa. obrigada
boa noite!
presciso elaborar um algoritmo que:
leia dois numeros inteiros quaisquer
calcular e armazenar em variaveis a soma e o produto entre eles
a subtração e a divisão do primeiro valor pelo segundo
escreva os resultados armazenados nas variaveis na tela
considerando o segundo numero maior que zero.
agradeço desde já
se for possivel a resposta por e-mail agradeço tbm
ja ia esquecendo pode ser em pseudocodigo e fluxograma
ou os dois…
Por favor, vcs podem me solucionar este pequeno problema? Espero que sim!
Dado o seguinte vetor: 3 2 4 1 2 5 8 3 VET
1 2 3 4 5 6 7 8,
qual será a sua configuração depois de executados os comandos:
para i de 8 ate 5 passo -1 faça
inicio
AUX := VET{ i };
VET { i } := VET { 8-i+1 };
VET { 8-i+1} := AUX;
fim_para;
VET { 3 } := VET { 1 };
VET { VET { 3 } } := VET{ VET { 2 } };
agradeço deste já a atenção!!!
preciso de algumas noçoes basicas de algoritimos, pois estou fazendo t.i e nesta materia estou muito mau me ajude por favor grato ate+++
oi , estou fazendo curso de ciencias da computação ! e nao to entendendo nada de algoritmo ! sefr aque alguem poderia mim mandar um livro ou texto com as noçoes de algoritmo !desde ja agradeço !
gostaria q vocês me enviasem algo sobre algoritmos de repetição, não sei nada e estou com dificuldade, desde ja obrigado bjs…
Gostaria que alguem pudesse me ajudar a resolver o seguinte exercício de algoritmo:
Faça um vetor de [1..10] que leia os numeros e some o total deles, como por exemplo 3+5=8.
Aguardo soluções.
Patricia
Tenho algumas nocoes agora alguem ajuda me urgente to precisando de saber como programar
eu quero multiplicar vetores de 1 a 10 e que o resultado seja outro
Tenho uns exercícios para resolver e ainda não tive nenhuma aula do loco do professor. Alguém pode me ajudar?
a) Efetue a leitura de um numero inteiro e apresente o resultado do quadrado desse numero.
b) Efetue o algoritmo que leia fois números e imprima o resultado do quadrado da diferença do primeiro pelo segundo.
c) Efetue o calculo e apresente o valor de uma prestação em atrazo, utilizando a formula PRESTAÇÃO = VALOR + ( VALOR*(TAXA/100)*TEMPO).
d) Efetue o algoritmo que apresente o valor da conversão em real de um valor lido em dolar. O Programa de solicitar a cotação em dólar e a quantia em real e mostrar o valor em real.
e) Faça o algoritmo que efetue a leitura de um numero inteiro e efetue a sua apresentação se o valor for maior que três.
f) Faça o algoritmo que receba o código correspondente ao cargo de um funcionário e seu salário atual e mostre o cargo, o valor o aumento do seu novo salário. Os cargos estão descritos abaixo:
Código 01 – cargo Escriturário – percentual 50%
Código 02 – cargo Secretario – percentual 35%
Código 03 – cargo Gerente – percentual 20%
g) Faça o algoritmo que receba a altura e o sexo de uma pessoa e calcule e mostre seu peso ideal utilizando as formulas abaixo
Para homens (72.7*h)-58
Para Mulheres (62.1*h)-44,7
h) Faça o algoritmo que receba dois números e execute as opções do menu abaixo
1 O primeiro numero elevado ao segundo
2 A raiz quadrada de cada um dos dois numeros
3 A soma dos dos números
4 Verificar se o primeiro numero é par ou impar
5 A multiplicação do segundo pelo primeiro
E se digitar opção que não esteja descrita escreva a frase “opção invalida”
preciso resover esse problema mais não estou conseguindo.pode me ajudar?
faça um algoritmo que leia quatro caracteres e depois escreva estes caracteres invertido.por exemplo,leia a,b,c,d depois escreva d,c,b,a.
Para ler o que escrevo atualmente, visite meu novo blog.
Este design foi copiado do CSS Zen Garden e modificado com autorização de seu autor, Gunta Klavina.
Todo o conteúdo deste site (incluindo textos, imagens, arquivos de áudio e quaisquer outros trabalhos), exceto quando especificado o contrário, está licenciado por Tiago Madeira sob uma Licença Creative Commons que permite que você copie, distribua, exiba, execute a obra e crie obras derivadas desde que mantenha os créditos, não use sua modificação para fins comerciais e compartilhe seu trabalho derivado pela mesma licença.