Você está na página 1de 6

7

Aula 1º

Linguagem de programação

Olá pessoal!
Nesta aula vamos estudar a introdução do conceito de
programação de computadores, na qual trataremos da introdução
das linguagens de computadores, explicando o porquê utilizaremos
a linguagem c/c++ e apreenderemos a instalar e configurar nossa
IDE de programação.
Boa aula!
Bons estudos!

Objetivos de aprendizagem

Ao término desta aula, vocês serão capazes de:

‡FRPSUHHQGHURFRQFHLWRGHOLQJXDJHPGHSURJUDPDomR
‡WHUFRQKHFLPHQWRGRTXHpOLQJXDJHPGHPiTXLQD
‡LQVWDODUHFRQILJXUDURDPELHQWHGHGHVHQYROYLPHQWR
8 Linguagem da Programação I 6
uma versão “legível” da linguagem de máquina que é a chamada
Seções de estudo linguagem simbólica Assembly. Simbólica, pois esta linguagem
não é composta de números binários ou hexadecimais, como
na linguagem citada anteriormente. A linguagem utiliza
1 - Breve Histórico palavras abreviadas, chamadas de mnemônicos, indicando a
2 - Linguagem C operação a ser realizada pelo processador.
A linguagem simbólica surgiu com o objetivo de simplificar
1 - Breve Histórico a programação, já que a linguagem de máquina é algo muito
trabalhoso e muitas vezes complicado de se realizar. Ela é uma
linguagem na qual a programação é realizada diretamente nos
Antes de começarmos a falar sobre linguagens de registradores do processador. Abaixo Pinto (2007) apresenta
programação é muito importante termos o conhecimento dois exemplos de instruções Assembly:
de como funciona uma linguagem. Primeiramente, devemos
conhecer o que é um compilador. 02955²QHVWDLQVWUXomRLGHQWLÀFDVHR
mnemônico MOV (abreviação de MOVE) e
1.1 - Compilador dois registradores como parâmetros: R1 e R2.
Quando o processador executa esta instrução,
Definição de compilador: um sistema que traduz um ele comanda o movimento do conteúdo de R2
programa descrito em uma linguagem de alto nível para para R1 (equivalente à instrução Pascal R1:=R2,
um programa equivalente em código de máquina para VHQGR5H5HTXLYDOHQWHDGXDVYDULiYHLV 
um processador. Em geral, um compilador não produz $'' 5 5 ² QHVWD LQVWUXomR LGHQWLÀFD
diretamente o código de máquina, mas sim um programa em se o mnemônico ADD (abreviação de
linguagem simbólica (assembly) semanticamente equivalente ADDITION) e dois registradores como
ao programa em linguagem de alto nível. O programa em parâmetros: R1 e R2. Quando o processador
linguagem simbólica é então traduzido para o programa em executa esta instrução, ele comanda a adição
do conteúdo de R1 ao conteúdo de R2 e o
linguagem de máquina, através de montadores. Na figura 1 é
resultado é armazenado em R1 (equivalente à
possível visualizar a função do compilador (DEITEL, 2012).
instrução Pascal R1:=R1+R2).

No entanto, vamos trabalhar em alto nível, ou seja,


utilizaremos uma linguagem fortemente tirada e bem definida
que no final ela gerará o código de máquina para nós.
Sendo assim, a Linguagem de programação de
alto nível é como se chama, na Ciência da Computação de
linguagens de programação, uma linguagem com um nível de
abstração relativamente elevado, longe do código de máquina e
mais próximo à linguagem humana.
Nesse sentido, as linguagens de baixo nível estão
diretamente relacionadas com a arquitetura do computador,
trabalhando diretamente com os registradores do processador.
Figura 1: Fonte: Chiara (2016).

Mas o que é linguagem de maquina? 1.2 - Linguagem de programação


Geralmente em filmes como Matrix e outros voltados
Podemos definir linguagem de programação como
para as tecnologias, sempre vemos computadores ligados a
um método padronizado para comunicar instruções para um
números binários ou hexadecimais. Sim, isso é linguagem de
computador através de regras sintáticas e semânticas, usadas
máquina, realmente o computador interpreta uma sequência
para definir um programa de computador, ou seja, regras essas
de números que significa uma sequência de instruções a
que definem início e fim de rotinas, e normas de declaração
serem executadas. Por incrível que pareça, os primeiros
de tipos.
programadores trabalhavam programando essas sequências.
Desta forma permite que um programador especifique
Podemos definir que uma linguagem de máquina é uma
precisamente sobre quais dados um computador vai atuar,
sequência de bits que um CPU (Processador) decodifica em
como estes dados serão armazenados ou transmitidos. E quais
instruções e executa. Cada instrução tem um código para a
ações devem ser tomadas sob várias circunstâncias. Linguagens
operação e informação sobre os operadores.
de programação podem ser usadas para expressar algoritmos
Um exemplo de um programa em linguagem máquina
com precisão.
SCRAM:
Resumindo, segundo Dolores (2017), linguagens de
00010001
programação são padrões de codificação binária, com
01010010
sintaxe e semânticas específicas. Dessa forma, capazes de criar
00110011
instruções para máquinas. Graças a esses conjuntos de códigos
E a linguagem simbólica? e recursos, é possível criar programas e sistemas para resolver
É uma linguagem mais próxima da linguagem de máquina, os mais diversos problemas do cotidiano.
7 9
Para melhor compreensão! de alto nível que facilitam muito na hora de desenvolver uma
Ainda na esteira de Dolores (2017), o humano fala através aplicação seja para web, Desktop ou Mobile. Em resumo não
de um idioma, já o computador entende binário. Então, para precisamos saber como é feito a roda e sim saber dirigir o
que ambas as partes consigam se comunicar, é necessário um veículo, independente seu tipo (DEITEL, 2012).
intermediário: uma linguagem de programação. Através dela, é Portanto, utilizaremos a linguagem c/c++ por ser
possível programar de uma forma que um compilador traduza referência no ensino de programação, sendo a mais próxima
as instruções para o computador (em binário). De outra forma, do portugol (Algoritmo), e porque ela é a base para linguagens
caso seja uma linguagem interpretada, as instruções seriam existentes hoje em dia. E por ser a mais utilizada em todas as
repassadas a um interpretador para a sua execução. faculdades de ensino de Tecnologia da informação.
Resumindo, linguagens de programação existem para ser o
canal de comunicação de um programador com o hardware O C é uma das linguagens de programação mais
(máquina). populares, e existem poucas arquiteturas para as quais não
existem compiladores para ela. Tem influenciado muitas
outras linguagens de programação, mais notavelmente C++,
Curiosidade que originalmente começou como uma extensão para C.
Nas palavras de Dolores (2017), o primeiro trabalho de linguagem de (LAUREANO, 2005).
programação foi criado por Ada Lovelace, grande amiga de Charles
Babbage. O projeto da primeira calculadora mecânica programável A Linguagem C foi inventada e implementada no
foi idealizado por Charles Babbage que, após gastar fortunas e um início dos anos 70 por Dennis Ritchie em um computador
longo tempo, não conseguiu concretizar o projeto. A linguagem DEC PDP-11, usando o Sistema Operacional UNIX. Ela é
de programação ADA foi batizada em homenagem a esta primeira o resultado do processo de desenvolvimento iniciado com
programadora. outra linguagem, chamada BCPL, desenvolvida por Martin
Richards. Esta linguagem influenciou a linguagem inventada
1.3 - Programação estruturada por Ken Thompson, chamada linguagem B. Sendo assim, a
linguagem C é a evolução da linguagem B (LAUREANO,
A programação estruturada é uma forma de programação 2005).
de computadores que preconiza que todos os programas A linguagem C se tornou uma das linguagens de
possíveis podem ser reduzidos a apenas três estruturas: programação mais utilizada, por ser flexível e ainda poderosa,
sequência, decisão e repetição. A Programação estruturada sendo que ela é a responsável pela criação de alguns software
orienta os programadores para a criação de estruturas simples famosos e a base de outros como jogos. Ela encontra seus
em seus programas, usando as sub-rotinas e as funções, pode- limites quando o tamanho de um projeto ultrapassa certo
se dizer que a programação estruturada ainda é marcantemente ponto de 25.000 a 100.000 linhas de código. Para a solução
influente, uma vez que grande parte das pessoas ainda aprende desse problema em 1980 um estudioso chamado Bjarne
programação através dela (DEITEL, 2012). Stroustrup acrescentando várias intenções na linguagem C que
Portanto, podemos dizer que a programação estruturada deu origem à nova linguagem que se chamava inicialmente “C
diz que todos os programas de computador podem ser escritos com classes”, e por volta dos anos 1983 o nome foi mudado
utilizando unicamente as seguintes estruturas: para linguagem C++ (DEITEL, 2012).
‡6HTXrQFLD Mas a evolução do C++ não parou com o Bjarne
Ⱥ 2V FRPDQGRV VmR H[HFXWDGRV HP ILOD GH FLPD SDUD Stroustrup, muitas foram as implementações, até tornarem
baixo. a linguagem C++ uma linguagem que suporta Programação
‡'HFLVmR Orientada a Objetos.
Ⱥ3HUPLWHHVFROKHURFyGLJRDVHUH[HFXWDGRDWUDYpVGH OBS: Nas faculdades ainda ensinam-se o básico da
um teste lógico. linguagem e não todo o potencial que ela pode nos oferecer
‡,WHUDomR referente à criação de sistemas e de projetos. Geralmente
Ⱥ5HSHWHXPEORFRGHFyGLJRXPDTXDQWLGDGHGHILQLGD kernel e interfaces gráficas de SO utilizam o c++.
ou indefinida de vezes baseado no resultado de um teste lógico. A história é maior que isso que foi escrito, mais se formos
realmente falar sobre C/C++ seria em torno de uns 20 artigos,
Obs.: Algumas linguagens como Pascal, C/C++ e PHP pois tem muita informação sobre o mesmo. Portanto, foi uma
trabalham com o paradigma estruturado. prévia de como é o C/C++ e por que houve a evolução do
Nesta disciplina iremos trabalhar com a linguagem C/ mesmo e o que ele é hoje.
C++. Sendo assim, adotaremos essa forma de programação.
Compilador C
Existem diversos compiladores C / C++ disponíveis para
2 - Linguagem C os programadores. A decisão sobre qual compilador utilizar
pode ser baseada em vários fatores, como por exemplo:
Agora que vimos o conceito de linguagem de programação, ‡4XDOLGDGHGRFRPSLODGRU
não vamos nos aprofundar muito em linguagens de baixo ȺpUiSLGR
nível, já que o foco do desenvolver hoje em dia é desenvolver ȺHVWiFRQIRUPHFRPDSDGURQL]DomRGDOLQJXDJHPD
sistemas em linguagens de alto nível. Existem muitas linguagens LQWHUIDFHFRPRXVXiULRpDJUDGiYHO
10 Linguagem da Programação I 8
Ⱥ SRVVXL RX QmR XP ,'( ,QWHJUDWHG 'HYHORSPHQW www.bloodshed.net/devcpp.html> e o codeblocks pelo site:
(QYLURPHQW  <http://www.codeblocks.org/>. Ambos são oferecidos para
ȺSRVVXLGLYHUVDVRSo}HVGHFRPSLODomRHWF download de forma gratuita.
‡ 6LVWHPD V  2SHUDFLRQDO LV  TXH R FRPSLODGRU ‡Visual Studio: é a ferramenta mais completa para utilizar
funciona (e gera códigos) para o desenvolvimento de aplicações em C e C++, sendo que
‡&XVWRGRFRPSLODGRU tem a parte de console para desenvolvimento e a porte visual.
‡'RFXPHQWDomRGLVSRQtYHOH6XSRUWH Com essa ferramenta também tem como utilizar Banco de
dados para utilização da Linguagem da Programação C.
Outro fator determinante, quais são os compiladores mais ‡ C Builder: também é uma ótima ferramenta para
utilizados atualmente? Esta informação é muito importante, desenvolvimento de aplicações visuais.
pois é indicado que estejamos habituados e com experiência
naquele compilador que provavelmente tenhamos que Na nossa disciplina será adotado o Codeblocks como
utilizar em algum futuro emprego. Ou mesmo um projeto de IDE padrão para o desenvolvimento.
pesquisa que venhamos a nos engajar (CARVALHO, 2008).
2.2 - Configurando o ambiente de
Compilador GCC (GNU Compiler Collection) programação
O compilador GCC, disponível em: <http://www.gnu.
org/software/gcc/gcc.html>, é da GNU2 (Free Software A linguagem c/c++ pode ser compilada em múltiplas
Foundation). É sem dúvida um “líder” no mercado de plataformas, sendo assim, podemos utilizar ela para desenvolver
compiladores C atualmente. E é o que iremos utilizar na em várias SO (Sistemas Operacionais).
disciplina de Programação II. É o compilador padrão do Para iniciar o nosso aprendizado vamos utilizar a IDE
sistema operacional GNU/Linux e também foi adotado codeblocks e o compilador gnu c++. Como citamos o
por (ou portado para) vários outros sistemas operacionais compilador é quem vai transformar nosso código em linguagem
(inclusive S.O. comerciais pagos), tais como HPUX, MS- simbólica e depois em linguagem de máquina.
Windows, MS-DOS, IBM OS2, IBM AIX, SUN OS, SUN Mas o que é uma IDE, segundo o site Wikipédia (2017),
Solaris etc, além é claro do próprio GNU/Linux, onde este do inglês Integrated Development Environment ou Ambiente de
compilador é utilizado no desenvolvimento do próprio Desenvolvimento Integrado, é um programa de computador
sistema operacional e de todas as ferramentas nele disponíveis que reúne características e ferramentas de apoio ao
(ou seja, é o compilador ‘nativo’ do Linux). (DEITEL, 2012). desenvolvimento de software com o objetivo de agilizar este
Outro detalhe importante é que todas as distribuições processo. Veremos ao longo do curso que as IDEs vão facilitar
Linux já vêm com um compilador GCC disponível, ou seja, muito com o nosso desenvolvimento.
se você tem um computador com Linux instalado, você tem Sendo assim, o Codeblocks vai apenas interpretar nosso
um compilador GCC pronto para ser utilizado. Mas caso você código, facilitando assim nossa programação, enquanto o
precise instalar o GCC em outro S.O., tal como o Windows, compilador gnu c++ converterá nosso código para linguagem
vá em: <http://gcc.gnu.org/install/binaries.html> (embora de máquina.
em um primeiro momento, por motivos de facilidade na
utilização, seja extremamente recomendado que você utilize
o GCC no Linux, e só após estar familiarizado tente instalá-lo
em algum outro S.O.).

2.1 - Programas Utilizados


Segundo Carvalho (2009), quando queremos construir
algoritmos que computadores possam entender e executar,
é necessário que utilizemos uma linguagem de programação
que disponha de um compilador que transforme o algoritmo
em um programa a ser executado. O arquivo contendo o
algoritmo que desenvolvemos é chamado de “fonte”, pois
é a partir dele que o compilador vai criar o programa a ser
executado. Em nosso curso foi escolhida a linguagem C/ Figura 2: IDE - Codeblocks.
C++. Para compilar e executar nossos programas existem
Vejamos:
vários programas (IDE) que podem ser utilizados, lembrando
que cada IDE depende da instalação do compilador gcc. As 2.3 - Instalação
IDEs mais comuns são:
‡ DevC++ e CodeBlocs: hoje é o mais utilizado O codebocks pode ser baixado através do endereço:
pelas pessoas que estão aprendendo a programar e alguns <http://www.codeblocks.org/downloads>, nesta etapa é
programadores mais avançados. Lembrando que esse importante saber qual a plataforma que você utilizará, pois
programa tem algumas limitações quanto ao uso integral da isso influencia no arquivo a ser baixado, caso utilize o windows
linguagem. teremos que baixar a IDE junto com o compilador. Enquanto
Ⱥ 2 'HY& SRGH VHU REWLGR SHOR VLWH KWWS no Linux, vamos instalar separado. Abaixo apresentamos
9 11
tutoriais de instalação nas 3 plataformas existentes hoje.

Instalação no Linux
Primeiramente, devemos saber que o Linux não possui
interface gráfica, ele é apenas um kernel, portanto se você
utiliza um PC com Linux, provavelmente você o baixou de
uma distribuição.
Uma Distribuição Linux é composta por uma coleção de Figura 4: Download Codeblocks para Windows.
aplicativos mais o kernel (núcleo) do sistema operacional.
‡2/LQX[QDUHDOLGDGHpDSHQDVRQRPHGRNHUQHOGR Após realizar o download, clique no arquivo e escolha a
sistema operacional. Isto significa que todas as distribuições opção <Next> na janela do Setup Wizard.
utilizam o mesmo kernel, mas podem acoplar diversos
aplicativos de acordo com o objetivo do seu mantenedor.
‡2/LQX[pXPVLVWHPDRSHUDFLRQDO´8QL[OLNHµRXVHMD
tem comportamento similar ao do sistema operacional Unix
(multitarefa e multiusuário).
Portanto, antes de instalar você deve saber qual distribuição
está utilizando, pois algumas utilizam os pacotes de instalação
DEB (ubuntu, debian, mint….) enquanto outras utilizam
pacotes rpm (Fedora red hat, suzi).
A instalação no SO Linux é bem simples, primeiramente
abrimos o terminal e digitamos:
‡1DGLVWULEXLomR'(%
ȺVXGRDSWJHWLQVWDOOJFFJFRGHEORFNV\ Figura 5: Instalação: Primeiro passo.

‡ 1DGLVWULEXLomRUSP
Na tela de licenciamento, clique em <I agree> para
ȺVXGR\XPLQVWDOOJFFJ&&FRGHEORFNV\
concordar com os termos.
Após digitar o comando, o sistema solicitará a sua senha
para instalação.

Instalação no Sistema Mac


Baixe a imagem do codeblocks através do link: <http://
www.codeblocks.org/downloads/26#mac>. Se você sabe
que não possui o Xcode instalado, baixe o DVD Tools para
desenvolvedores da Apple.

Figura 3: Download Codeblocks MacOS. Figura 6: Instalação: Segundo passo.

‡ 0RQWHDLPDJHPGRGLVFRpXPDLPDJHPSDGUmRGR 3. A seguir, na tela Choose Components selecione todas


Apple Disk (.dmg). Copie o aplicativo para onde você deseja as opções e clique em <Next>.
(por exemplo, / Desenvolvedor / Aplicativos). E pronto.

Instalação no Windows
Baixe o Codeblocks através do link: <http://www.
codeblocks.org/downloads/26#windows>, porém no site
existem várias opções, nesse passo é importante escolhermos
a opção correta porque caso contrário o Codeblocks não
funcionará corretamente. Portanto, devemos fazer download
da opção com mingw-setup codeblocks-16.01mingw-setup.
exe.

Figura 7: Instalação: terceiro passo.


12 Linguagem da Programação I 10
Na tela Choose, Install Location clique sobre o botão
<Install>. Vale a pena

Vale a pena ler


$5/(, $GULDQR HW DOO A pré-história da computação
Departamento de Ciência da Computação Informática e
6RFLHGDGH

Vale a pena acessar


Figura 8: Instalação: Quarto passo.

Aparecerá uma tela conforme abaixo, clique em <Sim> Wikipédia, História das Linguagens de programação.
para executar. Download gratuito através do site: <https://pt.wikipedia.
org/wiki/Livro:Hist%C3%B3ria_das_linguagens_de_
programa%C3%A7%C3%A3o>. Acesso em: 20 de nov.
2017.
Disponível em: <https://becode.com.br/principais-
linguagens-de-programacao/>. Acesso em: 26 nov. de 2017.
Disponível em: <https://pt.wikipedia.org/wiki/
Ambiente_de_desenvolvimento_integrado>. Acesso em: 26
de nov. 2017.
Disponível em: <https://olhardigital.com.br/pro/
noticia/9-livros-que-todo-profissional-de-ti-precisa-
ler/43804>. Acesso em: 20 de nov. 2017.
Figura 9 - Instalação: Quinto passo.

Feitos esses passos nossa IDE está pronta para


começarmos a desenvolver nossos programas de
computadores. No próximo capítulo veremos como utilizar Vale a pena assistir
essa ferramenta de maneira simples e eficiente.
História da programação de computadores. Disponível em:
<https://www.youtube.com/watch?v=Sx1Z_MGwDS8>.
Retomando a aula Acesso em: 20 nov. de 2017.
Disponível em: <https://www.youtube.com/
watch?v=81mX6ZdJvw8>. Acesso em: 20 de nov. 2017.

Parece que estamos indo bem. Então, para encerrar


essa aula, vamos recordar: Minhas anotações

Aqui, vimos que com o surgimento dos computadores


sempre houve a necessidade de programá-los. Isso para que
não passassem de uma simples máquina de calcular. No
início a programação era algo demorado e trabalhoso, pois
a linguagem do computador era muito diferente da atual.
Por isso, as linguagens de programação são de extrema
importância no mundo da computação. Por essa importância,
ela sempre estará em constante evolução, de modo que facilite
a nossa comunicação com os computadores. Começamos
com a programação binaria e hoje existem compiladores que
nos permitem programar computadores em uma linguagem
muito mais amigável e bem semelhante a nossa.

Você também pode gostar