• Nenhum resultado encontrado

Curso de C para Engenharias

N/A
N/A
Protected

Academic year: 2021

Share "Curso de C para Engenharias"

Copied!
34
0
0

Texto

(1)

Curso de C para Engenharias

Aula 8

Cristiano Dalbem

Dennis Balreira

Gabriel Moreira

Miller Biazus

Raphael Lupchinski

Universidade Federal do Rio Grande do Sul

Instituto de Informática

(2)
(3)

math.h

Funções matemáticas

Trigonométricas

Hiperbólicas

Logarítmicas e exponenciais

Potência

(4)

Algumas funções

pow (

double

x,

double

n)

x elevano na n

sqrt (

double

a)

Calcula a raiz quadrada de a

sin (

double

grau)

Retorna o seno de grau (deve estar em radianos)

cos(

double

grau)

Retorna o cosseno de grau (deve estar em radianos)

fabs(

double

num)

(5)

Exemplo

1

#i n c l u d e <s t d i o . h>

2

#i n c l u d e <math . h>

3 4

i n t

main ( )

5

{

6

double

x , y ;

7

p r i n t f (

" D i g i t e d o i s numeros : "

) ;

8

s c a n f (

"%l f %l f "

, &x , &y ) ;

9

p r i n t f (

"x^y = %l f "

, pow ( x , y ) ) ;

10

p r i n t f (

"x ^(1/2) = %l f "

, s q r t ( x ) ) ;

11

p r i n t f (

" cos ( y ) = %l f "

, cos ( y ) ) ;

12

p r i n t f (

" v a l o r a b s o l u t o de x = %l f "

, f a b s ( y ) ) ;

13

return

0 ;

14

}

(6)

conio2.h

Modo gráco em linha de comando

Permite manipular componentes grácas pela interface de

linha de comando.

(7)

Constantes para cores

1

enum

COLORS {

2

BLACK, BLUE , GREEN, CYAN,

3

RED, MAGENTA, BROWN, LIGHTGRAY ,

4

DARKGRAY, LIGHTBLUE , LIGHTGREEN , LIGHTCYAN ,

5

LIGHTRED , LIGHTMAGENTA, YELLOW, WHITE

(8)

Função para mudar a coordenada

1

gotoxy ( x , y )

2

// Modica a posição do cursor para a coordenada especicada por x e y

1

// Exemplo:

2

#include

<conio2 . h>

3

i n t

main ( ) {

4

gotoxy ( 1 0 , 1 0 ) ;

5

p r i n t f (

"P −> P eh o ponto (10 ,10) "

) ;

6

return

( 0 ) ;

7

}

(9)

Funções para limpar

1

c l r s c r ( )

2

// Limpa a tela

1

c l r e o l ( )

2

// Limpa o resto da linha a partir do cursor

1

// Exemplo:

2

#include

<conio2 . h>

3

i n t

main ( ) {

4

gotoxy ( 3 0 , 1 4 ) ;

5

p r i n t f (

"SUJANDO A TELA"

) ;

6

gotoxy ( 3 0 , 1 4 ) ;

7

c l r e o l ( ) ;

8

p r i n t f (

"DE NOVO"

) ;

9

c l r s c r ( ) ;

10

return

( 0 ) ;

11

}

(10)

Funções para colorir

1

t extb ackgr ound ( cor )

2

// Altera a cor de fundo - usar constantes especicadas para escolher a

cor

1

t e x t c o l o r ( cor )

2

// Altera a cor do texto - usar constantes especicadas para escolher a

cor

1

// Exemplo:

2

#include

<conio2 . h>

3

i n t

main ( ) {

4

textba ckgr oun d (LIGHTBLUE ) ;

5

c l r s c r ( ) ;

6

t e x t c o l o r (RED ) ;

7

p r i n t f (

"FUNDO EM AZUL CLARO E TEXTO EM VERMELHO"

) ;

8

return

( 0 ) ;

(11)

Funções para escrever

1

c p u t s x y ( x , y , s t r i n g )

2

// Coloca a string devejada nas coordenadas especicadas por x e y

3

putchxy ( x , y , c h a r a c t e r e )

4

// Coloca o caractere desejado na posição especicada por x e y

1

// Exemplo:

2

#include

<conio2 . h>

3

i n t

main ( ) {

4

c p u t s x y (11 ,5 ,

" e s t i l o p r i n t f sem gotoxy "

) ;

5

putchxy (40 ,20 ,

'C '

) ;

6

putchxy (40 ,21 ,

' h '

) ;

7

putchxy (40 ,22 ,

' a '

) ;

8

putchxy (40 ,23 ,

' r '

) ;

9

return

( 0 ) ;

10

}

(12)

Outras funções

1

getch ( )

2

// Espera pressionar botão e retorna o charactere pressionado

3

wherex ( )

4

// Retorna o lugar da posição x

5

wherey ( )

6

// Retorna o lugar da posição y

7

d e l l i n e ( )

8

// Deleta a linha atual, puxando todas as linhas abaixo

9

i n s l i n e ( )

(13)

Exemplo

1

#i n c l u d e <s t d i o . h>

2

#i n c l u d e <conio2 . h>

3

i n t

main ( ) {

4

i n t

x , y ;

5

char

ch ;

6

gotoxy ( x , y ) ;

7

t e x t c o l o r (WHITE ) ;

8

do

{

9

ch = getch ( ) ;

10

i f

( ch == 27)

11

p r i n t f (

"ENTER PRESSIONADO"

) ;

12

i f

( ch ==

' a '

) p r i n t f (

"a"

) ;

13

}

14

while

( ch !=

' q '

) ;

15

return

( 0 ) ;

16

}

(14)

Outras bibliotecas

stdlib.h - biblioteca padrão, com vários tipos e conversão.

time.h - dene funções de manipulação de tempo.

ctype.h - funções de classicação e mapeamento de conjuntos.

windows.h - manipulação de janelas e arquivos no sistema

operacional windows.

le.h - funções extras para manipulação de arquivos.

OpenGL, GTK, SDL - especialização que dene funções

grácas 3D e 2D. Utilizado para aplicações grácas.

(15)

Pré-Processador

Consiste em um programa que roda sobre o nosso código fonte

antes que ocorra a compilação.

Inclui o código de um arquivo em outro (diretiva

#include)

Substitui os valores no código (diretiva

#dene)

(16)

Inclusão de arquivos

#include

<arquivo.h>

- arquivo de um diretório padrão

#include

"arquivo.h"

- arquivo dentro da pasta atual

(17)

Substituição de #denes

Já foi falado diversas vezes

#dene

NOME valor

(18)

Cuidado!

A substituição se dá a nível textual

Isso pode causar alguns problemas...

(19)

NÃO colocar o ; no nal

1

//um erro classico

2

#define

MAX 1 0;

3

4

i n t

main ( )

5

{

6

i n t

a r r a y [MAX] ;

// int array[10;];

7

. . .

//seu codigo

8

return

0 ;

(20)

Cuidado com as expressões

1

#define

SEIS 1+5

2

#define

NOVE 8+1

3 4

i n t

main ( )

5

{

6

p r i n t f (

"6 ∗ 9 = %d"

. SEIS ∗NOVE) ;

// 6 * 9 = 42, ahnn??

7

return

0 ;

(21)

Headers

São os arquivos .h

Úteis para incluir protótipos de funções, e denições de

estruturas

(22)

Arquivo exemplo

1

//arquivo Ponto.h

2

s t r u c t

Ponto {

3

i n t

x ;

4

i n t

y ;

5

i n t

z ;

6

} ;

7

(23)
(24)

Exercício

Jogo da velha

Desenvolva um jogo da velha com interface gráca utilizando

a biblioteca conio2.h.

(25)
(26)

Aula 1

Tipos de dados - int, oat, char, double, void

printf - Escrever na linha de comando.

scanf - Ler variável da linha de comando.

Operadores Aritméticos - +, -, *, /, %, =.

Algoritmos.

(27)

Aula 2

Fluxogramas.

Comandos condicionais - if-else, switch.

Operadores relacionais - >, >=, <, <=, ==, !=.

Operadores booleanos - !, &&, ||.

(28)

Aula 3

Comandos iterativos - for, while, do-while.

Vetores e matrizes.

(29)

Aula 4

Strings - strcmp, strcpy, strlen, strcat.

Ponteiros.

(30)

Aula 5

Funções.

Passagens de parâmetros - valor e referência.

Recursão.

(31)

Aula 6

Estruturas.

Enumerações.

(32)

Aula 7

(33)

Aula 8

Bibliotecas - math.h, conio.h.

Pré-processamento - include, dene.

(34)

Dúvidas, Sugestões, Críticas

www.inf.ufrgs.br/pet

pet@inf.ufrgs.br

Referências

Documentos relacionados

Fonte: Elaborada pelo autor Figura 19: Protocolo de triagem virtual realizado contendo cada etapa desde a construção do banco de dados, aplicação do filtro molecular com a

Nesta sessão prática será explorada esta nova tecnologia de aprendizagem ao nível da construção de problemas e das várias etapas da sua resolução, tudo num mesmo documento da

Esse sistema vem sendo adotado há mais de três mil anos e é curioso perceber que, mesmo após a sua independência, em 1947, e com a Constituição do país, feita em 1949, o sistema

Convenio para desenvolvimento de servicos assistenciais de natureza continuada, para atendimento da populacao local em situacAo de vulnerabilidade, compreendidos na area

Entretanto, ao enviar uma atualização para a primeira loja (onde o cliente não estava mais associado), se o sistema estivesse parametrizado para filtrar as informações por

• limite inferior de explosão (LEL) esta informação não está disponível • limite superior de explosão (UEL) esta informação não está disponível Limites de explosão de

Nossos objetivos específicos são: a Distinguir as condições de letramento na escola e nas comunidades ribeirinhas como constitutivas das formas dos enunciados dos corpora

1- A partir de observações e avaliações realizadas no segmento de transportes verificou-se a dificuldade de apropriação dos custos efetivos aos serviços