Hoje, finalmente, iremos começar a programar de fato, e fazer o nosso primeiro programa! Quanto a linguagem, iremos utilizar a
Linguagem Pascal num primeiro momento. Apesar de muitos não concordarem com o uso dela, eu a considero a melhor escolha para o ensino da programação, por ter uma sintaxe clara e fácil de ser entendida.
Para escrever e compilar (transformar o código escrito em um arquivo executável), utilizaremos o
Pascal Zim, um ambiente criado pelo departamento de Ciência da Computação da Universidade de Brasília, para o auxílio no ensino da disciplina de Algoritmos. Atualmente, ele encontra-se na versão
5.01. O link para download você encontra
aqui. Algumas pessoas podem preferir utilizar o
Turbo Pascal, da Borland. Eu optei pelo Pascal Zim por dois motivos: a última versão do Turbo Pascal é de 1991 (ou seja, já tem 18 anos!!!) e também pelo fato do Pascal Zim ser brasileiro! (vamos valorizar os programadores do Brasil!). Caso queiram utilizar o Turbo Pascal, fiquem à vontade, pois a sintaxe é a mesma.
Após baixarem o Pascal Zim, descompacte-o utilizando o Winrar, PKZip, Winzip, 7Zip, enfim, qualquer um que você tenha aí. Logo após, vá até a pasta
pascalzim e execute o
Pzim.exe. Teremos a seguinte janela:
Esta é a tela de edição de um programa no Pascal Zim. É nela que escreveremos os comandos que irão compor o nosso programa. A seguir, temos um programa simples em algoritmo que iremos passar para a linguagem Pascal:
4 | escreva("Olá, Mundo! Estou no blog do Striker07!") |
Este é um programa extremamente simples, que escreve o texto
Olá, Mundo! Estou no blog do Striker07! na tela. Em Pascal, este programa ficaria dessa forma:
4 | write ( 'Olá, Mundo! Estou no blog do Striker07!' ); |
Vamos agora explicar passo-a-passo este primeiro programa. Na primeira linha, temos
Program Ola_Mundo; Esta linha define o nome do nosso programa, da mesma forma que definimos o nome do nosso algoritmo na primeira linha dele. Perceba que, os comandos do Pascal terminam com
; e se você não colocá-los, ocorrerá um erro na hora de compilar. Logo em seguida temos o
Begin, que significa o início do programa. Os comandos do nosso programa começarão a ser escritos a partir deste
Begin. Ele não tem ; porque não é um comando, mas uma indicação de que a área de processamento está iniciando. A seguir, temos o comando
write(‘Olá, Mundo! Estou no blog do Striker07!’); que corresponde ao
Escreva(“Olá, Mundo! Estou no blog do Striker07!”). Perceba, basicamente, é a mesma coisa no algoritmo e no programa, com a diferença de que no Pascal os comandos são em inglês. Outra diferença é que na linguagem Pascal o texto deve vir entre aspas simples
‘ enquanto que no algoritmo ele vem entre aspas duplas
“. Também não se deve esquecer de colocar o ponto e vírgula no final do comando. Encerrando o programa, temos
End. que indica o final do programa. Este
End deve sempre ser acompanhado do ponto final, indicando que o programa se encerra aí.
Caso você esteja utilizando o
Turbo Pascal, precisará incluir a seguinte linha depois do título do programa:
Esta linha inclui a biblioteca padrão de comandos. Caso esteja utilizando a versão para DOS do Turbo Pascal, substitua
wincrt por
crt. No Pascal Zim, a biblioteca é incluída automaticamente, então não há a necessidade de colocar esta linha.
Vamos agora fazer um programa simples, que recebe dois números do usuário e os soma. Primeiro, vamos fazer o algoritmo deste programa:
01 | algoritmo soma_dois_numeros |
03 | [Declaração de Variáveis] |
04 | numero1, numero2, resultado : inteiro |
07 | escreva("Digite o primeiro número: ") |
09 | escreva("Digite o segundo número: ") |
11 | resultado ← numero1 + numero2 |
12 | escreva("O resultado da soma é ", resultado) |
Um algoritmo muito simples, onde lemos o valor de duas variáveis do tipo inteiro, e depois as somamos, armazenando na variável
resultado, e mostramos na tela. Agora vamos fazer o mesmo programa em Pascal:
01 | program soma_dois_numeros; |
04 | numero1, numero2, resultado : integer ; |
07 | write ( 'Digite o primeiro número: ' ); |
09 | write ( 'Digite o segundo número: ' ); |
11 | resultado := numero1 + numero2; |
12 | write ( 'O resultado da soma é ' , resultado); |
Este programa tem alguns elementos a mais que o outro não tinha. Na primeira linha, temos o título do programa, da mesma forma como estava no Olá Mundo. Após isso, temos a área
Var, onde declaramos as variáveis do tipo Inteiro, no caso da linguagem Pascal,
Integer. A seguir os tipos básicos e os seus respectivos nomes na linguagem Pascal:
- Inteiro = Integer
- Real = Real
- Caracter = Char
- Booleano = Boolean
- Literal = String
Na linguagem Pascal, todas as variáveis devem ser declaradas nesta seção. Caso queira declarar variáveis de tipos diferentes, deve-se fazer igual a um algoritmo:
02 | [Declaração de Variáveis] |
Uma coisa importante que eu tinha esquecido de falar é que a linguagem Pascal não distingue maiúsculas de minúsculas. Ou seja,
Real é a mesma coisa que
real ou
rEaL ou
reaL. Da mesma forma se você declarar uma variável
Media, não poderá declarar outra com o nome de
media.
Continuando o código, temos o início do programa. O primeiro comando escreve uma mensagem pedindo pra o usuário entrar com o primeiro número. Em programação, esse tipo de mensagem é conhecido como
prompt. Em seguida, temos a função
readln() que lê um valor do usuário e o armazena em uma variável. Depois, repetimos os dois comandos para ler o segundo número da soma. Em seguida, temos o cálculo da soma. Perceba que, na linguagem Pascal, o operador de atribuição é representado por
:= em vez da seta que representamos nos algoritmos. Na última linha, temos a apresentação do resultado na tela, através da função
write(), onde colocamos entre os parênteses o texto e a variável que queremos exibir na tela.
Para concluir este primeiro post, vamos fazer um último programa que calcula a sua idade, baseando-se no seu ano de nascimento, utilizando o conceito de constantes. Teremos, então o seguinte algoritmo:
01 | algoritmo calculo_idade |
03 | [Declaração de Constantes] |
06 | [Declaração de Variáveis] |
07 | ano_nascimento, idade : inteiro |
11 | escreva("Olá! Poderia me dizer qual é o seu nome? ") |
13 | escreva("Em que ano você nasceu? ") |
15 | idade ← ano_atual - anoNascimento |
16 | escreva("Prazer em conhecê-lo, ", nome, ".") |
17 | escreva("Você tem ", idade, " anos.") |
Passando este algoritmo para a linguagem Pascal, teremos o seguinte:
07 | ano_nascimento, idade : integer ; |
11 | write ( 'Olá! Poderia me dizer qual é o seu nome? ' ); |
13 | write ( 'Em que ano você nasceu? ' ); |
14 | readln(ano_nascimento); |
15 | idade := ano_atual - ano_nascimento; |
16 | writeln ( 'Prazer em conhecê-lo, ' , nome, '.' ); |
17 | write ( 'Você tem ' , idade, ' anos.' ); |
Basicamente, temos apenas um detalhe novo em relação ao último programa: a inclusão da área
Const para a declaração de constantes. A declaração ocorre da mesma forma que nos algoritmos, ou seja, sem a definição do tipo, utilizando o operador
= para indicar o valor da constante. Outro detalhe é a utilização da função
writeln(). Mas qual a diferença entre
write() e
writeln()? Ao utilizar a função write(), o cursor ficará posicionado logo após o final do texto. Já na função writeln(), o cursor pulará para a próxima linha ao escrever o texto. O emprego dessas funções deve priorizar a estética na tela, deixando o programa com um visual mais “agradável”.
Para encerrar este tópico, vou deixar alguns exercícios para praticarem a elaboração de algoritmos e a programação em Pascal:
1. Desenvolva um algoritmo para calcular a média de 4 números fornecidos pelo usuário.
2. Desenvolva um algoritmo para calcular a expressão S = (A + B) / (A – B).Os valores A e B deverão ser fornecidos pelo usuário.
3. Desenvolva um algoritmo para calcular o volume de um cilindro, dado por Pi R² H, onde R é o raio, H é a altura e Pi uma constante equivalente a 3,14. Os valores de R e H deverão ser fornecidos pelo usuário.
4. Desenvolva um algoritmo para calcular a área da esfera, dada por 4 Pi R² e o seu volume, dado por 4 Pi R³ / 3, onde R é o raio e Pi uma constante equivalente a 3,14. O valor de R deverá ser fornecido pelo usuário.
5. Desenvolva um algoritmo para calcular a altura do cilindro, dada por V / 4 Pi R², onde R é o raio, V é o volume e Pi uma constante equivalente a 3,14. Os valores R e V deverão ser fornecidos pelo usuário.
6. Desenvolva um algoritmo para calcular a função F(x,y) = 2x + 2y², em um domínio real. Os valores X e Y deverão ser fornecidos pelo usuário.
7. Desenvolva um algoritmo para calcular o troco a ser devolvido a um cliente. Deve ser lido (fornecido pelo usuário) o valor a ser pago e o valor dado pelo cliente.
8. Desenvolva um algoritmo para calcular o valor absoluto da diferença entre A e B. Os valores A e B deverão ser lidos.
9. Desenvolva um algoritmo para calcular (converter) graus Farenheit (F) em graus Centígrados (C) , utilizando a seguinte fórmula: C = 5 (F – 32) / 9. O valor F deverá ser lido.
Algumas dicas:
- Função para calcular a raiz quadrada: sqrt(número)
- Função para calcular o valor absoluto de um número: abs(número)
Tentem fazer os exercícios. Qualquer dúvida, postem nos comentários