Algoritmos e Programação
Ederson Luiz da Silva
Ciência da Computação
_______________________________
_______________________________
Linguagem de programação
Linguagem de Programação
Linguagem de máquina
Linguagem de Programação
Linguagem de baixo nível
http://www.assemblyprogressivo.net/p/curso.html
Linguagem de Programação
Linguagem de alto nível
Paradigmas de Programação
Imperativo;
Funcional;
Lógico;
Orientado à objetos;
Paradigma Imperativo – Fortran, Pascal
Paradigma mais antigo e contrasta com
as outras linguagens: Funcional e lógica;
Características:Definição de tipos de dados
Expressões e atribuições
Estruturas de controle de fluxo (programação estruturada)
Definição de sub-rotinas (programação procedimental)
Paradigma Funcional - LISP
Ênfase em aplicação de funções;
Características:Variáveis amarradas a valores e não trocam de valor
Funções matemáticas formam o programa
Paradigma Lógico - Prolog
John McCarthy (1958);
Faz uso da lógica matemática;
Características:Programas são declarativos: especificam resultados desejados
em vez de procedimentos para produzi-los
Sintaxe diferente das demais linguagens
Paradigma Orientado à objetos - Java
Mais atual, faz uso de objetos, atributos,
métodos e classes na programação;
Características:Abstração: como o programador irá abstrair para o programa
a identidade, propriedades e métodos;
Encapsulamento: elemento que adiciona segurança à
aplicação;
Herança;
Polimorfismo: alterar sua forma/estado.
Processo de desenvolvimento de programa
Especificação de requisitos;
Projeto de software;
Implementação;
Validação;
Manutenção.
Especificação de requisitos
Coleta de dados;
Abstração;
Verificação in loco;
Características do programa;
Desempenho, espaço de memória, etc.
Cronograma.
Projeto de software
Identificação;
Categorização;
Escolhas;
Métodos, estrutura de dados, etc.
Evitar perdas.
Implementação
Programação
Utilização de Softwares;
Validação
Testes;
Atendimento às exigências
Manutenção
Vida útil do programa;
Evolução do programa;
Programação em PascalCaracterísticas
Estruturado: Sequência de programação decima para baixo, da esquerda para direita, hánecessidade de declaração de variáveis,delimitar inicio e fim de blocos deprogramação.
Identificadores: Correspondem aos “nomespróprios” escolhidos pelo programador pararepresentar os diversos elementos doprograma.
Pascal
Palavras Reservadas
http://www.inf.ufsc.br/~lau.lung/INE5201/Material%20de%20Aula/ICC3.pdf
Pascal
Separadores
http://www.inf.ufsc.br/~lau.lung/INE5201/Material%20de%20Aula/ICC3.pdf
Pascal
Programação em Pascal
Características
Tipos de dados
Numéricos inteiros: shortintinteger, longint,
byte, word;
Numéricos reais: real, single, double,
extended, comp;
Caracteres: string.
Programação em PascalCaracterísticas
Tipos de dados
String: Ao declarar uma variável do tipo string
é necessário informar o tamanho da string.
Programação em PascalCaracterísticas
Exemplo de código
Programação em PascalCaracterísticas
Operadores aritméticos
Programação em PascalExemplo de código
Programação em PascalEstrutura de seleção
Programação em PascalEstrutura de seleção
if
Programação em PascalEstrutura de repetição
Programação em PascalEstrutura de repetição
Programação em PascalEstrutura de repetição
Programação em PascalEstrutura de repetição
Programação em PascalEstrutura de repetição
Programação em PascalEstrutura de repetição
Programação em PythonCaracterísticas
Dinâmico: Não há necessidade de declarar o
tipo da variável, a mesma variável pode
assumir diferentes tipos.
Programação em PythonCaracterísticas
Delimitadores: Não é feita a utilização de
delimitadores de inicio e fim de blocos de
código, a delimitação é feita pela identação.
Programação em PythonCaracterísticas
Tipos de dados numéricos: Os dados
numéricos podem ser inteiros, reais ou
complexos.
Programação em PythonCaracterísticas
Tipos de dados textuais: Sequência imutável
para armazenar caracteres.
Programação em PythonCaracterísticas
Lista: Sequência de valores indexadas por um
inteiro, a lista pode ter múltiplos tipos.
Programação em PythonCaracterísticas
Acesso as listas criadas: O acesso é feito
indicando qual posição da lista é desejada.
Programação em PythonCaracterísticas
Tuplas: São basicamente listas porém Tuplas
são imutáveis, ou seja, uma vez criada não
podem ser alteradas.
Programação em PythonCaracterísticas
Dicionário: Pode ser entendido como uma
coleção de diversos elementos que podem ser
interligados entre si.
Programação em PythonCaracterísticas
Atribuição
Simples
a = 1
Múltipla
a, b, c = 1, 2.9, “Hello Word”
Programação em PythonCaracterísticas
Operadores aritméticos
Programação em PythonCaracterísticas
Estrutura de Seleção
Programação em PythonCaracterísticas
Estruturas de Controle: For
For <Variável> in <Sequência>
Programação em PythonCaracterísticas
Estruturas de Controle: While
While <Condição>:
#Instruções
Exemplo?
>>> b=0
>>> while b < 5:
print b
b=b+1
Programação em PythonCaracterísticas
Estruturas de Controle: While
While <Condição>:
#Instruções
Programação em PythonCaracterísticas
Estruturas de Controle: While
While <Condição>:
#Instruções