Posts Tagged “programação”

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:, , , ,

Comments Nenhum comentário »

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:, , , ,

Comments 1 comentário »