Engenharia de Software

Tamanho: px
Começar a partir da página:

Download "Engenharia de Software"

Transcrição

1 Sumário Engenharia de Software Modelos de desenvolvimento de software Fases de desenvolvimento Programação modular Abordagem top-down e bottom-up Linguagens de programação: Compilação / Interpretação Aplicação Programação 2007/2008 DEEC-IST 1 Engenharia de Software Tem como finalidade o desenvolvimento / construção de programas para computadores: Que funcionam correctamente Que estejam: Bem escritos Bem documentados Leitura fácil Que permitam a sua modificação ao longo do tempo de vida do produto - programa Programação 2007/2008 DEEC-IST 2

2 Engenharia de Software Os programas podem ser classificados: De pequena complexidade: Poucas linhas de código O desenvolvimento é feito por um ou dois programadores Utilização de uma única linguagem de programação Preocupação com a arquitectura do programa Bem organizado Estruturas de dados adequadas Bem documentado Eficiência e precisão da solução que foi implementada Preocupação com os algoritmos Rapidez Utilização dos recursos de forma eficiente Programação 2007/2008 DEEC-IST 3 Engenharia de Software De grande complexidade: Milhares de linhas de código Equipas de programadores Diversas ferramentas e várias linguagens de programação Utilização de métodos de trabalho que permitem re-utilizar código que já tenha sido desenvolvido Objectivo: Finalização de um produto para ser colocado rapidamente no mercado Técnicas de programação e de gestão de projectos que permitem acompanhar a evolução do produto Correção de erros que tenham sido detectados. Incorporação de novas funcionalidades Programação 2007/2008 DEEC-IST 4

3 Modelos de desenvolvimento de software Modelos Permitem definir um conjunto de acções a serem realizadas em determinadas fases de desenvolvimento do projecto de software, de modo a controlar o processo e a qualidade do produto final. Há diversos modelos um dos quais é o modelo em cascata. Especificação dos requisitos Análise Projecto / Detalhe Implementação e Integração Teste, Verificação e Manutenção Programação 2007/2008 DEEC-IST 5 Fases de desenvolvimento de software Especificação dos requistos Tem como finalidade definir os objectivos que o programa deve realizar. A especificação deve ser o mais detalhada possível de modo a evitar ambiguidades de interpretação. Análise A análise do problema tem como objectivo a determinação de soluções para o problema. Deve ser escolhida aquela que seja mais adequada. De preferência devem ser utilizadas soluções que já tenham sido testadas. Programação 2007/2008 DEEC-IST 6

4 Fases de desenvolvimento de software Projecto / Desenho Consiste na definição de um algoritmo (sequência de acções) que ao ser implementado produz os resultados que foram especificados ao nível dos requisitos. Implementação Consiste na especificação de módulos de software, escrita e documentação. É importante que o código esteja bem documentado de modo a que numa fase posterior possa ser compreendido e alterado caso seja necessário. Programação 2007/2008 DEEC-IST 7 Fases de desenvolvimento de software Teste e Verificação Como qualquer obra em engenharia, um programa deve funcionar correctamente, de acordo com as especificações. A fase de teste e verificação tem com objectivo determinar se existem erros de execução do programa, de modo a serem corrigidos. Manutenção: A manutenção do software envolve diversas actividades: Alteração do código de modo a serem incorporadas novas funcionalidades. Correção de erros que sejam encontrados após o lançamento do produto no mercado. Modicação do software de modo a ser compatível com novas plataformas computacionais. Programação 2007/2008 DEEC-IST 8

5 Programação modular O objectivo da programação modular: Consiste na separação de uma tarefa complexa em tarefas mais simples de modo a facilitar a resolução do problema. As soluções para as tarefas mais simples são agrupadas em módulos Os módulos são definidos tendo em conta o princípio da independência entre eles, grau de independência. Cada módulo contém blocos de código, denominados de funções. As funções de um módulo estão relacionadas entre si de acordo com um critério de organização, grau de coesão. Programação 2007/2008 DEEC-IST 9 Técnicas de desenvolvimento Abordagem Top-Down Ao longo do processo de desenvolvimento de um programa há um progressivo aumento de detalhe e refinamento da solução. No nível mais elevado são definidos os subsistemas que realizam a solução. Cada subsistema é decomposto em módulos de modo a obter problemas mais simples. Ao nível mais baixo são definidos os algoritmos e as estruturas de dados de suporte dos algoritmos. Programação 2007/2008 DEEC-IST 10

6 Técnicas de desenvolvimento Abordagem Bottom-Up A solução é construida a partir da composição de elementos já existentes. Os módulos são construidos a partir de código já existente em bibliotecas (de funções). Os módulos são reunidos de modo a formarem subsistemas. Na prática são utilizadas as duas técnicas: Top-Down - Para efectuar a decomposição do problema em problemas mais simples. Bottom-Up - Para utilizar código que já foi desenvolvido e testado, e que está disponível em bibliotecas de funções. Resultado: Permite reduzir o tempo de desenvolvimento de um programa. Programação 2007/2008 DEEC-IST 11 Compilação / Interpretação Existem duas formas de obter um programa executável: Através do processo de compilação: Neste processo o programa executável só é obtido quando as instruções do programa fonte forem traduzidas na sua totalidade. Execução rápida. Se existir um erro de compilação não é possível obter o programa executável. Através do processo de interpretação: O programa é executado a partir do programa fonte. O interpretador lê uma instrução de cada vez do programa fonte, efectua a tradução e respectiva execução. Execução lenta. Se existirem erros de sintaxe no programa fonte, serão detectados no momento da execução da instrução que tem o erro. A fase de desenvolvimento é mais rápida. Programação 2007/2008 DEEC-IST 12

7 Problema: Pretende-se desenvolver um programa que permita calcular o volume de um cilindro. O cilindro tem altura h e raio da base r. h r Programação 2007/2008 DEEC-IST 13 Análise do Problema: Objectivo: Determinar o volume do cilindro V. Dados: h altura do cilindro; r - raio da base; V depende de r e de h; mas qual é a expressão? h r Programação 2007/2008 DEEC-IST 14

8 Análise do Problema / Resolução: A base do cilindro é um circunferência cuja área é dada por: 2 A r =π O volume do cilindro é dado por: 2 = π h V r h r Programação 2007/2008 DEEC-IST 15 Projecto, 1ª versão: Pedir ao utilizador os valores de r e de h Calcular V Apresentar o resultado Programação 2007/2008 DEEC-IST 16

9 Projecto, 2ª versão: Pedir ao utilizador os valores de r e de h r e h - representam números reais não negativos. Declarar as variáveis r e h do tipo float Utilizar a função scanf ( ) para ler dados do teclado. Verificar se o utilizador introduz números não negativos Programação 2007/2008 DEEC-IST 17 Projecto, 2ª versão (cont.): Calcular V Declarar a variáveis r e h, do tipo float Da expressão, é necessário especificar as operações de Multiplicação - Operador * Elevação ao quadrado - Função pow ( ) Apresentar o resultado Utilizar a função printf( ) para apresentar o resultado no ecrã Programação 2007/2008 DEEC-IST 18

10 Implementação: /****************************************************************************** * Este programa calcula o volume de um cilindro de comprimento * 'h' e raio 'r'. ******************************************************************************/ #include <stdio.h> /* Utilizacao das funcoes printf() e scanf() */ #include <math.h> /* potencia de - pow( ) */ int main(void) { const float PI = ; int scan_res; /* resultado da função scanf */ float h, r; /* altura do cilindro e raio da sua base */ float area,volume; /* área da base e volume do cilindro*/ _Bool valores_invalidos; /* verificação de valores negativos*/ Programação 2007/2008 DEEC-IST 19 printf("este programa calcula o volume de um cilindro\n"); printf("introduza a altura do cilindro e o raio da base:\n"); scan_res = scanf("%f %f",&h,&r); printf( Altura=%f raio=%f\n",h,r); if (scan_res!= 2 ) { printf("erro na introdução dos valores!\n"); printf("fim do programa\n"); return -1; } valores_invalidos = (h < 0) (r < 0); if (valores_invalidos) { printf("as dimensões do cilindro têm de ser positivas\n"); printf("fim do programa\n"); return -1; } Programação 2007/2008 DEEC-IST 20

11 area = PI*pow(2.0, r); volume = area * h; printf("o valor do volume do cilindro é:%7.2f\n", volume); } return 0; Programação 2007/2008 DEEC-IST 21 Teste: Para testar o programa devemos especificar um conjunto de valores de entrada para os quais se conheça o valor da solução e depois comparar o resultado do programa com o valor da solução. Atenção: Para demonstrar que um programa não funciona correctamente é suficiente encontrar uma situação em que o resultado do programa é diferente do que é indicado pelos requisitos. Para demonstrar que um programa não produz resultados errados é necessário que o programa funcione correctamente para todos os conjuntos de dados de entrada do problema. Programação 2007/2008 DEEC-IST 22

12 Teste, (cont): Teste-se então o programa com os valores (em metros), h = 10.0, r = 1.0 para os quais a solução é: Volume = m 2 Resultado do programa: Este programa calcula o volume de um cilindro Introduza a altura do cilindro e o raio da base: Altura = raio= O valor do volume do cilindro é: Erro de execução! Programação 2007/2008 DEEC-IST 23 Debug (Correção) e Teste: A detecção da causa de erro pode ser um processo lento. A técnica base consiste: Inspecção do contéudo das variáveis ao longo da execução do programa. Determinação das instruções que foram executadas e que afectaram o conteúdo das variáveis. Para se ter acesso ao conteúdo das variáveis Pode utilizar-se a função printf() para mostrar os valores das variáveis no ecrã. Em alternativa deve-se utilizar uma ferramenta auxiliar de desenvolvimento de programas, denominada de debugger. Esta ferramenta permite executar o programa no modo passo a passo com a possibilidade de inspeccionar o conteúdo das variáveis. Programação 2007/2008 DEEC-IST 24

13 Debug e Teste (cont): No programa que foi apresentado, a causa de erro é consequência da utilização incorrecta da funçãopow( ), os argumentos da função estão trocados Para se utilizar uma função correctamente é necessário: Conhecer a finalidade da função Conhecer os argumentos: Número de argumentos da função Lugar que ocupam na lista de argumentos da função Significados dos argumentos Tipo dos argumentos Tipo e significado do valor de retorno da função Consultar a descrição da função, tendo o cuidado de inspeccionar o protótipo da função (Exemplo: Em linux utilizar o comando man pow) Programação 2007/2008 DEEC-IST 25 Debug e Teste (cont): Informação obtida a partir da consulta do manual acerca da funçãopow( ) Ficheiro de include necessário para utilizar a função: #include <math.h> Protótipo: double pow (double x, double y); Descrição: Calcula x y. O resultado é um número real com precisão (double). Se x é não nulo e y é nulo então a função devolve 1.0 Se x é nulo e y é não nulo então a função devolve 0.0 Programação 2007/2008 DEEC-IST 26

14 Debug e Teste (cont): Após a substituição da linha area = PI*pow(2.0, r); por area = PI*pow(r, 2.0); Resultado do programa: Este programa calcula o volume de um cilindro Introduza a altura do cilindro e o raio da base: Altura = raio= O valor do volume do cilindro é: Programação 2007/2008 DEEC-IST 27 Manutenção: Suponha que se pretende alterar o programa para indicar também a área da base do cilindro, para além do volume Programação 2007/2008 DEEC-IST 28

Linguagem de Programação

Linguagem de Programação Linguagem de Programação aula 4 Engenharia Elétrica e Engenharia de Automação Introdução à Computação 1.o sem/2013 Profa Suely (e-mail: smaoki@yahoo.com) Programas Programas são seqüências de instruções

Leia mais

Legibilidade do código fonte

Legibilidade do código fonte Sumário Legibilidade do código fonte Exemplos Normas Instrução switch Sintaxe e Semântica Exemplo Tipos enumerados Exemplo Programação 2007/2008 DEEC-IST 1 Legibilidade do código fonte Exemplo: Considere

Leia mais

Sumário. Ficheiros. Ficheiros

Sumário. Ficheiros. Ficheiros Sumário Ficheiros Motivação Operações Ficheiros de texto e binários Manipulação de ficheiros de texto Abertura Encerramento Descritores de ficheiros: stdin, stdout, stderr Escrita Leitura Outras funções

Leia mais

Programação. MEAer e LEE. Manipulação de ficheiros de texto. Bertinho Andrade da Costa. Instituto Superior Técnico. 2010/2011 1º Semestre

Programação. MEAer e LEE. Manipulação de ficheiros de texto. Bertinho Andrade da Costa. Instituto Superior Técnico. 2010/2011 1º Semestre Programação MEAer e LEE Bertinho Andrade da Costa 2010/2011 1º Semestre Instituto Superior Técnico Manipulação de ficheiros de texto Programação 2010/2011 IST-DEEC Manipulação de Ficheiros 1 Sumário Ficheiros

Leia mais

Conceito de procedimentos e funções

Conceito de procedimentos e funções Tópicos Introdução Como funcionam as funções Declaração de funções Exemplo de funções 1 Introdução As funções, são unidades de código desenhadas para cumprir uma determinada tarefa. Até agora, já utilizamos

Leia mais

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU Aula 5 Oficina de Programação Introdução ao C Profa. Elaine Faria UFU - 2017 Linguagem de Programação Para que o computador consiga ler um programa e entender o que fazer, este programa deve ser escrito

Leia mais

Capítulo 4: Programando com Funções. Pontifícia Universidade Católica Departamento de Informática

Capítulo 4: Programando com Funções. Pontifícia Universidade Católica Departamento de Informática Capítulo 4: Programando com Funções Pontifícia Universidade Católica Departamento de Informática Organização de Código Um programa de computador representa a implementação de uma solução de um determinado

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Aula 05 Estruturas Condicionais Edirlei Soares de Lima Tomada de Decisão Até o momento, todas as instruções dos nossos programas eram executadas sequencialmente.

Leia mais

Argumentos da linha de comando Exemplos Recursividade de funções Exemplos

Argumentos da linha de comando Exemplos Recursividade de funções Exemplos Sumário Argumentos da linha de comando Exemplos Recursividade de funções Exemplos Programação 2007/2008 DEEC-IST 1 Argumentos da linha de comando Motivação: Nas aulas de laboratório foi utilizado o compilador

Leia mais

Introdução à Programação Estruturada Parte 2. Material da Prof. Ana Eliza

Introdução à Programação Estruturada Parte 2. Material da Prof. Ana Eliza Introdução à Programação Estruturada Parte 2 Material da Prof. Ana Eliza programa Passo 1: Definir o problema O que fazer? Passo 2: Especificar a solução Como fazer? Passo 3: Codificar a solução Passo

Leia mais

Programação. MEAer e LEE. Bertinho Andrade da Costa. Instituto Superior Técnico. Argumentos da linha de comando Funções recursivas

Programação. MEAer e LEE. Bertinho Andrade da Costa. Instituto Superior Técnico. Argumentos da linha de comando Funções recursivas Programação MEAer e LEE Bertinho Andrade da Costa 2010/2011 1º Semestre Instituto Superior Técnico Argumentos da linha de comando Funções recursivas Programação 2010/2011 DEEC-IST Arg. da linha de comando;

Leia mais

Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre. T. 04 Algoritmos e Programação Estruturada

Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre. T. 04 Algoritmos e Programação Estruturada Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre T. 04 Algoritmos e Programação Estruturada Objectivos: Aprender o conceito de algoritmo e suas características fundamentais

Leia mais

Introdução a Programação de Jogos

Introdução a Programação de Jogos Introdução a Programação de Jogos Aula 03 Funções Prof. Augusto Baffa < abaffa@inf.puc-rio.br> Organização de Código Um programa representa a implementação de uma solução de um determinado problema. É

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;

Leia mais

Permite modularidade (dividir programa em partes): Facilita a depuração (debug) e portabilidade.

Permite modularidade (dividir programa em partes): Facilita a depuração (debug) e portabilidade. 222222222222222222222222222 8 - FUNÇÕES 81 - Características básicas É um trecho independente de código, com objetivos bem definidos Programas em C, geralmente consistem em várias pequenas funções, ao

Leia mais

LINGUAGEM E TECNICAS DE PROGRAMAÇÃO

LINGUAGEM E TECNICAS DE PROGRAMAÇÃO LINGUAGEM E TECNICAS DE PROGRAMAÇÃO Aula 03 Lógica Entrada de dados Lógica Lógica, no seu sentido mais amplo, está presente em todos os passos de nossas vidas, servindo de base para resolução de nossos

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Aula 04 Funções Edirlei Soares de Lima Organização de Código Um programa representa a implementação de uma solução de um determinado problema. É fundamental

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 10 Exemplo de desenvolvimento de Programa Modular: Máquina de venda de bilhetes D.E.M. Área Científica de Controlo Automação e

Leia mais

Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo

Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo Este documento explica como transformar um algoritmo escrito na forma pseudocódigo

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec - LEAN 1º Semestre 2010-2011 Aula Teórica 4 Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Alinhamento da AT 4 Construção de programas Actividades de teste

Leia mais

DECivil Departamento de Engenharia Civil, Arquitectura e Georrecursos. Apresentação. Computação e Programação (CP) 2013/2014.

DECivil Departamento de Engenharia Civil, Arquitectura e Georrecursos. Apresentação. Computação e Programação (CP) 2013/2014. DECivil Departamento de Engenharia Civil, Arquitectura e Georrecursos Apresentação Computação e Programação (CP) 2013/2014 Aula 1 Objetivos Ficar a saber: funcionamento da unidade curricular (UC) Computação

Leia mais

Conhecendo a Linguagem de Programação C

Conhecendo a Linguagem de Programação C Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Conhecendo a Linguagem de Programação C DCA0800 - Algoritmos e Lógica de Programação Heitor Medeiros 1 Como

Leia mais

Linguagem C. André Tavares da Silva.

Linguagem C. André Tavares da Silva. Linguagem C André Tavares da Silva dcc2ats@joinville.udesc.br Variáveis Posição nomeada de memória que é usada para guardar um valor que pode ser modificado pelo programa. Todas as variáveis devem ser

Leia mais

INSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE

INSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE Algoritmos ANSI C - Introdução Copyright 2014 IFRN Agenda Conceitos básicos ANSI C Hello World Funções em C Exercícios 2 /26 A linguagem

Leia mais

Funções getchar() e putchar()

Funções getchar() e putchar() Sumário Tipos elementares Inteiro, Carácter, Real, Booleano, Void Variáveis e os operadores & e * Constantes Funções printf() e scanf() Opções de formatação Funções getchar() e putchar() Programação 2007/2008

Leia mais

Capítulo 4: Condicionais

Capítulo 4: Condicionais Capítulo 4: Condicionais INF1004 e INF1005 Programação 1 Pontifícia Universidade Católica Departamento de Informática Tomada de Decisão Até o momento, todas as instruções eram executadas, uma após a outra.

Leia mais

Introdução a Programação de Jogos

Introdução a Programação de Jogos Introdução a Programação de Jogos Aula 06 Estruturas Condicionais Edirlei Soares de Lima Tomada de Decisão Até o momento, todas as instruções dos nossos programas eram executadas

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação 1.Ano LCC-MIERSI DCC - FCUP Nelma Moreira Aula 2 Etapas para o desenvolvimento dum programa 1. Perceber o problema 2. Encontrar um procedimento algorítmico para o resolver. Estratégias:

Leia mais

ALGORITMOS AULA 01. Baseado nas aulas do Prof. Jorgiano Vidal

ALGORITMOS AULA 01. Baseado nas aulas do Prof. Jorgiano Vidal ALGORITMOS AULA 01 Baseado nas aulas do Prof. Jorgiano Vidal LINGUAGEM C Uma das grandes vantagens do C é que ele possui tanto caracterìsticas de "alto nìvel" quanto de "baixo nìvel". Linguagem de propósito

Leia mais

Modularidade - Funções e Procedimentos

Modularidade - Funções e Procedimentos Modularidade - Funções e Procedimentos José Gustavo de Souza Paiva Problema Em diversas situações, é preciso executar uma tarefa específica diversas vezes em um programa, variando apenas os dados de entrada

Leia mais

TÉCNICO DE INFORMÁTICA - SISTEMAS

TÉCNICO DE INFORMÁTICA - SISTEMAS 782 - Programação em C/C++ - estrutura básica e conceitos fundamentais Linguagens de programação Linguagem de programação são conjuntos de palavras formais, utilizadas na escrita de programas, para enunciar

Leia mais

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação Algoritmos e Introdução à Programação Lógica e Linguagem de Programação Prof. José Honorato Ferreira Nunes honoratonunes@softwarelivre.org http://softwarelivre.org/zenorato/honoratonunes Linguagem C Prof.

Leia mais

Capítulo 3: Programando com Funções

Capítulo 3: Programando com Funções Capítulo 3: Programando com Funções INF1004 e INF1005 Programação 1 Pontifícia Universidade Católica Departamento de Informática Organização de Código Um programa de computador representa a implementação

Leia mais

Capítulo 2: Condicionais. Pontifícia Universidade Católica Departamento de Informática

Capítulo 2: Condicionais. Pontifícia Universidade Católica Departamento de Informática Capítulo 2: Condicionais Pontifícia Universidade Católica Departamento de Informática Tomada de Decisão Até o momento, todas as instruções eram executadas, uma após a outra. No capítulo 3, vimos que a

Leia mais

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO E DO DESPORTO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS CEFET-MG UNIDADE DE ENSINO

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO E DO DESPORTO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS CEFET-MG UNIDADE DE ENSINO SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO E DO DESPORTO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS CEFET-MG UNIDADE DE ENSINO DESCENTRALIZADA DE VARGINHA CAMPUS VIII 1 Algoritmo, Contexto

Leia mais

PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008

PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008 Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008 Mestrado Integrado em Engenharia Electrotécnica e Computadores 1º ano 1º semestre Funções e Vectores http://tele1.dee.fct.unl.pt

Leia mais

Apresentação. Informação geral + Conceitos iniciais

Apresentação. Informação geral + Conceitos iniciais Apresentação Informação geral + Informação geral Página da cadeira Objectivos principais Compreender a importância dos algoritmos e dos programas de computador para a resolução de problemas em engenharia.

Leia mais

INF1005: PROGRAMAÇÃO I. Capítulo 12. Ivan Mathias Filho Funções Matemáticas

INF1005: PROGRAMAÇÃO I. Capítulo 12. Ivan Mathias Filho Funções Matemáticas INF1005: PROGRAMAÇÃO I Capítulo 12 Ivan Mathias Filho ivan@inf.puc-rio.br 1 Funções Matemáticas Função é uma relação de um ou vários valores de argumentos de entrada em um ÚNICO resultado de saída. O conjunto

Leia mais

Programação : Engenharia Informática 6619 : Tecnologias e Sistemas de Informação. Cap. 6 Subprogramas I Subprogramas I

Programação : Engenharia Informática 6619 : Tecnologias e Sistemas de Informação. Cap. 6 Subprogramas I Subprogramas I Programação 11543 : Engenharia Informática 6619 : Tecnologias e Sistemas de Informação Cap. 6 Subprogramas I Subprogramas I Sumário: Modelo de programação imperativa revisitado Relação hierárquica entre

Leia mais

Resolução de Problemas com Computador. Resolução de Problemas com Computador. Resolução de Problemas com Computador

Resolução de Problemas com Computador. Resolução de Problemas com Computador. Resolução de Problemas com Computador Prof. Araken Medeiros araken@ufersa.edu.br O processo de resolução de um problema com um computador leva à escrita de um algoritmo ou programa e à sua execução. Mas o que é um algoritmo? Angicos, RN 15/9/2009

Leia mais

Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre. T. 05 Subprogramas I

Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre. T. 05 Subprogramas I Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre T. 05 Subprogramas I Sumário: Modelo de programação imperativa revisitado Relação hierárquica entre funções Diagrama de sintaxe

Leia mais

Introdução a Computação

Introdução a Computação Introdução a Computação Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Programação Programa é um algoritmo escrito em uma linguagem de programação. Existem diversas linguagens

Leia mais

Entender o problema Encontrar um algoritmo para resolvê-lo. Implementar o algoritmo numa linguagem de programação

Entender o problema Encontrar um algoritmo para resolvê-lo. Implementar o algoritmo numa linguagem de programação Entender o problema Encontrar um algoritmo para resolvê-lo Implementar o algoritmo numa linguagem de programação Permitem implementar um algoritmo Expressar o algoritmo numa forma que o computador entenda

Leia mais

Introdução à Computação

Introdução à Computação Introdução à Computação Tipos de Dados, Expressões, Operadores e Comandos Básicos Prof.: Julliano Rosa Nascimento julliano.rn@gmail.com Roteiro Tipos de Dados: Revisão Expressões Operadores Comandos Básicos

Leia mais

Técnicas de Programação em Engenharia Elétrica I - Engenharia de Sistemas Embarcados - Prof. Alessandro Zimmer Introdução à Linguagem C

Técnicas de Programação em Engenharia Elétrica I - Engenharia de Sistemas Embarcados - Prof. Alessandro Zimmer Introdução à Linguagem C Técnicas de Programação em Engenharia Elétrica I - Engenharia de Sistemas Embarcados - Prof. Alessandro Zimmer Introdução à Linguagem C Operadores aritméticos Operadores Unários (um só operando) Incremento

Leia mais

Introdução à Programação. Introdução a Linguagem C. Prof. José Honorato F. Nunes

Introdução à Programação. Introdução a Linguagem C. Prof. José Honorato F. Nunes Introdução à Programação Introdução a Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Introdução Variáveis Tipos de dados Operadores e Expressões: Operadores

Leia mais

... Subprogramas Após fazer as tarefas previstas o nosso programa devolve o comando ao sistema operativo. Isto está numa hierarquia onde o nosso progr

... Subprogramas Após fazer as tarefas previstas o nosso programa devolve o comando ao sistema operativo. Isto está numa hierarquia onde o nosso progr 26 - Subprogramas Executar um programa é pedir ao sistema operativo (que é o programa principal de um computador) que passe o comando do computador para o nosso programa. ... Subprogramas Após fazer as

Leia mais

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C 1 2 Condicional 1 Se 'C' é verdadeira Então?; 3 Condicional 1 Se 'C' é verdadeira Então? if (C)?; 4 Condicional 2 Se 'C' é verdadeira Então? Senão?? 5 Condicional

Leia mais

Acadêmico: Subprogramação (funções)

Acadêmico: Subprogramação (funções) Algoritmos Acadêmico: IP 06 Subprogramação (funções) Até agora, em todos os programas que criamos, codificamos uma única função: main(). Entretanto, em todos eles, diversas funções foram utilizadas: printf(),

Leia mais

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Programação em C Variáveis e Expressões DCA0800 Algoritmos e Lógica de Programação Heitor Medeiros Florencio

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 9 Abordagem ao projecto de programas s, Abordagem Top-Down, Modularidade Processo de Desenvolvimento Tipos de Erros e Casos de

Leia mais

Linguagem de Programação C

Linguagem de Programação C Linguagem de Programação C Aula 08 Diogo Pinheiro Fernandes Pedrosa Universidade Federal Rural do Semiárido Departamento de Ciências Exatas e Naturais 13 de novembro de 2009 Introdução O que é uma linguagem

Leia mais

Introdução à Computação

Introdução à Computação Introdução à Computação Tipos de Dados, Expressões, Operadores e Comandos Básicos Prof.: Julliano Rosa Nascimento julliano.rn@gmail.com Roteiro Tipos de Dados: Revisão Expressões Operadores Comandos Básicos

Leia mais

Introdução à linguagem C

Introdução à linguagem C Introdução à linguagem C Luís Charneca luis.charneca@gmail.com Introdução ao C O C nasceu na década de 70. O seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 correndo

Leia mais

Linguagens de Programação

Linguagens de Programação Universidade Federal do Rio Grande do Norte Centro de Tecnologia Departamento de Computação e Automação Linguagens de Programação Professor Responsável: Luiz Affonso Henderson Guedes de Oliveira Prof.

Leia mais

Conceitos básicos. Computação eletrônica: Gurvan Huiban

Conceitos básicos. Computação eletrônica: Gurvan Huiban Computação eletrônica: Conceitos básicos Gurvan Huiban ghuiban@cin.ufpe.br Plano de aula 1 Estrutura de um programa em C 2 Variáveis e constantes 3 Comandos de entrada e saída Estrutura de um programa

Leia mais

Programação: Vetores

Programação: Vetores Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: funções

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: funções Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: funções Prof. Renato Pimentel 1 Subprogramas Subprograma: programa que auxilia o programa principal na realização de uma determinada

Leia mais

ECT1203 Linguagem de Programação

ECT1203 Linguagem de Programação Universidade Federal do Rio Grande do Norte Escola de Ciências e Tecnologia ECT1203 Linguagem de Programação Prof. Aquiles Burlamaqui Profa. Caroline Rocha Prof. Luiz Eduardo Leite Prof. Luciano Ferreira

Leia mais

ENGENHARIA DE PRODUÇÃO PROGRAMAÇÃO Algoritmos Conceitos Iniciais. Prof. Luiz Fernando Laguardia Campos FMS

ENGENHARIA DE PRODUÇÃO PROGRAMAÇÃO Algoritmos Conceitos Iniciais. Prof. Luiz Fernando Laguardia Campos FMS ENGENHARIA DE PRODUÇÃO PROGRAMAÇÃO Algoritmos Conceitos Iniciais Prof. Luiz Fernando Laguardia Campos FMS lflcampos@machadosobrinho.com.br Compilação/Interpretação Um compilador ao receber como entrada

Leia mais

ESCOLA SUPERIOR DE TECNOLOGIA DE TOMAR DEPARTAMENTO DE ENGENHARIA INFORMÁTICA 2006/2007

ESCOLA SUPERIOR DE TECNOLOGIA DE TOMAR DEPARTAMENTO DE ENGENHARIA INFORMÁTICA 2006/2007 ESCOLA SUPERIOR DE TECNOLOGIA DE TOMAR DEPARTAMENTO DE ENGENHARIA INFORMÁTICA INTRODUÇÃO À PROGRAMAÇÃO (ENG. INFORMÁTICA) COMPUTADORES E PROGRAMAÇÃO I (ENG. ELECTROTÉCNICA) 2006/2007 TRABALHO PRÁTICO Nº

Leia mais

Programação I A Linguagem C. Prof. Carlos Alberto

Programação I A Linguagem C. Prof. Carlos Alberto Programação I A Linguagem C Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br 2 Origem A linguagem C foi desenvolvida em 1972, nos Laboratórios Bell, por Dennis Ritchie. Implementada

Leia mais

Computação e Programação Exame Época de recurso

Computação e Programação Exame Época de recurso Nome : Número : Computação e Programação 2013-2014 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época de recurso 29 de Janeiro de 2014 v

Leia mais

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação Ederson Luiz da Silva Ciência da Computação Algoritmos e Programação Programação em C Características Criado na década de 70; Possui muitas regras em sintaxe e semântica; Utilizado para programação de

Leia mais

Introdução à Linguagem C

Introdução à Linguagem C Engenharia de CONTROLE e AUTOMAÇÃO Introdução à Linguagem C Aula 02 DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria beltrame@mail.ufsm.br

Leia mais

ponteiros INF Programação I Prof. Roberto Azevedo

ponteiros INF Programação I Prof. Roberto Azevedo ponteiros INF1005 -- Programação I -- 2016.1 Prof. Roberto Azevedo razevedo@inf.puc-rio.br ponteiros tópicos o que são ponteiros operadores usados com ponteiros passagem de ponteiros para funções referência

Leia mais

16. Compilação no Linux

16. Compilação no Linux 16. Compilação no Linux 16.1 Compilador X Interpretador Um código fonte pode ser compilado ou interpretado. Compiladores e interpretadores tratam o código de maneira diferente. Interpretador: Lê o código

Leia mais

Aula 13 Oficina de Programação Modularização. Profa. Elaine Faria UFU

Aula 13 Oficina de Programação Modularização. Profa. Elaine Faria UFU Aula 13 Oficina de Programação Modularização Profa. Elaine Faria UFU - 2017 O que é modularização? No século XIX, Henry Ford, para baratear e massificar a montagem de carros, criou uma base modular. Esta

Leia mais

Linguagem de Programação

Linguagem de Programação Linguagem de Programação Operadores de Condição if() / else if() / else{} / switch() Gil Eduardo de Andrade Introdução Operadores de condição permitem, ao programador, efetuar testes que determinam quais

Leia mais

Introdução à Programação em C Input / Output

Introdução à Programação em C Input / Output Introdução à Programação em C Input / Output Resumo Aula Anterior Programa começa com função main() Sintaxe para definição de funções Definição de variáveis e atribuições Estruturas de controlo if-then

Leia mais

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

#include <stdio.h> Void main() { printf( Cheguei!\n); } INTRODUÇÃO A LINGUAGEM C #include Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C ANTES DO C ERA A LINGUAGEM B B foi essencialmente uma simplificação da linguagem BCPL. B só tinha um tipo de dado, que

Leia mais

INF1005: Programação 1. Condicionais. 08/03/10 (c) Rogério Rodrigues 1

INF1005: Programação 1. Condicionais. 08/03/10 (c) Rogério Rodrigues 1 INF1005: Programação 1 Condicionais 08/03/10 (c) Rogério Rodrigues 1 Tópicos Principais Tomada de Decisão Expressões Booleanas Blocos de Comandos Exemplos 08/03/10 (c) Paula Rodrigues 2 Tomada de decisão

Leia mais

LINGUAGEM C: FUNÇÕES FUNÇÃO 08/01/2018. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.

LINGUAGEM C: FUNÇÕES FUNÇÃO 08/01/2018. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. LINGUAGEM C: FUNÇÕES Prof. André Backes FUNÇÃO Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. printf(): função que escreve na tela scanf(): função que lê o teclado

Leia mais

Linguagem C Introdução. Contexto Histórico Principais diferenças do Java Funções em C Compilar programas em C no Linux

Linguagem C Introdução. Contexto Histórico Principais diferenças do Java Funções em C Compilar programas em C no Linux Linguagem C Introdução Contexto Histórico Principais diferenças do Java Funções em C Compilar programas em C no Linux Porquê C em AC? A linguagem C fornece um modelo de programação próximo da máquina física

Leia mais

1.1 Linguagens de Programação

1.1 Linguagens de Programação Fundamentos Procurando fazer com que haja uma melhor compreensão para o estudo e desenvolvimento utilizando linguagens de programação, este capítulo apresenta conceitos básicos sobre como um programa pode

Leia mais

Departamento de Engenharia Informática. Sistemas Operativos 1. Utilitário Make

Departamento de Engenharia Informática. Sistemas Operativos 1. Utilitário Make Departamento de Engenharia Informática Sistemas Operativos 1 Utilitário Make Março 2003 1. Modelo de Compilação da Linguagem C Compilar um programa muito simples em C requer, pelo menos, o ficheiro de

Leia mais

Linguagens compiladas: C++ Fora do livro adoptado

Linguagens compiladas: C++ Fora do livro adoptado Linguagens compiladas: C++ Fora do livro adoptado (rep.) Conceitos iniciais Computador Um computador é genericamente uma máquina programável capaz de receber, processar, e fornecer informação. Computador

Leia mais

Projecto e Desenvolvimento de Programas

Projecto e Desenvolvimento de Programas Projecto e Desenvolvimento de Programas Projecto de programas Metodologia de desenvolvimento Construção de algoritmos Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Programa de Computador

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Aula 02 Algoritmos e Ciclo de Desenvolvimento Edirlei Soares de Lima Modelo de um Computador Linguagem de Máquina Um processador executa instruções de máquina.

Leia mais

Revisão. Profa Marina Gomes

Revisão. Profa Marina Gomes Revisão Profa Marina Gomes Algoritmos Na construção de um programa, o problema que o algoritmo representa é composto por três fases. Entrada: dados de entrada do algoritmo. Processamento: ações sobre os

Leia mais

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C 1 Instruções de Entrada Entrada/Leitura de dados Introduzir um valor inteiro/real para X 2 Instruções de Entrada Entrada/Leitura de dados Introduzir um valor inteiro/real

Leia mais

Operadores e separadores Identificadores Palavras chave Constantes

Operadores e separadores Identificadores Palavras chave Constantes Sumário Abordagem de um problema Noções de léxico e de sintaxe Alfabeto da linguagem C Operadores e separadores Identificadores Palavras chave Constantes Programação 2007/2008 DEEC-IST 1 Problema Pretende-se

Leia mais

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO PROF. FABIANO TAGUCHI http://fabianotaguchi.wordpress.com (66) 9953-7642 AULA 02 Revisão de conteúdos da aula passada Exercícios de revisão da aula 01 Estruturas condicionais

Leia mais

Curso de C. Introdução by Arnaldo V. Moura e Daniel F. Ferber 3/10/ :43 AM

Curso de C. Introdução by Arnaldo V. Moura e Daniel F. Ferber 3/10/ :43 AM Curso de C Introdução 1 Introdução Roteiro: Recordando Algoritmos Linguagem de Programação O computador Instruções de Máquina Níveis de Abstração Compilação 2 Algoritmos Recordando: Algoritmo: conjunto

Leia mais

ESTRUTURAS DE CONTROLE

ESTRUTURAS DE CONTROLE ESTRUTURAS DE CONTROLE ESTRUTURA SEQUENCIAL E ESTRUTURAS CONDICIONAIS Introdução à Ciência da Computação Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURAS CONDICIONAIS Estrutura Condicional Simples

Leia mais

Aula 3 Primeiros programas

Aula 3 Primeiros programas Aula 3 Primeiros programas FACOM-UFMS 2012 OBJETIVOS DA AULA Introdução ao CodeBlocks; Criação dos primeiros programas; Esta aula foi baseada nos capítulos 3 e 4 da apostila de Programação de Computadores

Leia mais

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados Introdução à Programação Operadores, Expressões Aritméticas e Entrada/Saída de Dados Programa em C #include int main main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius

Leia mais

Algoritmos RESUMO - LINGUAGEM C

Algoritmos RESUMO - LINGUAGEM C Algoritmos RESUMO - LINGUAGEM C 1 Sintaxe da linguagem C Componentes reconhecidos pela linguagem C (sintaxe da linguagem): tipos propriedades dos dados; declarações partes do programa, podendo dar significado

Leia mais

Anhanguera Educacional S.A. Centro Universitário Ibero-Americano

Anhanguera Educacional S.A. Centro Universitário Ibero-Americano O C++ foi inicialmente desenvolvido por Bjarne Stroustrup durante a década de 1980 com o objetivo de melhorar a linguagem de programação C, mantendo a compatibilidade com esta linguagem. Exemplos de Aplicações

Leia mais

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. 1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras

Leia mais

Aula 3 Constantes e funções de E/S

Aula 3 Constantes e funções de E/S Programação I Aula 3 e funções de E/S Prof. Laura Silva de Assis e Prof. Luis Carlos Retondaro Engenharia de Computação 2o Período CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca

Leia mais

6 Alguns conceitos e comandos em programação

6 Alguns conceitos e comandos em programação 6 Alguns conceitos e comandos em programação 6.1 Diretivas Diretivas são instruções que permitem ao programador efetuar algum tipo de modificação à compilação, sendo analisadas e executadas pelo pré-compilador,

Leia mais

Lógica de Programação I

Lógica de Programação I Gilson de Souza Carvalho gaucho.gilson@hotmail.com 1 Apresentaremos um resumo com os comandos estudados para criação de algoritmos. Para utilizar estes comandos, usaremos uma sintaxe mais semelhante ao

Leia mais

Sub-rotinas David Déharbe

Sub-rotinas David Déharbe Sub-rotinas David Déharbe 1 1 Objetivos da aula Os conceitos de sub-rotina, funções e procedimentos; Como usar sub-rotinas em C: parâmetros de sub-rotinas: parâmetros formais e parâmetros efetivos. passagem

Leia mais

DURAÇÃO DA PROVA: 2 horas

DURAÇÃO DA PROVA: 2 horas MAC2166 Introdução à Computação para Engenharia Escola Politécnica Segunda Prova 17 de maio de 2010 Nome: Assinatura: N ō USP: Turma: Instruções: Professor: 1. Não destaque as folhas deste caderno. 2.

Leia mais

Introdução à Programação

Introdução à Programação INF1005: Programação 1 Introdução à Programação 08/03/10 (c) Paula Rodrigues 1 Tópicos Principais Modelo de um Computador Ciclo de Desenvolvimento 08/03/10 (c) Paula Rodrigues 2 Modelo de um Computador

Leia mais

Introdução à Programação. Expressões Booleanas e Comandos Condicionais

Introdução à Programação. Expressões Booleanas e Comandos Condicionais Introdução à Programação Expressões Booleanas e Comandos Condicionais Comandos Condicionais Misture os ingredientes Unte forma com manteiga Despeje a mistura na forma Algoritmo para preparação de bolo

Leia mais

Programação de Computadores I Funções na Linguagem C PROFESSORA CINTIA CAETANO

Programação de Computadores I Funções na Linguagem C PROFESSORA CINTIA CAETANO Programação de Computadores I Funções na Linguagem C PROFESSORA CINTIA CAETANO Introdução Funções são as estruturas que permitem ao usuário separar seus programas em blocos de construção. A principal característica

Leia mais

LINGUAGEM C: FUNÇÕES FUNÇÃO 04/07/2017. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.

LINGUAGEM C: FUNÇÕES FUNÇÃO 04/07/2017. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. LINGUAGEM C: FUNÇÕES Prof. André Backes FUNÇÃO Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. printf(): função que escreve na tela scanf(): função que lê o teclado

Leia mais

Teste de Software. Técnica de Teste Estrutural. Rosemary Silveira Filgueiras Melo

Teste de Software. Técnica de Teste Estrutural. Rosemary Silveira Filgueiras Melo Teste de Software Técnica de Teste Estrutural Rosemary Silveira Filgueiras Melo rosesfmelo@hotmail.com 1 Agenda Casos de Teste e Cenários de Teste Técnicas de Teste Técnica de Teste Estrutural 2 Casos

Leia mais