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

Lista de exercícios resolvidos
Lista de exercícios resolvidosLista de exercícios resolvidos
Lista de exercícios resolvidos
Crishna Irion
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
apolllorj
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
Mauro Pereira
 
50978145 algoritmos-exercicios-resolvidos
50978145 algoritmos-exercicios-resolvidos50978145 algoritmos-exercicios-resolvidos
50978145 algoritmos-exercicios-resolvidos
Edvan Mateó
 
Aula 3 - Algoritmos computacionais - parte 1
Aula 3 - Algoritmos computacionais - parte 1Aula 3 - Algoritmos computacionais - parte 1
Aula 3 - Algoritmos computacionais - parte 1
Pacc UAB
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 Algoritmo
Regis Magalhães
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
angelicamenegassi
 

Mais procurados (20)

Exercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresExercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetores
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)
 
Lista de exercícios resolvidos
Lista de exercícios resolvidosLista de exercícios resolvidos
Lista de exercícios resolvidos
 
Linguagem C - Strings
Linguagem C - StringsLinguagem C - Strings
Linguagem C - Strings
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 
Aula 07 - Visualg e Pseudocódigo
Aula 07 - Visualg e PseudocódigoAula 07 - Visualg e Pseudocódigo
Aula 07 - Visualg e Pseudocódigo
 
Exercicios resolvidos visuAlg
Exercicios resolvidos visuAlgExercicios resolvidos visuAlg
Exercicios resolvidos visuAlg
 
Programação Orientado a Objetos
Programação Orientado a ObjetosProgramação Orientado a Objetos
Programação Orientado a Objetos
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 
Linguagem C 09 Ponteiros
Linguagem C 09 PonteirosLinguagem C 09 Ponteiros
Linguagem C 09 Ponteiros
 
Lista de exercícios em portugol
Lista de exercícios em portugolLista de exercícios em portugol
Lista de exercícios em portugol
 
50978145 algoritmos-exercicios-resolvidos
50978145 algoritmos-exercicios-resolvidos50978145 algoritmos-exercicios-resolvidos
50978145 algoritmos-exercicios-resolvidos
 
Aula 3 - Algoritmos computacionais - parte 1
Aula 3 - Algoritmos computacionais - parte 1Aula 3 - Algoritmos computacionais - parte 1
Aula 3 - Algoritmos computacionais - parte 1
 
Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 Algoritmo
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmos
 
Lógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetiçãoLógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetição
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 

Destaque (8)

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
 
APOSTILA DE TRANSISTOR, POLARIZAÇÃO
APOSTILA DE  TRANSISTOR, POLARIZAÇÃOAPOSTILA DE  TRANSISTOR, POLARIZAÇÃO
APOSTILA DE TRANSISTOR, POLARIZAÇÃO
 

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 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
 
Ud2
Ud2Ud2
Ud2
 
Guia rapido de_pascal
Guia rapido de_pascalGuia rapido de_pascal
Guia rapido de_pascal
 
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
 
Aula09 traducaosin110
Aula09 traducaosin110Aula09 traducaosin110
Aula09 traducaosin110
 
Linguagem C 06 Funcoes
Linguagem C 06 FuncoesLinguagem C 06 Funcoes
Linguagem C 06 Funcoes
 

Mais de 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)
 

Último

Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Dirceu Resende
 

Último (6)

From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdfFrom_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
 
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
 
Certificado - Data Analytics - CoderHouse.pdf
Certificado - Data Analytics - CoderHouse.pdfCertificado - Data Analytics - CoderHouse.pdf
Certificado - Data Analytics - CoderHouse.pdf
 
Concurso Caixa TI - Imersão Final - Rogério Araújo.pdf
Concurso Caixa TI - Imersão Final - Rogério Araújo.pdfConcurso Caixa TI - Imersão Final - Rogério Araújo.pdf
Concurso Caixa TI - Imersão Final - Rogério Araújo.pdf
 
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
 
Apresentação Comercial VITAL DATA 2024.pdf
Apresentação Comercial VITAL DATA 2024.pdfApresentação Comercial VITAL DATA 2024.pdf
Apresentação Comercial VITAL DATA 2024.pdf
 

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