Engenharia de Software



Documentos relacionados
Componentes da linguagem C++

Computação e Programação Aula prática nº 5. Enunciados dos problemas

Olimpíadas de Informática

Algoritmo. Prof. Anderson Almeida Ferreira. Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação

Algoritmos x Programação. Primeiros Passos na Linguagem C/C++ Como traduzir um algoritmo? Algoritmo original. Prof. Marcelo Cohen flash@inf

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

Guia e Utilização do Visual Studio 6.0

Identificação das variáveis de entrada; resultados/variáveis de saída e método ou solução. (procedimentos e funções)

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano

Computação L2. Arquivos. Observação: Material da Disciplina Computação Eletrônica CIN/UFPE.

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

INF 1005 Programação I

Programação e Sistemas de Informação

INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++

Prof. Esp. Adriano Carvalho

O que é o JavaScript?

3/19/2014. Compilador DEV C++ ENGENHARIAS LÓGICA DE PROGRAMAÇÃO Henry Lubanco/ Joelio Piraciaba

Folha Prática 2. Lab. 2

A Linguagem Pascal e o Ambiente de Programação Dev-Pascal. Introdução à Ciência da Computação I

Módulo 3936 ASP.NET. Financiado pelo FSE

AMBIENTE DE PROGRAMAÇÃO PYTHON

Mini-Projecto de PAII Ano Lectivo 2000/01

Sintaxe Básica de Java Parte 1

Introdução à Programação

Programação de Computadores I. Conhecendo a IDE Code::Blocks

Orientação a Objetos

Introdução a Computação

MATRIZ DE EXAME DE EQUIVALÊNCIA À FREQUÊNCIA

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

O Processo de Programação

Programação científica C++

Manual do Utilizador

Módulo 3936 ASP.NET. Financiado pelo FSE

2ºCiclo (5º e 6º Anos de escolaridade) 3ºCiclo (7º e 8º Anos de escolaridade)

Capítulo 2: Introdução à Linguagem C

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre

AULA 2: INTRODUÇÃO A LINGUAGEM DE C. Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme

Prof. Jhonatan Fernando

CURSO DE PROGRAMAÇÃO EM JAVA

ESCOLA SUPERIOR DE TECNOLOGIA DE TOMAR DEPARTAMENTO DE ENGENHARIA INFORMÁTICA 2005/ Valores

Metodos de Programação

Tarefa Orientada 2 Visual Studio 2005 e Visual C#

Na disciplina de Cálculo Numérico, vamos trabalhar com a linguagem C++ e o compilador que vamos usar é o Dev C++.

INTRODUÇÃO À PROGRAMAÇÃO BCC 201 TURMAS 31, 32 E AULA TEÓRICA 4 PROF. MARCELO LUIZ SILVA (R E D)

Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C / C++

Curso de C para Engenharias

2ª LISTA DE EXERCÍCIOS CLASSES E JAVA Disciplina: PC-II. public double getgeracaoatual() {return geracaoatual;}

ESTRUTURA DE UM PROGRAMA EM C++ Estrutura de um Programa em C++

Algoritmos e Técnicas de

Aula 1 Tipo Abstrato de Dados

Trabalhos Práticos. Programação II Curso: Engª Electrotécnica - Electrónica e Computadores

Algoritmos e Linguagem de Programação I

Programação. Folha Prática 3. Lab. 3. Departamento de Informática Universidade da Beira Interior Portugal Copyright 2010 All rights reserved.

Algoritmos e Programação Estruturada

3 Revisão de Software

JSP - ORIENTADO A OBJETOS

DEFINIÇÃO DE MÉTODOS

Mestrado em Matemática Financeira

Noções Várias em Visual Basic

Lição 1 Introdução à programação de computadores

Conceitos Básicos de C

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Algoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31

Module Introduction. Programação. Cap. 4 Algoritmos e Programação Estruturada

Programas simples em C

Técnicas de Programação I

IFTO LÓGICA DE PROGRAMAÇÃO AULA 01

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA

Estrutura de um programa em linguagem C

O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador.

Estruturas II UFOP 1/1

Programação Orientada por Objectos - C++ jvo

Aula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include <iostream>

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

Pilhas. Profa Morganna Diniz

3.º e 4.º Anos de Escolaridade Competências Conteúdos Sugestões metodológicas Articulações

Programa ConsoleRPN. PUC-Rio CIV Sistemas Gráficos para Engenharia Luiz Fernando Martha & André Maués Brabo Pereira

Projeto de Software Orientado a Objeto

1 Code::Blocks Criação de projetos

PROGRAMAÇÃO JAVA. Parte 1

Fundamentos de Programação II. Introdução à linguagem de programação C++

Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C

Computação e Programação Aula prática nº 5. Enunciados dos problemas

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Prof.Msc Jocênio Marquios Epaminondas.

2ª Aula de Problemas. Uma nota sobre o exercício 3 da 2ª aula de problemas.

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Linguagem de Programação I

Simulador do Processador Neander T&D-Bench Simulator Manual do Usuário. por Júlio César Maccali. revisado por Prof. Christian Zambenedetti

Eclipse com c++11 e boost Etapa 1- Download da IDE Eclipse c++ e configuração do MinGW

Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

Operações e Expressões

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS - Grupo 550 INFORMÁTICA Planificação Anual /Critérios de avaliação

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

Ao conjunto total de tabelas, chamamos de Base de Dados.

Introdução a Java. Hélder Nunes

Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis

Transcrição:

Engenharia de Software

Objectivos Indicação onde são utilizados os computadores Primeiro programa em C++ Etapas básicas do desenvolvimento de programas Projecto centrado nos objectos Classes e programação orientada por objectos 2

Utilização de computadores Indústria Robots, CAD, gestão de projectos e controlo Estado Defesa, espaço, dados seguros, tempo Medicina Registos médicos, sistema de apoio à vida, tomografias axiais Lazer Animação, efeitos especiais, jogos Ciência Simulações, análise molecular, teste de qualidade a alimentos Tecnologias da Informação Bibliotecas digitais, arte online 3

O Mundo do C++ Exemplo de programa: Comentários /* saudacoes.cpp sauda o seu utilizador * * Input: O nome do utilizador * Output: Uma saudacao personalizada *********************************************************/ #include <iostream> // cin, cout, <<, >> #include <string> // string using namespace std; int main() { cout << Introduza o seu nome, por favor: "; string nome; cin >> nome; cout << "\nbenvindo ao mundo do C++, " << nome << "!\n"; } Nomes relacionados com normas de C++ Bloco principal do programa. Contém instruções de C++. Instruções de compilação 4

O Mundo do C++ Instruções em C++ int main() { variável cout << Introduza o seu nome, por favor: "; string nome; cin >> nome; cout << "\nbenvindo ao mundo do C++, " << nome << "!\n"; } Declaração de Saída de cadeia de caracteres e de valor gravado numa variável Instrução de saída para o utilizador Entrada do teclado gravada numa variável 5

Etapas do desenvolvimento de programas 1. Projecto Análise do problema, e especificação do algoritmo para resolver o problema. 2. Codificação do programa Escrita da solução na sintaxe da linguagem escolhida 3. Execução, testes e depuração de erros Correção de erros (debugging) 4. Manutenção Actualizações (updates), e modificações necessárias 6

Problema Maior bola de corda do mundo existe em Cawker City, Kansas, EUA. Quanto pesa a bola? Quantos Kms atingiria a bola de fio se fosse desenrolada? 7

Programação centrada em Objectos 1. Comportamento: descrição do que o programa deve fazer. 2. Objectos: Identificar e dar categorias aos objectos. 3. Operações: Identificar as operações necessárias para resolver o problema. 4. Algoritmo: manipula os objectos e as operações sobre os objectos de forma a resolver o problema. 8

Comportamento Cálculo do peso de uma bola de corda. Insira o raio da esfera : 9 Insira a densidade da esfera: 100 A calcular... Peso da bola de corda = 999.99 9

Objectos Descrição prompt para raio da esfera Objectos Tipo Espécie Nome string Constante nenhum Écran ostream variável cout raio da esfera double variável raio Teclado istream variável cin peso da bola double variável peso 10

Objectos adicionais O cálculo do peso requer objectos adicionais: Descrição Objectos Tipo Espécie Nome densidade da esfera double variável densidade 4.0 double constante π double constante PI 3 integer constante 3.0 double constante 11

Operações Escreve prompt para raio da esfera em cout Recebe valor real de cin Grava o valor em raio Escreve prompt para densidade da esfera em cout Recebe valor real de cin Grava o valor em densidade Calcula o peso Devolve o valor de peso para cout 12

Algoritmo 1. Inicializa constante PI 2. Enviar prompt para cout para raio da esfera 3. Recebe valor real de cin, e grava-o em raio 4. Enviar prompt para cout para densidade da esfera. 5. Recebe valor real de cin, e grava-o em densidade 6. Calcula: peso = densidade 4.0 π raio 3.0 7. Saída do valor do peso para cout 3 13

Codificação Primeiro, cria-se um programa vazio que contém: O cabeçalho, directivas para o compilador para adicionar as bibliotecas necessárias para os objectos e operações Uma função main vazia Conversão de cada passo do algoritmo em código. Se for utilizado um objecto que não foi declarado anteriormente, adiciona uma instrução de declaração que especifica o tipo e o nome do objecto. 14

Programa PesoEsfera.cpp /* PesoEsfera.cpp calcula o peso de uma esfera. * * Input: O raio (metros) e a densidade (Kg/m3) * da esfera * Output: O peso da esfera (Kg) ************************************************/ #include <iostream> // cin, cout, <<, >> #include <cmath> // pow() using namespace std; int main() { } 15

Programa PesoEsfera.cpp int main() { const double PI = 3.14159; cout << Insira o raio da esfera (m): "; double raio; cin >> raio; cout << \ninsira a sua densidade (Kg/m3): "; double densidade; cin >> densidade; double peso = densidade * 4.0 * PI * pow(raio, 3) / 3.0; cout << \no peso da esfera e aproximadamente " << peso << " Kg.\n"; } 16

Testes Insira o raio da esfera (m): 6.5 Insira a sua densidade (Kg/m3): 14.6 O peso da esfera e aproximadamente 16795 Kg 17

Testes, Execução e Depuração Erros mais comuns: Erros gramaticais (de sintaxe) na linguagem de alto nível Erros durante a execução Erros no projecto do algoritmo 18

Erros de sintaxe Exemplo: double raio Falta um ponto e vírgula ( ; ) Compilador encontra este tipo de erros. O diagnóstico depende do compilador. O Visual C++ dá informações detalhadas dos erros. 19

Erros de execução (run-time) Não são detectados até o programa correr Exemplos: Divisão por zero faz o programa rebentar (dá erro e acaba a execução do programa). Tirar a raíz quadrada de um número negativo faz o programa acabar. Os programas devem ser modificados de forma a evitar que o programa acabe onde não deve. 20

Erros lógicos (semânticos) O programa compila, corre sem erros, mas devolve resultados incorrectos! Estes erros podem ser difíceis de encontrar. São encontrados através de exemplos de dados, e comparando com cálculo dos resultados à mão. Nota: Os testes são cada vez mais difíceis quanto maior é o programa Alguns programas correm durante anos até aparecer um erro lógico. 21

Manutenção Programas dos alunos correm apenas algumas vezes Programas no mundo real são utilizados durante bastantes anos Devido a investimentos significativos de recursos Um programa pode exigir novas tarefas durante o seu ciclo de vida. A manutenção é chamada upgrading. 22

Esfera como um objecto Relembrando a descrição do comportamento da esfera de corda: Pergunta o valor valor do do raio raioe densidade. Utilizador introduz os os valores. Programa calcula calculao peso, peso, e mostra-o no no écran. écran. Verificando a lista de objectos: Não são referidos objectos do tipo esfera. São apenas utlizados os atributos da esfera. O substantivo principal foi ignorado esfera 23

Criação de um novo tipo: Esfera Quando não existe um tipo para um objecto é criado um novo: É denominada de classe Uma dada classe contém: Espaço em memória para guardar os atributos de um objecto Operações para manipular esse objecto 24

Operações para a classe Esfera Inicialização dos atributos em valores por defeito Leitura de vários valores para os atributos Escrita dos vários valores dos atributos Obtenção de valores dos atributos para serem utilizadas por outras operações (funções, etc.) 25

Exemplo de código com Esfera #include <iostream> // cin, cout, <<, >> #include Esfera.h" // classe Esfera using namespace std; int main() { cout << Insira o raio (m)" << " e a densidade (Kg/m3) da esfera: "; Esfera umaesfera; umaesfera.leraio_e_densidade(cin); cout << "\na esfera pesa " << umaesfera.buscarpeso() << " Kg.\n"; } Declaração de objecto do tipo Esfera Ficheiro com a declaração de Esfera Objecto umaesfera recebe mensagem para efectuar operações 26

Cálculo da densidade com a classe #include <iostream> // cin, cout, <<, >> #include Esfera.h" // classe Esfera using namespace std; int main() { cout << Insira o raio (m) " << " e o peso (Kg) da esfera: "; Esfera umaesfera; umaesfera.leraio_e_peso(cin); cout << "\na densidade da esfera e " << umaesfera.buscardensidade() << " Kg/m3\n"; } 27