SlideShare a Scribd company logo
1 of 6
Download to read offline
Universidade Federal de Campina Grande
Centro de Ciências e Tecnologia
Departamento de Sistemas e Computação
DISCIPLINA
Técnicas de Programação
NOTAS DE AULA
(Informações Adicionais sobre Funções)
Universidade Federal de Campina Grande
Técnicas de Programação ________________________________________________________________
DSC/CCT/UFCG _____________________________________________________________________________________________ 2
Conceitos Avançados – Linguagem C
Informações Adicionais sobre funções
As bibliotecas disponíveis e algumas funções interessantes
A seguir segue uma lista de todas as bibliotecas disponíveis no compilador Turbo
C++ 3.0 Borland:
alloc.h assert.h bcd.h bios.h complex.h
conio.h ctype.h dir.h dirent.h dos.h
errno.h fcntl.h float.h fstream.h generic.h
graphics.h io.h iomanip.h iostream.h limits.h
locale.h malloc.h math.h mem.h process.h
setjmp.h share.h signal.h stdarg.h stddef.h
stdio.h stdiostr.h stdlib.h stream.h string.h
strstrea.h sysstat.h systimeb.h systypes.h time.h
values.h
Exemplos de algumas funções disponíveis nas bibliotecas C.
 Biblioteca math.h
int abs(int i);
double fabs(double d);
Calcula o valor absoluto do inteiro i e do real d, respectivamente.
double sin(double arco);
double cos(double arco);
double tan(double arco);
double asin(double arco);
double acos(double arco);
double atan(double arco);
Funções trigonométricas do ângulo arco, em radianos.
Técnicas de Programação ________________________________________________________________
DSC/CCT/UFCG _____________________________________________________________________________________________ 3
double ceil(double num);
double floor(double num);
Funções de arredondamento para inteiro.
ceil() arredonda para cima. Ex. ceil(3.2) == 3.0;
floor() arredonda para baixo. Ex. floor(3.2) == 4.0;
double log(double num);
double log10(double num);
Funções logarítmicas: log() é logaritmo natural (base e), log10() é logaritmo decimal
(base 10).
double pow(double base, double exp);
Potenciação: pow(3.2,5.6) = 3.25.6
.
double sqrt(double num);
Raiz quadrada: sqrt(9.0) = 3.0.
 Biblioteca stdlib.h
int random(int num);
Gera um número inteiro aleatório entre 0 e num - 1.
 Escrita formatada em cores: cprintf()
Biblioteca: conio.h
Declaração: int cprintf (const char* st_contr [, lista_arg]);
Propósito: Esta função cprintf() (color print formated) permite a saída de dados
numéricos, caracteres e strings usando cores. O uso da função cprintf() é semelhante a
printf(), porém permite que a saída seja a cores. Para que a saída seja colorida é
necessário definir as cores de fundo e de letra para a impressão antes do uso da função.
Técnicas de Programação ________________________________________________________________
DSC/CCT/UFCG _____________________________________________________________________________________________ 4
Cores (Modo Texto)
Cor Constante Valor Fundo Letra
Preto BLACK 0 ok ok
Azul BLUE 1 ok ok
Verde GREEN 2 ok ok
Cian CYAN 3 ok ok
Vermelho RED 4 ok ok
Magenta MAGENTA 5 ok ok
Marrom BROWN 6 ok ok
Cinza Claro LIGHTGRAY 7 ok ok
Cinza Escuro DARKGRAY 8 -- ok
Azul Claro LIGHTBLUE 9 -- ok
Verde Claro LIGHTGREEN 10 -- ok
Cian Claro LIGHTCYAN 11 -- ok
Vermelho Claro LIGHTRED 12 -- ok
Magenta Claro LIGHTMAGENTA 13 -- ok
Amarelo YELLOW 14 -- ok
Branco WHITE 15 -- ok
Piscante BLINK 128 -- ok
Estas definições são feitas pelas funções texcolor() e textbackground() cuja sintaxe é:
textcolor(cor_de_letra);
textbackground(cor_de_fundo);
cor_de_letra e cor_de_fundo são números inteiros referentes às cores da paleta padrão
(16 cores, modo texto). Estes valores de cor são representados por constantes simbólicas
definidas na biblioteca conio.h. Para se usar uma letra piscante deve-se adicionar o valor
128 ao valor da cor de letra. Alguns valores de cor não podem ser usados como cor de
fundo. A relação acima mostra as cores, suas constantes simbólicas e onde podem ser
usadas.
Técnicas de Programação ________________________________________________________________
DSC/CCT/UFCG _____________________________________________________________________________________________ 5
Exemplo: O trecho de programa abaixo imprime uma mensagem de alerta em amarelo
piscante sobre fundo vermelho.
#include <conio.h>
...
textbackground(RED);
textcolor(YELLOW + BLINK);
cprintif(“ Alerta: Vírus Detectado! ”);
...
Saída sonora: sound(), delay(), nosound()
Biblioteca: dos.h
Declarações: void sound(unsigned freq);
void delay(unsigned tempo);
void nosound(void);
Propósito: A função sound() ativa o alto-falante do PC com uma freqüência freq (Hz). A
função delay() realiza uma pausa (aguarda intervalo de tempo) de duração tempo
(milisegundos). A função nosound() desativa o alto-falante.
Limpeza de tela: clrscr(), clreol()
Biblioteca: conio.h
Declarações: void clrscr(void);
void clreol(void);
Propósito: A função clrscr() (clear screen) limpa a janela de tela e posiciona o cursor na
primeira linha e primeira coluna da janela (canto superior esquerdo da janela). A função
clreol() (clear to end of line) limpa uma linha desde a posição do cursor até o final da linha
mas não modifica a posição do cursor. Ambas funções preenchem a tela com a cor de
fundo definida pela função textbacground().
Técnicas de Programação ________________________________________________________________
DSC/CCT/UFCG _____________________________________________________________________________________________ 6
Posicionamento do cursor: gotoxy()
Biblioteca: conio.h
Declarações: void gotoxy(int pos_x, int pos_y);
Propósito: Em modo texto padrão, a tela é dividida em uma janela de 25 linhas e 80
colunas. A função gotoxy() permite posicionarmos o cursor em qualquer posição
(pos_x,pos_y) da tela. Sendo que a posição (1,1) corresponde ao canto superior esquerdo
da tela e a posição (80,25) corresponde ao canto inferior direito. Como as funções printf()
e cprintf() escrevem a partir da posição do cursor, podemos escrever em qualquer posição
da tela.
Redimencionamento de janela: window()
Biblioteca: conio.h
Declarações: void window(int esq, int sup, int dir, int inf);
Propósito: Esta função permite redefinir a janela de texto. As coordenadas esq e sup
definem o canto superior esquerdo da nova janela, enquanto as coordenadas inf e dir
definem o canto inferior direito da nova janela. Para reativar a janela padrão escreve-se a
instrução window(1,1,80,25). Quando uma janela é definida, o texto que ficar fora da
janela fica congelado até que se redefina a janela original.
Monitoração de teclado: kbhit()
Biblioteca: conio.h
Declarações: int kbhit(void);
Propósito: Esta função (keyboard hitting) permite verificar se uma tecla foi pressionada
ou não. Esta função verifica se existe algum código no buffer de teclado. Se houver algum
valor, ela retorna um número não nulo e o valor armazenado no buffer pode ser lido com
as funções getch() ou getche(). Caso nenhuma tecla seja pressionada a função retorna 0.
Observe que, ao contrário de getch(), esta função não aguarda que uma tecla seja
pressionada.

More Related Content

What's hot

50 questoes de word windows e informatica basica
50 questoes de word windows e informatica basica50 questoes de word windows e informatica basica
50 questoes de word windows e informatica basica
Fernanda Firmino
 
Microcontroladores PIC - Introdução
Microcontroladores PIC - IntroduçãoMicrocontroladores PIC - Introdução
Microcontroladores PIC - Introdução
Fabio Souza
 
Placa mãe e barramentos
Placa mãe e barramentosPlaca mãe e barramentos
Placa mãe e barramentos
Neil Azevedo
 

What's hot (20)

codificadores decodificadores
codificadores decodificadorescodificadores decodificadores
codificadores decodificadores
 
50 questoes de word windows e informatica basica
50 questoes de word windows e informatica basica50 questoes de word windows e informatica basica
50 questoes de word windows e informatica basica
 
1ª lista de_algoritmos
1ª lista de_algoritmos1ª lista de_algoritmos
1ª lista de_algoritmos
 
Introdução a Sistemas Embarcados com Arduino - mini-curso
Introdução a Sistemas Embarcados com Arduino - mini-cursoIntrodução a Sistemas Embarcados com Arduino - mini-curso
Introdução a Sistemas Embarcados com Arduino - mini-curso
 
Aula02 - JavaScript
Aula02 - JavaScriptAula02 - JavaScript
Aula02 - JavaScript
 
Javascript aula 01 - visão geral
Javascript   aula 01 - visão geralJavascript   aula 01 - visão geral
Javascript aula 01 - visão geral
 
Aula02 - Sistemas Numéricos computacionais
Aula02 - Sistemas Numéricos computacionaisAula02 - Sistemas Numéricos computacionais
Aula02 - Sistemas Numéricos computacionais
 
Arquitetura de Computadores: Álgebra Booleana
Arquitetura de Computadores: Álgebra BooleanaArquitetura de Computadores: Álgebra Booleana
Arquitetura de Computadores: Álgebra Booleana
 
Lista de exercício
Lista de exercício   Lista de exercício
Lista de exercício
 
Ficha de trabalho 1 modulo 1
Ficha de trabalho 1   modulo 1Ficha de trabalho 1   modulo 1
Ficha de trabalho 1 modulo 1
 
Ab funcoes-logicas-portas-logicas
Ab funcoes-logicas-portas-logicasAb funcoes-logicas-portas-logicas
Ab funcoes-logicas-portas-logicas
 
Microcontroladores PIC - Introdução
Microcontroladores PIC - IntroduçãoMicrocontroladores PIC - Introdução
Microcontroladores PIC - Introdução
 
Lógica de Programação - Vetor
Lógica de Programação - VetorLógica de Programação - Vetor
Lógica de Programação - Vetor
 
Barramentos
BarramentosBarramentos
Barramentos
 
Sistemas de numeração
Sistemas de numeraçãoSistemas de numeração
Sistemas de numeração
 
Díodo zener
Díodo zenerDíodo zener
Díodo zener
 
Criptografia
CriptografiaCriptografia
Criptografia
 
Placa mãe e barramentos
Placa mãe e barramentosPlaca mãe e barramentos
Placa mãe e barramentos
 
Sistema de numeração
Sistema de numeraçãoSistema de numeração
Sistema de numeração
 
Ficha html e css
Ficha   html e cssFicha   html e css
Ficha html e css
 

Similar to Bibliotecas c

Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
apolllorj
 

Similar to Bibliotecas c (20)

Apostila c
Apostila cApostila c
Apostila c
 
PROJETO MODELO editado.docx
PROJETO MODELO editado.docxPROJETO MODELO editado.docx
PROJETO MODELO editado.docx
 
Converting an implementation using the C language to CSP modelling
Converting an implementation using the C language to CSP modellingConverting an implementation using the C language to CSP modelling
Converting an implementation using the C language to CSP modelling
 
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
 
Ud2
Ud2Ud2
Ud2
 
Introdução à Linguagem de Programação C
Introdução à Linguagem de Programação CIntrodução à Linguagem de Programação C
Introdução à Linguagem de Programação C
 
Tutorial Octave Matlab
Tutorial Octave MatlabTutorial Octave Matlab
Tutorial Octave Matlab
 
Apostila complementar
Apostila complementarApostila complementar
Apostila complementar
 
Apostila2 clp logo
Apostila2 clp logoApostila2 clp logo
Apostila2 clp logo
 
095 A 134 Material Auxiliar Para Curso AvançAdo I Msp430
095 A 134   Material Auxiliar Para Curso AvançAdo I Msp430095 A 134   Material Auxiliar Para Curso AvançAdo I Msp430
095 A 134 Material Auxiliar Para Curso AvançAdo I Msp430
 
Mini-Curso: gnuplot
Mini-Curso: gnuplotMini-Curso: gnuplot
Mini-Curso: gnuplot
 
Apostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-cApostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-c
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdfAula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
 
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdfAula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
 
joane
joane joane
joane
 
Aula 02 - Introdução a ALGORITMOS.pptx
Aula 02 - Introdução a ALGORITMOS.pptxAula 02 - Introdução a ALGORITMOS.pptx
Aula 02 - Introdução a ALGORITMOS.pptx
 

More from Valdinho Pereira

O fantc3a1stico-mundo-da-linguagem-c
O fantc3a1stico-mundo-da-linguagem-cO fantc3a1stico-mundo-da-linguagem-c
O fantc3a1stico-mundo-da-linguagem-c
Valdinho Pereira
 
Caelum java-web-vraptor-hibernate-ajax-fj28
Caelum java-web-vraptor-hibernate-ajax-fj28Caelum java-web-vraptor-hibernate-ajax-fj28
Caelum java-web-vraptor-hibernate-ajax-fj28
Valdinho Pereira
 
Caelum java-testes-jsf-web-services-design-patterns-fj22
Caelum java-testes-jsf-web-services-design-patterns-fj22Caelum java-testes-jsf-web-services-design-patterns-fj22
Caelum java-testes-jsf-web-services-design-patterns-fj22
Valdinho Pereira
 

More from Valdinho Pereira (15)

The c programming language
The c programming languageThe c programming language
The c programming language
 
O fantc3a1stico-mundo-da-linguagem-c
O fantc3a1stico-mundo-da-linguagem-cO fantc3a1stico-mundo-da-linguagem-c
O fantc3a1stico-mundo-da-linguagem-c
 
Apostila c
Apostila cApostila c
Apostila c
 
Apostila c
Apostila cApostila c
Apostila c
 
Caelum ruby-on-rails-rr71
Caelum ruby-on-rails-rr71Caelum ruby-on-rails-rr71
Caelum ruby-on-rails-rr71
 
Caelum java-web-vraptor-hibernate-ajax-fj28
Caelum java-web-vraptor-hibernate-ajax-fj28Caelum java-web-vraptor-hibernate-ajax-fj28
Caelum java-web-vraptor-hibernate-ajax-fj28
 
Caelum java-testes-jsf-web-services-design-patterns-fj22
Caelum java-testes-jsf-web-services-design-patterns-fj22Caelum java-testes-jsf-web-services-design-patterns-fj22
Caelum java-testes-jsf-web-services-design-patterns-fj22
 
Apostila tp
Apostila tpApostila tp
Apostila tp
 
Tutorial oracle forms builder
Tutorial oracle forms builderTutorial oracle forms builder
Tutorial oracle forms builder
 
Programação orientada a objectos
Programação orientada a objectosProgramação orientada a objectos
Programação orientada a objectos
 
Poojava
PoojavaPoojava
Poojava
 
Parametros mini
Parametros miniParametros mini
Parametros mini
 
Introducao oracle-sqlplsql-vol2-pt
Introducao oracle-sqlplsql-vol2-ptIntroducao oracle-sqlplsql-vol2-pt
Introducao oracle-sqlplsql-vol2-pt
 
Easygui
EasyguiEasygui
Easygui
 
Apostila de dev
Apostila de devApostila de dev
Apostila de dev
 

Bibliotecas c

  • 1. Universidade Federal de Campina Grande Centro de Ciências e Tecnologia Departamento de Sistemas e Computação DISCIPLINA Técnicas de Programação NOTAS DE AULA (Informações Adicionais sobre Funções) Universidade Federal de Campina Grande
  • 2. Técnicas de Programação ________________________________________________________________ DSC/CCT/UFCG _____________________________________________________________________________________________ 2 Conceitos Avançados – Linguagem C Informações Adicionais sobre funções As bibliotecas disponíveis e algumas funções interessantes A seguir segue uma lista de todas as bibliotecas disponíveis no compilador Turbo C++ 3.0 Borland: alloc.h assert.h bcd.h bios.h complex.h conio.h ctype.h dir.h dirent.h dos.h errno.h fcntl.h float.h fstream.h generic.h graphics.h io.h iomanip.h iostream.h limits.h locale.h malloc.h math.h mem.h process.h setjmp.h share.h signal.h stdarg.h stddef.h stdio.h stdiostr.h stdlib.h stream.h string.h strstrea.h sysstat.h systimeb.h systypes.h time.h values.h Exemplos de algumas funções disponíveis nas bibliotecas C.  Biblioteca math.h int abs(int i); double fabs(double d); Calcula o valor absoluto do inteiro i e do real d, respectivamente. double sin(double arco); double cos(double arco); double tan(double arco); double asin(double arco); double acos(double arco); double atan(double arco); Funções trigonométricas do ângulo arco, em radianos.
  • 3. Técnicas de Programação ________________________________________________________________ DSC/CCT/UFCG _____________________________________________________________________________________________ 3 double ceil(double num); double floor(double num); Funções de arredondamento para inteiro. ceil() arredonda para cima. Ex. ceil(3.2) == 3.0; floor() arredonda para baixo. Ex. floor(3.2) == 4.0; double log(double num); double log10(double num); Funções logarítmicas: log() é logaritmo natural (base e), log10() é logaritmo decimal (base 10). double pow(double base, double exp); Potenciação: pow(3.2,5.6) = 3.25.6 . double sqrt(double num); Raiz quadrada: sqrt(9.0) = 3.0.  Biblioteca stdlib.h int random(int num); Gera um número inteiro aleatório entre 0 e num - 1.  Escrita formatada em cores: cprintf() Biblioteca: conio.h Declaração: int cprintf (const char* st_contr [, lista_arg]); Propósito: Esta função cprintf() (color print formated) permite a saída de dados numéricos, caracteres e strings usando cores. O uso da função cprintf() é semelhante a printf(), porém permite que a saída seja a cores. Para que a saída seja colorida é necessário definir as cores de fundo e de letra para a impressão antes do uso da função.
  • 4. Técnicas de Programação ________________________________________________________________ DSC/CCT/UFCG _____________________________________________________________________________________________ 4 Cores (Modo Texto) Cor Constante Valor Fundo Letra Preto BLACK 0 ok ok Azul BLUE 1 ok ok Verde GREEN 2 ok ok Cian CYAN 3 ok ok Vermelho RED 4 ok ok Magenta MAGENTA 5 ok ok Marrom BROWN 6 ok ok Cinza Claro LIGHTGRAY 7 ok ok Cinza Escuro DARKGRAY 8 -- ok Azul Claro LIGHTBLUE 9 -- ok Verde Claro LIGHTGREEN 10 -- ok Cian Claro LIGHTCYAN 11 -- ok Vermelho Claro LIGHTRED 12 -- ok Magenta Claro LIGHTMAGENTA 13 -- ok Amarelo YELLOW 14 -- ok Branco WHITE 15 -- ok Piscante BLINK 128 -- ok Estas definições são feitas pelas funções texcolor() e textbackground() cuja sintaxe é: textcolor(cor_de_letra); textbackground(cor_de_fundo); cor_de_letra e cor_de_fundo são números inteiros referentes às cores da paleta padrão (16 cores, modo texto). Estes valores de cor são representados por constantes simbólicas definidas na biblioteca conio.h. Para se usar uma letra piscante deve-se adicionar o valor 128 ao valor da cor de letra. Alguns valores de cor não podem ser usados como cor de fundo. A relação acima mostra as cores, suas constantes simbólicas e onde podem ser usadas.
  • 5. Técnicas de Programação ________________________________________________________________ DSC/CCT/UFCG _____________________________________________________________________________________________ 5 Exemplo: O trecho de programa abaixo imprime uma mensagem de alerta em amarelo piscante sobre fundo vermelho. #include <conio.h> ... textbackground(RED); textcolor(YELLOW + BLINK); cprintif(“ Alerta: Vírus Detectado! ”); ... Saída sonora: sound(), delay(), nosound() Biblioteca: dos.h Declarações: void sound(unsigned freq); void delay(unsigned tempo); void nosound(void); Propósito: A função sound() ativa o alto-falante do PC com uma freqüência freq (Hz). A função delay() realiza uma pausa (aguarda intervalo de tempo) de duração tempo (milisegundos). A função nosound() desativa o alto-falante. Limpeza de tela: clrscr(), clreol() Biblioteca: conio.h Declarações: void clrscr(void); void clreol(void); Propósito: A função clrscr() (clear screen) limpa a janela de tela e posiciona o cursor na primeira linha e primeira coluna da janela (canto superior esquerdo da janela). A função clreol() (clear to end of line) limpa uma linha desde a posição do cursor até o final da linha mas não modifica a posição do cursor. Ambas funções preenchem a tela com a cor de fundo definida pela função textbacground().
  • 6. Técnicas de Programação ________________________________________________________________ DSC/CCT/UFCG _____________________________________________________________________________________________ 6 Posicionamento do cursor: gotoxy() Biblioteca: conio.h Declarações: void gotoxy(int pos_x, int pos_y); Propósito: Em modo texto padrão, a tela é dividida em uma janela de 25 linhas e 80 colunas. A função gotoxy() permite posicionarmos o cursor em qualquer posição (pos_x,pos_y) da tela. Sendo que a posição (1,1) corresponde ao canto superior esquerdo da tela e a posição (80,25) corresponde ao canto inferior direito. Como as funções printf() e cprintf() escrevem a partir da posição do cursor, podemos escrever em qualquer posição da tela. Redimencionamento de janela: window() Biblioteca: conio.h Declarações: void window(int esq, int sup, int dir, int inf); Propósito: Esta função permite redefinir a janela de texto. As coordenadas esq e sup definem o canto superior esquerdo da nova janela, enquanto as coordenadas inf e dir definem o canto inferior direito da nova janela. Para reativar a janela padrão escreve-se a instrução window(1,1,80,25). Quando uma janela é definida, o texto que ficar fora da janela fica congelado até que se redefina a janela original. Monitoração de teclado: kbhit() Biblioteca: conio.h Declarações: int kbhit(void); Propósito: Esta função (keyboard hitting) permite verificar se uma tecla foi pressionada ou não. Esta função verifica se existe algum código no buffer de teclado. Se houver algum valor, ela retorna um número não nulo e o valor armazenado no buffer pode ser lido com as funções getch() ou getche(). Caso nenhuma tecla seja pressionada a função retorna 0. Observe que, ao contrário de getch(), esta função não aguarda que uma tecla seja pressionada.