SlideShare uma empresa Scribd logo
1 de 3
Baixar para ler offline
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
Formato geral de um algoritmo:

Linguagem C

Pascal

Variaveis
<declaração de variáveis>
Inicio
<Blocos de comando>
FimAlgoritmo

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

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

Exemplo:

Exemplo:

Exemplo:

Variaveis
a,b: inteiro
Inicio
Escreval(“Olá!”)
FimAlgoritmo
Caractere de final da linha de
comando
Comentários em bloco

int main()
{
int a,b;
Printf(“Olá!n”);
}
;

Var
a,b: integer
Begin
Writeln(‘Olá!’);
End;
;

/* comentário...
Comentário..
*/
// comentário
{
<comandos>
}

(* comentário...
comentário...
*)
// Comentário
Begin
<comandos>
End;

Comentários de uma linha
Bloco de comandos
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
4 – TIPOS DE DADOS
Algoritmos
Inteiro

Linguagem C
Int
Modificadores: unsigned, long

Real

float
Variações: double, long Double

Caractere
String

char
char[n] // (vetor de caracteres)

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 .

Pascal
Integer
Variações: Shortint, Smallint,
Longint, Int64, Word, Longword
real
Variações: Single, Extended,
comp, Currency
char
string
Variações:
ShortString,
AnsiString, WideString
boolean

5 – DECLARAÇÃO DE VARIÁVEIS
Algoritmos
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):

Linguagem C
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 “:” :

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

Int main()
{
int n1,n2;

Var
n1, n2: integer
Begin
Write(‘Digite valor 1: ‘);
Readln(n1);
Write(‘Digite valor 2: ‘);
Readln(n2);
End;

printf(“Digite valor 1: “);
scanf(“%d”,&n1);
printf(“Digite valor 2: “);
scanf(“%d”,&n2);
}

6 – OPERADORES
OPERADORES ARITMÉTICOS
Algoritmos
- (inversão de sinal)
+ (valor positivo)
** (exponenciação)
* (multiplicação)
/ (divisão)
+ (adição)
- (subtração)

Linguagem C
+
Pow(<base>,<expoente>)
*
/
+
-

Pascal
+
^
*
/
+
-

OPERADORES RELACIONAIS
Algoritmos
=
<>
<
>
>=
<=

Linguagem C
==
!=
<
>
>=
<=

Pascal
=
<>
<
>
>=
<=
OPERADORES LÓGICOS
Algoritmos
OU
E
NÃO

Linguagem C
||
&&
!

INCREMENTO E DECREMENTO DE VARIÁVEL
Algoritmos
Linguagem C
x <- x +1
x++ ou x += 1
x <- x + N
x += N
x <- x - 1
x-- ou x -= 1
x <- x - N
x -= N

Pascal
OR
AND
NOT

Pascal
x:=x+1 ou inc(x)
x:=x+N
x:=x-1 ou dec(x)
X:=x - N

6 – VETORES, MATRIZES E REGISTROS
Algoritmos
Vetor[1..<tamanho>] de <tipo>
Vetor[1..<lin>,1..<col>] de <tipo>

Linguagem C
<tipo> <variável>[<tamanho>];
<tipo> <variável>[<lin>][<col>];

Pascal
array [1..<tamanho>] of <tipo>;
Array
[1..<lin>][1..<col>]
of
<tipo>;

7 – COMANDOS E ESTRUTURAS DE PROGRAMAÇÃO
Algoritmos

Linguagem C

Pascal

Escreva
Escreval
Leia

printf(“<string>”,<parâmetros>);
printf(“<string>n”,<parâmetros>);
scanf(<string de controle>,<lista de
argumentos>);
if (<condição>)
<bloco de comandos>
[else
<bloco de comandos>

write(<parâmetros>);
writeln(<parâmetros>);
Readln(<variável>);

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>;
}
for(<expressão de
inicialização>;<condição>;<expressão
de incremento>)
<bloco de comandos>

Case <evariável> of
<ListaDeCaso1>: <comando1>;
<ListaDeCaso1>: <comando1>;
...
<ListaDeCasoN>: <comandoN>;
Else
<comando>;
End;

while(<condição>)
<bloco de comandos>

While <condição> do
<bloco de comandos>

do

Repeat
<bloco de comandos>
Until <expressão lógica>

Se <condição> Então
<comandos>
[Senão
<comandos>]
Fimse
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

Para <variável> de <valor
inicial>
ate
<valor
final>
[passo
<incremento>] faca
<comandos>
fimpara
Enquanto
<expr.lógica>
faca
<bloco de comandos>
FimEnquanto
Repita
<bloco de comandos>
Ate <expressão lógica>

<bloco de comandos>
While(<condição>);

if <condição> then
<bloco de comandos>
Else
<bloco de comandos>

For
<variável>
:=
inicial> to / downto
final> do
<bloco de comandos>

<valor
<valor

Mais conteúdo relacionado

Mais procurados

Algoritmos visualg
Algoritmos visualgAlgoritmos visualg
Algoritmos visualgDiego Sales
 
Aula 4 - Teste de mesa
Aula 4 - Teste de mesaAula 4 - Teste de mesa
Aula 4 - Teste de mesaPacc UAB
 
Algoritmos e Programação: Estruturas de condição
Algoritmos e Programação: Estruturas de condiçãoAlgoritmos e Programação: Estruturas de condição
Algoritmos e Programação: Estruturas de condiçãoAlex Camargo
 
Lista de exercícios resolvidos
Lista de exercícios resolvidosLista de exercícios resolvidos
Lista de exercícios resolvidosCrishna Irion
 
Excel Avançado - Aulas
Excel Avançado - AulasExcel Avançado - Aulas
Excel Avançado - AulasGustavo Sousa
 
Aula 10 - Equivalência Java x Portugol Studio - parte 2
Aula 10 - Equivalência Java x Portugol Studio - parte 2Aula 10 - Equivalência Java x Portugol Studio - parte 2
Aula 10 - Equivalência Java x Portugol Studio - parte 2Pacc UAB
 
Manual paint net
Manual paint netManual paint net
Manual paint netraul_m_c_f
 
Lista exercicios algoritmos
Lista exercicios algoritmosLista exercicios algoritmos
Lista exercicios algoritmosslashmelhor
 
Material Algoritmos e Estruturas de Dados - 1º Bimestre
Material Algoritmos e Estruturas de Dados - 1º BimestreMaterial Algoritmos e Estruturas de Dados - 1º Bimestre
Material Algoritmos e Estruturas de Dados - 1º BimestreElaine Cecília Gatto
 
Manual do Controle duplicador tx copy 433,92 mhz
Manual do Controle duplicador tx copy 433,92 mhzManual do Controle duplicador tx copy 433,92 mhz
Manual do Controle duplicador tx copy 433,92 mhzLuiz Avelar
 
Conhecendo as funções analogread, analogwrite e analogreference
Conhecendo as funções analogread, analogwrite e analogreferenceConhecendo as funções analogread, analogwrite e analogreference
Conhecendo as funções analogread, analogwrite e analogreferenceFábio dos Reis
 
comparadores sistemas digitais
comparadores sistemas digitaiscomparadores sistemas digitais
comparadores sistemas digitaisCarlos Pereira
 
Aula 3 - Algoritmos computacionais - parte 1
Aula 3 - Algoritmos computacionais - parte 1Aula 3 - Algoritmos computacionais - parte 1
Aula 3 - Algoritmos computacionais - parte 1Pacc UAB
 
Regras do projeto final
Regras do projeto finalRegras do projeto final
Regras do projeto finalPacc UAB
 
Informática na educação infantil
Informática na educação infantilInformática na educação infantil
Informática na educação infantilClaudinéia da Silva
 

Mais procurados (20)

Algoritmos visualg
Algoritmos visualgAlgoritmos visualg
Algoritmos visualg
 
Aula 4 - Teste de mesa
Aula 4 - Teste de mesaAula 4 - Teste de mesa
Aula 4 - Teste de mesa
 
Algoritmos e Programação: Estruturas de condição
Algoritmos e Programação: Estruturas de condiçãoAlgoritmos e Programação: Estruturas de condição
Algoritmos e Programação: Estruturas de condição
 
Lista de exercícios resolvidos
Lista de exercícios resolvidosLista de exercícios resolvidos
Lista de exercícios resolvidos
 
Estrutura de repetição
Estrutura de repetiçãoEstrutura de repetição
Estrutura de repetição
 
Excel Avançado - Aulas
Excel Avançado - AulasExcel Avançado - Aulas
Excel Avançado - Aulas
 
Aula 10 - Equivalência Java x Portugol Studio - parte 2
Aula 10 - Equivalência Java x Portugol Studio - parte 2Aula 10 - Equivalência Java x Portugol Studio - parte 2
Aula 10 - Equivalência Java x Portugol Studio - parte 2
 
Manual paint net
Manual paint netManual paint net
Manual paint net
 
Escrever uma carta
Escrever uma cartaEscrever uma carta
Escrever uma carta
 
Lista exercicios algoritmos
Lista exercicios algoritmosLista exercicios algoritmos
Lista exercicios algoritmos
 
Roteiro 1 portas lógicas básicas
Roteiro 1   portas lógicas básicasRoteiro 1   portas lógicas básicas
Roteiro 1 portas lógicas básicas
 
Exercícios PL/SQL
Exercícios PL/SQLExercícios PL/SQL
Exercícios PL/SQL
 
Material Algoritmos e Estruturas de Dados - 1º Bimestre
Material Algoritmos e Estruturas de Dados - 1º BimestreMaterial Algoritmos e Estruturas de Dados - 1º Bimestre
Material Algoritmos e Estruturas de Dados - 1º Bimestre
 
Manual do Controle duplicador tx copy 433,92 mhz
Manual do Controle duplicador tx copy 433,92 mhzManual do Controle duplicador tx copy 433,92 mhz
Manual do Controle duplicador tx copy 433,92 mhz
 
Conhecendo as funções analogread, analogwrite e analogreference
Conhecendo as funções analogread, analogwrite e analogreferenceConhecendo as funções analogread, analogwrite e analogreference
Conhecendo as funções analogread, analogwrite e analogreference
 
comparadores sistemas digitais
comparadores sistemas digitaiscomparadores sistemas digitais
comparadores sistemas digitais
 
Aula 3 - Algoritmos computacionais - parte 1
Aula 3 - Algoritmos computacionais - parte 1Aula 3 - Algoritmos computacionais - parte 1
Aula 3 - Algoritmos computacionais - parte 1
 
Aula 07 - Visualg e Pseudocódigo
Aula 07 - Visualg e PseudocódigoAula 07 - Visualg e Pseudocódigo
Aula 07 - Visualg e Pseudocódigo
 
Regras do projeto final
Regras do projeto finalRegras do projeto final
Regras do projeto final
 
Informática na educação infantil
Informática na educação infantilInformática na educação infantil
Informática na educação infantil
 

Destaque

Lista de exercicios 01 introdução
Lista de exercicios 01 introduçãoLista de exercicios 01 introdução
Lista de exercicios 01 introduçãoMauro Pereira
 
Lista de exercicios algoritmos com pseudocodigo
Lista de exercicios   algoritmos com pseudocodigoLista de exercicios   algoritmos com pseudocodigo
Lista de exercicios algoritmos com pseudocodigoMauro Pereira
 
Algoritmos e lp parte 2-fundamentos
Algoritmos e lp parte 2-fundamentosAlgoritmos e lp parte 2-fundamentos
Algoritmos e lp parte 2-fundamentosMauro Pereira
 
Algoritmos e lp parte 1-introdução
Algoritmos e lp parte 1-introduçãoAlgoritmos e lp parte 1-introdução
Algoritmos e lp parte 1-introduçãoMauro Pereira
 
Redes 4 endereçamento
Redes 4 endereçamentoRedes 4 endereçamento
Redes 4 endereçamentoMauro Pereira
 
Lista de exercicios 02 hardware
Lista de exercicios 02 hardwareLista de exercicios 02 hardware
Lista de exercicios 02 hardwareMauro Pereira
 
Linguagem de Programação Pascal
Linguagem de Programação PascalLinguagem de Programação Pascal
Linguagem de Programação PascalMarcus Vinicius
 
Exercicios resolvidos visuAlg
Exercicios resolvidos visuAlgExercicios resolvidos visuAlg
Exercicios resolvidos visuAlgWillians Miyabara
 
APOSTILA DE TRANSISTOR, POLARIZAÇÃO
APOSTILA DE  TRANSISTOR, POLARIZAÇÃOAPOSTILA DE  TRANSISTOR, POLARIZAÇÃO
APOSTILA DE TRANSISTOR, POLARIZAÇÃOIsvaldo Souza
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-Mauro Pereira
 

Destaque (10)

Lista de exercicios 01 introdução
Lista de exercicios 01 introduçãoLista de exercicios 01 introdução
Lista de exercicios 01 introdução
 
Lista de exercicios algoritmos com pseudocodigo
Lista de exercicios   algoritmos com pseudocodigoLista de exercicios   algoritmos com pseudocodigo
Lista de exercicios algoritmos com pseudocodigo
 
Algoritmos e lp parte 2-fundamentos
Algoritmos e lp parte 2-fundamentosAlgoritmos e lp parte 2-fundamentos
Algoritmos e lp parte 2-fundamentos
 
Algoritmos e lp parte 1-introdução
Algoritmos e lp parte 1-introduçãoAlgoritmos e lp parte 1-introdução
Algoritmos e lp parte 1-introdução
 
Redes 4 endereçamento
Redes 4 endereçamentoRedes 4 endereçamento
Redes 4 endereçamento
 
Lista de exercicios 02 hardware
Lista de exercicios 02 hardwareLista de exercicios 02 hardware
Lista de exercicios 02 hardware
 
Linguagem de Programação Pascal
Linguagem de Programação PascalLinguagem de Programação Pascal
Linguagem de Programação Pascal
 
Exercicios resolvidos visuAlg
Exercicios resolvidos visuAlgExercicios resolvidos visuAlg
Exercicios resolvidos visuAlg
 
APOSTILA DE TRANSISTOR, POLARIZAÇÃO
APOSTILA DE  TRANSISTOR, POLARIZAÇÃOAPOSTILA DE  TRANSISTOR, POLARIZAÇÃO
APOSTILA DE TRANSISTOR, POLARIZAÇÃO
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 

Semelhante a Guia para traducao algoritmos x l ps

Semelhante a Guia para traducao algoritmos x l ps (20)

Aula 6 1 linguagem pascal-parte_1
Aula 6   1 linguagem pascal-parte_1Aula 6   1 linguagem pascal-parte_1
Aula 6 1 linguagem pascal-parte_1
 
Manual robotec
Manual robotecManual robotec
Manual robotec
 
Módulo 2 pascal
Módulo 2  pascalMódulo 2  pascal
Módulo 2 pascal
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascal
 
Apostila linguagem pascal
Apostila linguagem pascalApostila linguagem pascal
Apostila linguagem pascal
 
Java2
Java2Java2
Java2
 
Cet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C IntroducaoCet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C Introducao
 
Cartilhado arduino ed1 - cópia
Cartilhado arduino ed1 - cópiaCartilhado arduino ed1 - cópia
Cartilhado arduino ed1 - cópia
 
Cartilhado arduino ed1
Cartilhado arduino ed1Cartilhado arduino ed1
Cartilhado arduino ed1
 
Cartilhado arduino ed10
Cartilhado arduino ed10Cartilhado arduino ed10
Cartilhado arduino ed10
 
CartilhadoArduino_ed9.pdf
CartilhadoArduino_ed9.pdfCartilhadoArduino_ed9.pdf
CartilhadoArduino_ed9.pdf
 
Cartilhado arduino ed1
Cartilhado arduino ed1Cartilhado arduino ed1
Cartilhado arduino ed1
 
Ud2
Ud2Ud2
Ud2
 
Guia rapido de_pascal
Guia rapido de_pascalGuia rapido de_pascal
Guia rapido de_pascal
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmos
 
Introdução pascal
Introdução pascalIntrodução pascal
Introdução pascal
 
Algoritmos e Visualg parte 1
Algoritmos e Visualg   parte 1Algoritmos e Visualg   parte 1
Algoritmos e Visualg parte 1
 
Linguagem C clecioamerico
Linguagem C clecioamericoLinguagem C clecioamerico
Linguagem C clecioamerico
 
Introd aplicjava
Introd aplicjavaIntrod aplicjava
Introd aplicjava
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 

Mais de Mauro Pereira

Programação Web - CSS
Programação Web - CSSProgramação Web - CSS
Programação Web - CSSMauro Pereira
 
Redes 7 ferramentas para montagem de redes
Redes 7 ferramentas para montagem de redesRedes 7 ferramentas para montagem de redes
Redes 7 ferramentas para montagem de redesMauro Pereira
 
Exercicio introducao a arquitetura de computadores
Exercicio    introducao a arquitetura de computadoresExercicio    introducao a arquitetura de computadores
Exercicio introducao a arquitetura de computadoresMauro Pereira
 
Introdução à Arquitetura de Computadores
Introdução à Arquitetura de ComputadoresIntrodução à Arquitetura de Computadores
Introdução à Arquitetura de ComputadoresMauro Pereira
 
Sistemas de Numeracao
Sistemas de NumeracaoSistemas de Numeracao
Sistemas de NumeracaoMauro Pereira
 
Lógica binária, potas lógicas e circuitos lógicos
Lógica binária, potas lógicas e circuitos lógicosLógica binária, potas lógicas e circuitos lógicos
Lógica binária, potas lógicas e circuitos lógicosMauro Pereira
 
Trabalho para nota da etapa 2 2017.1
Trabalho para nota da etapa 2 2017.1Trabalho para nota da etapa 2 2017.1
Trabalho para nota da etapa 2 2017.1Mauro Pereira
 
Redes 6 equipamentos ativos da rede
Redes 6 equipamentos ativos da redeRedes 6 equipamentos ativos da rede
Redes 6 equipamentos ativos da redeMauro Pereira
 
Redes 2 padronização e arquitetura de redes
Redes 2 padronização e arquitetura de redesRedes 2 padronização e arquitetura de redes
Redes 2 padronização e arquitetura de redesMauro Pereira
 
Redes 1 introducao historico conceitos
Redes 1 introducao historico conceitosRedes 1 introducao historico conceitos
Redes 1 introducao historico conceitosMauro Pereira
 
6 softwares de manutenção
6 softwares de manutenção6 softwares de manutenção
6 softwares de manutençãoMauro Pereira
 
4.1 softwares e configurações importantes
4.1 softwares e configurações importantes4.1 softwares e configurações importantes
4.1 softwares e configurações importantesMauro Pereira
 
Redes padroes e cabeamento
Redes padroes e cabeamentoRedes padroes e cabeamento
Redes padroes e cabeamentoMauro Pereira
 
Trabalho para nota da etapa 2 2015.2
Trabalho para nota da etapa 2 2015.2Trabalho para nota da etapa 2 2015.2
Trabalho para nota da etapa 2 2015.2Mauro Pereira
 
Exercicio 1 - conceitos camadas e protocolos
Exercicio 1 - conceitos camadas e protocolosExercicio 1 - conceitos camadas e protocolos
Exercicio 1 - conceitos camadas e protocolosMauro Pereira
 
Exercicio 2 endereços, dispositivos, internet-intranet-extranet, padroes, c...
Exercicio 2   endereços, dispositivos, internet-intranet-extranet, padroes, c...Exercicio 2   endereços, dispositivos, internet-intranet-extranet, padroes, c...
Exercicio 2 endereços, dispositivos, internet-intranet-extranet, padroes, c...Mauro Pereira
 
Microprocessadores ii arquitetura
Microprocessadores ii arquiteturaMicroprocessadores ii arquitetura
Microprocessadores ii arquiteturaMauro Pereira
 
Microprocessadores ii revisão de linguagem de programação (parte2)
Microprocessadores ii revisão de linguagem de programação (parte2)Microprocessadores ii revisão de linguagem de programação (parte2)
Microprocessadores ii revisão de linguagem de programação (parte2)Mauro Pereira
 

Mais de Mauro Pereira (20)

Programação Web - CSS
Programação Web - CSSProgramação Web - CSS
Programação Web - CSS
 
Redes 7 ferramentas para montagem de redes
Redes 7 ferramentas para montagem de redesRedes 7 ferramentas para montagem de redes
Redes 7 ferramentas para montagem de redes
 
Exercicio introducao a arquitetura de computadores
Exercicio    introducao a arquitetura de computadoresExercicio    introducao a arquitetura de computadores
Exercicio introducao a arquitetura de computadores
 
Introdução à Arquitetura de Computadores
Introdução à Arquitetura de ComputadoresIntrodução à Arquitetura de Computadores
Introdução à Arquitetura de Computadores
 
Sistemas de Numeracao
Sistemas de NumeracaoSistemas de Numeracao
Sistemas de Numeracao
 
Lógica binária, potas lógicas e circuitos lógicos
Lógica binária, potas lógicas e circuitos lógicosLógica binária, potas lógicas e circuitos lógicos
Lógica binária, potas lógicas e circuitos lógicos
 
Trabalho para nota da etapa 2 2017.1
Trabalho para nota da etapa 2 2017.1Trabalho para nota da etapa 2 2017.1
Trabalho para nota da etapa 2 2017.1
 
Redes 6 equipamentos ativos da rede
Redes 6 equipamentos ativos da redeRedes 6 equipamentos ativos da rede
Redes 6 equipamentos ativos da rede
 
Redes 5 cabeamento
Redes 5 cabeamentoRedes 5 cabeamento
Redes 5 cabeamento
 
Redes 3 protocolos
Redes 3 protocolosRedes 3 protocolos
Redes 3 protocolos
 
Redes 2 padronização e arquitetura de redes
Redes 2 padronização e arquitetura de redesRedes 2 padronização e arquitetura de redes
Redes 2 padronização e arquitetura de redes
 
Redes 1 introducao historico conceitos
Redes 1 introducao historico conceitosRedes 1 introducao historico conceitos
Redes 1 introducao historico conceitos
 
6 softwares de manutenção
6 softwares de manutenção6 softwares de manutenção
6 softwares de manutenção
 
4.1 softwares e configurações importantes
4.1 softwares e configurações importantes4.1 softwares e configurações importantes
4.1 softwares e configurações importantes
 
Redes padroes e cabeamento
Redes padroes e cabeamentoRedes padroes e cabeamento
Redes padroes e cabeamento
 
Trabalho para nota da etapa 2 2015.2
Trabalho para nota da etapa 2 2015.2Trabalho para nota da etapa 2 2015.2
Trabalho para nota da etapa 2 2015.2
 
Exercicio 1 - conceitos camadas e protocolos
Exercicio 1 - conceitos camadas e protocolosExercicio 1 - conceitos camadas e protocolos
Exercicio 1 - conceitos camadas e protocolos
 
Exercicio 2 endereços, dispositivos, internet-intranet-extranet, padroes, c...
Exercicio 2   endereços, dispositivos, internet-intranet-extranet, padroes, c...Exercicio 2   endereços, dispositivos, internet-intranet-extranet, padroes, c...
Exercicio 2 endereços, dispositivos, internet-intranet-extranet, padroes, c...
 
Microprocessadores ii arquitetura
Microprocessadores ii arquiteturaMicroprocessadores ii arquitetura
Microprocessadores ii arquitetura
 
Microprocessadores ii revisão de linguagem de programação (parte2)
Microprocessadores ii revisão de linguagem de programação (parte2)Microprocessadores ii revisão de linguagem de programação (parte2)
Microprocessadores ii revisão de linguagem de programação (parte2)
 

Guia para traducao algoritmos x l ps

  • 1. 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 Formato geral de um algoritmo: Linguagem C Pascal Variaveis <declaração de variáveis> Inicio <Blocos de comando> FimAlgoritmo <tipo> <nome da função>() { <declaração de variáveis> <comandos> } Var <declaração de variáveis> Begin <comandos> End; Exemplo: Exemplo: Exemplo: Variaveis a,b: inteiro Inicio Escreval(“Olá!”) FimAlgoritmo Caractere de final da linha de comando Comentários em bloco int main() { int a,b; Printf(“Olá!n”); } ; Var a,b: integer Begin Writeln(‘Olá!’); End; ; /* comentário... Comentário.. */ // comentário { <comandos> } (* comentário... comentário... *) // Comentário Begin <comandos> End; Comentários de uma linha Bloco de comandos 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
  • 2. 4 – TIPOS DE DADOS Algoritmos Inteiro Linguagem C Int Modificadores: unsigned, long Real float Variações: double, long Double Caractere String char char[n] // (vetor de caracteres) 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 . Pascal Integer Variações: Shortint, Smallint, Longint, Int64, Word, Longword real Variações: Single, Extended, comp, Currency char string Variações: ShortString, AnsiString, WideString boolean 5 – DECLARAÇÃO DE VARIÁVEIS Algoritmos 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): Linguagem C 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 “:” : 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 Int main() { int n1,n2; Var n1, n2: integer Begin Write(‘Digite valor 1: ‘); Readln(n1); Write(‘Digite valor 2: ‘); Readln(n2); End; printf(“Digite valor 1: “); scanf(“%d”,&n1); printf(“Digite valor 2: “); scanf(“%d”,&n2); } 6 – OPERADORES OPERADORES ARITMÉTICOS Algoritmos - (inversão de sinal) + (valor positivo) ** (exponenciação) * (multiplicação) / (divisão) + (adição) - (subtração) Linguagem C + Pow(<base>,<expoente>) * / + - Pascal + ^ * / + - OPERADORES RELACIONAIS Algoritmos = <> < > >= <= Linguagem C == != < > >= <= Pascal = <> < > >= <=
  • 3. OPERADORES LÓGICOS Algoritmos OU E NÃO Linguagem C || && ! INCREMENTO E DECREMENTO DE VARIÁVEL Algoritmos Linguagem C x <- x +1 x++ ou x += 1 x <- x + N x += N x <- x - 1 x-- ou x -= 1 x <- x - N x -= N Pascal OR AND NOT Pascal x:=x+1 ou inc(x) x:=x+N x:=x-1 ou dec(x) X:=x - N 6 – VETORES, MATRIZES E REGISTROS Algoritmos Vetor[1..<tamanho>] de <tipo> Vetor[1..<lin>,1..<col>] de <tipo> Linguagem C <tipo> <variável>[<tamanho>]; <tipo> <variável>[<lin>][<col>]; Pascal array [1..<tamanho>] of <tipo>; Array [1..<lin>][1..<col>] of <tipo>; 7 – COMANDOS E ESTRUTURAS DE PROGRAMAÇÃO Algoritmos Linguagem C Pascal Escreva Escreval Leia printf(“<string>”,<parâmetros>); printf(“<string>n”,<parâmetros>); scanf(<string de controle>,<lista de argumentos>); if (<condição>) <bloco de comandos> [else <bloco de comandos> write(<parâmetros>); writeln(<parâmetros>); Readln(<variável>); 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>; } for(<expressão de inicialização>;<condição>;<expressão de incremento>) <bloco de comandos> Case <evariável> of <ListaDeCaso1>: <comando1>; <ListaDeCaso1>: <comando1>; ... <ListaDeCasoN>: <comandoN>; Else <comando>; End; while(<condição>) <bloco de comandos> While <condição> do <bloco de comandos> do Repeat <bloco de comandos> Until <expressão lógica> Se <condição> Então <comandos> [Senão <comandos>] Fimse 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 Para <variável> de <valor inicial> ate <valor final> [passo <incremento>] faca <comandos> fimpara Enquanto <expr.lógica> faca <bloco de comandos> FimEnquanto Repita <bloco de comandos> Ate <expressão lógica> <bloco de comandos> While(<condição>); if <condição> then <bloco de comandos> Else <bloco de comandos> For <variável> := inicial> to / downto final> do <bloco de comandos> <valor <valor