INTRODUÇÃO À PROGRAMAÇÃO • 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 • Sistema • Software • Aplicação
INTRODUÇÃO À PROGRAMAÇÃ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 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 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 Programa em C para o calculo da média • #include "stdio.h" • void main(void) printf("\n"); • { for(i = 0; i<N; i++) • const int N = 3; { • float pesos[N]; printf("Introduza o peso %d: ",i); • float notas[N]; scanf(" %f",&pesos[i]); • float soma; } • float soma_pesos; soma = 0; • float media; • int i; soma_pesos = 0; • printf("\n*********************************"); for(i = 0; i <N; i++) • printf("\n* Calculo da media de tres { notas*"); soma = soma + notas[i]*pesos[i]; • printf("\n*********************************\n") soma_pesos = soma_pesos + pesos[i]; ; • for(i = 0; i<N; i++) } • { media = soma/soma_pesos; • printf("Introduza a nota %d: ",i); printf("\nA media é: %f",media); • scanf(" %f",¬as[i]); • }
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 Algoritmos 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 Problema: Estamos numa sala escura e pretende-se luz. Fluxograma
INTRODUÇÃO À PROGRAMAÇÃO 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 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 Características de um algoritmo 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.
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 Fases de desenvolvimento de um programa 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
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 2 2 ( ) ( ) d = x − x + y − y % Calcular distância: 2 1 2 1 d=sqrt(sum((p2-p1).^2)) % Matematicamente: Etapa 5: Testando Pode-se testar manualmente, neste case d=3 .6056
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 ������������������������ ���������������
Recommend
More recommend