Buscar

Paradigma Programação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 39 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 39 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 39 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Paradigmas de programação
Objetivo da disciplina
Estudar conceitos sobre linguagens de programação e seus paradigmas, tornando-se apto a adotar decisões de projetos que envolvem a seleção de linguagens de programação mais adequadas para o desenvolvimento de aplicações computacionais.
Conteúdo
Organização de computadores
Os computadores executam milhões de operações a velocidades incríveis.
As operações são organizadas por meio de um conjunto de instruções.
Esse conjunto de instruções é o programa.
Quem executa o programa é o processador.
FLOP - operações de ponto flutuante por segundo
4
Organização de computadores
O processador interage com outros componentes.
Linguagens de programação
É necessário que os programas sejam escritos em uma linguagem que o computador entenda.
Essa linguagem é chamada linguagem de máquina.
0100 1111 1010 0110
É pouco intuitiva para os seres humanos.
Foram desenvolvidas linguagens de mais alto-nível.
Linguagem de máquina que é definida pelo projeto de hardware desse computador.
6
Linguagens de programação
O código escrito em linguagem de alto nível é convertido em linguagem de máquina pelo compilador ou interpretador.
Ligador liga o programa com as bibliotecas utilizadas
C
C++
Cobol
Delphi (Object-Pascal)
Fortran
Pascal
Visual Basic
Basic
Perl
PHP
Python
Lisp
7
Linguagens de programação
Compiladas: todas as instruções são traduzidas para instruções de baixo nível antes da execução do programa.
Interpretadas: as instruções são traduzidas para instruções de baixo nível à medida que vão sendo executadas.
Evolução das linguagens
Lisp -> paradigma funcional
Prolog -> paradigma lógico
9
Métodos de programação
A elaboração de programas complexos requer a utilização de um método sistemático de programação que permita obter programas confiáveis, flexíveis e eficientes. Salvetti (1998, p. 5)
Sugere-se adotar um método de programação em etapas.
Etapas de programação
análise do problema a ser resolvido;
projeto do programa que resolverá o problema, incluindo a elaboração de um algoritmo e a definição das estruturas de dados a serem utilizadas;
implementação (codificação) do programa; 
testes. 
No projeto normalmente modela-se utilizando a UML, porém nesta disciplina será utilizado algoritmos.
11
Algoritmo
O que é um algoritmo?
é a descrição de uma sequência de passos ordenadas e finita que deve ser seguida para a realização de uma tarefa.
é uma descrição de como realizar uma tarefa independente da linguagem/hardware.
Não se preocupa com detalhes de implementação em uma linguagem.
Pseudocódigo
Faz uso de uma notação baseada em linguagem natural.
Um algoritmo é composto por um nome, as variáveis e o bloco principal.
nome do algoritmo
variáveis
bloco principal
Descrição narrativa
Fluxograma
Os comentários, as linhas em branco e as tabulações fazem parte das boas práticas de programação.
13
Tipos de dados
Os tipos abstratos de dados, ou, simplesmente, tipos de dados, definem quais tipos de informações podem ser processadas pelo computador.
De que serve um algoritmo se não puder manipular dados?
14
Estruturas de controle
Define a forma que as instruções são executadas.
Estrutura de sequência: uma instrução após a outra.
Estrutura de seleção: há a necessidade de tomar uma decisão, de acordo com determinadas condições.
Estrutura de repetição: quando há a necessidade de repetir um conjunto de instruções.
Seleção múltipla: caso
Seleção simples: se
Seleção de um ramo
Seleção de dois ramos
15
Funções e procedimentos
Função: é um módulo que sempre retorna uma resposta a quem chamou.
	ex: 
 x := sqrt (4) //retorna a raiz-quadrada
Procedimento: não retorna nenhuma resposta.
	ex: 
 clrscr; //limpar a tela no pascal
Paradigma de programação imperativo
Características
Foi um dos primeiros paradigmas criados e muito utilizado até hoje na computação.
É estruturado com base em métodos.
Apóia-se no conceito de estado de um programa, que é a situação momentânea das variáveis, e que podem ser alteradas pelos métodos.
Uma linguagem de programação que utiliza paradigma imperativo, manipula variáveis a partir de ordens ou comandos. Por exemplo, determinado número de váriáveis são lidas na entrada, são manipuladas e colocadas em outras variáveis, ditas saídas, manipulando estados
18
Vantagens
Os programas gerados são eficientes.
Fácil modelagem para aplicações do mundo real.
Capacidade de modularização do código-fonte.
Muito utilizado no meio acadêmico e comercial.
Desvantagens
Problemas de legibilidade do código.
Maior possibilidade de introdução de erros durante o processo de manutenção.
O programador especifica como fazer para obter os resultados.
Ao contrário do paradigma lógico, onde você especifica apenas os resultados.
20
Características
Suporta execução sequêncial de instruções.
Suporta especificação de métodos.
Suporta especificação do tipo de parâmetros e variáveis.
Permite chamar métodos em módulos distintos do programa.
O uso de métodos permite a técnica de modularização
21
Modularização
O uso de métodos permite a modularização, que consiste no uso de métodos com interfaces bem definidas e que atendam a determinadas funcionalidades da aplicação.
Programação Imperativa
Estrutura geral de um programa
De maneira geral, um programa em linguagem imperativa é organizado em duas regiões:
Área de declaração (métodos, variáveis)
Corpo do programa.
Exemplo em PASCAL
Variáveis e tipos de dados
Programas em linguagem imperativa fazem uso de variáveis para armazenar valores que são utilizados nos processamentos.
Cada variável pode armazenar um determinado tipo de dado.
Tipos de dados em PASCAL
Estruturas de controle
seleção
if condicao then
begin
 //caso condição verdadeira
end
else
begin
 //caso condição falsa
end;
case condicao of
 ‘valor1’: begin
	 
	 end;
 ‘valor2’: begin
	 
	 end;
 else: begin
	 
	 end;
Estruturas de controle
repetição
for i:= valor_inicial to valor_final do
begin
 //bloco de código
end;
while (condicao) do
begin
 //bloco de código
end;
repeat
 //bloco de código
until (condicao);
É um tipo de dado estruturado unidimensional que consiste de um número fixo de elementos, sendo que todos os elementos devem ser do mesmo tipo (char, integer, real, string ....)
Definição na linguagem Pascal:
nome_do_array: ARRAY [inicio..fim] of tipo;
Vetores
30
Exemplo:
notas: ARRAY [1..4] of real;
 
Acessando os dados:
notas[1]:= 5.0;
notas[2]:= 4.0;
Vetores
notas[1]
notas[2]
notas[3]
notas[4]
31
É um tipo de dado estruturado bidimensional que consiste de um número fixo de elementos, sendo que todos os elementos devem ser do mesmo tipo (char, integer, real, string ....)
É utilizado para armazenar tabelas, imagens etc.
Manipulação muito semelhante aos vetores.
Matrizes
Definição na linguagem Pascal:
 nome: ARRAY [inicio..fim, inicio..fim] of tipo_dados;
Exemplo:
m_notas: ARRAY [1..4, 1..4] of real;
Matrizes
linhas
colunas
É uma estrutura de dados composta e heterogênea, que permite armazenar valores, onde esses valores podem ser de diferentes tipos.
Registros
Qual a principal diferença entre matriz e registros ?
Matriz é homogênea e registro é heterogêneo/
34
Definição em linguagem Pascal:
type
nome_tipo = record
		campo1: tipo1;
		campo2: tipo2;
		...
	end;
var
	nome_variavel : nome_tipo
Registros
Exemplo:
type
t_aluno = record
		RA: integer;
		nome: string;
		idade: integer;
		telefone: string;
	end;
var
	reg_alunos : t_aluno
Registros
RA
nome
idade
telefone
reg_alunos
Acessando os campos do registro:
reg_alunos.RA:= 10050;
reg_alunos.nome:= ‘Renato’;
reg_alunos.idade:= 23;
reg_alunos.telefone:= ‘3660-1777’;
Registros
RA
nome
idade
telefone
reg_alunos
10050Renato
23
3660-1777
Procedimentos
procedure nome_procedimento (var par1: tipo1; var par2: tipo2);
begin
end;
Exemplo:
procedure mostraBoasVindas (var nome: string);
begin
	writeln(‘Bom dia ‘, nome, ‘. Seja bem-vindo’);
end;
Funções
function nome_funcao (var par1: tipo1; var par2: tipo2): tipo_retorno;
begin
	nome_funcao := valor_a_ser_retornado;
end;
Exemplo:
function media (var a: real; var b: real): real;
begin
	media:= (a + b) / 2;
end;

Outros materiais