0% acharam este documento útil (0 voto)
12 visualizações82 páginas

Conteudos - Introdução A Programação - Modulo - 1

O documento aborda conceitos fundamentais de programação, incluindo definições de algoritmos e programas, tipos de dados e variáveis em Python, além de paradigmas de programação. Ele também explora a história das linguagens de programação, critérios para escolher uma linguagem e as etapas do desenvolvimento de software. O formador Alexandre Correia orienta atividades práticas para aplicar os conceitos discutidos.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
12 visualizações82 páginas

Conteudos - Introdução A Programação - Modulo - 1

O documento aborda conceitos fundamentais de programação, incluindo definições de algoritmos e programas, tipos de dados e variáveis em Python, além de paradigmas de programação. Ele também explora a história das linguagens de programação, critérios para escolher uma linguagem e as etapas do desenvolvimento de software. O formador Alexandre Correia orienta atividades práticas para aplicar os conceitos discutidos.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 82

Click to edit Master title style

D E S E N V O LV I M E N T O D E A P L I C A Ç Õ E S I N F O R M Á T I C A

MF2: Programação de aplicações informáticas

Unidade Formativa 1: Programação

1
Formador: Alexandre Correia
Click to edit Master title style
D E S E N V O LV I M E N T O D E A P L I C A Ç Õ E S I N F O R M Á T I C A

Algoritmo e Programa

2
Formador: Alexandre Correia
Click to edit Master title style

OBJETIVOS:
Compreender os conceitos básicos de programação
Definir o que é um algoritmo e um programa.

3 3
Click to edit
Conceito de Programação
Master title style

• Programação é o processo de escrever, testar e manter


o código fonte de programas de computador.
• O código fonte é escrito em uma linguagem de
programação que pode ser interpretada por um
compilador ou interpretador.
• A importância da programação no desenvolvimento de
software está em sua capacidade de transformar ideias
e algoritmos em soluções executáveis que resolvem
problemas reais.

4 4
Click to edit
Algoritimo e Master
Programa
title style

Definição: Exemplo:

• Um algoritmo é uma sequência finita de • Algoritmo para calcular a média de três


passos bem definidos que levam à números.
solução de um problema específico. 1. Ler os três números.
• Um programa é a implementação de um
2. Somar os três números.
algoritmo em uma linguagem de
programação que o computador pode 3. Dividir a soma por 3.
executar. 4. Exibir o resultado.

5 5
Click to editPráticas
Atividades Master title style

• Discussão em grupo de 2:
• Identifique algoritmos utilizados no cotidiano, como
seguir uma receita ou preparar para ir a formação.

6 6
Click to editPráticas
Atividades Master title style

• Exercício Prático:
• Desenvolva um algoritmo para uma tarefa cotidiana
simples, como organizar os passos para preparar café
da manhã.

7 7
Click to editPráticas
Atividades Master title style

• Exercício Prático:
• Instalar VSCode.
• link: https://code.visualstudio.com/download
• Instalar python.
• Liink: https://www.python.org/downloads/windows/
• Criar primeiro programa “HelloWorld”

8 8
Click to edit Master title style
D E S E N V O LV I M E N T O D E A P L I C A Ç Õ E S I N F O R M Á T I C A

Variaveis, Dados e Tipos de


Dados

9
Formador: Alexandre Correia
Click to edit Master title style

OBJETIVOS:
• Compreender o conceito de
variáveis em programação
• Compreender o conceito de dados
em programação

• Identificar diferentes tipos de dados


1010
Click to edit
Definição de Master
Dados etitle
Tipos
style
de Dados

Dados
• São informações que são processadas
ou armazenadas por um computador.

1111
Click to edit
Definição de Master
Dados etitle
Tipos
style
de Dados

Tipos de Dados em Python:


• Inteiros (`int`)
• Ponto flutuante (`float`)
• Caracteres (`str`)
• Booleanos (`bool`).
• Dados compostos: Arrays (listas em Python)
• Strings (`str`).
1212
Click to edit Master title style
Variáveis

• Sempre que desejamos guardar um


valor num programa, devemos usar
uma variável.
• Uma Variável não é mais que um nome que nós
damos a uma determinada pocição de memória para
conter um valor de um determinado tipo.

1313
Click to edit
Criando Variáveis
Master title style

• Python não tem comando para


declarar uma variável.
• Uma variável é criada no momento em que
você atribui um valor a ela pela primeira vez.

1414
Click to edit
Criando Variáveis
Master title style

• Maiúsculas e minúsculas

• Os nomes de variáveis ​diferenciam maiúsculas


de minúsculas (case-sensitive).

1515
Click to edit
Criando Variáveis
Master title style

Nomes de Variáveis

Uma variável pode ter um nome curto (como x e y)


ou um nome mais descritivo (idade, nome,
data_nascimento).

1616
Click to edit
Criando Variáveis
Master title style

• Regras para variáveis ​Python:


• Um nome de variável deve começar com uma letra
ou o caractere sublinhado
• Um nome de variável não pode começar com um número
• Um nome de variável pode conter apenas caracteres alfanuméricos e
sublinhados (Az, 0-9 e _)
• Os nomes das variáveis ​diferenciam maiúsculas de minúsculas (idade,
Idade e IDADE são três variáveis ​diferentes)
• Um nome de variável não pode ser nenhuma das palavras-chave do
Python . 1717
Click to editPráticas
Atividades Master title style

• Exercício Prático:
• Criar programa002.py
• Adiciona a mensagem “Hello World!”numa
variável e imprimir o conteudo dela na consola:

1818
Click to
Tipos deedit
Dados
Master title style

Exemplos em Python
• Inteiro (int): idade = 30
• Ponto Flutuante (float): altura = 1.75
• Caractere (str): nome = 'Alice'
• Booleano (bool): esta_chovendo = True
• Lista (list): numeros = [1, 2, 3, 4]
Saber +:
https://www.w3schools.com/python/python_datatypes.asp
1919
Click to
Tipos deedit
Dados
Master title style
Conversão de Tipos:

2020
Click to editPráticas
Atividades Master title style

• Exercício Prático:
• Criar programa003.py
• Declara variaveis para conter:
• Nome
• Apelido
• Morada
• Data Nascimento
• Executa o programa para imprimir os dados.
2121
Click to editPráticas
Atividades Master title style

• Exercício Prático:
• Criar programa004.py
• Adiciona a mensagem “Hello World!”numa
variável e imprimir o conteudo dela na consola:

2222
Click to edit Master title style
D E S E N V O LV I M E N T O D E A P L I C A Ç Õ E S I N F O R M Á T I C A

Paradigmas de Programação

23
Formador: Alexandre Correia
Click to edit Master title style

OBJETIVOS:

• Entender os diferentes
paradigmas de programação
• Explorar as características e usos
de cada paradigma

2424
Click to editde
Paradigmas Master
Programação
title style

• Eles são como conjuntos de regras


que guiam os desenvolvedores.
• Cada linguagem de programação é criada com
base nessas regras.
• Cada uma tem seu próprio conjunto de paradigmas
que os desenvolvedores seguem ao escrever o código.

2525
Click to edit
Paradigma Procedural
Master title style

• Baseado na ideia de procedimentos


ou rotinas

Exemplo:
Uma linguagem de programação que utiliza o paradigma
procedural é a linguagem C

2626
Click to edit
Paradigma Funcional
Master title style

• Baseado na ideia de funções e evita


estado e dados mutáveis
Um exemplo popular e moderno de uma linguagem
de programação que utiliza o paradigma funcional é
JavaScript.
Embora o JavaScript seja uma linguagem
multiparadigma, ele suporta e é frequentemente
usado no estilo funcional 2727
Click to edit
Paradigma Lógico
Master title style

• Baseado em fatos e regras, e usa


uma forma de lógica matemática

Um exemplo clássico de uma linguagem de


programação que utiliza o paradigma lógico é Prolog
(Programação em Lógica).

2828
Click to edit
Paradigma Orientado
Master title
a Objetos
style

• Baseado na ideia de objetos que


contêm dados e métodos.

Exemplo:
Criação e manipulação de classes e objetos em
Python.

2929
Criarto
Click uma classe
edit Master title style

Para criar uma classe, use a


palavra-chave class:

3030
Criarto
Click objeto
edit Master title style
Agora podemos usar a classe
chamada Aluno para criar
objetos:
Exemplo
Criar um objeto chamado aln1 e imprima o valor de
nome,curso,morada:

3131
Click to editPráticas
Atividades Master title style

• Exercício Prático:
• Criar programa004.py
• Criar uma classe pessoa e os atributos:
• nome
• apelido
• morada
• data_nascimento
• Criar um objeto da classe e imprime os seus atributos.
3232
Click to edit Master title style
D E S E N V O LV I M E N T O D E A P L I C A Ç Õ E S I N F O R M Á T I C A

Linguagens de Programação

33
Formador: Alexandre Correia
Click to edit Master title style

OBJETIVOS:
• Conhecer as principais
linguagens de programação
• Entender como escolher uma
linguagem de programação

3434
Click
História
to edit
e Evolução
Master das
titleLinguagens
style
de Programação

❑Início das Linguagens de Programação:

• Máquinas de cartões perfurados e linguagens de


montagem nos anos 1940-1950.
• Fortran (1957), a primeira linguagem de alto nível,
criada para aplicações científicas.

3535
Click
História
to edit
e Evolução
Master das
titleLinguagens
style
de Programação

❑Décadas de 60 e 70:

• Surgimento de linguagens estruturadas como C


(1972), que trouxe uma nova maneira de
organizar o código para sistemas operacionais e
software de sistema.

3636
Click
História
to edit
e Evolução
Master das
titleLinguagens
style
de Programação

❑Evolução para Linguagens Orientadas


a Objetos:
• Introdução de Smalltalk e C++ nos anos 80,
expandindo os paradigmas de programação para
incluir abstrações de objetos.

3737
Click
História
to edit
e Evolução
Master das
titleLinguagens
style
de Programação

❑Modernização e Versatilidade:

• O surgimento de Java (1995) e Python (1991)


nos anos 90 facilitou o desenvolvimento de
aplicações com interfaces gráficas e aplicativos
web.
• JavaScript revoluciona a interatividade web
desde os anos 90. 3838
Click
História
to edit
e Evolução
Master das
titleLinguagens
style
de Programação

❑Tendências Atuais:

• Linguagens modernas como Kotlin e Swift


respondem às necessidades de desenvolvimento
de aplicações móveis e de sistemas mais seguros e
eficientes.

3939
Principais
Click Linguagens
to edit Master de
title style
Programação
❑C:

• Usado para desenvolvimento de sistemas, drivers


de dispositivos, e aplicativos que exigem alto
desempenho.
• Exemplo: O sistema operacional Linux é
amplamente escrito em C.
4040
Principais
Click Linguagens
to edit Master de
title style
Programação
❑Java:

• Predominante em ambientes corporativos, robusto


para aplicações server-side.
• Exemplo: Aplicações Android e sistemas bancários
frequentemente usam Java.

4141
Principais
Click Linguagens
to edit Master de
title style
Programação
❑Python:

• Fácil de aprender, com sintaxe clara e legível;


amplamente usado em ciência de dados,
aprendizado de máquina e desenvolvimento web.
• Exemplo: A plataforma de vídeo YouTube utiliza
Python em muitas de suas funcionalidades internas.
4242
Critérios
Click para
to edit Escolher
Master uma
title style
Linguagem de Programação

❑Adequação ao Projeto:

• Considerar o domínio e os requisitos específicos do


projeto.
• Por exemplo: C++ para jogos de alto desempenho,
JavaScript para aplicações web.

4343
Critérios
Click para
to edit Escolher
Master uma
title style
Linguagem de Programação

❑Comunidade e Suporte:
• Uma grande comunidade pode oferecer vastos
recursos de aprendizado e suporte, além de
bibliotecas e frameworks que facilitam o
desenvolvimento.
• Exemplo: JavaScript e Python possuem extensas
bibliotecas e uma grande comunidade global.
4444
Critérios
Click para
to edit Escolher
Master uma
title style
Linguagem de Programação

❑Performance:
• Avaliar as necessidades de desempenho.
Linguagens compiladas como C e Rust oferecem
melhor performance em comparação a linguagens
interpretadas.

4545
Principais
Click Linguagens
to edit Master de
title style
Programação
❑Curva de Aprendizado :

• Considerar o nível de experiência da equipe de


desenvolvimento.
• Linguagens como Python são recomendadas para
iniciantes devido à sua sintaxe amigável e curva de
aprendizado suave.
4646
Click to editPráticas
Atividades Master title style

• Exercício Prático:
• Criar programa006.py
• Pede as seguintes informações ao utilizador:
• nome,apelido,morada,data_nascimento
• Faz apresentação organizado das informações
inseridas pelo utilizador.

4747
Click to edit Master title style
D E S E N V O LV I M E N T O D E A P L I C A Ç Õ E S I N F O R M Á T I C A

Processo de Desenvolvimento
de um Programa

48
Formador: Alexandre Correia
Click to edit Master title style

OBJETIVOS:

• Compreender as etapas do
desenvolvimento de um
programa
• Conhecer as metodologias de
desenvolvimento de Software
4949
Fases
Click to do
editDesenvolvimento
Master title style de
Software
❑Análise de Requisitos:

• Compreender e documentar o que é necessário


no sistema
Exemplo:
Uma reunião com clientes para determinar as
funcionalidades necessárias em um aplicativo de e-
commerce, resultando em um documento de requisitos.
5050
Fases
Click to do
editDesenvolvimento
Master title style de
Software
❑Projeto de Software:

• Definir a arquitetura e os componentes do


sistema

Exemplo:
Utilização de diagramas UML para modelar a arquitetura
e os componentes principais de um sistema de
gerenciamento de biblioteca. 5151
Fases
Click to do
editDesenvolvimento
Master title style de
Software
❑Implementação:

• Codificação dos componentes do sistema

Exemplo:
Desenvolvimento de funcionalidades em Java para um
sistema de gestão de projetos, implementando classes
e métodos conforme especificado no projeto.
5252
Fases
Click to do
editDesenvolvimento
Master title style de
Software
❑Testes:

• Verificar se o sistema atende aos requisitos


definidos
Exemplo:
Realização de testes unitários e de integração para
garantir que todas as funções do sistema de gestão de
projetos atendam aos requisitos especificados. 5353
Fases
Click to do
editDesenvolvimento
Master title style de
Software
❑Manutenção:

• Corrigir erros e fazer melhorias pós-lançamento

Exemplo:
Atualizar um aplicativo para corrigir bugs reportados
pelos utilizadores e adicionar novas funcionalidades
solicitadas. 5454
Metodologias
Click to edit de
Master title style
Desenvolvimento

❑Cascata:

• Um modelo sequencial onde o desenvolvimento


flui como uma cascata através das fases
5555
Metodologias
Click to edit de
Master title style
Desenvolvimento
❑Ágil:

• Abordagem iterativa e incremental, com entregas


frequentes e colaboração contínua

Scrum, Kanban, Extreme Programming (XP), Lean


Software Development, Feature-Driven Development
(FDD), Dynamic Systems Development Method
(DSDM), Crystal 5656
Metodologias
Click to edit de
Master title style
Desenvolvimento
❑Scrum:

• Focado em gerir tarefas dentro de ciclos iterativos


e incrementais chamados sprints 5757
Metodologias
Click to edit de
Master title style
Desenvolvimento

❑DevOps:

• Enfatiza a colaboração entre desenvolvimento e


operações, com foco na automação e na entrega
contínua

5858
Click to editPráticas
Atividades Master title style

• Exercício Prático:
• Criar programa007.py
• Pede as seguintes informações ao utilizador:
• numero
• Faz apresentação do dobro do numero inserido
(multiplica por 2).

5959
Click to edit Master title style
D E S E N V O LV I M E N T O D E A P L I C A Ç Õ E S I N F O R M Á T I C A

Ferramentas para o
Desenvolvimento de um
Programa

60
Formador: Alexandre Correia
Click to edit Master title style

OBJETIVOS:

• Conhecer as principais
ferramentas utilizadas no
desenvolvimento de software

6161
Ferramentas
Click to edit Master titlede
style
Desenvolvimento
❑IDEs (Ambientes de Desenvolvimento
Integrado):

• Facilitam a escrita, depuração e execução de


código

Exemplo:
Eclipse, Visual Studio, IntelliJ IDEA
6262
Ferramentas
Click to edit Master titlede
style
Desenvolvimento

❑Compiladores:

• Transformam código fonte em código executável

Exemplo:
GCC para C/C++, javac para Java
6363
Ferramentas
Click to edit Master titlede
style
Desenvolvimento

❑Interpretadores:

• Executam instruções de programas diretamente,


sem compilar o código fonte
Exemplo:
Python interpreter, Ruby MRI
6464
Ferramentas
Click to edit Master titlede
style
Desenvolvimento

❑Sistemas de Controle de Versão:

• Gerenciam mudanças no código fonte ao longo


do tempo
Exemplo:
Git, Subversion
6565
Click to editPráticas
Atividades Master title style

• Baixe e instale o Git


git-scm.com

• Configure seu nome de utilizador e email no Git:


• git config --global user.name “Alex Correia"
• git config --global user.email “[email protected]"

6666
Click to edit Master title style
D E S E N V O LV I M E N T O D E A P L I C A Ç Õ E S I N F O R M Á T I C A

Depuração de Erros e Testes

67
Formador: Alexandre Correia
Click to edit Master title style

OBJETIVOS:

• Entender a importância da
depuração de erros e testes na
programação

6868
Click toDepuração
edit Masterde Erros
title style

❑Tipos de erros:
• Sintaxe - Erros no uso correto da linguagem de
programação
Exemplo:

6969
Click toDepuração
edit Masterde Erros
title style

❑Tipos de erros:
• Lógica - Erros no fluxo lógico que resultam em
resultados incorretos
Exemplo:
Erros de lógica ocorrem quando o programa compila e
executa, mas o resultado não é o esperado devido a um
problema no raciocínio ou na implementação da lógica.
7070
Click toDepuração
edit Masterde Erros
title style

❑Tipos de erros:
• Tempo de Execução - Erros que ocorrem
durante a execução do programa.

Exemplo:
Divisão por zero ou acessos a índices inválidos de
arrays 7171
Click toDepuração
edit Masterde Erros
title style

❑Técnicas de depuração :

• Uso de breakpoints - Parar a execução do


código em pontos específicos para verificar o
estado.

7272
Click toDepuração
edit Masterde Erros
title style

❑Técnicas de depuração :

• Logging - Registrar o fluxo de execução e os


valores das variáveis para análise.

7373
Click toDepuração
edit Masterde Erros
title style

❑Técnicas de depuração :

• Revisão de código - Análise sistemática do


código por outros desenvolvedores para
encontrar erros.

7474
Click toTestes e Qualidade
edit Master title style

❑Tipos de testes :

• Unitários: Testam partes específicas do código


para garantir que funcionem corretamente.

7575
Click toTestes e Qualidade
edit Master title style

❑Tipos de testes :

• Integração: Testam a combinação de


componentes para verificar se interagem
corretamente.

7676
Click toTestes e Qualidade
edit Master title style

❑Tipos de testes :

• Sistema: Avaliam o sistema completo para


verificar se atende aos requisitos especificados.

7777
Click toTestes e Qualidade
edit Master title style

❑Tipos de testes :

• Aceitação: Verificam se o sistema está pronto


para ser entregue, muitas vezes realizado pelos
usuários finais.

7878
Click toTestes e Qualidade
edit Master title style

❑Ferramentas e frameworks de testes :

• JUnit: Usado para testes unitários em aplicações


Java.
• pytest: Framework de testes para Python,
facilitando a escrita de testes simples e
escaláveis.
• Selenium: Ferramenta para testar aplicações
web em diversos navegadores e plataformas. 7979
Click to editPráticas
Atividades Master title style

• Trocar de lugar com os colegas e testar os


seus programas.

• Criar um documento com lista de bugs


encrontrados por cada programa.
8080
Click to edit Master title style


Se não puder se destacar-se pelo
talento, vença pelo esforço.”
- Dave Weinbaum

8181
Click to edit Master title style

OBRIGADO !

82

Você também pode gostar