SlideShare uma empresa Scribd logo
• 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

Mais conteúdo relacionado

Semelhante a 4-Introducao programacao-convertido.pptx

(A02) LabMM3 - Introdução à programação
(A02) LabMM3 - Introdução à programação(A02) LabMM3 - Introdução à programação
(A02) LabMM3 - Introdução à programação
Carlos Santos
 
Linguagem c wellington telles - aula 01
Linguagem c   wellington telles - aula 01Linguagem c   wellington telles - aula 01
Linguagem c wellington telles - aula 01
profwtelles
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
angelicamenegassi
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
angelicamenegassi
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
jormad
 
Introdução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxIntrodução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptx
Paulo Cardoso
 
Algoritmos - Aula 04 A - Principios de Resolucao de Problemas
Algoritmos - Aula 04 A - Principios de Resolucao de ProblemasAlgoritmos - Aula 04 A - Principios de Resolucao de Problemas
Algoritmos - Aula 04 A - Principios de Resolucao de Problemas
Rodrigo Kiyoshi Saito
 
Lógica de programação 2
Lógica de programação 2Lógica de programação 2
Lógica de programação 2
José Lopes
 
Lógica de programação 1
Lógica de programação 1Lógica de programação 1
Lógica de programação 1
Diego Rodrigues
 
Curso matlab
Curso matlabCurso matlab
Curso matlab
Lázaro Lima
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
Professor Samuel Ribeiro
 
Apostila algoritmos
Apostila algoritmosApostila algoritmos
Apostila algoritmos
Pedro Nelson
 
Lista exercicios algoritmos
Lista exercicios algoritmosLista exercicios algoritmos
Lista exercicios algoritmos
slashmelhor
 
Algoritmos computacionais
Algoritmos computacionaisAlgoritmos computacionais
Algoritmos computacionais
Dérick Platini
 
Logica Programação. ...
Logica Programação. ...Logica Programação. ...
Logica Programação. ...
Miller Magalhaes
 
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptxAula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
aronoliveira3
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
vingue
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
marcelo00001975
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
Valdinho Pereira
 
Mini Curso de C
Mini Curso de CMini Curso de C
Mini Curso de C
W4Solutions
 

Semelhante a 4-Introducao programacao-convertido.pptx (20)

(A02) LabMM3 - Introdução à programação
(A02) LabMM3 - Introdução à programação(A02) LabMM3 - Introdução à programação
(A02) LabMM3 - Introdução à programação
 
Linguagem c wellington telles - aula 01
Linguagem c   wellington telles - aula 01Linguagem c   wellington telles - aula 01
Linguagem c wellington telles - aula 01
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Introdução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxIntrodução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptx
 
Algoritmos - Aula 04 A - Principios de Resolucao de Problemas
Algoritmos - Aula 04 A - Principios de Resolucao de ProblemasAlgoritmos - Aula 04 A - Principios de Resolucao de Problemas
Algoritmos - Aula 04 A - Principios de Resolucao de Problemas
 
Lógica de programação 2
Lógica de programação 2Lógica de programação 2
Lógica de programação 2
 
Lógica de programação 1
Lógica de programação 1Lógica de programação 1
Lógica de programação 1
 
Curso matlab
Curso matlabCurso matlab
Curso matlab
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
 
Apostila algoritmos
Apostila algoritmosApostila algoritmos
Apostila algoritmos
 
Lista exercicios algoritmos
Lista exercicios algoritmosLista exercicios algoritmos
Lista exercicios algoritmos
 
Algoritmos computacionais
Algoritmos computacionaisAlgoritmos computacionais
Algoritmos computacionais
 
Logica Programação. ...
Logica Programação. ...Logica Programação. ...
Logica Programação. ...
 
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptxAula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Mini Curso de C
Mini Curso de CMini Curso de C
Mini Curso de C
 

Mais de Patrícia Melo

Java Fundamentos Estrutura de Controle
Java Fundamentos Estrutura de ControleJava Fundamentos Estrutura de Controle
Java Fundamentos Estrutura de Controle
Patrícia Melo
 
Conceitos Iniciais LP I
Conceitos Iniciais LP IConceitos Iniciais LP I
Conceitos Iniciais LP I
Patrícia Melo
 
Ciclo de vida processo
Ciclo de vida processoCiclo de vida processo
Ciclo de vida processo
Patrícia Melo
 
Engenharia de Software - Requisito.pptx
Engenharia de Software - Requisito.pptxEngenharia de Software - Requisito.pptx
Engenharia de Software - Requisito.pptx
Patrícia Melo
 
Ciencia.ppt
Ciencia.pptCiencia.ppt
Ciencia.ppt
Patrícia Melo
 
A Informação E Dados.pptx
A Informação E Dados.pptxA Informação E Dados.pptx
A Informação E Dados.pptx
Patrícia Melo
 
IP_Notas01.ppt
IP_Notas01.pptIP_Notas01.ppt
IP_Notas01.ppt
Patrícia Melo
 
03modelos.ppt
03modelos.ppt03modelos.ppt
03modelos.ppt
Patrícia Melo
 
Aula 09b.ppt
Aula 09b.pptAula 09b.ppt
Aula 09b.ppt
Patrícia Melo
 
ArqOrgCom.ppt
ArqOrgCom.pptArqOrgCom.ppt
ArqOrgCom.ppt
Patrícia Melo
 
TOF.ppt
TOF.pptTOF.ppt
MidCell-apresentacao.ppt
MidCell-apresentacao.pptMidCell-apresentacao.ppt
MidCell-apresentacao.ppt
Patrícia Melo
 
middlewareReflexivo.ppt
middlewareReflexivo.pptmiddlewareReflexivo.ppt
middlewareReflexivo.ppt
Patrícia Melo
 
Relógios Lógicos
Relógios LógicosRelógios Lógicos
Relógios Lógicos
Patrícia Melo
 
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
Patrícia Melo
 
03modelos (1).ppt
03modelos (1).ppt03modelos (1).ppt
03modelos (1).ppt
Patrícia Melo
 

Mais de Patrícia Melo (16)

Java Fundamentos Estrutura de Controle
Java Fundamentos Estrutura de ControleJava Fundamentos Estrutura de Controle
Java Fundamentos Estrutura de Controle
 
Conceitos Iniciais LP I
Conceitos Iniciais LP IConceitos Iniciais LP I
Conceitos Iniciais LP I
 
Ciclo de vida processo
Ciclo de vida processoCiclo de vida processo
Ciclo de vida processo
 
Engenharia de Software - Requisito.pptx
Engenharia de Software - Requisito.pptxEngenharia de Software - Requisito.pptx
Engenharia de Software - Requisito.pptx
 
Ciencia.ppt
Ciencia.pptCiencia.ppt
Ciencia.ppt
 
A Informação E Dados.pptx
A Informação E Dados.pptxA Informação E Dados.pptx
A Informação E Dados.pptx
 
IP_Notas01.ppt
IP_Notas01.pptIP_Notas01.ppt
IP_Notas01.ppt
 
03modelos.ppt
03modelos.ppt03modelos.ppt
03modelos.ppt
 
Aula 09b.ppt
Aula 09b.pptAula 09b.ppt
Aula 09b.ppt
 
ArqOrgCom.ppt
ArqOrgCom.pptArqOrgCom.ppt
ArqOrgCom.ppt
 
TOF.ppt
TOF.pptTOF.ppt
TOF.ppt
 
MidCell-apresentacao.ppt
MidCell-apresentacao.pptMidCell-apresentacao.ppt
MidCell-apresentacao.ppt
 
middlewareReflexivo.ppt
middlewareReflexivo.pptmiddlewareReflexivo.ppt
middlewareReflexivo.ppt
 
Relógios Lógicos
Relógios LógicosRelógios Lógicos
Relógios Lógicos
 
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
 
03modelos (1).ppt
03modelos (1).ppt03modelos (1).ppt
03modelos (1).ppt
 

Último

PROPOSTA CURRICULAR EDUCACAO FISICA.docx
PROPOSTA CURRICULAR  EDUCACAO FISICA.docxPROPOSTA CURRICULAR  EDUCACAO FISICA.docx
PROPOSTA CURRICULAR EDUCACAO FISICA.docx
Escola Municipal Jesus Cristo
 
Arundhati Roy - O Deus das Pequenas Coisas - ÍNDIA.pdf
Arundhati Roy - O Deus das Pequenas Coisas - ÍNDIA.pdfArundhati Roy - O Deus das Pequenas Coisas - ÍNDIA.pdf
Arundhati Roy - O Deus das Pequenas Coisas - ÍNDIA.pdf
Ana Da Silva Ponce
 
Apresentação_Primeira_Guerra_Mundial 9 ANO-1.pptx
Apresentação_Primeira_Guerra_Mundial 9 ANO-1.pptxApresentação_Primeira_Guerra_Mundial 9 ANO-1.pptx
Apresentação_Primeira_Guerra_Mundial 9 ANO-1.pptx
JulianeMelo17
 
UFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdfUFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdf
Manuais Formação
 
iNTRODUÇÃO À Plantas terrestres e Plantas aquáticas. (1).pdf
iNTRODUÇÃO À Plantas terrestres e Plantas aquáticas. (1).pdfiNTRODUÇÃO À Plantas terrestres e Plantas aquáticas. (1).pdf
iNTRODUÇÃO À Plantas terrestres e Plantas aquáticas. (1).pdf
andressacastro36
 
Sócrates e os sofistas - apresentação de slides
Sócrates e os sofistas - apresentação de slidesSócrates e os sofistas - apresentação de slides
Sócrates e os sofistas - apresentação de slides
jbellas2
 
PowerPoint Newton gostava de Ler - Saber em Gel.pdf
PowerPoint Newton gostava de Ler - Saber em Gel.pdfPowerPoint Newton gostava de Ler - Saber em Gel.pdf
PowerPoint Newton gostava de Ler - Saber em Gel.pdf
1000a
 
Aula 2 - 6º HIS - Formas de registro da história e da produção do conheciment...
Aula 2 - 6º HIS - Formas de registro da história e da produção do conheciment...Aula 2 - 6º HIS - Formas de registro da história e da produção do conheciment...
Aula 2 - 6º HIS - Formas de registro da história e da produção do conheciment...
Luana Neres
 
Aula 3- 6º HIS - As origens da humanidade, seus deslocamentos e os processos ...
Aula 3- 6º HIS - As origens da humanidade, seus deslocamentos e os processos ...Aula 3- 6º HIS - As origens da humanidade, seus deslocamentos e os processos ...
Aula 3- 6º HIS - As origens da humanidade, seus deslocamentos e os processos ...
Luana Neres
 
the_story_garden_5_SB_with_activities.pdf
the_story_garden_5_SB_with_activities.pdfthe_story_garden_5_SB_with_activities.pdf
the_story_garden_5_SB_with_activities.pdf
CarinaSoto12
 
Memorial do convento slides- português 2023
Memorial do convento slides- português 2023Memorial do convento slides- português 2023
Memorial do convento slides- português 2023
MatildeBrites
 
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptxSlides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
LuizHenriquedeAlmeid6
 
Sinais de pontuação
Sinais de pontuaçãoSinais de pontuação
Sinais de pontuação
Mary Alvarenga
 
Caça-palavras ortografia M antes de P e B.
Caça-palavras    ortografia M antes de P e B.Caça-palavras    ortografia M antes de P e B.
Caça-palavras ortografia M antes de P e B.
Mary Alvarenga
 
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
Biblioteca UCS
 
Caderno de Formação_PORTUGUÊS ESTRAN.pdf
Caderno de Formação_PORTUGUÊS ESTRAN.pdfCaderno de Formação_PORTUGUÊS ESTRAN.pdf
Caderno de Formação_PORTUGUÊS ESTRAN.pdf
carlaslr1
 
Atividades de Inglês e Espanhol para Imprimir - Alfabetinho
Atividades de Inglês e Espanhol para Imprimir - AlfabetinhoAtividades de Inglês e Espanhol para Imprimir - Alfabetinho
Atividades de Inglês e Espanhol para Imprimir - Alfabetinho
MateusTavares54
 
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptxSlides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
LuizHenriquedeAlmeid6
 
LIBRO LAS MANOS NO SON PARA PEGAR-MAESTRA EN PREESCOLAR_organized_rotated (1)...
LIBRO LAS MANOS NO SON PARA PEGAR-MAESTRA EN PREESCOLAR_organized_rotated (1)...LIBRO LAS MANOS NO SON PARA PEGAR-MAESTRA EN PREESCOLAR_organized_rotated (1)...
LIBRO LAS MANOS NO SON PARA PEGAR-MAESTRA EN PREESCOLAR_organized_rotated (1)...
ssuser701e2b
 
Pintura Romana .pptx
Pintura Romana                     .pptxPintura Romana                     .pptx
Pintura Romana .pptx
TomasSousa7
 

Último (20)

PROPOSTA CURRICULAR EDUCACAO FISICA.docx
PROPOSTA CURRICULAR  EDUCACAO FISICA.docxPROPOSTA CURRICULAR  EDUCACAO FISICA.docx
PROPOSTA CURRICULAR EDUCACAO FISICA.docx
 
Arundhati Roy - O Deus das Pequenas Coisas - ÍNDIA.pdf
Arundhati Roy - O Deus das Pequenas Coisas - ÍNDIA.pdfArundhati Roy - O Deus das Pequenas Coisas - ÍNDIA.pdf
Arundhati Roy - O Deus das Pequenas Coisas - ÍNDIA.pdf
 
Apresentação_Primeira_Guerra_Mundial 9 ANO-1.pptx
Apresentação_Primeira_Guerra_Mundial 9 ANO-1.pptxApresentação_Primeira_Guerra_Mundial 9 ANO-1.pptx
Apresentação_Primeira_Guerra_Mundial 9 ANO-1.pptx
 
UFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdfUFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdf
 
iNTRODUÇÃO À Plantas terrestres e Plantas aquáticas. (1).pdf
iNTRODUÇÃO À Plantas terrestres e Plantas aquáticas. (1).pdfiNTRODUÇÃO À Plantas terrestres e Plantas aquáticas. (1).pdf
iNTRODUÇÃO À Plantas terrestres e Plantas aquáticas. (1).pdf
 
Sócrates e os sofistas - apresentação de slides
Sócrates e os sofistas - apresentação de slidesSócrates e os sofistas - apresentação de slides
Sócrates e os sofistas - apresentação de slides
 
PowerPoint Newton gostava de Ler - Saber em Gel.pdf
PowerPoint Newton gostava de Ler - Saber em Gel.pdfPowerPoint Newton gostava de Ler - Saber em Gel.pdf
PowerPoint Newton gostava de Ler - Saber em Gel.pdf
 
Aula 2 - 6º HIS - Formas de registro da história e da produção do conheciment...
Aula 2 - 6º HIS - Formas de registro da história e da produção do conheciment...Aula 2 - 6º HIS - Formas de registro da história e da produção do conheciment...
Aula 2 - 6º HIS - Formas de registro da história e da produção do conheciment...
 
Aula 3- 6º HIS - As origens da humanidade, seus deslocamentos e os processos ...
Aula 3- 6º HIS - As origens da humanidade, seus deslocamentos e os processos ...Aula 3- 6º HIS - As origens da humanidade, seus deslocamentos e os processos ...
Aula 3- 6º HIS - As origens da humanidade, seus deslocamentos e os processos ...
 
the_story_garden_5_SB_with_activities.pdf
the_story_garden_5_SB_with_activities.pdfthe_story_garden_5_SB_with_activities.pdf
the_story_garden_5_SB_with_activities.pdf
 
Memorial do convento slides- português 2023
Memorial do convento slides- português 2023Memorial do convento slides- português 2023
Memorial do convento slides- português 2023
 
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptxSlides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
 
Sinais de pontuação
Sinais de pontuaçãoSinais de pontuação
Sinais de pontuação
 
Caça-palavras ortografia M antes de P e B.
Caça-palavras    ortografia M antes de P e B.Caça-palavras    ortografia M antes de P e B.
Caça-palavras ortografia M antes de P e B.
 
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
 
Caderno de Formação_PORTUGUÊS ESTRAN.pdf
Caderno de Formação_PORTUGUÊS ESTRAN.pdfCaderno de Formação_PORTUGUÊS ESTRAN.pdf
Caderno de Formação_PORTUGUÊS ESTRAN.pdf
 
Atividades de Inglês e Espanhol para Imprimir - Alfabetinho
Atividades de Inglês e Espanhol para Imprimir - AlfabetinhoAtividades de Inglês e Espanhol para Imprimir - Alfabetinho
Atividades de Inglês e Espanhol para Imprimir - Alfabetinho
 
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptxSlides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
 
LIBRO LAS MANOS NO SON PARA PEGAR-MAESTRA EN PREESCOLAR_organized_rotated (1)...
LIBRO LAS MANOS NO SON PARA PEGAR-MAESTRA EN PREESCOLAR_organized_rotated (1)...LIBRO LAS MANOS NO SON PARA PEGAR-MAESTRA EN PREESCOLAR_organized_rotated (1)...
LIBRO LAS MANOS NO SON PARA PEGAR-MAESTRA EN PREESCOLAR_organized_rotated (1)...
 
Pintura Romana .pptx
Pintura Romana                     .pptxPintura Romana                     .pptx
Pintura Romana .pptx
 

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 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
  • 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
  • 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 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
  • 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 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
  • 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
  • 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
  • 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 INTRODUÇÃO À PROGRAMAÇÃO Algoritmos
  • 16. INTRODUÇÃO À PROGRAMAÇÃO Problema: Estamos numa sala escura e pretende-se luz. Fluxograma
  • 17. 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
  • 18. 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
  • 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
  • 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
  • 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
  • 22. 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
  • 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 d  x2 x1   y2  y1 INTRODUÇÃO À PROGRAMAÇÃO
  • 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