Arquivo de agosto 2008
Publicado por Nighto e arquivado em Tecnologia
Seguindo a idéia do post anterior sobre C, hoje abordaremos a compilação de programas em Pascal no Linux. Os códigos em Pascal são compilados com o GPC, o Compilador de Pascal da GNU, um primo do GCC. Para instalá-lo no Ubuntu, clique aqui ou entre com o seguinte comando num terminal: sudo apt-get install build-essential gpc
Veja um exemplo de programa em Pascal, o clássico “Olá Mundo”:
program olamundo;
begin
writeln('Olá mundo');
end.
Salvando como olamundo.pas, compila-se com: gpc -o olamundo olamundo.pas, e executamos o binário gerado com ./olamundo.
Muitos cursos de Pascal são focados na utilização do Borland Pascal ou DevPascal do Windows, que já vem com algumas bibliotecas que por padrão não vêm junto do gpc. Por exemplo, se o seu programa usa a biblioteca “crt” e, ao compilar, você obtém a seguinte mensagem:
programa.pas:2: erro: module/unit interface `crt' could not be imported
isto acontece porque a biblioteca que trabalha com interfaces de terminal, a CRT, não está instalada. Instale-a com sudo apt-get install libncurses2-dev e compile com a flag --automake (gpc --automake -o programa programa.pas). Tags: hardy, Linux, pascal, programação, ubuntu
Nenhum comentário »
Publicado por Nighto e arquivado em Música
Este passo a passo é uma atualização do meu post anterior Fone de ouvido bluetooth no Ubuntu e Amarok. Antes da utilização do PulseAudio (que vem instalado por padrão no Ubuntu 8.04 Hardy), era necessário configurar cada aplicativo para a utilização com um fone bluetooth. Agora, configuramos apenas para funcionar com o PulseAudio e todos os aplicativos que trabalham com ele (o Amarok também!) podem rotear o som para fone. Assim, o guia anterior torna-se obsoleto, embora aquela maneira ainda funcione.
- Este passo a passo parte do princípio que o PulseAudio está funcionando completamente, o que não acontece na instalação padrão do Ubuntu. Siga o passo a passo do link: Ubuntu Forums - HOWTO: PulseAudio Fixes & System-Wide Equalizer Support (Hardy Heron).
- Descubra o MAC Address do seu fone bluetooth, colocando-o no modo discovery e entrando o seguinte comando num terminal (Aplicações > Acessórios > Terminal ou Console): hcitool scan. Anote-o ou copie-o para algum lugar.
- Crie ou edite o arquivo
/etc/default/hcid.conf (sudo gedit /etc/default/hcid.conf) e adicione as seguintes linhas, trocando os XX pelo MAC Address do seu fone, o nome pelo nome do fone (opcional) e o passkey (senha) caso seja diferente de 0000:
device XX:XX:XX:XX:XX:XX {
name "Nome do seu fone bluetooth";
auth enable;
lm master;
passkey "0000";
}
- Agora configuramos o perfil do ALSA. O nome pcm.bluetooth pode ser substituído por pcm.qualquercoisa, desde que seja o mesmo em todos os arquivos de configuração. No meu computador, coloquei pcm.nokiabh501:
pcm.bluetooth {
type bluetooth
device XX:XX:XX:XX:XX:XX
profile "hifi"
}
- Para realizar o pareamento, vamos iniciar manualmente uma conexão bluetooth para gravar a senha. Instale o mplayer (sudo apt-get install mplayer) e abra um arquivo (se você mudou o
pcm.bluetooth, mude também o device=bluetooth): mplayer -ao alsa:device=bluetooth algum-arquivo.mp3. Uma janelinha de autenticação do bluetooth irá aparecer, insira a senha (geralmente 0000) e pronto, o pareamento agora será realizado de forma automática.
- Agora vamos carregar os módulos bluetooth do PulseAudio. Edite o arquivo
~/.pulse/default.pa (gedit ~/.pulse/default.pa) e adicione as seguintes linhas (novamente, altere o device caso tenha alterado-o nos passos anteriores):
# Load Bluetooth
load-module module-alsa-sink device=bluetooth
load-module module-alsa-source device=bluetooth
Para não ter de reiniciar o computador, vamos carregar os módulos agora, entrando os seguintes comandos no terminal:
pactl load-module module-alsa-sink device=bluetooth
pactl load-module module-alsa-source device=bluetooth
- Agora basta abrir o Controle de Volume do PulseAudio (com o comando
pavucontrol ou indo em Aplicações > Som & Vídeo > PulseAudio Device Chooser, clicando no ícone que se abriu ao lado do relógio e escolhendo Volume Control), abrir uma fonte qualquer de áudio (o Amarok por exemplo), clicar com o botão direito e escolher que quer que o som saia através do bluetooth.
Fonte: Sharpee’s Space - Bluetooth Stereo Headset A2DP Pairing in Ubuntu 8.04 Hardy Tags: bluetooth, fone, nokia, pulseaudio, ubuntu
Nenhum comentário »
Publicado por Nighto e arquivado em Aleatoriedades
Para quem quer começar a aprender a criar seus próprios programas no computador, uma das opções é a clássica linguagem C. Não entrarei no mérito de qual linguagem é melhor, ou aonde você poderá encontrar os melhores guias, tutoriais ou livros. Tenho aqui os slides das aulas em duas partes: TP1 Parte 1 (odp, pdf, ppt) e Parte 2 (odp, pdf, ppt). Os códigos abaixo são de minha autoria e livres para qualquer uso.
Você poderá criar seus programas em qualquer editor de texto simples (o gedit e o Kate são boas opções, pois já incluem destaque de sintaxe, isto é, o código fica colorido como os exemplos abaixo). Eu prefiro o Kate pois ele já inclui um terminal incluso:

Para compilar os seus programas, você precisará de um compilador; usaremos o compilador C da GNU, o GCC. Para instalá-lo no Ubuntu, clique aqui ou entre com o seguinte comando num terminal: sudo apt-get install build-essential.
A estrutura básica de um programa em C é a seguinte (código fonte, binário i386):
#include<stdio.h>
int main() {
return 0;
}
Vejamos um Olá Mundo (código fonte, binário i386):
#include<stdio.h>
int main() {
printf("Olá Mundo\n");
return 0;
}
Salvando o arquivo como olamundo.c, podemos compilá-lo com gcc -o olamundo olamundo.c e depois executá-lo com ./olamundo.
Segue alguns exemplos de códigos que fiz enquanto revisava a matéria:
Conversor de centímetros para pés e polegadas (código fonte, binário i386):
#include<stdio.h>
/* Ilustra printfs e defines. */
#define FT 30.48
#define POL 2.54
int main() {
int f;
float p, h;
printf("Entre com a sua altura em centímetros: ");
scanf("%f", &h);
f = (int) (h / FT);
p = (h - f * FT) / POL;
printf("Sua altura é: %dft %.1fpol\n", f, p);
return 0;
}
Fatorial (código fonte, binário i386):
#include<stdio.h>
/* Calcula fatorial, ilustrando o uso de for. */
int main() {
int n, f, i;
do {
printf("Entre com um número inteiro positivo: ");
scanf("%d", &n);
} while (n<0);
for(f=n, i=f-1; i>0; i--) f *= i;
printf("%d! = %d\n", n, f);
return 0;
}
Seqüência de números pares (código fonte, binário i386):
#include<stdio.h>
/* Exemplifica o uso de continue dentro de um loop. */
int main() {
int n, i;
do {
printf("Entre com um número inteiro positivo: ");
scanf("%d", &n);
} while (n<0);
printf("De 0 a %d os números pares são:", n);
for (i=0; i<=n; i++) {
if (i%2 == 1) continue;
printf(" %d", i);
}
printf(".\n");
return 0;
}
Calculadora simples (código fonte, binário i386):
#include<stdio.h>
/* Exemplifica o uso do switch. */
int main() {
int n1, n2;
char op;
printf("Entre com uma conta no formato \"número operador número\" (n [=-*/] n): ");
scanf("%d %c %d", &n1, &op, &n2);
switch (op) {
case '+': printf("%d %c %d = %d\n", n1, op, n2, n1+n2); break;
case '-': printf("%d %c %d = %d\n", n1, op, n2, n1-n2); break;
case '*': printf("%d %c %d = %d\n", n1, op, n2, n1*n2); break;
case '/': printf("%d %c %d = %f\n", n1, op, n2, ((float)n1/(float)n2)); break;
default:
printf(" Operador Inválido!\n");
break;
}
return 0;
}
Tags: c, gcc, Linux, programação, ubuntu
1 comentário »
|