Buscar

00.Comparativo.Pseudocodigo.C

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 30 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 30 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 30 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

DCC107 
 
Laboratório de Programação II 
Comparativo 
Pseudolinguagem X Linguagem C 
Pseudolinguagem C 
inteiro 
int 
int 
long 
real 
float 
double 
lógico 
log 
int 
caráter 
caracter 
car 
char 
Tipos de dados 
2 
Pseudolinguagem C 
Adição + + 
Subtração - - 
Multiplicação * * 
Divisão / / 
Divisão inteira div / 
Resto da divisão mod % 
Operadores aritméticos 
3 
Pseudolinguagem C 
Menor < < 
Maior > > 
Menor ou igual ≤ <= 
Maior ou igual ≥ >= 
Igual = == 
Diferente ≠ != 
Operadores de comparação 
4 
Pseudolinguagem C 
Conjunção 
e 
∧ 
&& 
Disjunção 
ou 
∨ 
|| 
Disjunção exclusiva 
xou 
⊕ 
Negação 
não 
¬ 
! 
Operadores lógicos 
5 
Pseudolinguagem C 
var ← expressão; var = expressão; 
Comando de atribuição 
6 
Pseudolinguagem C 
Exponenciação X ** N pow(X, N) 
Raiz quadrada raiz(X) sqrt(X) 
Módulo abs(X) abs(X) 
Algumas funções matemáticas 
7 
Pseudolinguagem C 
Entrada leia scanf 
Saída imprima printf 
Entrada e saída 
8 
Pseudolinguagem C 
Alternativa 
simples 
se condição 
 então 
 C; 
fim-se; 
if (condição) 
{ 
 C; 
} 
Estruturas de controle 
9 
Pseudolinguagem C 
Alternativa 
dupla 
se condição 
 então 
 C1; 
 senão 
 C2; 
fim-se; 
if (condição) 
{ 
 C1; 
} 
else 
{ 
 C2; 
} 
Estruturas de controle 
10 
Pseudolinguagem C 
Alternativa 
múltipla 
escolha 
escolha expressão 
 caso V1: C1; 
 caso V2: C2; 
 ... 
 caso Vn: Cn; 
 senão: Cn+1; 
fim-escolha; 
switch(expressão) 
{ 
 case V1: C1; break; 
 case V2: C2; break; 
 ... 
 case Vn: Cn; break; 
 default: Cn+1; 
} 
Estruturas de controle 
11 
Pseudolinguagem C 
Repetição 
com teste 
no início 
enquanto condição faça 
 C; 
fim-enquanto; 
while(condição) 
{ 
 C; 
} 
Estruturas de controle 
12 
Pseudolinguagem C 
Repetição 
com teste 
no final 
repita 
 C; 
até condição; 
do 
{ 
 C; 
} while(condição); 
Estruturas de controle 
13 
ATENÇÃO: Esta condição é a negação desta condição 
Ex.: até X < 10  while(X >= 10) 
Pseudolinguagem C 
Repetição 
com variável 
de controle 
para V de I até L passo P faça 
 C; 
fim-para; 
for(V=I;V<=L;V=V+P) 
{ 
 C; 
} 
Estruturas de controle 
14 
Pseudolinguagem C 
procedimento nome (parâmetros) 
início 
 declaração de variáveis; 
 C1; 
 C2; 
 ... 
 Cn; 
fim-procedimento; 
void nome(parâmetros) 
{ 
 declaração de variáveis; 
 C1; 
 C2; 
 ... 
 Cn; 
} 
Procedimentos e funções 
15 
• Procedimento: declaração 
Pseudolinguagem C 
função nome (parâmetros) : tipo 
início 
 declaração de variáveis; 
 C1; 
 C2; 
 ... 
 Cn; 
 nome ← expressão; 
fim-função; 
tipo nome(parâmetros) 
{ 
 declaração de variáveis; 
 C1; 
 C2; 
 ... 
 Cn; 
 return expressão; 
} 
Procedimentos e funções 
16 
• Função: declaração 
 A chamada a procedimentos e funções é 
realizada da mesma forma em pseudolinguagem 
e em C. 
 Procedimento: nome (argumentos); 
 Função: ... nome (argumentos) ... 
 A função deve sempre ser chamada do lado direito da 
atribuição, sozinha ou dentro de alguma expressão 
Procedimentos e funções 
17 
Pseudolinguagem C 
Vetor nome: vet [I..N] tipo; tipo nome[N]; 
Matriz nome: mat[I..N, J..M] tipo; tipo nome[N][M]; 
Vetores e matrizes (arrays) 
18 
Em pseudolinguagem, existe índice inicial e final (ex.: mat[-2..7, 4..9]) 
Em C, o índice inicial é sempre 0 e o índice final é N-1 
 
Estruturas ou registros 
19 
Pseudolinguagem C 
nome_var: reg (tipo1: campo1, 
 ... , 
 tipon: campon); 
struct nome_struct 
{ 
 tipo1: campo1; 
 ... 
 tipon: campon; 
}; 
 
struct nome_struct nome_var; 
 
Definição de novos tipos 
20 
Pseudolinguagem C 
tipo nome_tipo = definição; typedef definição nome_tipo; 
Exemplos 
tipo valormes = vet [0..11] real; typedef float[12] valormes; 
tipo X = vet [1..6] int; typedef int[6] X; 
tipo INSC = reg (int: D, car: T); struct s_insc 
{ 
 int D; 
 int T; 
}; 
typedef struct s_insc INSC; 
 
Definição de novos tipos 
21 
Pseudolinguagem C 
tipo nome_tipo = definição; typedef definição nome_tipo; 
Exemplos 
tipo CADEIA = seq car; typedef char[TAM] CADEIA; 
tipo R = ref int; typedef int* R; 
tipo RC = ref CADEIA; typedef CADEIA* RC; 
No caso da cadeia de caracteres, em C é preciso definir um tamanho 
máximo pra cadeia. Para definir cadeias de tamanho variável, 
precisamos usar alocação dinâmica de memória (malloc e free) 
 
Exemplo 
22 
Pseudolinguagem 
tipo CADASTRO = vet [1..1000] PESSOA; 
tipo PESSOA = reg (NOME: sobrenome, int: idade, END: endereco); 
tipo NOME = vet [1..30] car; 
tipo END = vet [1..40] car; 
tipo RCAD = ref CADASTRO; 
Declaração de uma variável 
RCAD: cad; 
Como traduzir pra C?? 
 Em C, a ordem de definição dos tipos importa 
 Um tipo deve sempre ser definido antes de sua 
utilização na definição de um outro tipo 
 Começamos definindo os tipos que dependem 
somente de tipos primitivos (int, char, float...) 
 A seguir, usamos os novos tipos para definir os 
tipos mais complexos 
Exemplo 
23 
 
Exemplo 
24 
Pseudolinguagem 
tipo CADASTRO = vet [1..1000] PESSOA; 
tipo PESSOA = reg (NOME: sobrenome, int: idade, END: endereco); 
tipo NOME = vet [1..30] car; 
tipo END = vet [1..40] car; 
tipo RCAD = ref CADASTRO; 
Declaração de uma variável 
RCAD: cad; 
cad é do tipo RCAD: uma referência para CADASTRO 
 
Exemplo 
25 
Pseudolinguagem 
tipo CADASTRO = vet [1..1000] PESSOA; 
tipo PESSOA = reg (NOME: sobrenome, int: idade, END: endereco); 
tipo NOME = vet [1..30] car; 
tipo END = vet [1..40] car; 
tipo RCAD = ref CADASTRO; 
Declaração de uma variável 
RCAD: cad; 
CADASTRO, por sua vez, é um vetor do tipo PESSOA 
 
Exemplo 
26 
Pseudolinguagem 
tipo CADASTRO = vet [1..1000] PESSOA; 
tipo PESSOA = reg (NOME: sobrenome, int: idade, END: endereco); 
tipo NOME = vet [1..30] car; 
tipo END = vet [1..40] car; 
tipo RCAD = ref CADASTRO; 
Declaração de uma variável 
RCAD: cad; 
PESSOA, por sua vez, é um registro com 3 campos 
• um do tipo NOME 
• um do tipo int (TIPO PRIMITIVO) 
• um do tipo END 
 
Exemplo 
27 
Pseudolinguagem 
tipo CADASTRO = vet [1..1000] PESSOA; 
tipo PESSOA = reg (NOME: sobrenome, int: idade, END: endereco); 
tipo NOME = vet [1..30] car; 
tipo END = vet [1..40] car; 
tipo RCAD = ref CADASTRO; 
Declaração de uma variável 
RCAD: cad; 
NOME é um vetor de caracteres (TIPO PRIMITIVO) 
 
Exemplo 
28 
Pseudolinguagem 
tipo CADASTRO = vet [1..1000] PESSOA; 
tipo PESSOA = reg (NOME: sobrenome, int: idade, END: endereco); 
tipo NOME = vet [1..30] car; 
tipo END = vet [1..40] car; 
tipo RCAD = ref CADASTRO; 
Declaração de uma variável 
RCAD: cad; 
END também é um vetor de caracteres (TIPO PRIMITIVO) 
 NOME e END são os primeiros a serem definidos 
Não dependem de nenhum tipo estruturado 
 A seguir definimos PESSOA, que depende de 
NOME e END 
 Finalmente, definimos CADASTRO, que depende 
de PESSOA, e em seguida RCAD, que depende de 
CADASTRO 
Exemplo 
29 
 
Exemplo 
30 
C 
typedef char[30] NOME; 
typedef char[40] END; 
typedef struct s_pessoa 
{ 
 NOME sobrenome; 
 int idade; 
 END endereco; 
} PESSOA; 
typedef PESSOA[1000] CADASTRO; 
typedef CADASTRO* RCAD; 
Declaração de uma variável 
RCAD cad;

Outros materiais