Você está na página 1de 37

Professor: Carlos Alberto de Albuquerque Silva

E-mail: carlos77.albuquerque@gmail.com
Tema da Aula: Algoritmos.

LINGUAGENS DE PROGRAMAO
Para que um computador eletrnico funcione, necessita ser

programado.
O processo de programao uma conversa controlada

entre o ser humano e o computador.


A comunicao realizada atravs de uma linguagem de

programao que o computador entenda.

LINGUAGENS DE PROGRAMAO
A comunicao pode ser feita utilizando uma linguagem de baixo ou

de alto nvel.
As linguagens de baixo nvel possibilitam uma comunicao em termos de mquina. As linguagens assembly. de mquina e As linguagens de alto nvel possibilitam maior facilidade de comunicao com o computador. So prximas humana. comunicao

A linguagem assembly mais fcil de usar. Assembly baseada comandos de instrues. em

So mais fceis de assimilar. So baseadas em palavras do idioma ingls. As linguagens que fazem parte dessa categoria so: FORTRAN, COBOL, BASIC, PASCAL, C, JAVA, Lua, C++, entre outras.

LINGUAGENS DE PROGRAMAO
As linguagens de programao encontram-se divididas em quatro

categorias de geraes:
1 gerao linguagens de mquina e assembly; 2 gerao FORTRAN, ALGOL, COBOL e BASIC; 3 gerao PL/1, PASCAL, C MODULA-2, C++, JAVA, Lua e ADA; 4 gerao Linguagens de consulta estruturada SQL.

LINGUAGENS DE PROGRAMAO
As linguagens de programao podem ser classificadas segundo

suas caractersticas funcionais:


Linguagem

procedural - programao de forma estruturada, construo de rotinas por meio de funes e procedimentos;

Linguagem

declarativa programao normalmente esttica (linguagem de marcao); e interaes de programas entre vrias unidades de programa denominadas objetos;

Linguagem orientada a objetos desenvolvimento de composies

LINGUAGENS DE PROGRAMAO
As linguagens de programao podem ser classificadas segundo

suas caractersticas funcionais (cont.):


Linguagem concorrente desenvolvimento de programas com

caractersticas de execuo de rotinas em paralelo;


Linguagem de consulta garante o acesso para a extrao de

informaes em bases de dados existentes em programas de gerenciamento de banco de dados (Structured Query Language SQL);
Linguagem de especificao define a documentao descritiva

em alto nvel de um sistema, sendo por vezes classificada como linguagem de projeto de programao (UML).

LINGUAGENS DE PROGRAMAO
Trabalho em formato de artigo (entregar em 26/08/2011): Pesquisar sobre os Paradigmas de Programao: O que Paradigma de Programao? Quais os tipos de Paradigma de Programao? Quais as datas, aproximadas, de cada Paradigma? Quais as linguagens em cada Paradigma (duas linguagens de

programao)?

ALGORITMOS E A LGICA DE PROGRAMAO


Qual

o significado computacional?

da

palavra

Algoritmo

sua

aplicao

A palavra algoritmos vem do latim, dos termos algorismos ou

algorithmos que esto associados ideias de algarismos por influncia do idioma grego a partir do termo arithms associado ideia de nmeros.
A palavra algoritmo aplicada, segundo o dicionrio Aurlio, em

matemtica e computao.
Na esfera matemtica est associada a um processo de clculo ou de

resoluo de um grupo de problemas semelhantes.


Na cincia da computao est associada a um conjunto de regras e

operaes bem definidas e ordenadas, destinadas soluo de um problema, ou de uma classe de problemas, em um nmero de passos finitos

ALGORITMOS E A LGICA DE PROGRAMAO


A partir das definies dadas, o termo algoritmo, do ponto de

vista computacional, pode ser entendido como regras formais, sequenciais e bem definidas a partir do entendimento lgico de um problema a ser resolvido por um programador com o objetivo de transform-lo em um programa que seja possvel de ser tratado e executado por um computador.

ALGORITMOS E A LGICA DE PROGRAMAO


Um algoritmo pode ser descrito basicamente de duas formas:
1 forma de forma grfica a partir da utilizao de diagramas de blocos. 2 forma de forma textual a partir de uma linguagem de projeto de

programao ou mesmo de uma linguagem de programao de computadores formal.


Fluxograma Convencional; Descrio Narrativa; Pseudocdigo (linguagem estruturada ou Portugol).

ALGORITMOS E A LGICA DE PROGRAMAO


DESCRIO NARRATIVA
Receita de bolo: Misture os ingredientes Unte a forma com manteiga Despeje a mistura na forma Se houver coco ralado ento despeje sobre a mistura Leve a forma ao forno Enquanto no corar deixe a forma no forno Retire do forno Deixe esfriar Tomando um banho: Entrar no banheiro e tirar a roupa Abrir a torneira do chuveiro Entrar na gua Ensaboar-se Sair da gua Fechar a torneira Enxugar-se Vestir-se
Clculo da mdia de um aluno: Obter as suas 2 notas de provas Calcular a mdia aritmtica Se a mdia for maior que 7, o aluno foi aprovado, seno ele foi reprovado

ALGORITMOS E A LGICA DE PROGRAMAO


DESCRIO NARRATIVA
Vantagens:
o portugus bastante conhecido por ns;

Desvantagens:
impreciso;

Pouca confiabilidade (a impreciso acarreta a desconfiana);


Extenso (normalmente, escreve-se muito para dizer pouca coisa).

ALGORITMOS E A LGICA DE PROGRAMAO


FLUXOGRAMA CONVENCIONAL

ALGORITMOS E A LGICA DE PROGRAMAO


FLUXOGRAMA CONVENCIONAL

ALGORITMOS E A LGICA DE PROGRAMAO


FLUXOGRAMA CONVENCIONAL
Vantagens:
Uma das ferramentas mais conhecidas; Figuras dizem muito mais que palavras; Padro mundial.

Desvantagens:
Pouca ateno aos dados, no oferecendo recursos para descrev-los ou

represent-los;
Complica-se medida que o algoritmo cresce;

ALGORITMOS E A LGICA DE PROGRAMAO


PSEUDOCDIGO
Algoritmo <nome_do_algoritmo> <declarao_de_variveis> <subalgoritmos> Incio <corpo do algoritmo> Fim
Algoritmo uma palavra que indica o incio da definio de um algoritmo em forma pseudocdigo. <nome_do_algoritmo> um nome simblico dado ao algoritmo com a finalidade distingui-los dos demais. <declarao_de_variveis> consiste em uma poro opcional onde so declaradas variveis globais usadas no algoritmo principal e, eventualmente, nos subalgoritmos. <subalgoritmos> consiste de uma poro opcional do pseudocdigo onde so definidos os subalgoritmos (Captulo 8). Incio e Fim so respectivamente as palavras que delimitam o incio e o trmino conjunto de instrues do corpo do algoritmo. de de as

do

ALGORITMOS E A LGICA DE PROGRAMAO


PSEUDOCDIGO
Algoritmo <nome_do_algoritmo> <declarao_de_variveis> <subalgoritmos> Incio <corpo do algoritmo> Fim

Algoritmo Calculo_Media Var N1, N2, MEDIA: real Incio Leia N1, N2 MEDIA (N1 + N2) / 2 Se MEDIA >= 7 ento Escreva Aprovado Seno Escreva Reprovado Fim_se Fim

ALGORITMOS E A LGICA DE PROGRAMAO


PSEUDOCDIGO
Vantagens:
Usa o portugus como base; Pode-se definir quais e como os dados vo estar estruturados; Passagem quase imediata do algoritmo para uma linguagem de

programao qualquer.

Desvantagens:
Exige a definio de uma linguagem no real para trabalho; No padronizado.

ALGORITMOS E A LGICA DE PROGRAMAO


Algoritmos (reviso)
Por que precisamos de algoritmos?

A importncia do algoritmo est no fato de termos que especificar uma

sequencia de passos lgicos para que o computador possa executar uma tarefa qualquer, pois o mesmo por si s no tem vontade prpria, faz apenas o que mandamos.
Com uma ferramenta algortmica, podemos conceber uma soluo para

um dado problema, independendo de uma linguagem especfica e at mesmo do prprio computador.

ALGORITMOS E A LGICA DE PROGRAMAO


Algoritmos (reviso)
Todo algoritmo deve apresentar algumas caractersticas bsicas:

Ter fim; No dar margem dupla interpretao; Capacidade de receber dados de entrada do mundo exterior; Poder gerar informaes de sada para o mundo externo ao ambiente do

algoritmo;
Ser efetivo (todas as etapas especificadas no algoritmo devem ser

alcanveis em tempo finito).

ALGORITMOS E A LGICA DE PROGRAMAO


Um ambiente para escrever algoritmos

ALGORITMOS E A LGICA DE PROGRAMAO


Um ambiente para escrever algoritmos
Resumidamente, qualquer computador pode executar 4

operaes bsicas:
Operaes de entrada e sada;
Operaes aritmticas; (adio, subtrao, multiplicao e diviso); Operaes lgicas e relacionais: (comparao, teste de condies

lgicas); Movimentao de dados entre os vrios componentes.

ALGORITMOS E A LGICA DE PROGRAMAO


Um ambiente para escrever algoritmos
Resolvendo um problema:
A partir de dois nmeros que sero informados, calcular a adio dos

mesmos;
a)
b) c)

Saber quais so os nmeros;


Calcular a soma dos nmeros; Responder questo com o valor do resultado.

Resoluo do mesmo problema em termos das operaes bsicas

citadas anteriormente:
a) b) c) d)

Operao de entrada de dados dos nmeros; Movimento do valor dos nmeros entre a memria ea ULA; Operao aritmtica de somar os 2 nmeros; Movimentao do resultado da ULA para guardar na memria;

e)

Operao de sada do resultado, que est guardado na memria, para o dispositivo de sada desejado.

ALGORITMOS E A LGICA DE PROGRAMAO


Estruturas chaves das construes de algoritmos
Existem 3 estruturas bsicas de controle nas quais se baseiam

os algoritmos: Sequenciao; Deciso; e Repetio.


Sequenciao
Os comandos do algoritmo fazem parte de uma sequncia, em que

bastante relevante a ordem na qual se encontram os mesmos, pois sero executados um de cada vez e na ordem em que aparecem.
Comando-1 Comando-2 Comando-3 : Comando-n

ALGORITMOS E A LGICA DE PROGRAMAO


Estruturas chaves das construes de algoritmos
Existem 3 estruturas bsicas de controle nas quais se baseiam

os algoritmos: Sequenciao; Deciso; e Repetio.


Deciso ou Seleo
Os Essa estrutura tambm conhecida por estrutura condicional. H a subordinao da execuo de um ou mais comandos

veracidade de uma condio.


Se <condio> ento <seq. de comandos-1> seno <seq. de comandos-2>

A deciso deve ser sempre usada quando h a necessidade de testar

alguma condio em funo da mesma tomar uma atitude.

Se tiver dinheiro suficiente, entao vou almocar em um bom restaurante. Caso contrario (senao), vou comer um sanduiche na lanchonete da esquina.

ALGORITMOS E A LGICA DE PROGRAMAO


Estruturas chaves das construes de algoritmos
Existem 3 estruturas bsicas de controle nas quais se baseiam

os algoritmos: Sequenciao; Deciso; e Repetio.


Repetio ou Iterao
Os Essa estrutura tambm conhecida por looping ou lao. A repetio permite que tarefas individuais sejam repetidas um

nmero determinado de vezes ou tantas vezes uma condio lgica permita.


a) vou atirar pedras na vidraca ate quebra-la; b) baterei cinco penaltis; c) enquanto tiver saude e dinheiro, vou desfrutar a vida.

ALGORITMOS E A LGICA DE PROGRAMAO


Refinamentos sucessivos
Um algoritmo considerado completo se os seus comandos forem

do entendimento do seu destinatrio.


Se um comando no for do entendimento do destinatrio ter que ser

desdobrado em novos comandos.


Algoritmo CALCULA_MEDIA Inicio Receba os dois numeros Calcule a media dos dois numeros Exiba o resultado Fim Podemos desdobrar o comando Calcule a media dos dois numeros em: Soma os dois numeros Divida o resultado por 2

ALGORITMOS E A LGICA DE PROGRAMAO


Tipos de Dados Primitivos
Os dados so elementos do mundo exterior, eles representam as

informaes manipuladas pelos seres humanos.


Os dados devem ser abstrados. Os dados podem ser classificados em trs tipos primitivos ou bsicos:
numricos (valores numricos - inteiros ou reais); caracteres (valores alfabticos ou alfanumricos);

lgicos (valores dos tipos falso e verdadeiro sim e no 0 e 1);

ALGORITMOS E A LGICA DE PROGRAMAO


Uso de Variveis e Constantes
Varivel tudo que est sujeito a variaes, que incerto, instvel ou

inconstante.
A cada varivel corresponde uma posio de memria, cujo contedo

pode variar ao longo do tempo durante a execuo de um algoritmo.


Toda varivel identificada por um nome ou identificador.
Deve ter como primeiro caracter uma letra;

Aps a primeira letra s pode conter letras, dgitos ou sublinha ( _ );


No pode conter espaos; No pode ser uma palavra reservada; Letras maisculas e minsculas so indiferentes.

ALGORITMOS E A LGICA DE PROGRAMAO


Uso de Variveis e Constantes

Palavras Reservadas

ALGORITMOS E A LGICA DE PROGRAMAO


Uso de Variveis e Constantes
Constante

- tudo o que fixo, estvel, inalterado, imutvel, contnuo, incessante, invarivel e de valor fixo.

Pode ser usada como rtulo de identificao. usada em expresses aritmticas.


pi = 3.14159265

ALGORITMOS E A LGICA DE PROGRAMAO


Comandos Bsicos
Atribuio O comando de atribuio o comando utilizado para

guardar um determinado valor em uma varivel.


O smbolo de atribuio (

expresso aritmtica est sendo passado ou transferido para a varivel posicionada a esquerda do smbolo de atribuio.
Soma Soma := valor1 + valor2; Soma = valor1 + valor2;

) usado para indicar que o valor de uma

valor1 +valor2

ALGORITMOS E A LGICA DE PROGRAMAO


Comandos Bsicos
Entrada de Dados
<leia> (<lista-variveis>)

Exemplo:
Leia (media) Leial (soma)

Sada de Dados
<escreva> (<lista-de-sada>)

Exemplo:
escreva (media)

escreval (soma)

ALGORITMOS E A LGICA DE PROGRAMAO


Expresses Aritmticas
Operadores Aritmticos representam operaes matemticas.

ALGORITMOS E A LGICA DE PROGRAMAO


Exerccios
Operadores Aritmticos representam operaes matemticas.

ALGORITMOS E A LGICA DE PROGRAMAO


Expresses Lgicas
As operaes lgicas podem ser consideradas afirmaes que sero

testadas pelo computador, tendo como resultado, um valor lgico (verdadeiro ou falso).
So utilizadas com os operadores relacionais e lgicos
Operadores

Relacionais so usados na comparao de duas expresses de qualquer tipo (retorna um valor lgico).

ALGORITMOS E A LGICA DE PROGRAMAO


Expresses Lgicas
As operaes lgicas podem ser consideradas afirmaes que sero

testadas pelo computador, tendo como resultado, um valor lgico (verdadeiro ou falso).
So utilizadas com os operadores relacionais e lgicos
Operadores Lgicos so usados para combinar expresses lgicas.

Você também pode gostar