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 e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlgoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlex Camargo
 
Estruturas em C++ (struct)
Estruturas em C++ (struct)Estruturas em C++ (struct)
Estruturas em C++ (struct)Márcio Rizzatto
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POODaniel Brandão
 
Apresentação java io
Apresentação java ioApresentação java io
Apresentação java ioSilvino Neto
 
Módulo 5 Arquitetura de Computadores
Módulo 5 Arquitetura de ComputadoresMódulo 5 Arquitetura de Computadores
Módulo 5 Arquitetura de ComputadoresLuis Ferreira
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação CGercélia Ramos
 
Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaDaniel Brandão
 
Módulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoMódulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoLuis Ferreira
 
[Curso Java Basico - Orientacaoo a Objetos] Aula 24: Classes e atributos
[Curso Java Basico - Orientacaoo a Objetos] Aula 24: Classes e atributos[Curso Java Basico - Orientacaoo a Objetos] Aula 24: Classes e atributos
[Curso Java Basico - Orientacaoo a Objetos] Aula 24: Classes e atributosLoiane Groner
 
Aula 10 - Equivalência Java x Portugol Studio - parte 1
Aula 10 - Equivalência Java x Portugol Studio - parte 1Aula 10 - Equivalência Java x Portugol Studio - parte 1
Aula 10 - Equivalência Java x Portugol Studio - parte 1Pacc UAB
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programaçãoessa
 
300 Exercícios Resolvidos e Comentados em Python - Fernando Feltrin - Amostra...
300 Exercícios Resolvidos e Comentados em Python - Fernando Feltrin - Amostra...300 Exercícios Resolvidos e Comentados em Python - Fernando Feltrin - Amostra...
300 Exercícios Resolvidos e Comentados em Python - Fernando Feltrin - Amostra...Fernando Belome Feltrin
 

Mais procurados (20)

Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
Algoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlgoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetição
 
Estruturas em C++ (struct)
Estruturas em C++ (struct)Estruturas em C++ (struct)
Estruturas em C++ (struct)
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Apresentação java io
Apresentação java ioApresentação java io
Apresentação java io
 
Módulo 5 Arquitetura de Computadores
Módulo 5 Arquitetura de ComputadoresMódulo 5 Arquitetura de Computadores
Módulo 5 Arquitetura de Computadores
 
Aula javascript
Aula  javascriptAula  javascript
Aula javascript
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação C
 
Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem Java
 
Módulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoMódulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informação
 
[Curso Java Basico - Orientacaoo a Objetos] Aula 24: Classes e atributos
[Curso Java Basico - Orientacaoo a Objetos] Aula 24: Classes e atributos[Curso Java Basico - Orientacaoo a Objetos] Aula 24: Classes e atributos
[Curso Java Basico - Orientacaoo a Objetos] Aula 24: Classes e atributos
 
Aula 10 - Equivalência Java x Portugol Studio - parte 1
Aula 10 - Equivalência Java x Portugol Studio - parte 1Aula 10 - Equivalência Java x Portugol Studio - parte 1
Aula 10 - Equivalência Java x Portugol Studio - parte 1
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
 
Html Básico
Html BásicoHtml Básico
Html Básico
 
Aula 07 - Visualg e Pseudocódigo
Aula 07 - Visualg e PseudocódigoAula 07 - Visualg e Pseudocódigo
Aula 07 - Visualg e Pseudocódigo
 
300 Exercícios Resolvidos e Comentados em Python - Fernando Feltrin - Amostra...
300 Exercícios Resolvidos e Comentados em Python - Fernando Feltrin - Amostra...300 Exercícios Resolvidos e Comentados em Python - Fernando Feltrin - Amostra...
300 Exercícios Resolvidos e Comentados em Python - Fernando Feltrin - Amostra...
 
Linguagem C - Strings
Linguagem C - StringsLinguagem C - Strings
Linguagem C - Strings
 
Robocode
RobocodeRobocode
Robocode
 
Flutter do zero a publicacao
Flutter do zero a publicacaoFlutter do zero a publicacao
Flutter do zero a publicacao
 
Raspberry pi
Raspberry piRaspberry pi
Raspberry pi
 

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

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

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