domingo, 15 de abril de 2012

Bibliotecas de Linguagem C


Principais bibliotecas usadas

Introdução
A Linguagem C nos proporciona uma grande variedade de programas em linguagem de alto nível, mas seria impossível não citar, antes de mais nada, suas bibliotecas padrão. Elas foram criadas para nos poupar de muita programação. Uma vez que a programação já está criada dentro da biblioteca. A biblioteca padrão do C (também conhecida como libc) é uma biblioteca de rotinas padronizada da Linguagem de Programação C que contém operações comuns como entrada e saída (I/O) e cadeia de caracteres. Diferente de outras linguagens como COBOL, Fortran e PL/I, o C não inclui palavras-chave nativas para tais tarefas, de forma que praticamente todos os programas em C fazem uso da biblioteca padrão.
São essas bibliotecas que possuem as funções que o pré-processador precisa para poder ler nossos programas, no Windows essas funções ficam agrupadas de acordo com o tipo, numa espécie de biblioteca de funções. Essas bibliotecas são arquivos que possuem a extensão .dll, chamamos simplesmente de DLL’s.
Em C as bibliotecas são muito importantes, pois a linguagem possui apenas os recursos mais básicos de que necessita. A Linguagem C não possui sequer funções de I/O (input/output – entrada e saída) para ler a partir do teclado e digitar na tela. Qualquer coisa que vá além da linguagem básica deve ser escrita por um programador. Geralmente, os trechos de código são colocados em bibliotecas para torná-los facilmente reutilizáveis. Vimos a bibliotecas padrão de I/O, entrada e saída padrão, ou stdio.h. As bibliotecas padrão existem para I/O padrão, funções matemáticas, manipulação da string de caracteres, manipulação de tempo e assim por diante. Você pode usar as bibliotecas em seus próprios programas para dividi-los em módulos. Isso os torna fáceis de entender, testar e depurar, como também possibilita a reutilização do código por outros programas que você criar.


Padrão ANSI
A biblioteca padrão do ANSI possui 24 cabeçalhos cada uma contendo uma ou mais declarações de funções, tipos de dados e macros. Em comparação com linguagens como Java, esta biblioteca padrão é minúscula. Ela fornece um conjunto básico de operações matemáticas, manipulação de cadeia de caracteres, conversão de tipos de dados e entrada e saída de arquivo e da tela. Não contém um conjunto padrão de containers como a biblioteca padrão do C++ (parte chamada de Standard Template Library), nem suporta interface gráfica. A vantagem desse sistema minimalista é que fornecer um ambiente funcional de ANSI C é muito mais simples que em outras linguagens, e, consequentemente, a portabilidade de C entre diferentes plataformas é uma tarefa relativamente simples.

Apresentamos a seguir a tabela com as 24 bibliotecas da Linguagem C, e mais adiante, apresentaremos as principais bibliotecas com exemplos práticos de suas funcionalidades.


Cabeçalhos do ANSI C


BIBLIOTECA

FUNÇÕES
<assert.h>
Macro para ajudar na detecção de erros lógicos e outros tipos de erros em versões de depurações de um programa.

<complex.h>
Conjunto de funções para manipular números complexos.

<ctype.h>
Funções usadas para classificar caracteres pelo tipo ou para converter entre caixa alta e baixa independentemente da codificação.

<errno.h>
Teste de códigos de erro reportados pelas funções de bibliotecas.

<fenv.h>
Controle de ponto flutuante.

<float.h>
Constantes de propriedades específicas de implementação da biblioteca de ponto flutuante, como a menor diferença entre dois números de ponto flutuante distintos (_EPSILON), a quantidade máxima de dígitos de acurácia(_DIG) e a faixa de números que pode ser representada(_MIN, _MAX).

<inttypes.h>
Conversão precisa entre tipos inteiros.

<iso646.h>
Programação na codificação de caracteres ISO 646.

<limits.h>
Constantes de propriedades específicas de implementação da biblioteca de tipos inteiros, como a faixa de números que pode ser representada (_MIN, _MAX).

<locale.h>
Constante para setlocale() e assuntos relacionados.

<math.h>
Funções matemáticas comuns em computação.

<setjmp.h>
Macros setjmp e longjmp, para saídas não locais.

<signal.h>
Tratamento de sinais.

<stdarg.h>
Acesso dos argumentos passados para as funções com parâmetro variável.
<stdbool.h>
Definição do tipo de dado booleano.

<stdint.h>
Definição de tipos de dados inteiros.

<stddef.h>
Diversos tipos e macros úteis.

<stdio.h>
Manipulação de entrada e saída.

<stdlib.h>
Diversas operações, incluindo conversão, geração de números pseudo-aleatórios, alocação de memória, controle de processo, sinais, busca e ordenação.

<strng.h>
Tratamento de cadeia de caracteres.

<tgmath.h>
Funções matemáticas.

<time.h>
Conversão de tipos de dados de data e horário.

<wchar.h>
Manipulação de caractere wide, usado para suportar diversas línguas.

<wctype.h>
Classificação de caracteres wide 



Exemplos práticos de C

Apresentamos a seguir as principais bibliotecas com exemplos práticos de suas funcionalidades com alguns programas bem simples para o seu melhor entendimento.

A biblioteca <stdio.h>
Standard Input Output(entradas e saídas padrão): Este cabeçalho contém a definição da estrutura FILE, usada para todas as entradas(input) e saídas(output), além das definições de todas as funções que lidam com a abertura, fechamento, etc, de arquivos. A famosa função printf  também é definida aqui, juntamente com sprintf, fprintf e toda a família de funções relacionadas com esta biblioteca.



Como podemos perceber, no exemplo acima, temos a demonstração de entrada e saída ou input/output.





A biblioteca <math.h>
Funções matemáticas: sin, cos, tan, log, exp, etc. Aqui encontramos trigonometria(sin, cos, tan, atan, etc.), arredondamentos(ceil, floor), logaritmos(log, exp, log10, etc.), raiz quadrada e cúbica(sqrt, cbrt), constantes como PI e as quatro operações matemáticas mais simples como somar, subtrair, multiplicar e dividir.
Vejamos então, alguns exemplos do uso dessa biblioteca na prática, para um melhor entendimento do leitor a respeito de suas funcionalidades. No primeiro exemplo apenas uma soma simples e, os seguintes, um pouco mais complexos para visualização de como eles funcionam.


Aqui vemos o programa escrito antes de o compilar.

Abaixo, após sua compilação, vemos o programa executado.

Biblioteca  <math.h> com float (número decimal)

Abaixo um programa escrito em Linguagem C com float (número decimal).

Em seguida o mesmo programa depois de compilado:

A biblioteca <stdlib.h>

Diversas operações, incluindo conversão, geração de números pseudo-aleatórios, alocação de memória, controle de processo, sinais, busca e ordenação.

Abaixo vemos um exemplo de um programa usando a biblioteca <stdlib.h>




Em seguida vemos o programa depois de compilado sendo executado.

Esses são apenas alguns exemplos de como funcionam as bibliotecas de Linguagem de Programação em C, esperamos ter atendido aos interesses de todos deixando claras as suas utilizações no dia a dia da programação em Linguagem C.

sábado, 29 de outubro de 2011

INSTITUTO MILITAR DE ENGENHARIA

Inscrições se encerram hoje


PROGRAMA DE MESTRADO EM  SISTEMAS E COMPUTAÇÃO

INSTITUTO MILITAR DE ENGENHARIA

O Instituto Militar de Engenharia (IME) é um dos pioneiros na pesquisa da área de Ciência da Computação, tendo criado um Programa de Pós-graduação englobando esta área em 1971. Este programa foi a semente do atual programa de Pós-graduação em Sistemas e Computação da Seção de Engenharia da Computação (SE/8) do IME, que iniciou seus trabalhos em 1986. A maioria dos mestres recém-formados por este programa podem ser encontrados atuando hoje como docentes em Universidades públicas, federais ou estaduais, e privadas, como pesquisadores ou desenvolvedores em empresas e como discentes em cursos de doutorado de nível 7 no país. 

O programa tem como objetivos principais a geração de conhecimento e a formação de profissionais civis e militares de alta qualidade para as atividades de ensino e pesquisa em Computação. Estes objetivos se traduzem na missão de formar pessoas com uma ampla base de conhecimento e capacitadas a se destacar no cenário atual. A seção empenha-se em seguir uma visão que tem por propósitos: 
  • Melhoria contínua da Pós-graduação;
  • Integração da Pós-graduação com a Graduação;
  • Constante adequação da infra estrutura física;
  • Interação com a sociedade quer seja como setor produtivo, quanto no apoio as Forças Armadas.
O programa apresenta um perfil multidisciplinar, atualmente abrangendo áreas  de concentração conforme sugestão da própria CAPES: Computação Básica e Tecnologias e Sistemas de Computação. Estas áreas de concentração compreendem três linhas de pesquisa: Algoritmos e Linguagens, Tecnologias para Tratamento e Transmissão de Informação e Sistemas de Informação. A pesquisa abrange as principais áreas da Computação, tais como Algoritmos e Otimização, Banco de Dados, Engenharia de Software, Linguagens de Programação, Redes de Computadores, Sistemas Distribuídos e Robótica. Assim, o Programa busca proporcionar uma sólida formação teórica e experimental aos seus alunos, procurando associá-los a projetos de pesquisa aplicada. Através desses projetos e de cooperações inter-institucionais, os alunos tem oportunidade de interagir interdisciplinarmente, atuando nas áreas da Defesa, Saúde Pública, Robótica e Bioinformática.

O corpo docente do Programa apresenta um perfil altamente qualificado e jovem. A seção vem contratando recém-doutores de alto potencial científico em áreas estratégicas e estimula a participação de seus docentes em cursos de Pós-doutoramento no país e no exterior. Como resultado disso, o corpo docente tem interagido com outras instituições de ensino e pesquisa, nacionais e internacionais, participando de projetos de pesquisa e desenvolvimento. os últimos anos, destacamos a participação dos docentes e discentes em projetos de cooperação internacional com a Universidade Paris VI - França, Niigata - Japão, Universidade Católica del Norte - Antofagasta - Chile,  Universidade de Aveiro - Portugal, e projetos de cooperação nacional com a UFRJ, PUC-RJ, FIOCRUZ e LNCC.

Atualmente, o Programa, embora esteja em um processo de renovação de seus  pesquisadores, é uma instituição sólida e tradicional no cenário nacional da pesquisa e desenvolvimento em Ciência da Computação, agregando assim um bom nível de desempenho em seu curso de mestrado.

As principais linhas de pesquisa do Programa de Pós-graduação em Sistemas e Computação do IME são as seguintes:

  • Algoritmos;
  • Banco de Dados;
  • Criptografia e Segurança da Informação;
  • Engenharia de Software e Sistemas de Informação;
  • Inteligência Computacional;
  • Linguagens de Programação;
  • Otimização;
  • Redes de Computadores e Simulação;
  • Robótica e Sistemas Embarcados;
  • Sistemas Distribuídos e Programação Concorrente;
  • Sistemas Multimídia Interativos
Para maiores informações acesse o site: http://www.comp. ime.eb.br

As inscrições estão abertas até 11/11/2011

Informações gerais sobre o processo seletivo em:
http://www.ime. eb.br/index. php?option= com_content& view=article& id=243&Itemid= 1072

Ou entre em contato com a secretaria de Pós-graduação:  Telefone: 21 2546-7092