Sie sind auf Seite 1von 34
Introdução Professor: Tassio Ferreira Vale Curso: Bacharelado em Ciências Exatas e Tecnológicas - BCET Disciplina:

Introdução

Professor: Tassio Ferreira Vale

Curso: Bacharelado em Ciências Exatas e Tecnológicas - BCET

Disciplina: Processamento de Dados II - CET151

Apresentação

¤ Tassio Vale

¤ tassiovale.com

Apresentação ¤   Tassio Vale ¤   tassiovale.com ¤   Titulação ¤   Bacharel em Ciência

¤ Titulação ¤ Bacharel em Ciência da Computação – UNIFACS ¤ Mestre em Ciência da Computação – UFPE ¤ Doutorando em Ciência da Computação – UFBA

¤ Atuação ¤ Pesquisa/ensino/extensão na área de Engenharia de Software ¤ RiSE Labs (www.rise.com.br) ¤ Fraunhofer Project Center Brazil (wiki.dcc.ufba.br/FPC) ¤ UFRB (gabinete 43)

Processamento de Dados II – CET151

Apresentação

Apresentação Processamento de Dados II – CET151 12-Aug-14 3
Apresentação Processamento de Dados II – CET151 12-Aug-14 3

Processamento de Dados II – CET151

Apresentação

Apresentação Processamento de Dados II – CET151 12-Aug-14 4
Apresentação Processamento de Dados II – CET151 12-Aug-14 4
Apresentação Processamento de Dados II – CET151 12-Aug-14 4

Processamento de Dados II – CET151

Apresentação

¤ Ambientes de desenvolvimento

¤ http://eclipse.org/downloads/

de desenvolvimento ¤   http://eclipse.org/downloads/ ¤   Eclipse IDE for C/C++ Developers (1ª parte) ¤

¤ Eclipse IDE for C/C++ Developers (1ª parte)

¤ Eclipse Standard (2ª parte)

Processamento de Dados II – CET151

Apresentação

¤ Sobre a disciplina

Apresentação ¤   Sobre a disciplina tassiovale.com/cet151 tassio.vale@ufrb.edu.br Processamento de Dados II –

tassiovale.com/cet151

tassio.vale@ufrb.edu.br

Processamento de Dados II – CET151

Sumário

Sumário ¤   Constantes e variáveis ¤   Tipos básicos de dados ¤   Operadores aritméticos

¤ Constantes e variáveis ¤ Tipos básicos de dados ¤ Operadores aritméticos, relacionais e lógicos ¤ Estruturas de seleção ¤ Estruturas de repetição

¤ Vetores ¤ Matrizes ¤ Strings ¤ Funções básicas (printf, scanf, strcmp, etc.)

¤ Procedimentos/funções

Processamento de Dados II – CET151

Constantes e variáveis

¤ Identificadores

Constantes e variáveis ¤   Identificadores ¤   Sempre começa com letra ( maiúscula ou minúscula

¤ Sempre começa com letra (maiúscula ou minúscula) ou “underline”

¤ Após o começo, pode conter letras (maiúsculas ou minúsculas), números ou sublinhados apenas

¤ Correto

¤

a | A|

abc | Abc | _abc | ab123 | a1bc | a_1b

¤ Errado

¤

1abc | a!b | xzh? | e.1

Processamento de Dados II – CET151

Constantes e variáveis

¤ Palavras-chave C ANSI

Constantes e variáveis ¤   Palavras-chave C ANSI ¤   auto, break, case, char, const, continue,

¤ auto, break, case, char, const, continue, default, do,

¤ double, else, enum, extern, float, for, goto, if, int, long,

¤ register, return, short, signed, sizeof, static, struct, switch,

¤ typedef, union, unsigned, void, volatile, while

¤ Case sensitive

¤ “else” é diferente de ELSE

Processamento de Dados II – CET151

Constantes e variáveis

¤ Formato

¤ tipo lista-variaveis

¤ Exemplos

Formato ¤   tipo lista-variaveis ¤   Exemplos ¤   int x, y, count; ¤  

¤ int x, y, count; ¤ long salary; ¤ unsigned int id; ¤ int x=0, y=0, z=0; ¤ int x, y, z = 0; /* apenas z é inicializado com 0*/

Processamento de Dados II – CET151

Tipos básicos

Tipos básicos Operador Caractere Inteiro Ponto flutuante Ponto flutuante ( dupla precisão ) Sem

Operador

Caractere

Inteiro

Ponto flutuante

Ponto flutuante (dupla precisão)

Sem valor

Símbolo

char

int

float

double

void

Processamento de Dados II – CET151

Operadores aritméticos

Operadores aritméticos Operador Subtração Adição Multiplicação Divisão Resto da divisão

Operador

Subtração

Adição

Multiplicação

Divisão

Resto da divisão

Decremento

Incremento

Símbolo

-

+

*

/

%

--

++

Processamento de Dados II – CET151

Operadores relacionais

Operadores relacionais Operador Maior Maior ou igual Menor Menor ou igual Igual Diferente

Operador

Maior

Maior ou igual

Menor

Menor ou igual

Igual

Diferente

Símbolo

>

>=

<

<=

==

!=

Processamento de Dados II – CET151

Operadores lógicos

Operadores lógicos Operador AND OR NOT Símbolo && || ! Processamento de Dados II

Operador

AND

OR

NOT

Símbolo

&&

||

!

Processamento de Dados II – CET151

Operadores lógicos

¤ Importante

Operadores lógicos ¤   Importante ¤   Toda expressão relacional e lógica produz como resultado 0

¤ Toda expressão relacional e lógica produz como resultado 0 ou 1

¤ Ex.:

¤ int x; X = 100; printf (“%d”, x>10); /* irá imprimir 1*/

Processamento de Dados II – CET151

Função printf

Função printf ¤   A função tem a seguinte forma geral: ¤   printf (formato escrita

¤ A função tem a seguinte forma geral:

¤ printf (formato escrita, valores);

¤ Ex.:

¤ printf ("%f",40.345); -> "40.345"

¤ printf("Enter Eyes\n");

¤ printf(”Número inteiro: %d”, 4);

Processamento de Dados II – CET151

Função printf

Função printf Código Significado %d Inteiro %f Float %c Caractere %s String

Código

Significado

%d

Inteiro

%f

Float

%c

Caractere

%s

String

Processamento de Dados II – CET151

Função scanf

Função scanf ¤   A função tem a seguinte forma geral: ¤   scanf (formato leitura

¤ A função tem a seguinte forma geral:

¤ scanf (formato leitura, variáveis);

¤ Ex.:

¤ printf (“Informe a sua idade”); scanf ("%d", &age);

Processamento de Dados II – CET151

Estruturas de seleção

¤ IF

¤ if (expressão) comando; else comando; /*se existir*/

Processamento de Dados II – CET151

¤   if (expressão ) comando ; else comando ; /*se existir */ Processamento de Dados

Estruturas de seleção

¤ SWITCH

¤ switch (expressão){

case constante1:

  SWITCH ¤   switch (expressão ){ case constante1: sequência de comandos break; /* evita ir

sequência de comandos break; /* evita ir para os próximos comandos*/

case constante2:

sequência de comandos break; default:

sequência de comandos

}

Processamento de Dados II – CET151

Estruturas de repetição

¤ FOR

Estruturas de repetição ¤   FOR ¤   for ( inicialização ; condição ; incremento )

¤ for (inicialização; condição; incremento) comando;

¤ Ex.:

¤ void main (void) { int x; for (x=1; x <= 100; x++)

}

Processamento de Dados II – CET151

Estruturas de repetição

¤ WHILE

¤ while (condição) comando;

¤ Ex.:

¤ while (x < 10) {

x++;

}

Processamento de Dados II – CET151

) comando ; ¤   Ex.: ¤   while (x < 10) { x++; } Processamento

Estruturas de repetição

Estruturas de repetição ¤   DO-WHILE (executa pelo menos 1 vez ) ¤   do {

¤ DO-WHILE (executa pelo menos 1 vez)

¤ do { comando; } while (condição) ;

¤ Ex.:

¤ do { x++;

} while (x < 10) ;

Processamento de Dados II – CET151

Break e continue

¤ while (!done) {

ch = getchar (); if (ch == ‘$’){ done = 1; break;

}

comandos …

}

outros comandos…

== ‘$’){ done = 1; break ; } comandos … } outros comandos… Processamento de Dados

Processamento de Dados II – CET151

== ‘$’){ done = 1; break ; } comandos … } outros comandos… Processamento de Dados

Break e continue

¤ while (!done) {

Break e continue ¤   while (!done) { ch = getchar (); if (ch == ‘$’){

ch = getchar (); if (ch == ‘$’){ done = 1; continue;

}

comandos …

}

Processamento de Dados II – CET151

(); if (ch == ‘$’){ done = 1; continue ; } comandos … } Processamento de

Vetores

Vetores ¤   tipo nome_variavel [ n_elementos] Quantos elementos tem o vetor Nome pelo qual o

¤ tipo

Vetores ¤   tipo nome_variavel [ n_elementos] Quantos elementos tem o vetor Nome pelo qual o

nome_variavel

Vetores ¤   tipo nome_variavel [ n_elementos] Quantos elementos tem o vetor Nome pelo qual o

[n_elementos]

Quantos elementos tem o vetor

Nome pelo qual o vetor será conhecido

Tipo de dados de cada elemento do vetor

Processamento de Dados II – CET151

Vetores

¤ Ex:

Vetores ¤   Ex: ¤   int g [20]; /* g é um vetor com 20

¤ int g [20]; /* g é um vetor com 20 números inteiros */

¤ float renda [100];

Processamento de Dados II – CET151

Vetores

¤ Considerações

Vetores ¤   Considerações ¤   n elementos variam sempre entre 0 e n-1 ¤  

¤ n elementos variam sempre entre 0 e n-1

¤ O índice do primeiro elemento, de qualquer vetor em C, é sempre 0 (zero)

¤ O n-enésimo elemento está sempre na posição n-1

¤ Ex.:

¤ int list[4]; list [0] = 12;

posição n-1 ¤   Ex.: ¤   int list [4]; list [0] = 12; Processamento de

Processamento de Dados II – CET151

Vetores

¤ Inicialização

¤ tipo var [n] = {valor1, valor2, valor3

¤ Ex.:

¤ int v[3] = {0, 1, 2};

};

valor3 ¤   Ex.: ¤   int v[3] = {0, 1, 2}; }; ¤   int

¤ int v [10] = {10, 20, 30}; /* equivale a int v[10] = {10, 20, 30, 0, 0, 0, 0, 0, 0, 0} */

Processamento de Dados II – CET151

Vetores

¤ Ex:

¤ tipo var [] = {valor1, valor2, valor3

¤ No entanto:

};

var [] = {valor1, valor2, valor3 ¤   No entanto: }; ¤   int v []

¤ int v [] = {10, 20, 30}; /*está correto*/

¤ int v [];

/* está incorreto e provoca erro de compilação */

Processamento de Dados II – CET151

Matrizes

¤ Vetor de vetores

Matrizes ¤   Vetor de vetores ¤   Não existe limite para o número de dimensões

¤ Não existe limite para o número de dimensões que um vetor pode conter

¤ Índices sempre começam com 0 (zero)

¤ tipo vetor [dim1] [dim2]

[dimn]

Processamento de Dados II – CET151

Matrizes

¤ Ex.:

¤ int list [3] [4];

Matrizes ¤   Ex.: ¤   int list [3] [4]; vetor com três elementos , onde

vetor com três elementos, onde cada elemento é um vetor de quatro inteiros

¤ int list [2] [4] = { {1, 2, 3, 4} , {5, 6, 7, 8} }

Processamento de Dados II – CET151

Matrizes

¤ Ex.:

Matrizes ¤   Ex.: Processamento de Dados II – CET151 12-Aug-14 33
Matrizes ¤   Ex.: Processamento de Dados II – CET151 12-Aug-14 33

Processamento de Dados II – CET151

Matrizes

Matrizes ¤   Ex.: #include < stdio.h > void main (){ tableGame [0][0] = 'x'; tableGame

¤

Ex.:

#include <stdio.h>

void main (){

tableGame [0][0] = 'x'; tableGame [0][1] = ' '; tableGame [0][2] = '0';

tableGame [1][0] = ' '; tableGame [1][1] = 'x'; tableGame [1][2] = ' ';

tableGame [2][0] = ' '; tableGame [2][1] = ' '; tableGame [2][2] = '0';

for (i = 0; i < NUM; i++){

const int NUM = 3;

int i, j;

if (j < NUM)

printf("%c", '|');

char tableGame [NUM] [NUM];

printf("\n--------\n"); }

}

}

Processamento de Dados II – CET151