Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V....

43
Oficina de Computa¸c˜ ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conte´ udos da aula retirados de: (1) Material online Oficina da Computa¸c˜ ao; Carlos Maziero (2) Livro C: A Linguagem de Programa¸ ao ; B. Kernighan, D. Ritchie

Transcript of Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V....

Page 1: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

Oficina de ComputacaoAula 01

Murilo V. G. da Silva

DINF/UFPR

Conteudos da aula retirados de:(1) Material online Oficina da Computacao; Carlos Maziero

(2) Livro C: A Linguagem de Programacao ; B. Kernighan, D. Ritchie

Page 2: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

O programa “Hello, world!”

Primeiro exemplo, varios conceitos novos!

Murilo V. G. da Silva Oficina de Computacao

Page 3: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

Compilando

Compilando na linha de comando:

Murilo V. G. da Silva Oficina de Computacao

Page 4: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

Mais um exemplo

Soma e media:

Murilo V. G. da Silva Oficina de Computacao

Page 5: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

Ainda mais um exemplo

Chamada de funcao:

Murilo V. G. da Silva Oficina de Computacao

Page 6: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

Controle de fluxo

Desvio condicional

if (EXPRESS~AO)

COMANDO;

Exemplo:

if (x > 10)

printf("Ola!");

Murilo V. G. da Silva Oficina de Computacao

Page 7: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

Controle de fluxo

Desvio condicional

if (EXPRESS~AO)

COMANDO;

Exemplo:

if (x > 10)

printf("Ola!");

Murilo V. G. da Silva Oficina de Computacao

Page 8: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

Controle de fluxo

Desvio condicional

if (EXPRESS~AO)

COMANDO;

Exemplo:

if (x > 10)

printf("Ola!");

Murilo V. G. da Silva Oficina de Computacao

Page 9: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

Controle de fluxo

Desvio condicional

if (EXPRESS~AO)

{COMANDO 1;

COMANDO 2;...

}

Exemplo:

if (x == 10)

{y = 5;

z = fatorial(x);...

}

Murilo V. G. da Silva Oficina de Computacao

Page 10: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

Controle de fluxo

Desvio condicional

if (EXPRESS~AO)

{COMANDO 1;

COMANDO 2;...

}

Exemplo:

if (x == 10)

{y = 5;

z = fatorial(x);...

}

Murilo V. G. da Silva Oficina de Computacao

Page 11: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

Controle de fluxo

Desvio condicional

if (EXPRESS~AO)

{COMANDO 1;

COMANDO 2;...

}

Exemplo:

if (x == 10)

{y = 5;

z = fatorial(x);...

}Murilo V. G. da Silva Oficina de Computacao

Page 12: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

Controle de fluxo

Mais um exemplo:

if (x != 10)

if (y < 20)

{a = 5;

b = fatorial(x);...

}

Murilo V. G. da Silva Oficina de Computacao

Page 13: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

Controle de fluxo

Mais um exemplo:

if (x != 10)

if (y < 20)

{a = 5;

b = fatorial(x);...

}

Murilo V. G. da Silva Oficina de Computacao

Page 14: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

Controle de fluxo

Desvio condicional

if (EXPRESS~AO)

COMANDO A;

else

COMANDO B;

Desvio condicional

if (EXPRESS~AO)

{COMANDO A1;

COMANDO A2;...

}else

{COMANDO B1;

COMANDO B2;...

}

Murilo V. G. da Silva Oficina de Computacao

Page 15: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

Controle de fluxo

Desvio condicional

if (EXPRESS~AO)

COMANDO A;

else

COMANDO B;

Desvio condicional

if (EXPRESS~AO)

{COMANDO A1;

COMANDO A2;...

}else

{COMANDO B1;

COMANDO B2;...

}Murilo V. G. da Silva Oficina de Computacao

Page 16: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

Controle de fluxo

Estrutura de repeticao

while (EXPRESS~AO)

COMANDO;

Exemplo:

while (a < b)

a = a + 1;

Murilo V. G. da Silva Oficina de Computacao

Page 17: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

Controle de fluxo

Estrutura de repeticao

while (EXPRESS~AO)

COMANDO;

Exemplo:

while (a < b)

a = a + 1;

Murilo V. G. da Silva Oficina de Computacao

Page 18: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

Controle de fluxo

Estrutura de repeticao

while (EXPRESS~AO)

COMANDO;

Exemplo:

while (a < b)

a = a + 1;

Murilo V. G. da Silva Oficina de Computacao

Page 19: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

Controle de fluxo

Desvio condicional

while (EXPRESS~AO)

{COMANDO 1;

COMANDO 2;...

}

Exemplo:

while (x <= y)

{x = 2 * x;

z = x-1;...

}

Murilo V. G. da Silva Oficina de Computacao

Page 20: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

Controle de fluxo

Desvio condicional

while (EXPRESS~AO)

{COMANDO 1;

COMANDO 2;...

}

Exemplo:

while (x <= y)

{x = 2 * x;

z = x-1;...

}

Murilo V. G. da Silva Oficina de Computacao

Page 21: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

Controle de fluxo

Desvio condicional

while (EXPRESS~AO)

{COMANDO 1;

COMANDO 2;...

}

Exemplo:

while (x <= y)

{x = 2 * x;

z = x-1;...

}Murilo V. G. da Silva Oficina de Computacao

Page 22: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

Controle de fluxo

Estrutura de repeticao

do

COMANDO;

while (EXPRESS~AO);

Estrutura de repeticao

do

{COMANDO 1;

COMANDO 2;...

}while (EXPRESS~AO);

Murilo V. G. da Silva Oficina de Computacao

Page 23: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

Controle de fluxo

Estrutura de repeticao

do

COMANDO;

while (EXPRESS~AO);

Estrutura de repeticao

do

{COMANDO 1;

COMANDO 2;...

}while (EXPRESS~AO);

Murilo V. G. da Silva Oficina de Computacao

Page 24: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

Controle de fluxo

A estrutura de repeticao for

for (INIT;TESTE;INC)

COMANDO;

A estrutura de repeticao for

for (INIT;TESTE;INC)

{COMANDO 1;

COMANDO 2;...

}

Murilo V. G. da Silva Oficina de Computacao

Page 25: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

Controle de fluxo

A estrutura de repeticao for

for (INIT;TESTE;INC)

COMANDO;

A estrutura de repeticao for

for (INIT;TESTE;INC)

{COMANDO 1;

COMANDO 2;...

}

Murilo V. G. da Silva Oficina de Computacao

Page 26: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

Controle de fluxo

Exemplo:

for (i=0 ; i < 10 ; i++)

{j = 2 * i;

printf("O valor de i e %d",i);

printf("O valor de i e %d",i);

printf("\n");}

Murilo V. G. da Silva Oficina de Computacao

Page 27: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

Controle de fluxo

Exemplo:

for (i=0 ; i < 10 ; i++)

{j = 2 * i;

printf("O valor de i e %d",i);

printf("O valor de i e %d",i);

printf("\n");}

Murilo V. G. da Silva Oficina de Computacao

Page 28: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

O basico de atribuicoes e tipos de dados

Atribuicao (veremos mais operadores na proxima aula)

A atribuicao e feita com o operador =

Exemplo:

x = 5;

Tipos de dados (veremos muitos outros na proxima aula)

Dois tipos de dados bastante comuns sao o tipo int e o tipo float, usadospara armazenar valores inteiros e reais respectivamente.Exemplo de declaracoes:

int x;

float y;

Murilo V. G. da Silva Oficina de Computacao

Page 29: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

O basico de atribuicoes e tipos de dados

Atribuicao (veremos mais operadores na proxima aula)

A atribuicao e feita com o operador =Exemplo:

x = 5;

Tipos de dados (veremos muitos outros na proxima aula)

Dois tipos de dados bastante comuns sao o tipo int e o tipo float, usadospara armazenar valores inteiros e reais respectivamente.Exemplo de declaracoes:

int x;

float y;

Murilo V. G. da Silva Oficina de Computacao

Page 30: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

O basico de atribuicoes e tipos de dados

Atribuicao (veremos mais operadores na proxima aula)

A atribuicao e feita com o operador =Exemplo:

x = 5;

Tipos de dados (veremos muitos outros na proxima aula)

Dois tipos de dados bastante comuns sao o tipo int e o tipo float, usadospara armazenar valores inteiros e reais respectivamente.Exemplo de declaracoes:

int x;

float y;

Murilo V. G. da Silva Oficina de Computacao

Page 31: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

O basico de atribuicoes e tipos de dados

Atribuicao (veremos mais operadores na proxima aula)

A atribuicao e feita com o operador =Exemplo:

x = 5;

Tipos de dados (veremos muitos outros na proxima aula)

Dois tipos de dados bastante comuns sao o tipo int e o tipo float, usadospara armazenar valores inteiros e reais respectivamente.

Exemplo de declaracoes:

int x;

float y;

Murilo V. G. da Silva Oficina de Computacao

Page 32: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

O basico de atribuicoes e tipos de dados

Atribuicao (veremos mais operadores na proxima aula)

A atribuicao e feita com o operador =Exemplo:

x = 5;

Tipos de dados (veremos muitos outros na proxima aula)

Dois tipos de dados bastante comuns sao o tipo int e o tipo float, usadospara armazenar valores inteiros e reais respectivamente.Exemplo de declaracoes:

int x;

float y;

Murilo V. G. da Silva Oficina de Computacao

Page 33: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

O basico de atribuicoes e tipos de dados

Atribuicao (veremos mais operadores na proxima aula)

A atribuicao e feita com o operador =Exemplo:

x = 5;

Tipos de dados (veremos muitos outros na proxima aula)

Dois tipos de dados bastante comuns sao o tipo int e o tipo float, usadospara armazenar valores inteiros e reais respectivamente.Exemplo de declaracoes:

int x;

float y;

Murilo V. G. da Silva Oficina de Computacao

Page 34: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

Operadores Aritmeticos

Supondo A = 10 e B = 20:

Murilo V. G. da Silva Oficina de Computacao

Page 35: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

Operadores relacionais

Supondo A = 10 e B = 20:

Murilo V. G. da Silva Oficina de Computacao

Page 36: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

O basico de entrada e saıda de dados(veremos muito mais sobre isso em outras aulas)

Obs: abaixo x e uma variavel do tipo int e y do tipo float.

A funcao printf

Vamos apresentar a funcao usando alguns exemplos.

printf("Hello, World!");

printf("O valor de x e %d", x);

printf("O valor de y e %f", y);

A funcao scanf

Vamos apresentar a funcao usando alguns exemplos.

scanf("%d", &x);

scanf("%f", &y);

Murilo V. G. da Silva Oficina de Computacao

Page 37: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

O basico de entrada e saıda de dados(veremos muito mais sobre isso em outras aulas)

Obs: abaixo x e uma variavel do tipo int e y do tipo float.

A funcao printf

Vamos apresentar a funcao usando alguns exemplos.

printf("Hello, World!");

printf("O valor de x e %d", x);

printf("O valor de y e %f", y);

A funcao scanf

Vamos apresentar a funcao usando alguns exemplos.

scanf("%d", &x);

scanf("%f", &y);

Murilo V. G. da Silva Oficina de Computacao

Page 38: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

O basico de entrada e saıda de dados(veremos muito mais sobre isso em outras aulas)

Obs: abaixo x e uma variavel do tipo int e y do tipo float.

A funcao printf

Vamos apresentar a funcao usando alguns exemplos.

printf("Hello, World!");

printf("O valor de x e %d", x);

printf("O valor de y e %f", y);

A funcao scanf

Vamos apresentar a funcao usando alguns exemplos.

scanf("%d", &x);

scanf("%f", &y);

Murilo V. G. da Silva Oficina de Computacao

Page 39: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

O basico de entrada e saıda de dados(veremos muito mais sobre isso em outras aulas)

Obs: abaixo x e uma variavel do tipo int e y do tipo float.

A funcao printf

Vamos apresentar a funcao usando alguns exemplos.

printf("Hello, World!");

printf("O valor de x e %d", x);

printf("O valor de y e %f", y);

A funcao scanf

Vamos apresentar a funcao usando alguns exemplos.

scanf("%d", &x);

scanf("%f", &y);

Murilo V. G. da Silva Oficina de Computacao

Page 40: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

O basico de entrada e saıda de dados(veremos muito mais sobre isso em outras aulas)

Obs: abaixo x e uma variavel do tipo int e y do tipo float.

A funcao printf

Vamos apresentar a funcao usando alguns exemplos.

printf("Hello, World!");

printf("O valor de x e %d", x);

printf("O valor de y e %f", y);

A funcao scanf

Vamos apresentar a funcao usando alguns exemplos.

scanf("%d", &x);

scanf("%f", &y);

Murilo V. G. da Silva Oficina de Computacao

Page 41: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

O basico de entrada e saıda de dados(veremos muito mais sobre isso em outras aulas)

Obs: abaixo x e uma variavel do tipo int e y do tipo float.

A funcao printf

Vamos apresentar a funcao usando alguns exemplos.

printf("Hello, World!");

printf("O valor de x e %d", x);

printf("O valor de y e %f", y);

A funcao scanf

Vamos apresentar a funcao usando alguns exemplos.

scanf("%d", &x);

scanf("%f", &y);

Murilo V. G. da Silva Oficina de Computacao

Page 42: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

O basico de entrada e saıda de dados(veremos muito mais sobre isso em outras aulas)

Obs: abaixo x e uma variavel do tipo int e y do tipo float.

A funcao printf

Vamos apresentar a funcao usando alguns exemplos.

printf("Hello, World!");

printf("O valor de x e %d", x);

printf("O valor de y e %f", y);

A funcao scanf

Vamos apresentar a funcao usando alguns exemplos.

scanf("%d", &x);

scanf("%f", &y);

Murilo V. G. da Silva Oficina de Computacao

Page 43: Oficina de Computação Aula 01 - UFPR · 2018-08-07 · O cina de Computa˘c~ao Aula 01 Murilo V. G. da Silva DINF/UFPR Conteudos da aula retirados de: (1) Material online O cina

O basico de entrada e saıda de dados(veremos muito mais sobre isso em outras aulas)

Obs: abaixo x e uma variavel do tipo int e y do tipo float.

A funcao printf

Vamos apresentar a funcao usando alguns exemplos.

printf("Hello, World!");

printf("O valor de x e %d", x);

printf("O valor de y e %f", y);

A funcao scanf

Vamos apresentar a funcao usando alguns exemplos.

scanf("%d", &x);

scanf("%f", &y);

Murilo V. G. da Silva Oficina de Computacao