Você está na página 1de 17

Disciplina: Informática para Engenharia

Aula 3: Estrutura Geral de um Programa

Apresentação
Em primeiro lugar, serão apresentados os conceitos sobre os elementos contidos em
um programa, bem como as boas práticas e convenções comumente adotadas no
desenvolvimento de softwares. Seguiremos uma abordagem procedural para a
construção dos algoritmos – em pseudocódigo e em Python –, apesar de a linguagem
Python ter forte apelo ao paradigma orientado a objetos (OO). Quando possível,
indicaremos links sobre OO.

Faremos uma breve apresentação da linguagem Python, em sua versão 3, tendo


nessa etapa um enfoque especial na construção e execução de simples programas.
Serão objeto de estudo nesta aula temas como estrutura geral de um programa, tipos
primitivos de dados, variáveis e constantes. Não entraremos em detalhes específicos
sobre instalação e ambientes integrados de desenvolvimento (IDE – Integrated
Development Environment), mas indicaremos link para estudo.

Em todo o material, os conceitos teóricos tratados serão mesclados com a respectiva


representação na linguagem Python. No decorrer das aulas, por meio de exemplos,
abordaremos como transcrever os pseudocódigos para a linguagem Python.

Objetivos
Descrever a estrutura básica de um programa segundo a linguagem Python;
Ilustrar as diferentes formas de se representarem as instruções e os diferentes
tipos de dados;
Discutir o uso de variáveis, constantes e comandos para entrada e saída de
dados.
Estrutura Geral de um Programa
A linguagem Python

Python é uma linguagem de programação de alto nível e de uso geral


amplamente utilizada. Foi inicialmente projetada por Guido van Rossum em
1991 e desenvolvido pela Python Software Foundation. Tem como princípios a
legibilidade do código, por meio de sua sintaxe, que permite que os
programadores expressem conceitos em menos linhas de código.

Atualmente em sua versão 3, o Python é uma linguagem de programação que


permite trabalhar rapidamente e integrar sistemas de maneira mais eficiente.

A diversidade de bibliotecas para Python que atendem a aplicativos


científicos/de Engenharia facilita o desenvolvimento e a aplicação de
ferramentas para resolver problemas reais em diversos campos e setores.

Preparando o ambiente

Instalando o Python (Windows <https://python.org.br/instalacao-


windows/ <https://python.org.br/instalacao-windows/> > e
Linux <https://python.org.br/instalacao-linux
<https://python.org.br/instalacao-linux> >)

Diversos são os ambientes de desenvolvimento para o Python.


Utilizaremos durante a aula o Spyder, cuja instruções para instalação
estão disponíveis em
<https://pythonhosted.org/spyder/installation.html
<https://pythonhosted.org/spyder/installation.html> >.

Executando o primeiro programa

Os arquivos do Python terminam com a extensão .py. A maneira mais


prática de executar um código em Python é utilizando o Terminal,
digitando o seguinte comando:

$ python3 <nome do arquivo>.py

Outra opção é utilizar um ambiente integrado de desenvolvimento. A


figura a seguir apresenta a tela do IDE Spyder. Entre os elementos
importantes da ilustração, podemos observar a aba ‘Sem Título0.py’,
local onde os algoritmos serão codificados. Os resultados podem ser
observados na parte denominada Console IPython, após execução do
algoritmo por meio do menu Executar > Executar (F5).

É aconselhável salvar o arquivo (menu File > Save) à medida que a


programação avança.

Estrutura de um programa
O que está escrito em letra maiúscula são palavras reservadas da linguagem.
O exemplo a seguir ilustra o pseudocódigo e o correspondente em Python
para o cálculo de uma média de dois valores preestabelecidos.

ALGORITMO <nome do programa>

variável ou lista de variáveis: tipo;

INÍCIO

sequência de comandos e instruções;

FIM_ALGORITMO

A estrutura de um pseudocódigo obedece a um conjunto de regras, conforme


sintaxe a seguir:

Pseudocódigo

ALGORITMO calcula_media

numero1, numero2: inteiro;

media: real;

INICIO

numero1 = 10;

numero2 = 8;

media = (numero1 + numero2) / 2;

escreva(media)

FIM_ALGORITMO

Python

numero1 = 10

numero2 = 8

media = (numero1 + numero2) / 2


print(media)

Instruções e Tipos de Dados


Nos algoritmos, como em todas as linguagens de programação, os tipos de
dados são usados para classificar um tipo específico de dados.


Atenção

Isso é importante porque o tipo de dados específico que você usa


determinará quais valores você pode atribuir a ele e o que você pode
fazer com ele (incluindo quais operações você pode executar nele).

Diferentemente do que observamos na declaração em pseudocódigo, o Python


não requer a definição do tipo de dado. Podemos ver o dado pelo comando
print(valor). A verificação do seu tipo consiste no uso do comando type(valor).
Como exemplo, os códigos da tabela a seguir ilustram como podemos ver os
valores e os seus respectivos tipos.

Tipos primitivos
De maneira geral, os dados são classificados como numéricos (inteiros e
reais) e não numéricos (caracteres e lógico). Mais especificamente, podemos
classificar os tipos primitivos de dados como:

Inteiro

É o conjunto dos números inteiros.

Real

É o conjunto dos números reais.


Caracter

Compreende os caracteres alfanuméricos (letras do alfabeto e algarismos) e


os caracteres especiais (#, &, + ...).

Lógico

Informação que pode assumir dois estados (Falso e Verdadeiro).

COMANDO SAÍDA

print(25) 25

type(25) ‘int’

print(25.0) 25.0

type(25.0) ‘float’

print(5 > 8) True

print(“Olá, mundo!”) Olá, mundo!

type(“Olá, mundo!”) ‘str’

Identificadores
Os identificadores são como as variáveis, constantes, funções e outros
elementos que são chamados e, consequentemente, referenciados no restante
do código. Esses nomes seguem um conjunto de regras, a saber:

01

Devem começar por um caractere alfabético.


02

Podem ser seguidos por mais caracteres alfabéticos e/ou numéricos.

03

Não é permitido o uso de caracteres especiais, exceto o underscore.

04

Não é permitido o uso de palavras reservadas.

05

Não é permitido ter o mesmo nome do programa.


Exemplo

Exemplos de identificadores válidos: nome, endereco, matricula,


data_de_nascimento.

Exemplos de identificadores inválidos: 1nome, endereço, matrícula,


e-mail.

Particularmente no Python, nomes compostos para designar variáveis são


representados com underscore, como data_de_nascimento.

Comentários
É considerada uma boa prática de programação a utilização de comentários ao
longo do código. A inclusão de comentários em programas torna o código
mais legível para humanos, pois fornece algumas informações ou explicações
sobre o que cada parte de um programa está fazendo.

Os comentários não são interpretados pelo Python, servindo como um texto


explicativo do que está sendo implementado. Os comentários no Python
começam com um caractere de marca de hash (#) e espaço em branco e
continuam até o final da linha.


Exemplo

# Isto é um comentário inline

Caso seja necessário o comentário ocupar mais de uma linha, ele deve ficar
entre três aspas simples. Segue o exemplo:


Exemplo

‘’’

Comentário com mais


de uma linha

‘’’

Variáveis, Constantes e Comandos


de Entrada e Saída
Variável
Trata-se da informação que tem a possibilidade de ser alterada a qualquer
instante durante a execução do algoritmo. Do ponto de vista do hardware, é
um espaço reservado na memória para armazenar um valor, de determinado
tipo, associado a um nome identificado.
Em pseudocódigo, pode-se adotar a seguinte notação para a declaração de
variáveis:

variável ou lista de variáveis separada por vírgula : tipo ;


Exemplo

idade, valor: inteiro;


altura: real;

No Python, não precisamos atribuir um tipo a uma variável. A linguagem


automaticamente identifica o tipo do dado. Podemos ver o tipo de
determinado dado por meio da sintaxe type(dado). Por exemplo, se quisermos
saber o tipo do valor 10, o comando é type(10). O valor ‘10’ entre os
parênteses pode ser substituído por outros valores e variáveis.

Os diferentes tipos de variáveis no Python são ilustrados na tabela a seguir:

ATRIBUIÇÃO TIPO DE DADO

x = 123 Integer (número inteiro)

x = 3.14 double ou float (número decimal)

x = "hello" string (cadeia de caracteres)

x = [0,1,2] lista (conjunto de valores armazenados em um vetor)

x = (0,1,2) tupla

x = open(‘hello.py’, ‘r’) arquivo


Constante
De forma oposta à variável, uma constante é uma informação que não pode
ser alterada durante a execução de um algoritmo.

Exemplo: Pi = 3.14154…


Dica

No Python, não existe o conceito de constante. No entanto, é uma boa


prática (convenção) declarar a constante com letras maiúsculas.
Exemplo: PI = 3.14154.

Comandos de Entrada e Saída


O comando de saída de dados permite exibir o conteúdo de uma mensagem
e/ou variável/constante. A seguir, é exibida a sintaxe em pseudocódigo e seu
equivalente em Python:

Pseudocódigo

escreva(‘’Mensagem que irá aparecer no console”)

Python

print(‘’Mensagem que irá aparecer no console”)

A entrada de dados pelo usuário se dá pelo comando leia(<variável>). No


Python, esse comando é ligeiramente diferente, realizado pela função input. O
exemplo a seguir, que considera a existência de uma variável num, permite ao
usuário digitar letras e números.

Pseudocódigo
leia(nome)

Python

nome = input()

Seria mais interessante informar ao usuário o que ele deveria digitar, não é?
Podemos ajustar o exemplo anterior da seguinte maneira:

Pseudocódigo

escreva(‘’Digite seu nome’’)

leia(nome)

Python

nome = input(‘’Digite seu nome’‘)

E se quisermos mesclar a mensagem com o conteúdo de alguma variável? Em


pseudocódigo, podemos inserir a(s) variável(is) após as aspas ao final da
mensagem no comando escreva. No caso de mais de uma variável, separar
os nomes por vírgula. Exemplo: escreva(“A idade e altura digitadas foram: “,
idade, altura).

No Python, a formatação do texto é realizada através do comando format.


Exemplo

print(“A idade e altura digitadas foram: {} {}”.format(idade,altura))


Observe que os valores das variáveis serão substituídos nas chaves ‘{}’
contidas dentro da mensagem. Quando quisermos estipular a ordem das
variáveis no texto, devemos informar explicitamente a posição dentro das
chaves.


Exemplo

O trecho de código print(“A idade e altura digitadas foram: {1}


{0}”.format(idade,altura)) exibirá a altura primeiro e a idade na segunda
posição.

Considere agora que queremos formatar a altura digitada para duas casas
decimais:

idade=input(“Informe a idade:”) # valor digitado foi 23

altura=input(“Informe a altura: “ ) # valor digitado foi 1.9245

print(“{} - {1:.2f}”.format(idade,float(altura)))

Observe a sintaxe contida no segundo par de chaves:

Indica qual variável estamos referenciando dentro dos parênteses do comando


format.

2f

Indica que o número (float) terá duas casas decimais após o ponto;
Imagine uma situação em que a própria mensagem pode conter outra
mensagem dentro dela.


Exemplo

O prisioneiro seguia afirmando 'sou inocente, seu delegado!', não


importava o que lhe dissessem.

Como podemos representar isso no Python?

Simples: usando o caracter de escape \ (barra invertida) antes das aspas!

print('O prisioneiro seguia afirmando \'sou


inocente, seu delegado!\', não importava o que
lhe dissessem.')

O mesmo princípio se aplica à impressão da barra invertida.

O exemplo a seguir ilustra o código completo para a impressão da média de


dois valores digitados pelo usuário. Preste atenção aos recursos utilizados:
cabeçalho para identificação do algoritmo (linhas 2 a 7) e comentários para
aumentar a legibilidade do código (linhas 8, 11 e 13).

1 # -*- coding: utf-8 -*-


2 ″″″

3 ALGORITMO: Realizar o cálculo da média de notas informadas pelo


usuário
4
ENTRADA: dois valores float representando as notas
5
SAÍDA: média calculada
6
″″″
7

8
# Lendo um número float a partir do teclado
9
nota1=float(input(″Informe a 1ª nota: ″))
10
nota2=float(input(″Informe a 2ª nota: ″))
11
# Realizando o cálculo
12
media=(nota1+nota2)/2
13
# Imprimindo o valor de média formatada
14
print(″A nota calculada é {:.2f}″. format(float(media)))

Atividade
1. Apresente os passos envolvidos para a implementação e execução de
um algoritmo em Python.

2. Apresente um algoritmo em Python que calcule o índice de massa


corporal (IMC) de um indivíduo, dada pela equação peso / altura2.
3. Apresente um algoritmo em Python que calcule o índice de massa
corporal (IMC) de um indivíduo, dado pela equação peso / altura2. Além
dos dados de peso e altura, deve-se pedir o nome da pessoa. A saída do
algoritmo deve ser formatada da seguinte maneira: “O paciente <nome
digitado> possui <valor do IMC com duas casas decimais> de IMC”.

Referências

FORBELLONE, A. L. V. Lógica de programação: a construção de algoritmos e


estrutura de dados. 3 ed. São Paulo: Pearson Prentice Hall, 2005.

FOROUZAN, B.; MOSHARRAF, F. Fundamentos da ciência da computação. São


Paulo: Cengage Learning, 2011.

GRUS, J. Data science from scratch: First principles with Python. Beijing: O’Reilly,
2015.

MUELLER, J. P.. Começando a programar em Python para leigos. Alta Books,


2016.

Próximos Passos

A forma como as instruções são executadas na linguagem;


Conceitos relacionados a expressões lógicas e aritméticas, em conjunto com a
manipulação de dados informados pelo usuário;
Primeiros passos para a incorporação e o uso de funções a partir de bibliotecas
do Python.

Explore mais

Assista ao documentário “Entenda o seu mundo {volume 6} – Entendendo


o computador <https://www.youtube.com/watch?
v=wTBOhNe8kIM&t=1021s> ”, produzido por History Channel Brasil.
Assista ao vídeo “As Regras Secretas da Vida Moderna - Algoritmos
<https://www.youtube.com/watch?v=IqNuQDo-P-I> ”.
Instalando o Python (Windows <https://python.org.br/instalacao-
windows/> e Linux <https://python.org.br/instalacao-linux/> );
Instalando o IDE Spyder
<https://pythonhosted.org/spyder/installation.html> .

Você também pode gostar