Como criar um programa

Quem sou
Judit Llordes
@juditllordes
Autor e referências

O que é um programa

Antes de ir ao cerne da quest√£o, gostaria de fornecer algumas informa√ß√Ķes te√≥ricas que o ajudar√£o a entender melhor as etapas futuras deste guia: na pr√°tica, um programa √© uma entidade de TI capaz dados do processo e aautomatizar opera√ß√Ķes. Por exemplo, existem programas que podem processar textos (como Word), para realizar c√°lculos (como calculadora Windows), para permitir a navega√ß√£o na Internet (como eu navegador) e assim por diante.



Um programa, dependendo da tarefa para a qual foi projetado, pode ser mais ou menos simples: s√≥ para dar um exemplo, at√© mesmo o sistemas operacional, projetado para permitir que o usu√°rio interaja com a "parte f√≠sica" de um computador por meio de software dedicado, eles s√£o, por sua vez, programas.

O funcionamento de um programa √© quase sempre baseado em um mecanismo muito espec√≠fico, que √© denominado algoritmo: com esta √ļltima defini√ß√£o, eu passos necess√°rios isso deve ser feito para transformar um datum ou uma s√©rie de dados de "entrada" em um datum ou uma s√©rie de dados de "sa√≠da".

Dentro da programa√ß√£o, as etapas acima s√£o expressas na forma de instru√ß√Ķesum afirma√ß√£o, dado por meio de um linguagem de programa√ß√£o: o conjunto completo de instru√ß√Ķes de um programa √© definido fluxo de execu√ß√£o, e √© o que se encarrega de processar os dados de entrada para transform√°-los no que voc√™ deseja alcan√ßar.

Estágios de criação de um programa

Agora que voc√™ entende a defini√ß√£o de um programa, √© hora de se familiarizar com como ele √© desenvolvido ao longo do tempo. Pode parecer estranho para voc√™, mas at√© mesmo um programa tem um real ciclo de vida, estruturado em pelo menos quatro fases: projetoimplementa√ß√£oensaiolan√ßamento e e atualiza√ß√£o. Abaixo voc√™ pode encontrar os detalhes de cada etapa deste ciclo de vida.



Projeto

La projeto de um programa √© a primeira fase do seu ciclo de vida, bem como a mais importante: √© aqui que se definem os objetivos do programa, o tipo de dados que deve gerir e como o deve fazer. Se voc√™ fosse imaginar um programa como se fosse uma casa, a fase de projeto √© aquela em que o arquiteto (ou a equipe de arquitetos) desenha o projeto no papel, definindo sua forma, estrutura e posi√ß√£o.

A fase de projeto geralmente √© aquela gerida pelos engenheiros da equipe de desenvolvimento: s√≥ para dar alguns exemplos, h√° aqueles que definem o tipo de dados a serem processados, aqueles que desenvolvem o algoritmo para gerenciar eles pr√≥prios os dados, aqueles envolvidos no estudo das condi√ß√Ķes cr√≠ticas (ou seja, eventos que n√£o deveriam ocorrer, mas poderiam ocorrer) e, por que n√£o, tamb√©m aqueles envolvidos na concep√ß√£o do aspecto gr√°fico ideal do programa.

Todas essas "id√©ias", no momento puramente abstratas, costumam ser relatadas em deuses diagramas ou de gr√°ficos desenvolvido por meio de padr√Ķes convencionais (por exemplo, usando a linguagem UML) e deve ser aprovado pela figura do engenheiro-chefe. Nesta fase, tamb√©m √© escolhida a linguagem de programa√ß√£o a ser utilizada para desenvolver o software. Uma vez que a aprova√ß√£o √© recebida, todo o material √© repassado para programadores, que cuidam do implementa√ß√£o.

Implementação

A fase de implementa√ß√£o √© aquele em que, de fato, o pr√≥prio programa ganha vida: dele participam um ou mais programadores (neste √ļltimo caso, a equipe √© coordenada por um programador chefe), encarregado de escrever o conjunto de instru√ß√Ķes que formam o fluxo de execu√ß√£o do programa.


As instru√ß√Ķes s√£o escritas em um ou mais arquivos de texto simples, inclu√≠dos em um, se necess√°rio editor espec√≠fico ou um todo ambiente de desenvolvimento integrado (no jarg√£o IDE): estes elementos fornecem ao programador ferramentas √ļteis para simplificar o trabalho, por exemplo, a possibilidade de completar automaticamente instru√ß√Ķes, sugerir vari√°veis ‚Äč‚Äčou, novamente, definir partes de c√≥digo a serem recuperadas com combina√ß√Ķes de teclado precisas.


O conjunto de arquivos contendo as instru√ß√Ķes escritas na linguagem de programa√ß√£o √© definido c√≥digo fonte do programa. Ao longo da implementa√ß√£o, as partes "intermedi√°rias" do c√≥digo-fonte v√™m compilado ser "traduzido" para a linguagem de m√°quina e executado: desta forma, o programador pode testar a bondade do seu trabalho e verificar se o programa se comporta corretamente.

Uma vez que todo o c√≥digo-fonte √© escrito, ele √© compilado para ser executado no sistema operacional, tornando-se um programa real (como os que voc√™ est√° acostumado a usar no seu computador): a fase de implementa√ß√£o est√° conclu√≠da, o resultado pode sofrer um novo fase de testes ou ser liberado diretamente ao p√ļblico.

ensaio

A fase de ensaio, em alguns aspectos, pode ser considerada a fase mais "divertida" do ciclo de vida de um programa: nela, de fato, as figuras adequadas da equipe (os chamados testador) t√™m a tarefa de voluntariamente causar mau funcionamento ou condi√ß√Ķes cr√≠ticas n√£o gerenciadas dentro do programa, de modo a ser capaz de revelar o erro (ou seja, erros de programa√ß√£o) e permitir que os desenvolvedores os corrijam.

As categorias de teste às quais um programa pode ser submetido são realmente numerosas e podem testar diferentes aspectos: mesmo que pareça estranho para você, a fase de teste é extremamente importante para a qualidade de um programa, pois é nela que ocorrem quaisquer erros. resultantes das fases anteriores. Se você estiver interessado em aprender mais, remeto-o para o verbete exaustivo da Wikipedia que trata deste tópico em detalhes.


Em alguns casos, a software house pode decidir pedir "ajuda" aos usu√°rios finais aos quais o programa √© dedicado, liberando uma vers√£o incompleta para fins de teste: neste caso, falamos de vers√£o alfavers√£o beta do software. O usu√°rio final √© solicitado a experimentar o programa e relatar quaisquer problemas encontrados ao fabricante: em jarg√£o, este procedimento √© chamado realimenta√ß√£o.


No final da fase de teste, duas coisas podem acontecer: se o programa apresentar problemas, estes s√£o reportados √† equipe de desenvolvimento, que se encarrega de resolv√™-los modificando e atualizando o c√≥digo-fonte. Se, por outro lado, o programa n√£o tem problemas, ele obt√©m o OK para a fase lan√ßamento.

Liberar / Atualizar

A fase de lan√ßamento de um programa √© aquele em que o √ļltimo √© distribu√≠do ao p√ļblico, gratuitamente, ou disponibilizado para compra, se o software for projetado para operar ap√≥s a compra de uma licen√ßa.

Por necessidades do mercado, ou pela simples evolu√ß√£o dos tempos, a software house pode decidir adicionar novas funcionalidades ao programa, modificar o seu aspecto gr√°fico ou alterar a sua din√Ęmica total ou parcialmente: neste caso, uma nova vers√£o do o programa √© analisado e executado novamente em todo o processo do ciclo de vida.

Quando o c√≥digo-fonte atualizado passa pela fase de teste, √© tornado p√ļblico ou comercializado como atualiza√ß√£o do software original.

Um programa termina o seu ciclo de vida quando a empresa responsável por ele deixa definitivamente de atualizá-lo, efetivamente abandonando-o a si mesma: uma vez interrompido o desenvolvimento, diz-se que o programa não é mais suportado (descontinuado em inglês).

Linguagens de programação

Como j√° mencionei a voc√™ h√° pouco, o linguagem de programa√ß√£o √© o conjunto de regras sint√°ticas e l√≥gicas usadas para estruturar instru√ß√Ķes dentro do c√≥digo-fonte de um programa.

O usuário final do software, ou seja, aqueles que o utilizam todos os dias para produção, pode não ter ideia da linguagem de programação usada para desenvolver o software em si, mas você deve saber que nem todas as linguagens são iguais: alguns são mais adequados para construir programas que funcionam na linha de comando, outros são melhores para gerenciar interfaces gráficas, ainda outros são dedicados exclusivamente ao processamento de cálculos, criação de jogos e muito mais.

Aqui está uma lista (muito limitada, considerando que existem centenas delas) das linguagens de programação mais populares e conhecidas atualmente disponíveis.

  • Java - √© uma linguagem de programa√ß√£o para objetos extremamente conhecido, que se presta a um grande n√ļmero de utiliza√ß√Ķes. A sua for√ßa reside precisamente na sua flexibilidade: os programas Java podem ser executados simplesmente instalando software adicional (chamado Java Runtime EnvironmentJRE), a partir de qualquer sistema operacional de desktop. Uma coisa tamb√©m pode surpreend√™-lo: grande parte do sistema operacional Android √© escrito em Java. J√° falei sobre como programar em Java em meu guia dedicado.
  • C - outra linguagem extremamente conhecida. C √© uma linguagem de programa√ß√£o que remonta a 1972, √© do tipo processual e √© aplic√°vel em praticamente qualquer tipo de cen√°rio. N√£o √© uma linguagem orientada a objetos (embora seu sucessor, C ++, seja) e isso a torna um pouco mais dif√≠cil do que Java, no entanto, esse aspecto a torna adapt√°vel a um imenso n√ļmero de aplica√ß√Ķes pr√°ticas. Basta dizer que o kernel do Linux, assim como o do Android, s√£o escritos totalmente em C.
  • C# - apesar das semelhan√ßas sint√°ticas com C, ele √© espec√≠fico para a interface gr√°fica do Windows, os programas relacionados e aplicativos baseados na estrutura . NET. Embora pertencente √† Microsoft, o C # tornou-se o c√≥digo-fonte aberto em 2014.
  • Visual Basic - √© mais uma linguagem de programa√ß√£o de propriedade da Microsoft, utilizada para a cria√ß√£o de softwares com interface gr√°fica e dedicada aos sistemas operacionais Windows. At√© o momento, o Visual Basic foi incorporado √† estrutura . NET.
  • Delphi - sucessora do Pascal, esta linguagem de programa√ß√£o √© principalmente adotada para o desenvolvimento de softwares de gest√£o dedicados √† gest√£o de grandes volumes de dados, mas que n√£o requerem interfaces gr√°ficas complexas.
  • Objetivo C / Swift - essas s√£o as linguagens de programa√ß√£o com as quais os aplicativos para sistemas operacionais Apple s√£o criados MacOSiOSREL√ďGIOtvOS.
  • R - √© uma linguagem de programa√ß√£o usada para processar dados complexos, principalmente para computa√ß√£o estat√≠stica ou para opera√ß√Ķes de computa√ß√£o gr√°fica.
  • MATLAB - outra linguagem de programa√ß√£o dedicada ao c√°lculo matem√°tico, √© amplamente utilizada na gest√£o de opera√ß√Ķes baseadas em matrizes.
  • Montagem - √© uma linguagem de programa√ß√£o de baixo n√≠vel que se aproxima do c√≥digo de m√°quina real (o que o processador √© capaz de "entender"). Normalmente √© usado para projetar controladores e drivers de dispositivo.

Na seção a seguir, vou ensiná-lo a projetar uma calculadora simples em linguagem C, que você pode usar a partir de Prompt de comando ou de Terminal do macOS / Linux.

Crie um programa

Se voc√™ chegou at√© aqui, significa que aprendeu todas as no√ß√Ķes te√≥ricas sobre programa√ß√£o e que, finalmente, est√° pronto para trabalhar. Claramente, nesta se√ß√£o, vou ensin√°-lo a criar um programa muito simples, n√£o projetado para distribui√ß√£o "global" e que, portanto, n√£o precisa passar por todas as etapas que expliquei a voc√™ anteriormente. A coisa toda ser√° limitada a construir um pequeno arquivo de c√≥digo-fonte e compil√°-lo usando o compilador mais adequado.

Simplificando, nesta fase, voc√™ aprender√° como criar um simples calculadora in C, que voc√™ pode usar conforme sua conveni√™ncia por meio do Prompt de comando Windows ou o Terminal do macOS / Linux. Esses √ļltimos sistemas operacionais j√° est√£o predispostos para o gerenciamento de arquivos em C; para que preocupa√ß√Ķes Windowsem vez disso, voc√™ precisa instalar o componente Comunidade do Visual Studio.

Para prosseguir, conectado ao site dedicado, clique no bot√£o Download gr√°tis colocado dentro da caixa Comunidade do Visual Studio. Em seguida, abra o arquivo baixado (por exemplo, vs_Community.exe), pressiona o bot√£o Continuando, coloque a marca de sele√ß√£o ao lado do item Desenvolvimento de aplicativos desktop com C ++ na janela que aparece, depois na caixa Suporte C ++ / Cli localizado √† direita e, por fim, clique no bot√£o Instalar. Quando o procedimento for conclu√≠do, feche a janela do arquivo de configura√ß√£o.

Agora que voc√™ tem todas as ferramentas de que precisa, √© hora de desenvolver o c√≥digo-fonte do seu programa seguindo as instru√ß√Ķes mais adequadas para o seu sistema operacional. Para come√ßar, crie o arquivo que conter√° a fonte de uma das seguintes maneiras.

  • Windows - Comece o Bloco de notas chamando da pasta Acess√≥rios Windows residente no menu Iniciar (acess√≠vel clicando no bot√£o em forma de bandeira localizado no canto inferior direito da tela). Em seguida, clique no menu Envie o localizado no canto superior esquerdo, selecione o item Salvar com nome ... do √ļltimo, escolha o item Todos os arquivos no menu suspenso Salvar como, digite na caixa Nome do arquivo o nome calc.c e salve o arquivo na √°rea de trabalho do Windows, deixando o Bloco de notas aberto.
  • MacOS - Comece o Terminal cham√°-lo do Launchpad (o √≠cone em forma de foguete colocado no Dock) e, em seguida, digite o comando cd ~ / Desktop seguido por Transmiss√£o e, novamente, o comando toque calc.c, sempre seguido por Transmiss√£o. Sem fechar o Terminal, abra com um Clique duas vezes em o arquivo assim criado no secret√°ria.
  • Linux - Comece o Terminal relembrando de Vista de atividade ou no menu principal de sua distribui√ß√£o, digite o comando cd ~ / Desktop seguido por Transmiss√£o e, novamente, o comando toque calc.c seguido pressionando a tecla Transmiss√£o. Sem fechar o Terminal, fa√ßa Clique duas vezes em no arquivo criado no secret√°ria para abri-lo.

Depois de abrir o editor de texto mais adequado ao seu sistema operacional (por exemplo, Bloco de notas por Windows, Xcode para macOS ou Gedit para Linux), digite o c√≥digo a seguir (exatamente como mostrado abaixo). Decidi incluir uma breve descri√ß√£o de cada declara√ß√£o na fonte: as descri√ß√Ķes n√£o ser√£o lidas pelo compilador, pois s√£o precedidas por s√≠mbolos // (no jarg√£o, isso √© Coment√°rios).

#includes #includes // diz ao compilador quais bibliotecas usar int main (void) {// o m√©todo principal, a calculadora de caracteres real escolhida; int t1, t2; // declara√ß√£o de vari√°veis ‚Äč‚Äčprintf ("Insira o primeiro termo da opera√ß√£o:"); scanf ("% d", & t1); printf ("Digite o segundo termo da opera√ß√£o:"); scanf ("% d", & t2); printf ("Que opera√ß√£o voc√™ deseja realizar? Digitan + para adi√ß√£o - para subtra√ß√£o * para producton: para divisionenOperation:"); scanf ("% c", & choice); escolha = getchar (); // solicita√ß√Ķes e varreduras de comandos de teclado switch (escolha) {// ciclo que se encarrega de realizar os c√°lculos reais caso '+': t1 = t1 + t2; quebrar; caso '-': t1 = t1 - t2; quebrar; caso '*': t1 = t1 * t2; quebrar; caso ':': t1 = t1 / t2; break;} printf ("O resultado da opera√ß√£o √©:% dn", t1); // o resultado √© mostrado no sistema de v√≠deo ("PAUSE"); // espera que uma tecla seja pressionada para encerrar o programa return (0); // o programa termina sem erros}

Depois que todo o texto for colado, salvar o arquivo criado anteriormente e, em seguida, feche silenciosamente o editor.

Neste ponto, voc√™ pode prosseguir com o compila√ß√£o do programa usando as instru√ß√Ķes mais adequadas ao seu sistema operacional.

  • Windows - lembra o Prompt de comando para desenvolvedores da pasta Visual Studio colocado no menu Iniciar. Dentro, digite os comandos em sequ√™ncia cd% USERPROFILE% Desktop cl calc.c, ambos seguidos pelo bot√£o Transmiss√£o. Feito isso, voc√™ pode executar o programa simplesmente digitando o comando Tra√ßado e pressionando Transmiss√£o, ou fazendo Clique duas vezes em no arquivo calc.exe gerado na √°rea de trabalho.
  • macOS / Linux - de Terminal aberto anteriormente, digite o comando calculadora gcc calc.c -o seguido por Transmiss√£o, em seguida, inicie sua calculadora com o comando ./calculadora, sempre seguido pelo pressionamento da tecla Transmiss√£o.

Neste capítulo do tutorial expliquei como criar um programa muito simples sem uma interface gráfica, no entanto o poder das várias linguagens de programação é ilimitado e o software completo com interface gráfica também pode ser criado: tudo está na habilidade e na a fantasia de designers e programadores.

Para mais informa√ß√Ķes

Como voc√™ bem pode ter notado, criar um programa n√£o √© uma opera√ß√£o vi√°vel, desde que voc√™ conhe√ßa pelo menos uma linguagem de programa√ß√£o: o c√≥digo-fonte de nossa calculadora era muito, muito simples, mas tenho certeza que ajudou voc√™ a entender mais ou menos como as instru√ß√Ķes s√£o estruturadas (declara√ß√£o) de um linguagem de programa√ß√£o.

Espere, voc√™ est√° me dizendo que isso te fascina muito e que pretende continuar seus estudos para se tornar um programador? Perfeito! Fico feliz em ajud√°-lo, sugerindo recursos dispon√≠veis na Internet que ser√£o muito, muito √ļteis para voc√™.

  • Como aprender Java - meu guia dedicado √†s etapas b√°sicas para aprender a programar em Java.
  • Se√ß√£o de guias HTML.com - ‚Äč‚Äčaqui voc√™ pode encontrar um grande n√ļmero de guias dedicados √†s linguagens de programa√ß√£o mais famosas, incluindo C, C ++, Objective-C, Java e muitas outras.
  • Microsoft, Introdu√ß√£o ao Visual Basic - Um guia introdut√≥rio √† linguagem Visual Basic .NET e √† estrutura do Visual Studio.
  • Eclipse - um IDE completo capaz de lidar com v√°rias linguagens de programa√ß√£o, incluindo Java, C / C ++ e outras, que tamb√©m pode ser usado para testar e desenvolver gr√°ficos UML.
  • Notepad ++ - um editor m√≠nimo, mas completo, para escrever (e formatar) c√≥digo-fonte no Windows. Ele suporta v√°rias linguagens de programa√ß√£o.
  • Programas para programa√ß√£o - meu guia contendo uma lista detalhada de softwares √ļteis para programa√ß√£o em geral.
Como criar um programa

√Āudio v√≠deo Como criar um programa
Adicione um coment√°rio do Como criar um programa
Comentário enviado com sucesso! Vamos analisá-lo nas próximas horas.