guia para traducao algoritmos x l ps

3

Click here to load reader

Upload: mauro-jansen

Post on 04-Jul-2015

400 views

Category:

Technology


1 download

DESCRIPTION

guia prático para "tradução" de algoritmos para linguagel de programação

TRANSCRIPT

Page 1: Guia para traducao algoritmos x l ps

GUIA PARA TRADUÇÃO DE ALGORITMO PARA LINGUAGENS C e PASCAL

1 - INTRODUÇÃO Este guia tem por objetivo ajudá-lo a entender como transpor (traduzir) algoritmos para programas em uma linguagem de programação (no caso, a linguagem C e a linguagem Pascal) e aplicar todo o conhecimento adquirido sobre criação de algoritmos e lógica de programação para criar programas nessas linguagens de programação. O essencial neste ponto é que você já conheça as estruturas básicas de criação de algoritmos (seqüencial, condicionais e repetição) e saiba criar algoritmos em pseudocódigo usando elas. Observe que você não deve usar a “tradução” de algoritmos como uma prática para a programação. O objetivo aqui é ajudá-lo nos primeiros passos na programação em uma dessas linguagens. Após algum tempo de prática e exercícios, você já conhecerá a maior parte das palavras reservadas da linguagem e saberá como construir programas usando os manuais e guias de referência da mesma, visto que não é obrigação do programador “decorar” todos os comandos das linguagens de programação. Use este material sempre em conjunto com um livro, manual ou apostila de referência das linguagens. 2 – NOTAÇÃO UTILIZADA Neste material, onde você encontrar algo entre < > significa que você deve substituir tudo (inclusive o < > ) pelo que que está indicado entre os sinais < >. Onde você encontrar algo entre [ ] indica que este fragmento é opcional e pode ser omitido (inclusive o [ ] ). 3 – ESTRUTURAS GERAIS Estrutura Linguagem C Pascal Formato geral de um algoritmo: Variaveis <declaração de variáveis> Inicio <Blocos de comando> FimAlgoritmo Exemplo:

Variaveis

a,b: inteiro

Inicio

Escreval(“Olá!”)

FimAlgoritmo

<tipo> <nome da função>() { <declaração de variáveis> <comandos> } Exemplo: int main()

{

int a,b;

Printf(“Olá!\n”);

}

Var <declaração de variáveis> Begin <comandos> End; Exemplo: Var

a,b: integer

Begin

Writeln(‘Olá!’);

End; Caractere de final da linha de comando

; ;

Comentários em bloco /* comentário... Comentário.. */

(* comentário... comentário... *)

Comentários de uma linha // comentário // Comentário Bloco de comandos {

<comandos> }

Begin <comandos> End;

OBS: • EM C, as strings vêm entre aspas duplas e os tipos caractere ficam entre aspas simples • Em Pascal, tanto as strings quanto os tipos caracteres ficam entre aspas simples • A linguagem C diferencia palavras em letra minúsculas de palavras com letras maiúsculas, ou

seja, ela é “case sensitive”. Portanto´: o Devemos escrever todos os comandos em letras minúsculas, ou de forma idêntica a

como consta na documentação da linguagem o A variável num e Num são variáveis diferentes

• Já o Pascal não faz diferenciação de maiúscula e minúsculas

Page 2: Guia para traducao algoritmos x l ps

4 – TIPOS DE DADOS Algoritmos Linguagem C Pascal Inteiro Int

Modificadores: unsigned, long Integer Variações: Shortint, Smallint, Longint, Int64, Word, Longword

Real float Variações: double, long Double

real Variações: Single, Extended, comp, Currency

Caractere char char String char[n] // (vetor de caracteres) string

Variações: ShortString, AnsiString, WideString

Lógico (Booleano) OBS: A linguagem C não tem o tipo booleano. O valor inteiro zero é considerado FALSO e qualquer valor inteiro maior que zero é considerado VERDADEIRO .

boolean

5 – DECLARAÇÃO DE VARIÁVEIS Algoritmos Linguagem C Pascal As variáveis são declaradas na seção “Var” e o tipo vem após a lista de variáveis, separado por “:” (dois pontos): Variaveis

n1,n2: inteiro

Inicio

Escreva(“Digite n1: “)

Leia(n1)

Escreva(Digite n2: “)

Leia(n2)

FimAlgoritmo

As variáveis são declaradas dentro e logo no início do bloco de comandos e o tipo vem antes da lista de variáveis, sem o “:” : Int main()

{

int n1,n2;

printf(“Digite valor 1: “);

scanf(“%d”,&n1);

printf(“Digite valor 2: “);

scanf(“%d”,&n2);

}

As variáveis são declaradas na seção Var e o tipo vem após a lista de variáveis, separado por “:” (dois pontos): Var

n1, n2: integer

Begin

Write(‘Digite valor 1: ‘);

Readln(n1);

Write(‘Digite valor 2: ‘);

Readln(n2);

End;

6 – OPERADORES OPERADORES ARITMÉTICOS

Algoritmos Linguagem C Pascal - (inversão de sinal) - -

+ (valor positivo) + + ** (exponenciação) Pow(<base>,<expoente>) ^

* (multiplicação) * * / (divisão) / / + (adição) + +

- (subtração) - - OPERADORES RELACIONAIS

Algoritmos Linguagem C Pascal = == =

<> != <> < < < > > >

>= >= >= <= <= <=

Page 3: Guia para traducao algoritmos x l ps

OPERADORES LÓGICOS Algoritmos Linguagem C Pascal

OU || OR E && AND

NÃO ! NOT INCREMENTO E DECREMENTO DE VARIÁVEL

Algoritmos Linguagem C Pascal x <- x +1 x++ ou x += 1 x:=x+1 ou inc(x) x <- x + N x += N x:=x+N x <- x - 1 x-- ou x -= 1 x:=x-1 ou dec(x) x <- x - N x -= N X:=x - N

6 – VETORES, MATRIZES E REGISTROS Algoritmos Linguagem C Pascal Vetor[1..<tamanho>] de <tipo> <tipo> <variável>[<tamanho>]; array [1..<tamanho>] of <tipo>; Vetor[1..<lin>,1..<col>] de <tipo> <tipo> <variável>[<lin>][<col>]; Array [1..<lin>][1..<col>] of

<tipo>; 7 – COMANDOS E ESTRUTURAS DE PROGRAMAÇÃO Algoritmos Linguagem C Pascal Escreva printf(“<string>”,<parâmetros>); write(<parâmetros>);

Escreval printf(“<string>\n”,<parâmetros>); writeln(<parâmetros>);

Leia scanf(<string de controle>,<lista de

argumentos>);

Readln(<variável>);

Se <condição> Então

<comandos>

[Senão

<comandos>]

Fimse

if (<condição>)

<bloco de comandos>

[else

<bloco de comandos>

if <condição> then

<bloco de comandos>

Else

<bloco de comandos>

Escolha <variável>

caso <val.constante 1>:

<bloco de comandos 1> caso <val.constante 2>:

<bloco de comandos 2> ...

caso <val.constante n>:

<bloco de comandos n> outrocaso

<bloco de comandos

alternativo> FimEscolha

switch (<variável>)

{

case <constante_1>:

<declaração_1>;

break;

case <constante_2>:

<declaração_2>;

break;

. . .

case <constante_n>:

<declaração_n>;

break;

default

<declaração_padrão>;

}

Case <evariável> of

<ListaDeCaso1>: <comando1>;

<ListaDeCaso1>: <comando1>;

...

<ListaDeCasoN>: <comandoN>;

Else

<comando>;

End;

Para <variável> de <valor

inicial> ate <valor

final> [passo

<incremento>] faca

<comandos>

fimpara

for(<expressão de

inicialização>;<condição>;<expressão

de incremento>)

<bloco de comandos>

For <variável> := <valor

inicial> to / downto <valor

final> do

<bloco de comandos>

Enquanto <expr.lógica>

faca

<bloco de comandos> FimEnquanto

while(<condição>)

<bloco de comandos>

While <condição> do

<bloco de comandos>

Repita

<bloco de comandos> Ate <expressão lógica>

do

<bloco de comandos>

While(<condição>);

Repeat

<bloco de comandos>

Until <expressão lógica>