Вы находитесь на странице: 1из 47

Algoritmos e Linguagens de

Programação
Luiz Carlos Melo Muniz
1 / 47
Visão geral da disciplina

2 / 47
Apresentação


Professor Luiz Carlos Melo Muniz

Doutorando em Ciência da Computação pela
UFMA.

Contato: lcmuniz@gmail.com

3 / 47
Disciplina


Algoritmo e Linguagens de Programação

80 horas

2 avaliações

1 trabalho

Exercícios

Aulas expositivas e práticas de laboratório

Site: lcmuniz.github.io/algoritmos
4 / 47
Conteúdo


Visão geral da disciplina

Análise e desenvolvimento de sistemas

Algoritmos

Linguagens de programação

Instalação do Python

Introdução ao Python

Variáveis e primeiro programa
5 / 47
Bibliografia


Use a cabeça! Python
Paul Barry
Alto Books

Introdução à computação e programação
usando Python
John V. Guttag
Infopress

6 / 47
Bibliografia


Entendendo algoritmos: um guia ilustrado
para programadores e outros curiosos
Aditya Y. Bhargava
Novatec

Estrutura de dados e técnicas de
programação
Francisco Bianchi
Elsevier

7 / 47
Análise e desenvolvimento
de sistemas

8 / 47
Ciência da Computação


Surgiu em meados do século XX.

Engloba aspectos de várias áreas do
conhecimento:
– Matemática
– Engenharia
– Ciências Naturais
– Arte

9 / 47
Análise e desenvolvimento de
sistemas

A análise e desenvolvimento de sistemas é uma
subárea da Ciência da Computação.

O tecnólogo com esta formação desenvolve,
analisa, projeta, implementa e atualiza sistemas
de informação.

Tem noções de gerenciamento.

Sua especialidade é a criação de sistemas
informatizados: programação de computadores
e desenvolvimento de softwares. 10 / 47
Análise e desenvolvimento de
sistemas

Implanta e desenvolve banco de dados.

Conhece a estrutura física dos equipamentos e
seus periféricos.

Precisa se manter muito atualizado sobre
aplicativos, ambientes operacionais e linguagens
de programação.

Precisa ter boa noção dos negócios da
companhia para a qual trabalha.
11 / 47
Habilidade mais importante


Capacidade de resolver problemas do mundo
real de forma computacional.

12 / 47
Habilidades mais básicas


Formular um problema do mundo real de forma
computacional.

Elaborar uma solução (um algoritmo) para este
problema em termos computacionais.

Escrever um programa em uma linguagem de
programação que implemente este algoritmo.

Testar o programa para verificar se ele resolve o
problema corretamente.
13 / 47
Habilidades mais avançadas


Gerenciar software de grande porte

Construir software para lidar com grande
quantidade de dados (big data, mineração de
dados, aprendizado de máquina)

Gerenciar equipes de desenvolvimento de
software

Comunicar-se com clientes e usuários.

14 / 47
Habilidades desenvolvidas
nesta disciplina

Habilidade de solucionar problemas
– Formular questões
– Pensar criativamente
– Expressar a solução de forma clara e precisa

Aprender a programar em uma linguagem de
programação (Python)

15 / 47
Algoritmo

16 / 47
Algoritmo


Uma lista de instruções passo-a-passo para
resolver determinado problema

Simplificadamente, o que fazemos é:
– Analisar o problema
– Criar um algoritmo que resolva o problema
– Escrever um programa que implemente o
algoritmo
– Testar o programa para verificar se ele
funciona 17 / 47
Problema: Torre de Hanói


Três hastes e três discos de tamanhos diferentes
que podem ser colocados em qualquer haste.

Inicialmente, os discos estão empilhados em
ordem crescente na mesma haste com o menor
no topo

Deseja-se mover todos os discos para outra
haste mas só se pode movimentar um disco de
cada vez e um disco maior não pode ser
colocado sobre um disco menor
18 / 47
Pré-condições


Nomeia-se as hastes como A, B e C

Nomeia-se os discos como 1, 2 e 3

Considere que os discos estão na haste A

Os discos estão na haste A empilhados em
ordem crescente com o disco 1 no topo

Deseja-se mover os discos para a haste C

19 / 47
Algoritmo: Torre de Hanói

1) Mover o disco 1 para a haste C


2) Mover o disco 2 para a haste B
3) Mover o disco 1 para a haste B
4) Mover o disco 3 para a haste C
5) Mover o disco 1 para a haste A
6) Mover o disco 2 para a haste C
7) Mover o disco 1 para a haste C
20 / 47
Média de dois números

1) Obter o primeiro número


2) Obter o segundo número
3) Somar o primeiro número com o segundo
número
4) Dividir o resultado do terceiro passo por 2
5) Mostrar o resultado do quarto passo

21 / 47
Programa em Python

primeiro = input('Digite o primeiro número: ')


segundo = input('Digite o segundo número: ')
soma = float(primeiro) + float(segundo)
media = soma / 2

print('A média é', media)

22 / 47
Linguagens de
programação

23 / 47
Linguagens de programação


Linguagens formais, precisas e cujas instruções
podem ser executadas por um computador

Linguagens de baixo nível:
– Linguagem de máquina
– Linguagem Asembly

Linguagens de alto nível:
– Python, C, Java, Ruby, JavaScript, . . .

24 / 47
Tipos de linguagens


Linguagens interpretadas


Linguagens compiladas

25 / 47
Linguagens Interpretadas e
Compiladas

Exemplos: Java e Python

Antes de iniciar a execução do programa, um
compilador traduz o código-fonte para bytecode

Ao iniciar a execução do programa, o
interpretador lê os bytecodes um-a-um
executando as instruções correspondentes

26 / 47
Por onde começar?


Aprender a escrever código simples em uma
linguagem de alto nível

Executar pequenos programas

Aprender novos conceitos incrementalmente

Aumentar a sofisticação e o tamanho dos
programas progressivamente

27 / 47
Instalação do Python

28 / 47
Windows


Visite www.python.org/downloads/windows

Clique em Latest Python 3 Release

No fim da página, faça o download do arquivo
Windows x86-64 executtable installer

Após o download, execute o arquivo para fazer a
instalação do Python e do IDLE

29 / 47
Linux


O Python já vem instalado na maioria das
distribuições Linux

Para instalar o IDLE, pode-se utilizar o
gerenciador de pacotes da distribuição

Pela linha de comando:
– Ubuntu/Debian/Mint: sudo apt-get install idle3
– Fedora/openSUSE/CentOS: sudo yum install
python3-tools python3-idle
30 / 47
Introdução ao Python

31 / 47
Operadores


Operadores matemáticos
– Adição (+), subtração (-), multiplicação (*),
divisão (/), divisão inteira (//), módulo (%),
exponenciação (**)

Operadores relacionais
– Maior que (>), maior ou igual a (>=), menor
que (<), menor ou igual a (<=), igual a (==),
diferente de (!=)
32 / 47
Tipos de dados


Inteiro (int)
– 20, -3, 4, 0, 1, 100

Real (float)
– 10.0, 2.5, -4.66667, 0.0, 3.2

Lógico ou booleano (bool)
– True e False

Texto ou string (str)
– 'Amarelo', "Escada" 33 / 47
Operadores matemáticos

>>> 1 + 5
6
>>> 2 + 5 * 2
12
>>> (2 + 5) * 2
14
>>> 3 – 4
-1
>>> 5 / 2
2.5
>>> ((3 * 2) – (4 / 2))
4.0
>>> 5 >* 3
125

34 / 47
Operadores matemáticos

>>> 5 / 2
2.5
>>> 5 >/ 2
2
>>> 5 % 2
1
>>> 'João' + ' ' + 'Silva'
'João Silva'
>>> 3 * 'Oi '
'Oi Oi Oi'

35 / 47
Operadores relacionais

>>> 5 > 2
True
>>> 5 < 2
False
>>> 5 == 2
False
>>> 5 != 2
True
>>> 9 >* 2 >= 80 + 1
True
>>> 5 >= 5
True
>>> 10 <= 11
False

36 / 47
Operadores relacionais

>>> 'Luiz' != 'luiz'


False
>>> 'Luiz' == 'Luiz'
True
>>> 'Abc' < 'Abd'
True
>>> 'Ata' > 'Amarelo'
True
>>> len('Ata') > len('Amarelo')
False

37 / 47
Variáveis

38 / 47
O que é uma variável?


Variável é uma localização na memória do
computador onde são guardadas informações.

Uma variável tem um nome para podermos
referenciar a mesma no programa.

Exemplo de nomes de variáveis:
– idade, soma, numero_de_alunos,
data_de_nascimento, preco, nota1

39 / 47
Nomes de variáveis


Os nomes das variáveis devem podem conter
letras e números e o caractere _.

O nome não pode começar com número.

Letras maiúsculas e minúsculas são
consideradas diferentes. Por exemplo, as
variáveis idade e Idade são duas variáveis
diferentes.

40 / 47
Atribuição


Para se guardar um valor em uma variável,
usamos o operador de atribuição =

Exemplos:
– idade = 25
– nome = 'João da Silva'
– preco_do_produto = 18.99
– produto_cancelado = True

41 / 47
Exemplos

>>> numero1 = 100


>>> numero2 = 200
>>> soma = numero1 + numero2
>>> soma
300
>>> numero2 = 150
>>> soma = numero1 + numero2
>>> soma
250
>>> media = soma / 2
>>> media
125.0
>>> saudacao = 'Oi'
>>> 3 * (saudacao + ' ’)
’Oi Oi Oi’
42 / 47
Primeiro programa

43 / 47
Problema


Calcular a área de um triângulo de base 10 cm e
altura 20 cm.

44 / 47
Algoritmo

1) Seja a base igual a 10 cm.


2) Seja a altura igual a 20 cm.
3) Calcular o produto da base pela altura.
4) Dividir o resultado do passo 3 por dois.
5) Mostrar o resultado do passo 4, que é a área do
triângulo em centímetros.

45 / 47
Programa

base = 10
altura = 20
produto = base * altura
area = produto / 2
print('A área do triângulo é', area, 'cm2')

46 / 47
Executando o programa


Pode-se digitar o programa no IDLE linha a linha.
Este irá interpretar cada linha e mostrar o
resultado imediatamente.

Uma outra forma é digitar o programa em um
arquivo de texto e salvá-lo com um nome que o
identifique (por exemplo, calcular_area.py)

Para executar o programa, basta usar, no
terminal ou linha de comando, o seguinte
comando: python calcular_area.py
47 / 47

Вам также может понравиться