Você está na página 1de 23

Introduo a Programao

Eng. Loureno S. Roberto

Topicos

Conceitos de programao e algortmos


Linguagens
Tradutores
Tipos de Algortmos (Introduo)

Algoritmos e Programa

Uma definio intuitiva para algoritmos :


O Algoritmo uma descrio de aes (passo-a-passo) que seguem uma
lgica para alcanar um objetivo.

Uma definio formal para algoritmos :


O Algoritmo uma sequncia de aes finitas encadeadas e lgicas que
descrevem como um determinado problema deve ser resolvido.

Caractersticas de algoritmos
rigoroso em sua definio
Legibilidade
Clareza e objectividade

PROGRAMA
uma adaptao ou codificao de um algoritmo atendendo as regras
de uma linguagem especifica.

Importancia do Algoritmo
Os

algoritmos

so

importante

porque

conseguimos

visualizar e testar ainda no papel, a soluo criada com


lgica de programao sem nos preocupar com detalhes
computacionais e uma vez concebida uma soluo
algortmica para um problema, esta pode ser traduzida
facilmente para qualquer linguagem de programao e
ser agregada das funcionalidades disponveis nos
diversos ambientes, ou seja, a codificao.

Linguagens
Linguagem o sistema atravs do qual o
homem comunica suas ideias e
sentimentos, seja atravs da fala,
da escrita ou
de
outros
signos
convencionais. Lingustica o nome da
cincia que se dedica ao estudo da
linguagem.

Linguagem de Programao
Uma linguagem de programao um conjunto de regras sintticas e
semnticas usadas para definir um programa de computador
(WIKIPEDIA, 2010).
Quando queremos criar ou desenvolver um software para realizar
determinado tipo de processamento de dados, devemos escrever um
programa ou varios programas interligados. No entanto, para que o
computador compreenda e execute esse programa, devemos escreve-lo
usando uma linguagem que tanto o computador quanto o criador de
software entendam. Essa linguagem e chamada de linguagem de
programao (ASCENCIO & CAMPOS, 2008).
Linguagens de programao so importantes para que programadores e
engenheiros de software possam escrever programas mais organizados e
com maior rapidez.

Classificao das linguagens de


Programao
Quanto ao grau de abstrao
Quanto gerao

Quanto ao grau de abstrao


Linguagem de programao de baixo nivel, cujos simbolos so uma
representao direta do codigo de maquina que sera gerado, onde
cada comando da linguagem equivale a um "opcode" do
processador, como Assembly.
Linguagem de programaco de mdio nivel, que possui simbolos
que podem ser convertidos diretamente para codigo de maquina
(goto, expressoes matematicas, atribuio de variaveis), mas
tambem simbolos complexos que so convertidos por um
compilador. Exemplo: C, C++.
Linguagem de programaco de alto nivel, composta de simbolos
mais complexos, inteligivel pelo ser humano e no-executavel
diretamente pela maquina, no nivel da especificao de algoritmos,
como Pascal, Fortran, ALGOL e SQL.

Quanto gerao
Primeira gerao, as linguagens de baixo nivel
(Assembly).
Segunda gerao, as primeiras linguagens
(Fortran, ALGOL,...)
Terceira gerao, as procedurais e estruturadas
(Pascal, C).
Quarta gerao, linguagens que geram programas
em outras linguagens (Java, C++), linguagens de
consulta (SQL).
Quinta gerao, linguagens lgicas (Prolog).

Tradutores
O objectivo de qualquer linguagem a comunicao entre duas
partes (emissor e receptor). Em LP, a comunicao ocorre entre o
programador e um programa tradutor. Cujo objectivo aceitar um
conjunto de instrues escritas em uma LP de alto nvel, que
independente da mquina, e fazer com que as actividades
especificadas por estas instrues sejam executadas pelo
computador.
Ou seja, como os computadores s podem executar programas
escritos em linguagem mquina, programas escritos em linguagem de
alto nvel devem ser traduzidos para verses equivalentes em
linguagem mquina, antes de serem executados.

Existem dois tipos fundamentais de tradutores: interpretadores


e compiladores.

Interpretadores
As instrues definidas na linguagen de alto nvel so
executadas directamente.
Ele traduz um comando de um programa de cada vez
e ento chama uma rotina para completar a execuo
do comando.
Mais precisamente, um interpretador um programa
que executa repetidamente a seguinte sequncia:
Pega a prxima instruo;
Determina as aces a serem executadas;
Executa estas aces

Compiladores
Produz a partir do programa de entrada, outro
programa que equivalente ao original, porm
numa linguagem que executvel.
Este programa resultante pode ser emu ma
linguagem que directamente executvel, tal
como linguagem de mquina, ou indirectamente
executvel, tal como outra linguagem para o
qual j existe um tradutor.

Interpretador X Compilador
Interpretao, apesar de ter um tempo maior de execu, tem
a vantage de no traduzir intrues que nunca so
executadas e de conseguir voltar instruo correspondente
na LP a partir de qualquer ponto da execuo.
O compilador precise traduzir cada instruo somente uma
vez, independente de quantas vezes a instruo executada.
Isto aplica-se tanto no caso de iterao como no caso de
execues repetidas do mesmo programa.
As vantagens de um compilador em geral superam as do
interpretador na prtica, o que faz com que esta forma de
traduo seja uma das mais usadas.

Etapas para o desenvolvimento de


um programa
1. Analise Nesta etapa, estuda-se o enunciado do
problema para definir os dados de entrada, o
processamento e os dados de saida.
2. Algoritmo Ferramentas do tipo descrio
narrativa, fluxograma ou portugues estruturado so
utilizadas para descrever o problema com suas
solucoes.
3. Codificao O algoritmo transformado em
codigos da linguagem de programao escolhida para
se trabalhar.

Regras para construo do


Algoritmo
Para escrever um algoritmo precisamos descrever a
seqncia de instrues, de maneira simples e objetiva. Para
isso utilizaremos algumas tcnicas:
1. Usar somente um verbo por frase
2. Imaginar que voc est desenvolvendo um algoritmo para
pessoas que no trabalham com informtica ou cincias
exatas
3. Usar frases curtas e simples
4. Ser objetivo
5. Evite usar palavras que tenham sentido dbio
6. Procure dividir o problema em etapas menores.

Tipos de Algoritimos
Existem diversas formas de representao de algoritmos,
mas no h um consenso com relao melhor forma delas.
O critrio usado para classificar hierarquicamente estas
formas est diretamente ligado ao nvel de detalhe,
inversamente ao grau de abstrao oferecido.
Dentre as formas de representao de algoritmo mais
conhecidas, destacam-se:
A descrio narrativa;
O pseudocdigo (tambm
estruturada ou Portugol);
O fluxograma convencional.

conhecido

como

linguagem

I. Descrio Narrativa
Nesta forma de representao, os algoritmos so expressos em linguagem
natural, por exemplo:
ALGORITMO (RECEITA DE BOLO)
PASSO 00: Separar os ingredientes;
PASSO 01: Bater duas claras em neve;
PASSO 02: Adicionar duas gemas;
PASSO 03: Adicionar uma xcara de acar;
PASSO 04: Adicionar duas colheres de manteiga;
PASSO 05: Adicionar uma xcara de leite de coco;
PASSO 06: Adicionar farinha e fermento;
PASSO 07: Verificar se est doce o suficiente;
PASSO 08: Colocar numa forma e levar ao forno em fogo brando;
PASSO 09: Retirar do forno;
PASSO 10: Tirar da forma e servir;
FIM

Uma vantagem deste tipo de algoritmo e


sua facilidade, pois no ha necessidade
de novos conhecimentos para empregalo.
Uma desvantagem e a abertura para
varias interpretacoes que a linguagem
natural proporciona.

II. Pseudocdigo
O pseudocdigo uma tcnica narrativa denominada, tambm
conhecida como portugus estruturado ou chamada por alguns de
portugol.
A maioria esmagadora das linguagens de programao de
computadores em lngua inglesa. Para facilitar o aprendizado de lgica
de programao foram criadas algumas pseudolinguagens.
Basicamente, uma notao para algoritmos, a ser utilizada na
definio, criao, desenvolvimento e documentao dos programas
.
Algumas Palavras Chave:
Inicio, Fim, Algoritmo, Enquanto, Se, ento, Para, At, At que, Leia,
Escreva, Faa, Repita, FimSe, FimEnquanto, FimSelecione, entre outras
que veremos adiante.

Programa mdia
Incio
Var Nome: caractere
N1, N2: real
Soma, mdia: real
Imprima Informe nome e notas do aluno:
Leia nome
Leia n1
Leia n2
Soma <= n1 + n2
Mdia <= soma / 2
Imprima nome
Imprima Mdia
Se mdia >=5 Ento Imprima Aprovado Caso contrrio Imprima
Reprovado
Fim Se
Fim

Fluxograma
Sabemos que uma figura fala por mil palavras. No processo
de aprendizado fixamos com mais facilidade imagens do que
conceitos escritos.
Consiste em analisar o enunciado do problema e escrever,
utilizando simbolos graficos definidos, os passos para a
solucao do problema. Uma vantagem e a simplicidade que os
elementos graficos proporcionam para o entendimento. Uma
desvantagem e a necessidade de aprender a simbologia do
fluxograma.
Fluxograma uma ferramenta usada e desenvolvida pelos
profissionais de anlise de sistemas, bem como, por alguns
profissionais de Organizao, Sistemas e Mtodos.

Exemplo
Faa um algoritmo para mostrar o
resultado da multiplicao de dois
numeros.

Bibliografia
https://www.inf.pucrs.br/~gustavo/disciplinas/
pli/material/paradigmas-aula08.pdf