1
Introdução à Algoritmia e Programação
Conceitos Elementares Parte I
Tópicos
ComputadorPrincipais Características de um Computador Programa de Computador
Linguagem de Programação Algoritmo
Técnicas de representação de Algoritmos Fluxogramas
Pseudocódigo Descrição Narrativa Compilador
Compilação versus Interpretação Dados e Tipos de Dados
Identificadores
Variáveis e suas Declarações Constantes
2
Computador
É uma máquina que tem a capacidade de manipular a informação através das suas unidades de processamento, memória e periféricos de entrada (input) e saída (output) de dados.
As capacidades de um computador são imensas, incluindo principalmente armazenamento de dados, processamento de dados, cálculo em grande escala, desenho industrial e artístico, tratamento de imagens gráficas, realidade virtual, entretenimento e cultura.
Um computador inclui também as capacidades de Aprendizagem Automática e de Processamento de Linguagem Natural (PLN), áreas que dizem respeito á Inteligência Artificial.
Principais Características de um Computador
• Automático – manipula informação sem necessitar de intervenção humana.
• Universal - manipula informação que representa áreas diferentes.
• Eletrónico – usa componentes eletrónicas para manipular a informação.
• Digital – representa a informação através de dígitos binários.
Programa de Computador
Um programa de computador ou programa informático é um conjunto lógico de comandos ou instruções que descrevem uma tarefa a ser realizada (o programa) por um computador.
3
Forma assim o conjunto de todos os passos envolvidos na resolução de um problema num computador, o qual abarca as seguintes fases:
a) Análise do Problema
b) Desenvolvimento da solução c) Codificação
d) Teste, Correção de erros e validação e) Documentação
f) Manutenção
Linguagem de Programação
É um conjunto formal de regras de descrição, sintáticas e semânticas, usadas para definir um programa de computador.
A sintaxe é o conjunto de regras que definem quais as relações possíveis entre os componentes da linguagem.
A semântica é o sentido associado aos componentes da linguagem
Algoritmo
É uma sequência finita de instruções bem definidas e claras para a resolução de um determinado problema.
Um algoritmo é usado principalmente como modelo para programas, já que a sua linguagem é intermediária à linguagem humana e às linguagens de programação, pelo que se torna assim uma boa ferramenta na validação da lógica de tarefas a serem automatizadas.
4
Técnicas de representação de Algoritmos
I - Fluxogramas:
Diagramas que recorrem a um conjunto padrão de símbolos que mostram graficamente a sequência segundo a qual as instruções que constituem o algoritmo deverão ser realizadas.
A figura abaixo representa um conjunto de símbolos dos mais elementares:
Conjunto de símbolos dos mais elementares
A figura abaixo representa uma régua para desenhar fluxogramas:
Régua de Fluxogramas
5
A figura abaixo representa um outro conjunto de símbolos elementares, mas mais completo do que o anterior:
Outro conjunto de símbolos elementares - mais completo
6
II- Pseudocódigo:
O algoritmo é estruturado numa dada linguagem recorrendo ao uso de palavras-chave (Keywords).
Por exemplo, usando a língua portuguesa, existem uma série de palavras reservadas que possuem um significado bem determinado e que constituem as palavras-chave do Pseudocódigo.
Exemplos:
INICIO FIM LER
ESCREVER ATRIBUIR SE
SE … SENÃO REPETIR .. ATÉ, …
III- Descrição Narrativa:
Faz-se uma descrição narrativa sempre que se pretenda descrever um algoritmo a percetível mesmo a quem não conheça algoritmos.
Por exemplo:
Calcular o dobro de um número:
1. Declarar uma variável para guardar um número 2. Digitar um número
3. Gravar o número numa variável
4. Ler o número da memória e multiplicar por 2 5. Gravar o número em outra variável
6. Mostrar o resultado da operação
7
Dados e Tipos de Dados
Dados:
São objetos (valores, vetores, strings, etc.) manipuláveis pelo computador na resolução de um problema.
Tipo de Dados:
Identifica as propriedades comuns relativamente ao tipo de dados dos objetos: inteiro, de vírgula flutuante, carater, booleano, etc..
Tipo de Dados e sua representação:
Existem Tipos de Dados básicos já pré-definidos na Linguagem C:
Tipos fundamentais Significado
int Inteiro
char Carater
float Vírgula flutuante de precisão simples double Vírgula flutuante de precisão dupla
Os tipos fundamentais admitem variantes obtidas através da utilização de qualificadores:
Qualificadores Aplica-se Representa
short int Menor dimensão
long int e double Maior dimensão
signed char e int Com sinal
unsigned char e int Valor sem sinal ou valor lógico
8
Representação dos Tipos de Dados e C:
Tipo Representação
int 2 bytes (de -32768 a +32767) Ou
4 bytes (de -2,147,483,648 a 2,147,483,647) unsigned int 2 bytes (de 0 a +65535)
float 4 bytes (de 3.4E-38 a 3.4E+38
char 1 byte (-128 a +127)
unsigned char 1 byte (de 0 a 265)
short ou short int 2 bytes (de -32768 a +32767)
long ou long int 4 bytes (de -2 147 483 648 a 2 147 483 647) unsigned long 4 bytes (de 0 a 4 194 967 295)
double 8 bytes (de 1.7E-308 a 1.7E+308)
Identificadores
Os identificadores são símbolos que servem para nomear univocamente as componentes e elementos de um programa, tais como variáveis, constantes, tipos, funções, classes e objetos.
Os nomes dos identificadores devem ser diferentes na ortografia e nas maiúsculas e minúsculas de todas as palavras-chave ou reservadas (print, input, def, etc.).
9
Existe assim um conjunto de regras básicas na nomeação de identificadores, conforme abaixo basicamente descrito:
• Um identificador deve ser iniciado por uma letra ou por um "_"
(underscore);
• A partir do segundo caracter pode conter letras, números e underscores;
• É recomendável o uso de nomes significativos dentro do contexto do programa;
• Python é uma linguagem case-sensitive, ou seja, faz diferença entre nomes com letras maiúsculas e nomes com letras minúsculas. Total e total são diferentes;
• Deve ser diferente das palavras reservadas ou keywords da linguagem;
• Na maioria dos compiladores, deve ter no máximo 31 caracteres;
• Pode conter números a partir do segundo caracter;
• Não é permitido o uso de espaços entre os carateres, acentos, ou carateres especiais, como, por exemplo: #!”/&%?ç[]{, etc..
• Exemplos válidos:
_soma
Soma_parcela1 x1
valor_1 calculo_1_a CalculoParteA val
10
Variáveis e suas Declarações
Elementos cujo valor pode mudar ao longo da execução do programa.
Uma variável é uma posição de memória que pode ser identificada através de um nome (identificador).
As variáveis têm de ser declaradas na maioria das linguagens de Programação antes de serem usadas pelo programa.
Python não requer declaração de variáveis já que todos os dados são tratados como objetos. A declaração é assim implícita (built-in) de acordo com o valor atribuído a uma dada variável.
A seguir, temos a lista dos principais tipos built-ins da linguagem Python:
• int - para números inteiros
• str - para conjunto de caracteres
• bool - armazena True ou False
• list - para agrupar um conjunto de elementos
• tupla - semelhante ao tipo list, porém, imutável
• dic - para agrupar elementos que serão recuperados por uma chave
A declaração de uma variável nas linguagens de programação que requerem declaração explícita de dados tem normalmente a seguinte forma sintática:
Tipo_dado nome_var:
int x;
float a, b;
Constantes
Constantes são identificadores que não podem ter os seus valores alterados durante a execução do programa (imutáveis).