INTRODUO PROGRAMAO O que um programa? Matlab vs outras - - PowerPoint PPT Presentation

introdu o programa o o que um programa matlab vs outras
SMART_READER_LITE
LIVE PREVIEW

INTRODUO PROGRAMAO O que um programa? Matlab vs outras - - PowerPoint PPT Presentation

INTRODUO PROGRAMAO O que um programa? Matlab vs outras linguagens de programao Paradigma de programao Fases de desenvolvimento de um programa INTRODUO PROGRAMAO CPU Hardware


slide-1
SLIDE 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

slide-2
SLIDE 2
  • Hardware

INTRODUÇÃO À PROGRAMAÇÃO

  • CPU
  • Periféricos
  • Sistema
  • Aplicação
  • Software
slide-3
SLIDE 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

slide-4
SLIDE 4

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 são os tipos de problemas que pretendem resolver. 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

slide-5
SLIDE 5

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

slide-6
SLIDE 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

slide-7
SLIDE 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

slide-8
SLIDE 8

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

slide-9
SLIDE 9

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

  • perativos…

– 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

slide-10
SLIDE 10

MATLAB==MATrix LABoratory

INTRODUÇÃO À PROGRAMAÇÃO

slide-11
SLIDE 11

INTRODUÇÃO À PROGRAMAÇÃO

slide-12
SLIDE 12

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

slide-13
SLIDE 13

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

slide-14
SLIDE 14

Algoritmo

INTRODUÇÃO À PROGRAMAÇÃO

slide-15
SLIDE 15

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

Algoritmos

INTRODUÇÃO À PROGRAMAÇÃO

slide-16
SLIDE 16

INTRODUÇÃO À PROGRAMAÇÃO

Problema:

Estamos numa sala escura e pretende-se luz.

Fluxograma

slide-17
SLIDE 17

Pseudo-código

Linguagem intermédia para facilitar o desenvolvimento do algoritmo. Combinação de português\inglês com matlab para descrever o algoritmo sem se preocupar com pormenores sintácticos. INTRODUÇÃO À PROGRAMAÇÃO

slide-18
SLIDE 18

Exemplo:

  • 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 Cálculo de uma média ponderada e indicação se aprovado ou reprovado.

slide-19
SLIDE 19

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

slide-20
SLIDE 20

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

slide-21
SLIDE 21
  • 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

slide-22
SLIDE 22

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

  • u 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 .

Exemplo:

INTRODUÇÃO À PROGRAMAÇÃO

slide-23
SLIDE 23

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 2 1 2 1

d x x y y = − + −

INTRODUÇÃO À PROGRAMAÇÃO

slide-24
SLIDE 24

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