Você está na página 1de 9

INTRODUOACOMPUTAOPESCAEQUIMICA

AULA04A08
ALGORITIMOELINGUAGENS
2.1Algoritmoefluxograma.2.2Instruesdeumalgoritmo.2.3Tiposdelin
guagens(mquina,simblicaeautonvel)2.4programa,traduoeexecuo
LINGUAGENSDEPROGRAMAO
3.1Definiodeumalinguagem(PASCAL,FORTRANouBASICO)conjuntode
caracteres,palavrasreservadaseidentificadores,tiposdedadossimples.3.2
Declaraodetiposimples.3.3Comandosdeentradaesada.3.4Comando
deatribuio.3.5Operadoreseexpresses.3.6Exerccios.
ESTRUTURASDECONTROLES
4.1Comandosrepetitivos.4.2Comandosseletivos.4.3Exercciosemlab.

Traduo e Compilao de Programas


Ao contrrio do que alguns pensam o computador no uma mquina inteligente, ela
precisa receber ordens (comandos) explicando exatamente como uma tarefa deve ser feita por
ele. Para facilitar o trabalho dos seres humanos que lidam com computadores, foram
desenvolvidas Linguagens de Programao para a criao de programas.
Para que programas escritos em linguagens de programao possam ser executados
por um computador, necessrio que o mesmo seja traduzido em para Linguagens de
Mquina, que so as linguagens que o computador entende.
Ento uma Linguagem de Programao apenas uma especificao sinttica e
semntica de como usar seus comandos, palavras chaves e etc para escrever instrues para
computadores, sendo que um programa escrito nessa linguagem chamado de programafonte. Cada linguagem precisa de um programa que faa a traduo do programa-fonte e
existem trs tipos de traduo: compilao, traduo e mista. Aps este processo temos um
programa executvel.
As figuras abaixo ilustram a compilao de um programa e a esquerda a execuo de
um programa.

Algoritmos
Algoritmos so uma sequncia finita e ordenada de comandos executveis e no
ambguos, que levam a aplicao de um mtodo para a execuo de uma tarefa ou resoluo
de um problema
Exemplo 1: Algoritmo para troca de um pneu furado
NomedoAlgoritmo

INICIO TrocarPneuFurado {
SE (o estepe estiver murcho) {

Expressocondicional

Chamar o borracheiro; }
SENO {
Pegar o macaco e a chave de boca;
CorpodoAlgoritmo
delimitadopelaschaves

Afrouxar com a chave todos os parafusos da roda com o pneu furado;


Levantar o carro com o macaco;
Retirar todos os parafusos da roda;
Retirar o pneu e guard-lo;
Posicionar o estepe no lugar da antiga roda;
Recolocar e apertar ligeiramente os parafusos;
Baixar o carro;
Apertar fortemente os parafusos;
Guardar as ferramentas;
Levar o pneu furado para o borracheiro;
} FIM SENO
} FIM
Exemplo 2: Soluo da equao do 2 grau pelo mtodo de Baskara
Sendo A*x2 + B*x + C = 0, ento

, lembrando que a parte

dentro da raiz chamada de Delta.


INICIO EquacaoGrau2 {
VARIVEIS REAIS: a, b, c, x1, x2, delta, real, imag;
LEIA (a, b, c);
Delta b2 4*a*c;
SE ( delta > = 0) {
x1

;
2

x2

ESCREVA (X1 = , x1, e X2 = , x2);


} FIM SE
SENO {
real b / 2*a;
imag

ESCREVA (X1 = (, real, ) + i (, imag,


) e X2 = (, real, ) i (, imag, ));
} FIM SENO
} FIM

Linguagens para algoritmos


Nos exemplos anteriores foram usadas formas de escrever muito semelhante s das
linguagens de programao, quando fazemos isso dizemos que escrevemos o algoritmo
usando pseudocdigo, quando o texto incorpora menos estas semelhanas dizemos que
usamos portugol.
Outra forma de escrita usando representao grfica por diagrama de blocos
denominados fluxogramas. Porm ao longo da histria esta forma caiu em desuso por gerar
muitas vezes um programa confuso de entender.
Exemplo 3: O que fazer com uma lmpada que no funciona

Exemplo 4: Fluxograma para quando um usurio entra com dois nmeros (A e B),
testa se A < B.

Tabela de Principais smbolos de um fluxograma:

Variveis
Variveis correspondem aos espaos na memria principal que so usados para
armazenar valores que se pretende que um computador processe. Para facilitar a programao
ns damos nomes significativos para as variveis.
Nomes de variveis:

Podem ter qualquer tamanho


No pode conter espao ou caracteres especiais (aqueles em cima dos
nmeros no teclado), acentos, sinais de pontuao, ou smbolos matemticos
Podem ser usados somente letras, nmeros, _
Devem comear com letra minscula (no podem comear com nmero ou
_)
A maioria das linguagens de programao diferencia grafia usando
minsculo e maisculo (valor, Valor e vaLor so 3 variveis deferentes)

Declarao de tipo
A declarao de uma varivel faz com que o computador aloque (reserve) um lugar
na memria para armazenar o valor que a varivel recebe. Porm o contedo de uma varivel
pode ocupar quantidade diferente de espao da memria, dependendo do tipo de contedo a
ser armazenado, sendo estes:

Inteiro int
Real float, double
Caractere char
Frase string

A declarao tem a seguinte sintaxe:


VARIAVEL TIPO: lista dos nomes das variveis deste tipo, sendo separadas por
vrgula.
Exemplo:
INICIO Teste {
VARIAVEIS REAL: x, y;
VARIAVEL STRING: nome[40];
} FIM
Comando de atribuio
Para atribuir valor a uma varivel use uma seta () como se valor estivesse entrando
na varivel.
Obs: o valor que atribudo a varivel pode ser um valor numrico, o resultado de
uma expresso matemtica, lgica, uma letra ou uma frase, sendo que no caso das duas
ltimas, estas devem vir entre aspas ().
Ex: nome Lilian Oliveira Ramires;
x 5.4;
y a + b;
5

Comandos de entrada (teclado, scaner, cmera de foto ou vdeo)


Sintaxe: LEIA (nome da varivel que vai receber o valor);
Ex: LEIA (nome);

Comandos de sada (tela, impressora)


Sintaxe: IMPRIMA (item 1, item 2, ... , item n);
Cada item para impresso deve ser separado por vrgula, e quando o item for um
caractere ou frase, este deve vir entre aspas.
Ex: IMPRIMA (Resultado final =, total);
Estruturas de Controle

Estrutura Condicional (SE IF)


A estrutura condicional "se" (if na maioria das linguagens de programao) permite a
tomada de decises ao longo da execuo de um programa. Por exemplo, selecionar qual
bloco de instrues deve ser executado dependendo "se" uma condio foi (ou no) satisfeita.

Sintaxe2: Composto
SE(condio){
Sintaxe1:Simples
SE(condio){

comandos;

}FIMSE

comandos;

}FIMSE
SENO{

comandos;

}FIMSENO

Obs: entre os comandos em um SE e/ou SENO pode existir a necessidade de tomar


outra deciso, nesse caso usaremos um SE simples ou composto dentro daqueles. Esta
estrutura chamada de IF aninhado.
Exemplo 5: Ler um nmero e imprimir se ele positivo, negativo ou nulo.
Obs: Vejam que nesse exemplo ns temos uma soluo para quando h mais de duas
opes a seguir.
6

INICIO Teste {
VARIAVEL REAL: num;
LEIA (num);
SE (num > 0) {

Testaseumadasopesquenocontmnenhumadas
outrasduas.

IMPRIMA (Numero Positivo!);


} FIM SE
Com isso,sobramasoutrasopesnoSENO,quedevem
sertestadasnovamente.

SENO {
SE (num < 0) {

IMPRIMA (Numero Negativo!);


} FIM SE
SENO {
IMPRIMA (Numero Nulo!);
} FIM SENO
} FIM SENO
} FIM
Estrutura de repetio 1: (ENQUANTO WHILE)
Usado quando precisamos repetir a execuo de um trecho de cdigo, sem que se
saiba inicialmente o nmero de repeties, ento se cria uma chave/teste para retornar a
execuo para o passo seguinte aps o trecho em repetio.
O loop "enquanto" (while) executa um comando (ou vrios) enquanto uma condio
for verdadeira.

Sintaxe:
ENQUANTO(condio){

comandos;

}FIMENQUANTO

Exemplo 6: Algoritmo para um usurio jogar o jogo da velha contra um computador.

INICIO JogoDaVelha {
ENQUANTO ((existir um quadrado livre) E (ningum perdeu/ganhou o jogo)) {
LEIA (jogada);
SE (existir um quadrado livre) {

EsteSE(1)englobatodososoutros

SE (centro livre) {
Jogue no centro;
} FIM SE
SENO {
SE (adversrio tem 2 quadrados em linha, com o terceiro
desocupado) {
Jogue nesse quadrado desocupado;
} FIM SE
SENO
SE (h algum canto livre)
Jogue nesse canto;
} FIM SE
} FIM SENO
} FIM SENO
} FIM SE
} FIM ENQUANTO
} FIM
Exemplo 7: Algoritmo que calcula o dobro de um nmero digitado pelo usurio,
sendo que o programa s termina quando o usurio escolhe um nmero negativo.
INICIO Dobro {
VARIAVEL INTEIRO: num;
IMPRIMA (Este programa calcula o dobro de um numero \n);
IMPRIMA (Quando quiser encerrar o programa digite um numero negativo\n);
IMPRIMA (Digite um numero: );
LEIA (num);
ENQUANTO (num > 0) {
IMPRIMA (\nDobro: , num * 2, \n);
IMPRIMA (Digite um numero: );
LEIA (num);
} FIM ENQUANTO
8

Lgica Booleana

Operador

Matemtica

Linguagem de programao

conjuno

&&

disjuno

ou

||

negao

no

Tabela do operador no !
A

!A

Tabela do operador ou ||

Tabela do operador e &&

A || B

A && B

Você também pode gostar