Portal IDEA

Introdução ao Desenvolvimento de Software

 INTRODUÇÃO AO DESENVOLVIMENTO DE SOFTWARE

 

Primeiros Passos com Programação 

Introdução à Programação com JavaScript (ou Python)

  

1. Por Que Começar com Linguagens de Fácil Leitura?

A jornada de quem começa a programar pode ser desafiadora, especialmente se o primeiro contato ocorrer por meio de linguagens complexas, com sintaxe rigorosa e termos técnicos difíceis. Por isso, é altamente recomendável que iniciantes comecem aprendendo com linguagens de programação de fácil leitura, como Python ou JavaScript.

Essas linguagens são consideradas mais acessíveis por diversos motivos:

  • Sintaxe simples e clara: permitem escrever comandos com poucas palavras e de forma próxima à linguagem natural.
  • Comunidade ativa e farta documentação: oferecem suporte constante para iniciantes por meio de tutoriais, fóruns e exemplos gratuitos.
  • Execução rápida: não exigem etapas complexas de compilação para executar um programa.
  • Versatilidade: ambas são linguagens poderosas, usadas tanto para projetos pequenos quanto para aplicações comerciais completas.

Segundo Downey (2016), "Python é uma linguagem ideal para ensinar os fundamentos da ciência da computação por causa de sua clareza e simplicidade". Já JavaScript, conforme Flanagan (2020), "domina o desenvolvimento web e é fundamental para aplicações interativas e dinâmicas".

Comparativo entre Python e JavaScript:

  • Python é muito usado em ciência de dados, inteligência artificial, automação e backend.
  • JavaScript é amplamente utilizado no desenvolvimento web, tanto no frontend (interface do usuário) quanto, com o Node.js, no backend.

Ambas oferecem um ambiente amigável e estão entre as linguagens mais ensinadas em cursos introdutórios ao redor do mundo.

2. Primeiro Programa: “Olá, Mundo!”

O primeiro passo prático para aprender qualquer linguagem é escrever o tradicional programa “Olá, Mundo!”. Esse exemplo simples serve para verificar se o ambiente está funcionando corretamente e mostrar como exibir informações na tela.

Exemplo em Python:

print("Olá, Mundo!")

Exemplo em JavaScript:

console.log("Olá, Mundo!");

Esses exemplos revelam a clareza das linguagens: poucos comandos, sintaxe direta e fácil compreensão. O comando print() em Python e console.log() em JavaScript são usados para exibir mensagens no terminal ou console.

O “Olá, Mundo!” pode parecer trivial, mas representa um marco: o primeiro

contato real com a linguagem e o primeiro passo rumo ao desenvolvimento de sistemas mais complexos.

3. Ferramentas Gratuitas para Programar

Ao começar a programar, é importante escolher ferramentas acessíveis e que não exijam instalações complexas. Abaixo estão algumas das principais plataformas e editores gratuitos recomendados para iniciantes.

3.1 Replit (https://replit.com)

O Replit é um ambiente de desenvolvimento online, gratuito, que permite programar diretamente no navegador, sem instalar nada. Suporta dezenas de linguagens, incluindo Python e JavaScript.

Vantagens:

  • Interface amigável
  • Salva os projetos na nuvem
  • Ideal para uso em celulares, tablets e computadores

Para iniciantes, o Replit elimina barreiras técnicas e oferece resultados imediatos na tela, o que estimula a continuidade dos estudos.

3.2 VSCode (Visual Studio Code)

O Visual Studio Code é um dos editores de código mais utilizados no mundo, gratuito, de código aberto e desenvolvido pela Microsoft.

Principais características:

  • Suporte para múltiplas linguagens com extensões
  • Interface limpa e personalizável
  • Recursos como realce de sintaxe, autocompletar e terminal embutido

Para Python, recomenda-se instalar a extensão oficial “Python”; para JavaScript, a funcionalidade já vem nativa.

3.3 IDLE (para Python)

O IDLE (Integrated Development and Learning Environment) é o ambiente padrão que acompanha a instalação do Python. Ele é leve, fácil de usar e projetado especialmente para iniciantes.

Recursos:

  • Editor de código simples com destaque de sintaxe
  • Shell interativo para testar comandos
  • Não requer instalação de recursos adicionais

Por ser oficial e básico, o IDLE é ideal para dar os primeiros passos na linguagem Python, especialmente em computadores com poucos recursos.

Considerações Finais

Aprender programação é como aprender um novo idioma: é preciso compreender a lógica, praticar e se familiarizar com a estrutura da linguagem. Começar com linguagens acessíveis como Python e JavaScript torna essa jornada menos intimidante e mais eficiente.

O primeiro programa, por mais simples que seja, representa uma quebra de barreira psicológica. Ele mostra que é possível controlar uma máquina por meio da lógica, da linguagem e da criatividade.

Com o apoio de ferramentas gratuitas, qualquer pessoa com acesso à internet pode iniciar seus estudos em programação, seja para desenvolvimento pessoal, profissional ou acadêmico. O importante

é dar o primeiro passo, persistir e praticar constantemente.

Referências Bibliográficas

  • Downey, A. (2016). Think Python: How to Think Like a Computer Scientist. Green Tea Press.
  • Flanagan, D. (2020). JavaScript: The Definitive Guide. O’Reilly Media.
  • Zelle, J. (2017). Python Programming: An Introduction to Computer Science. Franklin, Beedle & Associates.
  • Pilgrim, M. (2010). Dive Into Python 3. Apress.
  • W3Schools. (2023). JavaScript Tutorial. Disponível em: https://www.w3schools.com/js/
  • Python Software Foundation. (2023). The Python Tutorial. Disponível em: https://docs.python.org/3/tutorial/

Estruturas Condicionais e de Repetição

1. Introdução

Em programação, é comum que um algoritmo precise tomar decisões ou executar comandos repetidamente. Para isso, utilizamos estruturas de controle de fluxo, divididas em condicionais (tomada de decisão) e laços de repetição (execução contínua).

Essas estruturas tornam o programa dinâmico, flexível e adaptável a diferentes entradas e situações, permitindo que ele reaja de maneira lógica a diferentes cenários.

2. Estruturas Condicionais

As estruturas condicionais são utilizadas para executar diferentes blocos de código conforme uma ou mais condições. As principais formas são: if, else, elif (em Python) ou else if (em JavaScript), e switch (estrutura alternativa em algumas linguagens).

2.1 if, else, elif / else if

A estrutura condicional mais básica é o if (se). Ela permite que o programa verifique uma condição e execute um bloco de código se essa condição for verdadeira.

Exemplo em Python:

idade = 20

if idade >= 18:

    print("Maior de idade")

else:

    print("Menor de idade")

Exemplo em JavaScript:

let idade = 20;

if (idade >= 18) {

    console.log("Maior de idade");

} else {

    console.log("Menor de idade");

}

Se houver mais de duas opções, usa-se elif (Python) ou else if (JavaScript):

nota = 7

if nota >= 9:

    print("Excelente")

elif nota >= 6:

    print("Aprovado")

else:

    print("Reprovado")

2.2 switch

O switch é uma estrutura condicional comum em linguagens como JavaScript, que permite comparar uma variável contra múltiplos valores possíveis.

Exemplo em JavaScript:

let dia = 3;

switch (dia) {

    case 1:

        console.log("Domingo");

        break;

    case 2:

        console.log("Segunda-feira");

        break;

    case 3:

        console.log("Terça-feira");

        break;

    default:

        console.log("Dia

inválido");

}

O switch pode melhorar a legibilidade quando há muitas comparações simples.

3. Estruturas de Repetição

As estruturas de repetição, também chamadas de laços, servem para executar um mesmo bloco de código várias vezes, seja por um número fixo de repetições, seja enquanto uma condição for verdadeira.

3.1 for

O laço for é usado quando se sabe quantas vezes a repetição deve ocorrer. Ele é ideal para percorrer listas, arrays ou faixas de números.

Exemplo em Python:

for i in range(1, 6):

    print("Contagem:", i)

Exemplo em JavaScript:

for (let i = 1; i <= 5; i++) {

    console.log("Contagem:", i);

}

Ambos os exemplos imprimem os números de 1 a 5.

3.2 while

O laço while executa um bloco enquanto uma condição for verdadeira. É útil quando não se sabe ao certo o número de repetições.

Exemplo em Python:

contador = 1

while contador <= 5:

    print("Número:", contador)

    contador += 1

Exemplo em JavaScript:

let contador = 1;

while (contador <= 5) {

    console.log("Número:", contador);

    contador++;

}

3.3 Cuidados com Laços Infinito

É importante garantir que a condição de parada seja alcançada. Caso contrário, o programa pode entrar em um laço infinito, consumindo recursos da máquina e travando o sistema.

# Atenção: este código entra em laço infinito!

while True:

    print("Isso nunca para...")

4. Exemplos Práticos Combinados

Exemplo 1: Verificar se números são pares ou ímpares

for i in range(1, 6):

    if i % 2 == 0:

        print(i, "é par")

    else:

        print(i, "é ímpar")

Exemplo 2: Menu de opções com while

opcao = ""

while opcao != "sair":

    print("Digite uma opção (ver, editar, sair):")

    opcao = input()

    if opcao == "ver":

        print("Visualizando dados...")

    elif opcao == "editar":

        print("Editando dados...")

    elif opcao != "sair":

        print("Opção inválida.")

Esse tipo de estrutura é comum em interfaces de linha de comando.

5. Considerações Finais

As estruturas condicionais e de repetição são ferramentas indispensáveis para todo programador. Elas permitem que o código “pense” e “aja” de maneira inteligente, reagindo a diferentes situações e executando tarefas de forma automatizada.

Combinadas, essas estruturas aumentam o poder da linguagem de programação e permitem a criação de sistemas robustos e flexíveis. Dominar if, else, elif, switch, for e while é essencial para a construção de algoritmos eficientes e o desenvolvimento de aplicações reais.

Referências Bibliográficas

  • Manzano, J. A. N. G.; Oliveira, J. C. F. (2017). Algoritmos: Lógica para Desenvolvimento de Programação de Computadores. Érica.
  • Zelle, J. (2017). Python Programming: An Introduction to Computer Science. Franklin, Beedle & Associates.
  • Downey, A. (2016). Think Python: How to Think Like a Computer Scientist. Green Tea Press.
  • Flanagan, D. (2020). JavaScript: The Definitive Guide. O’Reilly Media.
  • W3Schools. (2023). JavaScript and Python Tutorials. Disponível em: https://www.w3schools.com/


Funções e Organização de Código

 

1. O que são Funções e Por que Usar?

Em programação, funções (também chamadas de “procedimentos” ou “métodos” em algumas linguagens) são blocos de código reutilizáveis que executam uma tarefa específica. Elas permitem agrupar instruções relacionadas sob um nome descritivo, podendo ser chamadas sempre que necessário, quantas vezes forem necessárias.

Exemplo em Python:

def saudacao():

    print("Olá! Seja bem-vindo ao curso.")

Ao escrever saudacao(), o programa executa o bloco associado à função. Essa prática melhora a organização do código, evita repetição desnecessária e torna o programa mais legível e fácil de manter.

Conforme Manzano e Oliveira (2017), "uma função é um trecho de algoritmo que pode ser reutilizado diversas vezes, facilitando a legibilidade, modularização e manutenção do código".

Por que utilizar funções?

  • Reutilização: evita duplicação de código.
  • Organização: separa tarefas complexas em partes menores e compreensíveis.
  • Facilidade de manutenção: mudanças podem ser feitas em um único lugar.
  • Colaboração em equipe: diferentes desenvolvedores podem trabalhar em funções distintas simultaneamente.

2. Parâmetros e Retorno

Uma função pode receber dados de entrada, chamados de parâmetros (ou argumentos), e retornar um valor como resultado de sua execução.

2.1 Parâmetros

Os parâmetros são informações que você fornece para personalizar a execução da função.

Exemplo em Python:

def saudacao(nome):

    print(f"Olá, {nome}!")

Aqui, nome é um parâmetro. A função só será completa quando esse valor for fornecido.

2.2 Retorno

O retorno (ou “valor de saída”) de uma função é enviado de volta ao ponto onde a função foi chamada, usando a palavra-chave return.

Exemplo em Python:

def soma(a, b):

    return a + b

resultado = soma(3, 5)

print("Resultado:", resultado)

A função soma recebe dois parâmetros (a e b) e retorna o

soma recebe dois parâmetros (a e b) e retorna o valor de sua soma. Esse valor é armazenado na variável resultado e pode ser usado posteriormente.

Em JavaScript, o mesmo conceito se aplica:

function saudacao(nome) {

    return "Olá, " + nome + "!";

}

let mensagem = saudacao("Lucas");

console.log(mensagem);

Ao utilizar parâmetros e retorno, as funções se tornam mais versáteis e reutilizáveis, já que podem se adaptar conforme os valores fornecidos.

3. Modularização e Boas Práticas Iniciais

3.1 Modularização

A modularização consiste em dividir um programa em módulos menores e independentes, geralmente representados por funções, com o objetivo de facilitar a compreensão, manutenção e reaproveitamento do código.

Ao invés de escrever um único bloco longo de instruções, um bom programador divide o código em tarefas menores, cada uma com uma função específica.

Exemplo:

  • Uma função para ler dados do usuário;
  • Uma função para calcular a média;
  • Uma função para exibir o resultado.

Essa divisão facilita a leitura, testes e alterações no código.

3.2 Boas práticas na criação de funções

Algumas recomendações importantes para escrever boas funções desde o início:

  • Escolha nomes descritivos: o nome da função deve indicar o que ela faz. Evite nomes genéricos como fun1, teste, x.

Exemplo: calcula_salario_liquido(), verifica_aprovacao()

  • Evite funções muito longas: funções devem cumprir um único propósito. Se estiver muito grande ou complexa, divida-a em outras funções menores.
  • Comente funções complexas: uma pequena explicação no início de funções mais elaboradas pode ajudar outros desenvolvedores (ou você mesmo no futuro) a entenderem o propósito da função.
  • Evite efeitos colaterais inesperados: sempre que possível, funções devem receber dados, processá-los e retornar um resultado, sem alterar variáveis externas de maneira imprevisível.
  • Reutilize funções: crie funções pensando na possibilidade de reaproveitá-las em outras partes do programa.

Segundo McConnell (2004), "bons programas são compostos por pequenas peças confiáveis, bem testadas e com funções bem delimitadas".

4. Exemplo Prático Completo

A seguir, um exemplo prático de código organizado com funções:

def ler_notas():

    nota1 = float(input("Digite a primeira nota: "))

    nota2 = float(input("Digite a segunda nota: "))

    return nota1, nota2

def calcular_media(n1, n2):

    return (n1 + n2) / 2

def

verificar_situacao(media):

    if media >= 6:

        return "Aprovado"

    else:

        return "Reprovado"

# Programa principal

n1, n2 = ler_notas()

media = calcular_media(n1, n2)

situacao = verificar_situacao(media)

print(f"Média: {media:.2f} - Situação: {situacao}")

Esse exemplo mostra como quebrar o programa em partes lógicas, com cada função cuidando de uma etapa. Isso facilita futuros ajustes, como mudar o critério de aprovação, sem afetar o restante do programa.

5. Considerações Finais

As funções representam um dos principais pilares da programação moderna. Elas ajudam o desenvolvedor a organizar melhor seu código, dividir tarefas, aplicar a lógica de maneira mais clara e criar programas mais robustos e reutilizáveis.

O uso correto de parâmetros, valores de retorno, e a aplicação da modularização refletem a maturidade e eficiência do programador. Para quem está começando, dominar esses conceitos é essencial antes de avançar para estruturas mais complexas, como classes, objetos e frameworks.

Com a prática constante e aplicação das boas práticas descritas, o aluno desenvolverá códigos mais limpos, organizados e profissionais.

Referências Bibliográficas

  • Manzano, J. A. N. G.; Oliveira, J. C. F. (2017). Algoritmos: Lógica para Desenvolvimento de Programação de Computadores. Érica.
  • McConnell, S. (2004). Code Complete: A Practical Handbook of Software Construction. Microsoft Press.
  • Downey, A. (2016). Think Python: How to Think Like a Computer Scientist. Green Tea Press.
  • Zelle, J. (2017). Python Programming: An Introduction to Computer Science. Franklin, Beedle & Associates.
  • Flanagan, D. (2020). JavaScript: The Definitive Guide. O’Reilly Media.

Quer acesso gratuito a mais materiais como este?

Acesse materiais, apostilas e vídeos em mais de 3000 cursos, tudo isso gratuitamente!

Matricule-se Agora