• O que é um programa?
• Matlab vs outras linguagens de programação
• Paradigma de programação
• Fases de desenvolvimento de um programa
INTRODUÇÃO À PROGRAMAÇÃO
• CPU
• Hardware
• Periféricos
INTRODUÇÃO À PROGRAMAÇÃO
• Sistema
• Software
• Aplicação
O que é um programa?
• Computadores podem manipular e calcular grandes quantidades
de informação a grande velocidade.
• São inúteis se não se específica exactamente o que queremos
realizar com eles através de comandos bem definidos.
• Um Programa é um conjunto de comandos.
INTRODUÇÃO À PROGRAMAÇÃO
Linguagens de programação
A partir de 1940 foram sendo desenvolvidos várias linguagens de
programação:
– Maquina, baixo nível, alto nível,…
– Matlab, C++, JAVA, Fortran,…
O que distingue as linguagens
pretendem resolver.
são os tipos de problemas que
Matlab: excelente para escrever pequenos programas que manipulam
números. Problemas complexos podem ser resolvidos em poucas
linhas de código.
INTRODUÇÃO À PROGRAMAÇÃO
Exemplo de um programa
Cálculo de uma média pesada:
– Notas: n1, n2 e n3.
– Pesos respectivos: p1, p2 e p3.
INTRODUÇÃO À PROGRAMAÇÃO
printf("n");
for(i = 0; i<N; i++)
{
printf("Introduza o peso %d: ",i);
scanf(" %f",&pesos[i]);
}
soma = 0;
soma_pesos = 0;
for(i = 0; i <N; i++)
{
soma = soma + notas[i]*pesos[i];
soma_pesos = soma_pesos + pesos[i];
}
media = soma/soma_pesos;
printf("nA media é: %f",media);
• #include "stdio.h"
• void main(void)
• {
• const int N = 3;
• float pesos[N];
• float notas[N];
• float soma;
• float soma_pesos;
• float media;
• int i;
• printf("n*********************************");
• printf("n* Calculo da media de tres
notas*");
• printf("n*********************************n")
;
• for(i = 0; i<N; i++)
• {
• printf("Introduza a nota %d: ",i);
• scanf(" %f",&notas[i]);
• }
Programa em C para o calculo da média
INTRODUÇÃO À PROGRAMAÇÃO
Programa em Matlab
• % Programa para calcular uma media pesada
• notas = input('Introduza as notas: ');
• pesos = input('Introduza os pesos: ');
• media = sum(notas.*pesos)/sum(pesos)
INTRODUÇÃO À PROGRAMAÇÃO
Comparação Matlab/C
Matlab tem vantagens:
– Programas muito mais simples: escrita mais rápida e com menos
erros.
– Versatilidade, mais fácil de adaptar a diferentes tipos de dados.
– Muito eficiente e melhor solução para pequenos programas que
envolvem calculo numérico
=> Muitos dos problemas de engenharia encaixam neste perfil
INTRODUÇÃO À PROGRAMAÇÃO
Comparação Matlab/C
Mas existe um preço a pagar:
– Para programas mais complexos, melhor outras linguagens mais
estruturados que reduzem a possibilidade de erro. Ex: Sistemas
operativos…
–Pouco optimizado para operações não numéricas
(aplicações gráficas, processadores de texto, etc…)
– Matlab é interpretado, logo mais lento.
INTRODUÇÃO À PROGRAMAÇÃO
MATLAB==MATrix LABoratory
INTRODUÇÃO À PROGRAMAÇÃO
INTRODUÇÃO À PROGRAMAÇÃO
Paradigma de Programação
Metodologia de programação para desenvolver uma aplicação:
– Dividir para conquistar.
– Decomposição de cima para baixo (Top-Down).
– Refinamento passo a passo.
INTRODUÇÃO À PROGRAMAÇÃO
Fases de desenvolvimento de um programa
• Analise do problema
• Especificação do problema
• Análise algorítmica
• Teste do algoritmo
• Implementação da aplicação
• Geração do código
• Teste e validação do código
INTRODUÇÃO À PROGRAMAÇÃO
Algoritmo
INTRODUÇÃO À PROGRAMAÇÃO
A formulação de um problema é frequentemente mais essencial do que a sua
solução, a qual pode ser meramente uma questão de habilidade matemática ou
experimental.
Einstein
INTRODUÇÃO À PROGRAMAÇÃO
Algoritmos
INTRODUÇÃO À PROGRAMAÇÃO
Problema:
Estamos numa sala escura e pretende-se luz.
Fluxograma
Pseudo-código
Linguagem intermédia para facilitar o desenvolvimento do algoritmo.
Combinação de portuguêsinglês com matlab para descrever o
algoritmo sem se preocupar com pormenores sintácticos.
INTRODUÇÃO À PROGRAMAÇÃO
Exemplo:
Cálculo de uma média ponderada e indicação se aprovado ou reprovado.
• Ler as notas
• Ler os pesos
• Calcular a média com os pesos
• Se média >= 9.5 escrever
aprovado caso contrário escrever
reprovado
INTRODUÇÃO À PROGRAMAÇÃO
Um bom algoritmo deve:
–Resolver classes de problemas e não problemas particulares (considerar
todas os valores possíveis para as variáveis de entrada)
–Ser eficiente, resolvendo o problema com o menor custo possível (em termos
de nº de instruções ou espaço de memória)
–Terminar com uma solução ou indicando que não há solução.
Características de um algoritmo
INTRODUÇÃO À PROGRAMAÇÃO
Decomposição da solução
Top down design
- Dividir para conquistar. Melhor estratégia para lidar com a complexidade.
- Consiste em descrever o problema num conjunto de sub-problemas de
resolução mais fácil.
– Decomposição. Cada sub-problema pode também ser subdividido
(refinamento progressivo).
- Só depois se programa.
INTRODUÇÃO À PROGRAMAÇÃO
1. Definir o problema
2. Especificar as entradas e saídas
3. Escrever o algoritmo
• a. Decomposição em sub-problemas
• b. Refinamento progressivo
4. Converter o programa em código matlab
5. Testar o programa
Fases de desenvolvimento de um programa
INTRODUÇÃO À PROGRAMAÇÃO
Exemplo:
Etapa 1: Enunciado do Problema:
Calculo da distância em linha recta entre dois pontos num plano
Etapa 2: Descrição de Entrada e Saída:
Escrita da informação que é dada para resolução do problema para
então proceder-se a identificação dos valores a serem calculados
Etapa 3: Escrever o algoritmo:
Uma vez que pode-se trabalhar o problema com um simples grupo de
dados, então está-se pronto para o desenvolvimento de um algoritmo
ou um esboço passo a passo da solução. Este Esboço é convertido
para os comandos do MATLAB para que o computador faça todos os
cálculos necessários .
INTRODUÇÃO À PROGRAMAÇÃO
Etapa 4: Solução MATLAB
% Note que o sinal % é usado para anteceder comentários % que explicam
% os comandos do MATLAB.
% Este programa calcule e imprime a distância em linha recta, entre dois
% pontos
p1=[1, 5]
% Ponto 1
p2=[4,7]
% Ponto 2
% Calcular distância:
d=sqrt(sum((p2-p1).^2)) % Matematicamente:
Etapa 5: Testando
Pode-se testar manualmente, neste case d=3 .6056
2 2
d  x2 x1   y2  y1
INTRODUÇÃO À PROGRAMAÇÃO
INTRODUÇÃO À PROGRAMAÇÃO
ASPECTOS LIGADOS ÀS AULAS E ESTUDO DESTA MATÉRIA
Abrir conta nos computadores do DEEI:
Contactar Técnico de Informática, Artur Martins, sala C1 1.54
Utilização das salas de acesso livre: C1 1.58 e C1 0.22

4-Introducao programacao-convertido.pptx

  • 1.
    • O queé um programa? • Matlab vs outras linguagens de programação • Paradigma de programação • Fases de desenvolvimento de um programa INTRODUÇÃO À PROGRAMAÇÃO
  • 2.
    • CPU • Hardware •Periféricos INTRODUÇÃO À PROGRAMAÇÃO • Sistema • Software • Aplicação
  • 3.
    O que éum programa? • Computadores podem manipular e calcular grandes quantidades de informação a grande velocidade. • São inúteis se não se específica exactamente o que queremos realizar com eles através de comandos bem definidos. • Um Programa é um conjunto de comandos. INTRODUÇÃO À PROGRAMAÇÃO
  • 4.
    Linguagens de programação Apartir de 1940 foram sendo desenvolvidos várias linguagens de programação: – Maquina, baixo nível, alto nível,… – Matlab, C++, JAVA, Fortran,… O que distingue as linguagens pretendem resolver. são os tipos de problemas que Matlab: excelente para escrever pequenos programas que manipulam números. Problemas complexos podem ser resolvidos em poucas linhas de código. INTRODUÇÃO À PROGRAMAÇÃO
  • 5.
    Exemplo de umprograma Cálculo de uma média pesada: – Notas: n1, n2 e n3. – Pesos respectivos: p1, p2 e p3. INTRODUÇÃO À PROGRAMAÇÃO
  • 6.
    printf("n"); for(i = 0;i<N; i++) { printf("Introduza o peso %d: ",i); scanf(" %f",&pesos[i]); } soma = 0; soma_pesos = 0; for(i = 0; i <N; i++) { soma = soma + notas[i]*pesos[i]; soma_pesos = soma_pesos + pesos[i]; } media = soma/soma_pesos; printf("nA media é: %f",media); • #include "stdio.h" • void main(void) • { • const int N = 3; • float pesos[N]; • float notas[N]; • float soma; • float soma_pesos; • float media; • int i; • printf("n*********************************"); • printf("n* Calculo da media de tres notas*"); • printf("n*********************************n") ; • for(i = 0; i<N; i++) • { • printf("Introduza a nota %d: ",i); • scanf(" %f",&notas[i]); • } Programa em C para o calculo da média INTRODUÇÃO À PROGRAMAÇÃO
  • 7.
    Programa em Matlab •% Programa para calcular uma media pesada • notas = input('Introduza as notas: '); • pesos = input('Introduza os pesos: '); • media = sum(notas.*pesos)/sum(pesos) INTRODUÇÃO À PROGRAMAÇÃO
  • 8.
    Comparação Matlab/C Matlab temvantagens: – Programas muito mais simples: escrita mais rápida e com menos erros. – Versatilidade, mais fácil de adaptar a diferentes tipos de dados. – Muito eficiente e melhor solução para pequenos programas que envolvem calculo numérico => Muitos dos problemas de engenharia encaixam neste perfil INTRODUÇÃO À PROGRAMAÇÃO
  • 9.
    Comparação Matlab/C Mas existeum preço a pagar: – Para programas mais complexos, melhor outras linguagens mais estruturados que reduzem a possibilidade de erro. Ex: Sistemas operativos… –Pouco optimizado para operações não numéricas (aplicações gráficas, processadores de texto, etc…) – Matlab é interpretado, logo mais lento. INTRODUÇÃO À PROGRAMAÇÃO
  • 10.
  • 11.
  • 12.
    Paradigma de Programação Metodologiade programação para desenvolver uma aplicação: – Dividir para conquistar. – Decomposição de cima para baixo (Top-Down). – Refinamento passo a passo. INTRODUÇÃO À PROGRAMAÇÃO
  • 13.
    Fases de desenvolvimentode um programa • Analise do problema • Especificação do problema • Análise algorítmica • Teste do algoritmo • Implementação da aplicação • Geração do código • Teste e validação do código INTRODUÇÃO À PROGRAMAÇÃO
  • 14.
  • 15.
    A formulação deum problema é frequentemente mais essencial do que a sua solução, a qual pode ser meramente uma questão de habilidade matemática ou experimental. Einstein INTRODUÇÃO À PROGRAMAÇÃO Algoritmos
  • 16.
    INTRODUÇÃO À PROGRAMAÇÃO Problema: Estamosnuma sala escura e pretende-se luz. Fluxograma
  • 17.
    Pseudo-código Linguagem intermédia parafacilitar o desenvolvimento do algoritmo. Combinação de portuguêsinglês com matlab para descrever o algoritmo sem se preocupar com pormenores sintácticos. INTRODUÇÃO À PROGRAMAÇÃO
  • 18.
    Exemplo: Cálculo de umamédia ponderada e indicação se aprovado ou reprovado. • Ler as notas • Ler os pesos • Calcular a média com os pesos • Se média >= 9.5 escrever aprovado caso contrário escrever reprovado INTRODUÇÃO À PROGRAMAÇÃO
  • 19.
    Um bom algoritmodeve: –Resolver classes de problemas e não problemas particulares (considerar todas os valores possíveis para as variáveis de entrada) –Ser eficiente, resolvendo o problema com o menor custo possível (em termos de nº de instruções ou espaço de memória) –Terminar com uma solução ou indicando que não há solução. Características de um algoritmo INTRODUÇÃO À PROGRAMAÇÃO
  • 20.
    Decomposição da solução Topdown design - Dividir para conquistar. Melhor estratégia para lidar com a complexidade. - Consiste em descrever o problema num conjunto de sub-problemas de resolução mais fácil. – Decomposição. Cada sub-problema pode também ser subdividido (refinamento progressivo). - Só depois se programa. INTRODUÇÃO À PROGRAMAÇÃO
  • 21.
    1. Definir oproblema 2. Especificar as entradas e saídas 3. Escrever o algoritmo • a. Decomposição em sub-problemas • b. Refinamento progressivo 4. Converter o programa em código matlab 5. Testar o programa Fases de desenvolvimento de um programa INTRODUÇÃO À PROGRAMAÇÃO
  • 22.
    Exemplo: Etapa 1: Enunciadodo Problema: Calculo da distância em linha recta entre dois pontos num plano Etapa 2: Descrição de Entrada e Saída: Escrita da informação que é dada para resolução do problema para então proceder-se a identificação dos valores a serem calculados Etapa 3: Escrever o algoritmo: Uma vez que pode-se trabalhar o problema com um simples grupo de dados, então está-se pronto para o desenvolvimento de um algoritmo ou um esboço passo a passo da solução. Este Esboço é convertido para os comandos do MATLAB para que o computador faça todos os cálculos necessários . INTRODUÇÃO À PROGRAMAÇÃO
  • 23.
    Etapa 4: SoluçãoMATLAB % Note que o sinal % é usado para anteceder comentários % que explicam % os comandos do MATLAB. % Este programa calcule e imprime a distância em linha recta, entre dois % pontos p1=[1, 5] % Ponto 1 p2=[4,7] % Ponto 2 % Calcular distância: d=sqrt(sum((p2-p1).^2)) % Matematicamente: Etapa 5: Testando Pode-se testar manualmente, neste case d=3 .6056 2 2 d  x2 x1   y2  y1 INTRODUÇÃO À PROGRAMAÇÃO
  • 24.
    INTRODUÇÃO À PROGRAMAÇÃO ASPECTOSLIGADOS ÀS AULAS E ESTUDO DESTA MATÉRIA Abrir conta nos computadores do DEEI: Contactar Técnico de Informática, Artur Martins, sala C1 1.54 Utilização das salas de acesso livre: C1 1.58 e C1 0.22