Can't Get My Engine To Start (why?) Introdução

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

Download "Can't Get My Engine To Start (why?) Introdução"

Transcrição

1 Linguagens e Ambientes de Programação (2009/2010) [Eng.Inf. - DI/FCT/UNL] Enunciado do 1º Projecto Prático (OCaml) Datas 19/Mar (16:00) - Divulgação deste enunciado 25/Mar (22:00) - Abertura dum concurso no Mooshak, para início da submissão dos trabalhos 07/Abr (22:00) - Data e hora limite de entrega do 1º projecto Changelog 20/Mar - Os exemplos das funções "w" e "s" estavam trocados. Foi corrigido. 20/Mar - Possíveis correcções a este enunciado serão assinaladas aqui. Can't Get My Engine To Start (why?) Introdução Neste trabalho, propomos-lhe o desafio de implementar em OCaml um motor de pesquisa que suporte a funcionalidade mais essencial dos motores de pesquisa profissionais, usados por exemplo para procurar informação na Web. Motores de pesquisa Um motor de pesquisa (ou motor de busca) é um serviço que permite pesquisar informações em grandes repositórios de dados. As pesquisas são feitas com base em palavras ou agrupamentos de palavras, indicados pelo utilizador. As respostas devem ser muito rápidas, o que pressupõe que faz indexação dos dados antes das pesquisas se realizarem. Pesquisa em directoria de ficheiros de texto Neste projecto as pesquisas serão efectuada sobre o conjunto de ficheiros contidos numa directoria local. A directoria só contém ficheiros de texto contendo caracteres Latin-1, sendo as as mudanças de linha representadas pelo carácter com código 10 (de acordo com a convenção do Unix). A directoria não contém ficheiros binários nem sub-directorias. 1 of :41

2 Aqui, pretende-se enfatizar a capacidade para encontrar soluções elegantes usando a parte funcional da linguagem OCaml, relativizando um pouco à questão da eficiência. Assume-se que o número de ficheiros é apenas mediano (menos de 100) e que o comprimento de cada ficheiro também é mediano (menos de caracteres). Índice invertido Como é norma neste tipo de tecnologia, o nosso motor de pesquisa deve saber criar um índice invertido a partir do conteúdo da directoria. Um índice invertido baseia-se numa ideia simples: a cada palavra que possa ser objecto de pesquisa, associa-se uma lista de posições, que é uma lista de pares (documento, posição), que regista todas as ocorrências dessa palavra nos vários documentos. Numa posição, a componente "documento" representa o nome do ficheiro que contém o documento e a componente "posição" representa um inteiro não negativo que indica a posição da palavra, na sequência de palavras do documento ("0" indica a 1ª palavra, "1" indica a 2ª palavra, etc.) type position = string * int ;; type positions = position list ;; O nosso motor de pesquisa só indexa palavras de comprimento três ou maior. Uma palavra é uma sequência contígua de caracteres alfabéticos. Todos os outros caracteres, assim como palavras de comprimento inferior a três, não contam para as pesquisas. Para facilitar a manipulação, as nossas palavras serão representadas usando o seguinte tipo: type word = char list ;; Repare que, por cada palavra, a correspondente lista de pares pode ser muito longa. Uma palavra comum, como por exemplo "uma", pode ocorrer centenas de vezes nos diversos ficheiros. Pesquisas A especificação duma pesquisa envolve uma sequência onde podem ocorrer 2 tipos de elementos: Palavra simples. Sequência de palavras entre plicas. Eis um exemplo duma especificação duma pesquisa, com três elementos (duas palavras simples mais uma sequência de palavras entre plicas): princesa 'Era uma vez' sapo Esta pesquisa significa que se pretende descobrir todos os documentos onde estes três elementos ocorram em simultâneo. Além disso, o elemento "'Era uma vez'" indica que as três palavras constituintes têm de aparecer de seguida (ignorando todos os caracteres não significativos pelo meio), como por exemplo no texto "Era, a a ah uma ma ma ma, ma vez". Por outras palavras, a pesquisa "'Era uma vez'" permite descobrir "Era, a a ah uma ma ma ma, ma vez". Ranking Para cada query, o motor de pesquisa estabelece um ranking entre os documentos relevantes, baseado em três critérios: O critério primário é número total de ocorrências dos elementos que são especificados na 2 of :41

3 pesquisa. Em caso de empate no critério anterior, os documentos são ordenados simplesmente por nome. Só contam para o ranking os documentos onde todos os elementos da pesquisa ocorrem. Florestas lexicais e árvores lexicais Para que as pesquisas sejam rápidas convém implementar um índice invertido baseado num dicionário eficiente. Nesse dicionário, a partir duma palavra, deve ser possível obter depressa a lista de posições dessa palavra. A chave de pesquisa é a palavra e o valor correspondente é uma lista de posições. Há várias formas eficientes de implementar dicionários, por exemplo usando hash tables ou árvores binárias de pesquisa balanceadas. Neste projecto vamos usar uma outra técnica eficiente que vamos designar de técnica das florestas lexicais. O nosso índice invertido será implementado usando uma floresta lexical. Uma floresta lexical é simplesmente uma lista de árvores lexicais. A explicação do que é uma árvore lexical tem quatro pontos: Uma árvore lexical é uma árvore n-ária de letras, onde existe a opção de guardar um valor suplementar ao lado de cada letra. Portanto, cada nó é constituído por: (1) uma letra; (2) um valor suplementar opcional; (3) uma lista de árvores (portanto, uma floresta lexical). Numa floresta lexical, cada palavra é representada como um percurso descendente que se inicia na raiz alguma árvore e que termina num nó com valor suplementar. Esse valor tem uma dupla utilidade: (1) serve para indicar que a palavra existe como chave de pesquisa; (2) indica qual o valor correspondente a essa chave de pesquisa. As várias palavras guardadas numa floresta lexical devem partilhar prefixos, para evitar redundância. 4. Cada lista de árvores está ordenada crescentemente em função dos valores das raízes. Exemplificando, a seguinte floresta lexical, com três árvores, representa o seguinte conjunto de 8 palavras: "aba", "abano", "fa", "falso", "fato", "fogo", "foto", "uva". Os valores suplementares são representados por tracinhos cinzentos: há 8 palavras, logo há 8 tracinhos cinzentos. Uma árvore lexical nunca é vazia, mas uma floresta lexical pode ser vazia. Seria possível definir florestas lexicais genéricas para valores suplementares de tipo genérico 'a mas, neste trabalho, pedimos-lhe para definir directamente florestas lexicais para listas de posições: 3 of :41

4 type lexforest = lextree list and lextree = LTree of char * positions * lexforest ;; Nos nós das árvores, a ausência de valor é representada pela lista vazia: let none = [] ;; A floresta da imagem acima pode ser escrita em OCaml da seguinte forma: let somepos = ("", 0) ;; let some = [somepos] ;; let example = [LTree ('a', none, [LTree ('b', none, [LTree ('a', some, [LTree ('n', none, [LTree ('o', some, [])])])])]); LTree ('f', none, [LTree ('a', some, [LTree ('l', none, [LTree ('s', none, [LTree ('o', some, [])])]); LTree ('t', none, [LTree ('o', some, [])])]); LTree ('o', none, [LTree ('g', none, [LTree ('o', some, [])]); LTree ('t', none, [LTree ('o', some, [])])])]); LTree ('u', none, [LTree ('v', none, [LTree ('a', some, [])])])] ;; Problema Desenvolva em OCaml dois módulos fechados: O primeiro módulo, chamado LexForest, implementa florestas lexicais em que os valor suplementares são listas de posições. O segundo módulo, chamado Engine, implementa um motor de pesquisa sobre os ficheiros contidos numa directoria. Esses módulos destinam-se a ser carregados dentro do interpretador de OCaml, tornando este interpretador numa ferramenta interactiva que permite fazer experiências com florestas lexicais e com motores de busca. Os módulos só definem tipos abertos porque isso é o que convém para o tipo de utilização pretendida: certamente que o utilizador deseja poder observar o conteúdo das estruturas manipuladas. Contudo, os módulos ocultam possíveis funções auxiliares que possam ser definidas. Além disso, a interface dos módulos impõe às funções públicas os seus tipos correctos, o que dá mais garantias de que você não terá problemas na altura de submeter no Mooshak. O código fonte do primeiro módulo deve ser guardado em dois ficheiros chamados "LexForest.mli" e "LexForest.ml" e será compilado pelo Mooshak da seguinte forma: 4 of :41

5 ocamlc -c LexForest.mli LexForest.ml O código fonte do segundo módulo deve ser guardado em dois ficheiros chamados "Engine.mli" e "Engine.ml" e será compilado pelo Mooshak da seguinte forma: ocamlc -c Engine.mli Engine.ml Depois de compilados, os módulos são usados dentro do interpretador de OCaml, da seguinte forma: $ ocaml PDA.cmo Objective Caml version # #load "LexForest.cmo" ;; open LexForest ;; # #load "Engine.cmo" ;; open Engine ;;... Os trabalhos vão ser avaliados de forma parcialmente automática, pelo que o seu programa deve obedecer a um certo número de regras rígidas: É obrigatório usar todos os tipos de dados oferecidos neste enunciado. É obrigatório respeitar os nomes, tipos e especificação das funções públicas (apresentadas a seguir). Use os ficheiros "*.mli" fornecidos, sem os alterar, para evitar problemas. Neste projecto não se pede para você escrever qualquer programa principal. Só se pedem mesmo os dois módulos. Funções públicas do módulo LexForest As funções de interface do módulo LexForest ficam à disposição do utilizador para este as poder usar dentro do interpretador de OCaml. Apresentam-se de seguida as várias funções públicas deste módulo. Para cada uma delas dá-se uma breve explicação e mostra-se um exemplo de avaliação. Em alguns desses exemplos aproveita-se a floresta example que aparece na imagem atrás. w : string -> word Converte uma string numa palavra. Durante a conversão, a string é validada e deve-se garantir que só contém letras, maiúsculas ou minúsculas. Se contiver outros caracteres gera a excepção Arg.Bad. Esta função não se destina a ser usada como função auxiliar das outras funções. Apenas fornece ao utilizador do interpretador de OCaml uma forma prática de converter strings em palavras. # w "ola" ;; - : LexForest.word = ['o'; 'l'; 'a'] s : word -> string Converte uma palavra numa string. Durante a conversão, a palavra é validada e deve-se garantir que só contém letras, maiúsculas ou minúsculas. Se contiver outros caracteres gera a excepção Arg.Bad. Esta função não se destina a ser usada como função auxiliar das outras funções. Apenas fornece ao utilizador do interpretador de OCaml uma forma prática de converter palavras em strings. # s ['o'; 'l'; 'a'] ;; - : string = "ola" 5 of :41

6 count : lexforest -> int Conta o número de palavras contido numa floresta lexical. # count example ;; - : int = 8 validate : lexforest -> bool Verifica se uma floresta lexical é válida. Para uma floresta ser válida, nenhuma das suas folhas deve conter o valor none (isso seria um absurdo); além disso, dentro de cada lista de árvores, estas estão ordenadas por ordem crescente do valor das suas raízes. # validate example ;; - : bool = true lengthn : int -> lexforest -> int Conta o número de palavras com um dado comprimento, de entre as que se encontram numa floresta lexical. # lengthn 3 example ;; - : int = 2 insert : word -> position -> lexforest -> lexforest (*) Aumenta a lista de posições duma palavra, numa floresta lexical. A posição que é passada no segundo argumento é acrescentada à lista de posições da palavra. # insert (w "ola") ("a",0) [] ;; - : lexforest = LTree ('o', [], [LTree ('l', [], [LTree ('a', [("a", 0)], [])])])] delete : word -> lexforest -> lexforest (*) Apaga uma palavra duma floresta lexical. Apagar significa colocar a lista de posições da palavra com o valor none e poderá também significar a eliminação de alguns nós da floresta para garantir que a árvore resultante fica válida. # delete (w "fato") example ;; - : lexforest = [LTree ('a', [], [LTree ('b', [], [LTree ('a', [("", 0)], [LTree ('n', [], [LTree ('o', [("", 0)], [])])])])]); LTree ('f', [], [LTree ('a', [("", 0)], [LTree ('l', [], [LTree ('s', [], [LTree ('o', [("", 0)], [])])])]); LTree ('o', [], [LTree ('g', [], [LTree ('o', [("", 0)], [])]); LTree ('t', [], [LTree ('o', [("", 0)], [])])])]); LTree ('u', [], [LTree ('v', [], [LTree ('a', [("", 0)], [])])])] # count (delete (w "fato") example) ;; - : int = 7 words : lexforest -> word list Produz a lista de todas as palavras que estão guardadas numa floresta lexical. Deve ser produzida directamente uma lista ordenada, sem invocar qualquer função de ordenação e também sem usar as funções first e sucessor. # words example ;; - : word list = [['a'; 'b'; 'a']; ['a'; 'b'; 'a'; 'n'; 'o']; ['f'; 'a']; ['f'; 'a'; 'l'; 's'; 'o']; ['f'; 'a'; 't'; 'o']; ['f'; 'o'; 'g'; 'o']; ['f'; 'o'; 't'; 'o']; ['u'; 'v'; 'a']] 6 of :41

7 makelex : word list -> lexforest Cria uma floresta lexical a partir duma lista de palavras. # makelex [w "carro"; w "aviao"; w "navio"] ;; - : lexforest = [LTree ('a', [], [LTree ('v', [], [LTree ('i', [], [LTree ('a', [], [LTree ('o', [("", 0)], [])])])])]); LTree ('c', [], [LTree ('a', [], [LTree ('r', [], [LTree ('r', [], [LTree ('o', [("", 0)], [])])])])]); LTree ('n', [], [LTree ('a', [], [LTree ('v', [], [LTree ('i', [], [LTree ('o', [("", 0)], [])])])])])] first : lexforest -> word Produz directamente, de forma eficiente, a primeira palavra duma floresta lexical. Assume-se a ordenação lexicográfica crescente normal. Se a floresta lexical for vazia, deve ser produzida a lista vazia. # first example ;; - : char list = ['a'; 'b'; 'a'] sucessor : word -> lexforest -> word (*) Produz directamente, de forma eficiente, a palavra que se segue à palavra dada no argumento, numa floresta lexical. Assume-se a ordenação lexicográfica crescente normal. Se o argumento for a lista vazia, então deve ser gerada a primeira palavra da floresta lexical. Se não existir nenhuma palavra a seguir à palavra dada produz-se a lista vazia. # sucessor (w "") example ;; - : word = ['a'; 'b'; 'a'] # sucessor (w "aba") example ;; - : word = ['a'; 'b'; 'a'; 'n'; 'o'] # sucessor (w "b") example ;; - : word = ['f'; 'a'] # sucessor (w "z") example ;; - : word = [] Funções públicas do módulo Engine As funções de interface do módulo Engine ficam à disposição do utilizador para este as poder usar dentro do interpretador de OCaml. Apresentam-se de seguida as várias funções públicas deste módulo. Para cada uma delas dá-se uma breve explicação e mostra-se um exemplo de avaliação baseado numa directoria com path "/tpm/silly" contendo os seguintes quatro ficheiros: a: Era uma vez um rei e uma rainha. Então o rei disse: Conte-me uma história! e a rainha começou: Era uma vez um rei e uma rainha. b: Era uma vez uma má rainha e um bom rei. Então a rainha disse: Conte-me uma história! e o rei disse: Não me apetece! e a rainha disse: Não gostei da história! c: Era uma vez um casal real. Então o rei disse: Rainha, por favor, peça-me para eu lhe contar uma história..., sim, uma história! e a rainha disse: Conte-me uma história..., sim, uma história! e 7 of :41

8 o rei disse: Obrigado! d: Um, dois, três... wordsoffile : string -> word list Dado o path dum ficheiro, produz a lista de todas as palavras do ficheiro que tenham comprimento três ou maior. As palavras devem aparecer pela ordem em que ocorrem no ficheiro. # wordsoffile "/tmp/silly/d" ;; - : word list = [ ['d';'o';'i';'s']; ['t';'r';'ê';'s'] ] adddoc : word list -> string -> lexforest -> lexforest Dada uma lista das palavras dum ficheiro e o nome desse ficheiro, insere numa floresta lexical todas essas palavras. O nome do ficheiro deve ser um nome simples, não um path. # adddoc [ ['d';'o';'i';'s']; ['t';'r';'ê';'s'] ] "d" [] ;; - : lexforest = [LTree ('d', [], [LTree ('o', [], [LTree ('i', [], [LTree ('s', [("d", 0)], [])])])]); LTree ('t', [], [LTree ('r', [], [LTree ('ê', [], [LTree ('s', [("d", 1)], [])])])])] makeindex : string -> lexforest Dado o path duma directoria, cria o correspondente índice invertido. No Linux, para obter o nome de todos os ficheiros duma directoria use seguinte função: let files dir = List.filter (fun s -> String.get s 0 <> '.') (Array.to_list (Sys.readdir dir)) ;; # makeindex "/tmp/silly" ;; - : lexforest = (* too large to print *) buildquery : string -> word list list A partir duma string produz uma lista de elementos de pesquisa. Cada elemento de pesquisa é uma lista de palavras. # buildquery "história 'uma rainha'" ;; - : word list list = [ [['h'; 'i'; 's'; 't'; 'ó'; 'r'; 'i'; 'a']]; [['u'; 'm'; 'a']; ['r'; 'a'; 'i'; 'n'; 'h'; 'a']] ] rank: word list list -> lexforest -> string list Dada uma lista de elementos de pesquisa e um índice invertido, produz uma lista de nomes de ficheiros de acordo com as regras de ranking. # rank (buildquery "história 'uma rainha'") (makeindex "/tmp/silly") ;; - : string list = [ "a" ; "b" ] Regras principais O programa tem de incluir logo nas primeiras linhas do ficheiro ".ml", em comentário, o nome e número dos dois alunos que realizaram o projecto. O programa tem ainda de incluir um outro comentário inicial, com cerca de meia página, 8 of :41

9 referindo se os objectivos do projecto foram atingidos ou não (neste último caso quais não foram atingidos?) e ainda possivelmente alertando para alguns aspectos da implementação que possam ser menos óbvios para o avaliador. O projecto é para ser realizado por grupos de dois alunos. Um projecto entregue por três ou mais alunos vale zero valores. Poderão ser permitidos grupos de 1 aluno em circunstâncias especiais que têm de ser bem explicadas no comentário inicial atrás referido. Os grupos podem mudar de trabalho para trabalho. Na realização deste projecto é proibido usar os mecanismos imperativos que a linguagem OCaml suporta (excepto no tratamento das declarações - esse código já é dado na secção "Ajuda"). Mesmo que desenvolva o programa em Windows ou no MacOS, a versão final do seu programa deverá correr no sistema Linux. Faça essa verificação, pois é no sistema Linux que a correcção do projecto será efectuada. Programe as funções recursivas usando o método indutivo. Também pode usar livremente funções de biblioteca, especialmente as disponíveis no módulo List. Associe um comentário breve a cada função explicando o que ela faz. O comentário pode ser em Português ou Inglês. O programa deve ser bem indentado, por forma a ficar bem legível. Além disso, a largura do programa não deve exceder as 80 colunas para poderem ser impressos. Podem haver algumas excepções, muito pontuais. O não cumprimento das regras anteriores implica penalizações automáticas na nota. Regras de entrega Será activado um concurso do Mooshak, que servirá para submeter os trabalhos. Os detalhes da forma de fazer a submissão serão divulgados nessa altura. Até lá preocupe-se apenas em escrever um bom programa. Depois do prazo limite ainda se aceitam trabalhos atrasados, mas com forte penalização na nota: 2 valores de penalização por cada dia de atraso, e apenas durante dois dias. Outras regras Apesar de o projecto ser de grupo, cada aluno, a título individual, tem a responsabilidade de responder por todo o projecto. Assim é indispensável que os dois membros de cada grupo programem efectivamente. O ideal seria que cada grupo dividisse o projecto em duas partes, e que o desenvolvimento de cada uma das duas partes fosse "comandada" por um aluno distinto, sempre em diálogo com o outro. Não se proíbe que alunos de turnos práticos diferentes façam grupo. Isso é apenas desaconselhado. Não terá lugar qualquer pré-inscrição dos grupos. Basta que nos trabalhos submetidos figurem nomes de alunos inscritos na cadeira. A nota máxima do projecto é 20 valores. Avaliação A nota do projecto será em grande parte determinada por meios automáticos, através do Mooshak. Portanto é essencial respeitar a especificação contida neste enunciado. 9 of :41

10 Mas, relativamente a parte do código que respeita a especificação e que funciona, também haverá uma apreciação mais subjectiva da qualidade por parte dos docentes, tendo em conta aspectos, tais como: organização, clareza e simplicidade das ideias programadas, bom uso da linguagem, legibilidade do código. Não é obrigatório fazer o trabalho completo para obter nota positiva. Mas, claro, vale a pena trabalhar para produzir uma solução bastante completa e com a melhor qualidade possível. Observações Os grupos são incentivados a discutir entre si os detalhes da realização do projecto (inclusivamente no fórum). Mas sempre que chega o momento de escrever código concreto, esse tem de ser um esforço interno a cada grupo. A escrita de código exige esforço intelectual, mas só com esforço se consegue evoluir. O objectivo deste projecto é levar os alunos a praticar. Um aluno que pratique de forma genuína ganha experiência e provavelmente não terá dificuldade em conseguir aprovação no exame final. Cuidado com as fraudes. Por exemplo, se alguém dum grupo oferecer o projecto resolvido a um elemento de outro grupo, trata-se duma fraude envolvendo dois grupos (já tem acontecido). Também se um grupo deixa distraidamente a área aberta e se alguém de outro grupo "rouba" o projecto, então também se considera fraude dos dois grupos (já tem acontecido). Ainda um terceiro caso: se dois grupos se juntam para fazer o projecto conjuntamente e depois o entregam em duplicado, então também se considera fraude (já tem acontecido). Em suma, cada grupo é responsável pelo seu projecto e não o pode oferecer, directa ou indirectamente, a outro grupo. Note que é muito melhor ter zero num dos quatro projectos do que ser excluído da cadeira por motivo de fraude. Final Bom trabalho! Esperamos que goste. 10 of :41

AMBIENTE DE PROGRAMAÇÃO PYTHON

AMBIENTE DE PROGRAMAÇÃO PYTHON Computadores e Programação Engª Biomédica Departamento de Física Faculdade de Ciências e Tecnologia da Universidade de Coimbra Ano Lectivo 2003/2004 FICHA 1 AMBIENTE DE PROGRAMAÇÃO PYTHON 1.1. Objectivos

Leia mais

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012 Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012 Mestrado Integrado em Engenharia Electrotécnica e de Computadores 1º ano 2º semestre Trabalho Final Reservas de viagens

Leia mais

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período PROGRAMAÇÃO ESTRUTURADA CC 2º Período PROGRAMAÇÃO ESTRUTURADA Aula 06: Ponteiros Declarando e utilizando ponteiros Ponteiros e vetores Inicializando ponteiros Ponteiros para Ponteiros Cuidados a serem

Leia mais

A VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO

A VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO DOMINE A 110% ACCESS 2010 A VISTA BACKSTAGE Assim que é activado o Access, é visualizado o ecrã principal de acesso na nova vista Backstage. Após aceder ao Access 2010, no canto superior esquerdo do Friso,

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

A importância da Senha. Mas por que as senhas existem?

A importância da Senha. Mas por que as senhas existem? 1 A importância da Senha Atualmente a quantidade de sistemas (Bancos, E-mail, Intranet, Rede Local etc) que precisamos utilizar no dia-a-dia é extremamente grande e ao mesmo tempo acaba sendo um tanto

Leia mais

Múltiplos Estágios processo com três estágios Inquérito de Satisfação Fase II

Múltiplos Estágios processo com três estágios Inquérito de Satisfação Fase II O seguinte exercício contempla um processo com três estágios. Baseia-se no Inquérito de Satisfação Fase II, sendo, por isso, essencial compreender primeiro o problema antes de começar o tutorial. 1 1.

Leia mais

Guião de Introdução ao Eclipse IDE Índice

Guião de Introdução ao Eclipse IDE Índice Índice 1. Introdução... 2 1.1. O que é um ambiente de desenvolvimento (IDE)?... 2 1.2. Visão geral sobre o Eclipse IDE... 2 2. Iniciar o Eclipse... 3 2.1. Instalação... 3 2.2. Utilizar o Eclipse... 3 3.

Leia mais

Tabelas vista de estrutura

Tabelas vista de estrutura Tabelas vista de estrutura A vista de estrutura permite definir a configuração dos dados Vamos adicionar os restantes campos à tabela carros, de acordo com o modelo de dados feito no papel 47 Tabelas vista

Leia mais

OFICIAL DA ORDEM MILITAR DE CRISTO MEDALHA DE EDUCAÇÃO FÍSICA E BONS SERVIÇOS. Circular n.º 029/2014 PORTAL FPT Abertura aos atletas

OFICIAL DA ORDEM MILITAR DE CRISTO MEDALHA DE EDUCAÇÃO FÍSICA E BONS SERVIÇOS. Circular n.º 029/2014 PORTAL FPT Abertura aos atletas Circular n.º 029/2014 PORTAL FPT Abertura aos atletas Exmo. Sr. Presidente, Após muitos meses de desenvolvimento e melhorias contínuas na nova plataforma informática onde se inclui o amplamente divulgado

Leia mais

Resolução de problemas e desenvolvimento de algoritmos

Resolução de problemas e desenvolvimento de algoritmos SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Resolução de problemas e desenvolvimento de algoritmos Prof. Vanderlei Bonato Prof. Cláudio Fabiano Motta Toledo Sumário Análise e solução de

Leia mais

Engenharia de Software Sistemas Distribuídos

Engenharia de Software Sistemas Distribuídos Engenharia de Software Sistemas Distribuídos 2 o Semestre de 2009/2010 FEARSe Requisitos para a 1 a entrega 18 de Março de 2010 1 Introdução O projecto conjunto das disciplinas de Engenharia de Software

Leia mais

Organização de programas em Python. Vanessa Braganholo vanessa@ic.uff.br

Organização de programas em Python. Vanessa Braganholo vanessa@ic.uff.br Organização de programas em Python Vanessa Braganholo vanessa@ic.uff.br Vamos programar em Python! Mas... } Como um programa é organizado? } Quais são os tipos de dados disponíveis? } Como variáveis podem

Leia mais

Microsoft Access 2010. Para conhecermos o Access, vamos construir uma BD e apresentar os conceitos necessários a cada momento

Microsoft Access 2010. Para conhecermos o Access, vamos construir uma BD e apresentar os conceitos necessários a cada momento Microsoft Access 2010 Para conhecermos o Access, vamos construir uma BD e apresentar os conceitos necessários a cada momento 1 Principais objetos do Access Tabelas Guardam a informação da BD (Base de Dados)

Leia mais

Utilização do SOLVER do EXCEL

Utilização do SOLVER do EXCEL Utilização do SOLVER do EXCEL 1 Utilização do SOLVER do EXCEL José Fernando Oliveira DEEC FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO MAIO 1998 Para ilustrar a utilização do Solver na resolução de

Leia mais

Ferramenta de Testagem IECL Orientações para o Aluno (PT)

Ferramenta de Testagem IECL Orientações para o Aluno (PT) Ferramenta de Testagem IECL Orientações para o Aluno (PT) Índice 1 INTRODUÇÃO 3 2 REALIZAÇÃO DOS TESTES 3 2.1 Login 3 2.2 Verificação do áudio para o teste de Audição 5 2.3 Realização de um teste 5 3 Informação

Leia mais

Programação 2. Trabalho Prático P4B. Efectue as tarefas de programação descritas abaixo, usando a linguagem C++ em ambiente Linux.

Programação 2. Trabalho Prático P4B. Efectue as tarefas de programação descritas abaixo, usando a linguagem C++ em ambiente Linux. Mestrado Integrado em Engenharia Electrotécnica e de Computadores 2006/2007 Programação 2 2º Semestre Trabalho Prático P4B Efectue as tarefas de programação descritas abaixo, usando a linguagem C++ em

Leia mais

O Processo de Programação

O Processo de Programação Programação de Computadores I Aula 04 O Processo de Programação José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/23 Algoritmo Um algoritmo é uma seqüência de

Leia mais

Ficheiros binários 1. Ficheiros binários

Ficheiros binários 1. Ficheiros binários Ficheiros binários 1 Ficheiros binários 1. Considere que dispõe de ficheiros binários cujo conteúdo é constituído por uma ou mais estruturas como a indicada a seguir struct registo { int ref; float var;

Leia mais

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 1.1 Introdução... 2 1.2 Estrutura do IP... 3 1.3 Tipos de IP... 3 1.4 Classes de IP... 4 1.5 Máscara de Sub-Rede... 6 1.6 Atribuindo um IP ao computador... 7 2

Leia mais

Tutorial: criação de uma Ficha de Voluntário online

Tutorial: criação de uma Ficha de Voluntário online Tutorial: criação de uma Ficha de Voluntário online A pedido da Coordenação Nacional, o grupo de Coordenação Distrital de Coimbra elaborou este pequeno tutorial que ensina como criar um formulário online

Leia mais

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

Trabalhos Práticos. Programação II Curso: Engª Electrotécnica - Electrónica e Computadores Trabalhos Práticos Programação II Curso: Engª Electrotécnica - Electrónica e Computadores 1. Objectivos 2. Calendarização 3. Normas 3.1 Relatório 3.2 Avaliação 4. Propostas Na disciplina de Programação

Leia mais

Bases de Dados. Lab 1: Introdução ao ambiente

Bases de Dados. Lab 1: Introdução ao ambiente Departamento de Engenharia Informática 2010/2011 Bases de Dados Lab 1: Introdução ao ambiente 1º semestre O ficheiro bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo

Leia mais

Ministério das Finanças Instituto de Informática. Departamento de Sistemas de Informação

Ministério das Finanças Instituto de Informática. Departamento de Sistemas de Informação Ministério das Finanças Instituto de Informática Departamento de Sistemas de Informação Assiduidade para Calendários Específicos Junho 2010 Versão 6.0-2010 SUMÁRIO 1 OBJECTIVO 4 2 ECRÃ ELIMINADO 4 3 NOVOS

Leia mais

Rock In Rio - Lisboa

Rock In Rio - Lisboa Curso de Engenharia Informática Industrial Rock In Rio - Lisboa Elaborado por: Ano Lectivo: 2004/05 Tiago Costa N.º 4917 Turma: C Gustavo Graça Patrício N.º 4757 Turma: C Docente: Professora Maria Estalagem

Leia mais

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012 Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012 Mestrado Integrado em Engenharia Electrotécnica e Computadores 1º ano 2º semestre Trabalho nº 0 Instalação dos programas

Leia mais

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP AGRUPAMENTO DE ESCOLAS DE SANTA COMBA DÃO CURSO PROFISSIONAL DE TÉCNICO DE GESTÃO E PROGRAMAÇÃO DE SISTEMAS INFORMÁTICOS 2012-2015 PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO MÓDULO 2 Mecanismos de Controlo de

Leia mais

DEPARTAMENTO DE ENGENHARIA INFORMÁTICA FACULDADE DE CIÊNCIAS E TECNOLOGIA DA UNIVERSIDADE DE COIMBRA

DEPARTAMENTO DE ENGENHARIA INFORMÁTICA FACULDADE DE CIÊNCIAS E TECNOLOGIA DA UNIVERSIDADE DE COIMBRA DEPARTAMENTO DE ENGENHARIA INFORMÁTICA FACULDADE DE CIÊNCIAS E TECNOLOGIA DA UNIVERSIDADE DE COIMBRA Sistemas Operativos 2003/2004 Trabalho Prático #2 -- Programação em C com ponteiros -- Objectivos Familiarização

Leia mais

Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos TUTORIAL Memória Flash Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br contato@maxwellbohr.com.br

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA RESUMO DE AULA CRIAÇÃO E MANIPULAÇÃO DO BANCO DE DADOS

Leia mais

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

Módulo 3936 ASP.NET. Financiado pelo FSE

Módulo 3936 ASP.NET. Financiado pelo FSE 2 EISnt Centro de Formação Profissional, Engenharia Informática e Sistemas, Novas Tecnologias, Lda Avª D. João I, nº 380/384 Soutelo 4435-208 Rio Tinto Portal Internet : www.eisnt.com E-Mail : formação@eisnt.com

Leia mais

Colocar em prática. Tópicos para aprender. Colocar em prática. Utilizar as aplicações da Microsoft Windows num quadro interactivo SMART Board

Colocar em prática. Tópicos para aprender. Colocar em prática. Utilizar as aplicações da Microsoft Windows num quadro interactivo SMART Board Utilizar as aplicações da Microsoft Windows num quadro interactivo SMART Board Quando se encontra a trabalhar em contexto grupal, a utilização do quadro interactivo SMART Board poderá ajudá-lo a poupar

Leia mais

No final desta sessão o formando deverá ser capaz de aceder ao Word e iniciar um novo documento.

No final desta sessão o formando deverá ser capaz de aceder ao Word e iniciar um novo documento. Sessão nº 2 Iniciar um novo documento Objectivos: No final desta sessão o formando deverá ser capaz de aceder ao Word e iniciar um novo documento. Iniciar um novo documento Ao iniciar-se o Word, este apresenta

Leia mais

MICROSOFT ACCESS MICROSOFT ACCESS. Professor Rafael Vieira Professor Rafael Vieira

MICROSOFT ACCESS MICROSOFT ACCESS. Professor Rafael Vieira Professor Rafael Vieira MICROSOFT ACCESS MICROSOFT ACCESS Professor Rafael Vieira Professor Rafael Vieira - Access - Programa de base de dados relacional funciona em Windows Elementos de uma Base de Dados: Tabelas Consultas Formulários

Leia mais

Curso de Eng. Informática Linguagens de Programação. C Sharp University Data Processing. (C Sharp Universidade de Processamento de Dados) Docente:

Curso de Eng. Informática Linguagens de Programação. C Sharp University Data Processing. (C Sharp Universidade de Processamento de Dados) Docente: Trabalho elaborado por: Carlos Palma nº5608 Curso de Eng. Informática Linguagens de Programação C Sharp University Data Processing (C Sharp Universidade de Processamento de Dados) Docente: José Jasnau

Leia mais

1. Ambiente de Trabalho

1. Ambiente de Trabalho 1 Ambiente de Trabalho 1. Ambiente de Trabalho Ao nível do ambiente de trabalho, depois de o Excel 2007 ter introduzido novos componentes (e.g., Botão Office e Friso) e eliminado alguns dos componentes

Leia mais

DOCBASE. 1. Conceitos gerais. 2. Estrutura da pasta de associações. 3. A área de documentos reservados. 4. Associação de Imagens

DOCBASE. 1. Conceitos gerais. 2. Estrutura da pasta de associações. 3. A área de documentos reservados. 4. Associação de Imagens Documentação, Informática e Desenvolvimento 1 DOCBASE ASSOCIAÇÔES MULTIMÉDIA 1. Conceitos gerais 2. Estrutura da pasta de associações 3. A área de documentos reservados 4. Associação de Imagens 5. Procedimentos

Leia mais

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas Microsoft Power Point 2003 No Microsoft PowerPoint 2003, você cria sua apresentação usando apenas um arquivo, ele contém tudo o que você precisa uma estrutura para sua apresentação, os slides, o material

Leia mais

OFICIAL DA ORDEM MILITAR DE CRISTO MEDALHA DE EDUCAÇÃO FÍSICA E BONS SERVIÇOS. Circular n.º 023-A/2014 Portal F.P.T. - Inscrições (Aditamento)

OFICIAL DA ORDEM MILITAR DE CRISTO MEDALHA DE EDUCAÇÃO FÍSICA E BONS SERVIÇOS. Circular n.º 023-A/2014 Portal F.P.T. - Inscrições (Aditamento) Circular n.º 023-A/2014 Portal F.P.T. - Inscrições (Aditamento) Exmo. Sr. Presidente, A Direcção da F.P.T. tem emitido, ao longo dos últimos meses, diversas Circulares, com o objectivo de ir informando,

Leia mais

Plataforma de Benefícios Públicos Acesso externo

Plataforma de Benefícios Públicos Acesso externo Índice 1. Acesso à Plataforma... 2 2. Consulta dos Programas de Beneficios Públicos em Curso... 3 3. Entrar na Plataforma... 4 4. Consultar/Entregar Documentos... 5 5. Consultar... 7 6. Entregar Comprovativos

Leia mais

Curso de Programação Computadores

Curso de Programação Computadores 3 O Primeiro Programa em C Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro 3 O Primeiro Programa em C 3.1 - Introdução Depois dos conceitos

Leia mais

Curso de Instalação e Gestão de Redes Informáticas

Curso de Instalação e Gestão de Redes Informáticas ESCOLA PROFISSIONAL VASCONCELLOS LEBRE Curso de Instalação e Gestão de Redes Informáticas SISTEMAS DE ARQUIVOS FAT E FAT32 José Vitor Nogueira Santos FT2-0749 Mealhada, 2009 Introdução Muitos usuários

Leia mais

PROJ. Nº 528362 LLP-1-2012-1-NL-ERASMUS-ECUE

PROJ. Nº 528362 LLP-1-2012-1-NL-ERASMUS-ECUE REDIVE GUIA LMS PROJ. Nº 528362 LLP-1-2012-1-NL-ERASMUS-ECUE Projecto financiado com o apoio da Comissão Europeia. A informação contida nesta publicação vincula exclusivamente o autor, não sendo a Comissão

Leia mais

Um sistema SMS 1 simplificado

Um sistema SMS 1 simplificado 1 Introdução Um sistema SMS 1 simplificado Projecto de Redes de Computadores I - 2007/2008 LEIC IST, Tagus Park 10 de Setembro de 2007 Pretende-se com este projecto que os alunos implementem um sistema

Leia mais

TUTORIAL DO ACCESS PASSO A PASSO. I. Criar um Novo Banco de Dados. Passos: 1. Abrir o Access 2. Clicar em Criar um novo arquivo

TUTORIAL DO ACCESS PASSO A PASSO. I. Criar um Novo Banco de Dados. Passos: 1. Abrir o Access 2. Clicar em Criar um novo arquivo TUTORIAL DO ACCESS PASSO A PASSO I. Criar um Novo Banco de Dados Passos: 1. Abrir o Access 2. Clicar em Criar um novo arquivo 3. Clicar em Banco de Dados em Branco 4. Escrever um nome na caixa de diálogo

Leia mais

BIBLIOTECA ANACOM MANUAL DO UTILIZADOR

BIBLIOTECA ANACOM MANUAL DO UTILIZADOR BIBLIOTECA ANACOM MANUAL DO UTILIZADOR ÍNDICE Biblioteca ANACOM - Manual do utilizador... 2 Página de entrada... 3 Barra de menus da Biblioteca ANACOM... 3 Tipos de pesquisa... 3 Pesquisa simples... 3

Leia mais

Comandos Sequenciais if else, e Switch

Comandos Sequenciais if else, e Switch Introdução à Programação Comandos Sequenciais if else, e Switch 1º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv) O computador pensa? Muitas vezes utiliza-se a

Leia mais

Gerar o Ficheiro de Inventário

Gerar o Ficheiro de Inventário Gerar o Ficheiro de Inventário Data: 05-12-2014 Os dados a enviar no ficheiro são os seguintes Código do Artigo Código de Barras (se não existir deve preencher neste campo o código do artigo) Descrição

Leia mais

MANUAL DE PROCEDIMENTOS PLATAFORMA DE INSCRIÇÕES ONLINE

MANUAL DE PROCEDIMENTOS PLATAFORMA DE INSCRIÇÕES ONLINE A época de 2012/2013 terá um novo recurso para a Filiação e Inscrições em Provas para os Clubes, Equipas e Agentes Desportivos, tendo sido criada para o efeito uma nova Plataforma de Inscrições Online.

Leia mais

Lazarus pelo SVN Linux/Windows

Lazarus pelo SVN Linux/Windows Lazarus pelo SVN Linux/Windows Sei que não faltam artigos sobre como obter e compilar o Lazarus e o FPC pelo SVN, mas sei também que nunca é de mais divulgar um pouco mais e talvez escrever algo diferente.

Leia mais

Tecnologias da Informação e Comunicação: Sistema Operativo em Ambiente Gráfico

Tecnologias da Informação e Comunicação: Sistema Operativo em Ambiente Gráfico Tecnologias da Informação e Comunicação UNIDADE 1 Tecnologias da Informação e Comunicação: Sistema Operativo em Ambiente Gráfico 1º Período Elementos básicos da interface gráfica do Windows (continuação).

Leia mais

Nota prévia. Convenções

Nota prévia. Convenções Nota prévia O draft de diagrama de componentes, e respectivas interfaces, foi actualizado pela última vez em 07/12/2007. Este draft servirá de base para as implementações do CyberChair. Caso detecte alguma

Leia mais

Engenharia de Software e Sistemas Distribuídos. Enunciado Geral do Projecto

Engenharia de Software e Sistemas Distribuídos. Enunciado Geral do Projecto LEIC-A, LEIC-T, LETI, MEIC-T, MEIC-A Engenharia de Software e Sistemas Distribuídos 2 o Semestre 2014/2015 Enunciado Geral do Projecto O que se segue é uma descrição geral do domínio do projecto a desenvolver

Leia mais

Referencial do Módulo B

Referencial do Módulo B 1 Referencial do Módulo B Liga, desliga e reinicia correctamente o computador e periféricos, designadamente um scanner; Usa o rato: aponta, clica, duplo-clique, selecciona e arrasta; Reconhece os ícones

Leia mais

Especificação do 3º Trabalho

Especificação do 3º Trabalho Especificação do 3º Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação,

Leia mais

MICROSOFT EXCEL AVANÇADO

MICROSOFT EXCEL AVANÇADO MICROSOFT EXCEL AVANÇADO SE Retorna um valor se teste_lógico avaliar como VERDADEIRO e um outro valor se for avaliado como FALSO. Use SE para conduzir testes condicionais sobre valores e fórmulas e para

Leia mais

Manipulação de Células, linhas e Colunas

Manipulação de Células, linhas e Colunas Manipulação de Células, linhas e Colunas Seleccionar células Uma vez introduzidos os dados numa folha de cálculo, podemos querer efectuar alterações em relação a esses dados, como, por exemplo: apagar,

Leia mais

Avanços na transparência

Avanços na transparência Avanços na transparência A Capes está avançando não apenas na questão dos indicadores, como vimos nas semanas anteriores, mas também na transparência do sistema. Este assunto será explicado aqui, com ênfase

Leia mais

20 Caracteres - Tipo char

20 Caracteres - Tipo char 0 Caracteres - Tipo char Ronaldo F. Hashimoto e Carlos H. Morimoto Até agora vimos como o computador pode ser utilizado para processar informação que pode ser quantificada de forma numérica. No entanto,

Leia mais

Curso de Licenciatura em Engenharia Informática Cadeira de Algoritmia

Curso de Licenciatura em Engenharia Informática Cadeira de Algoritmia Curso de Licenciatura em Engenharia Informática Cadeira de Algoritmia Projecto de avaliação 2006/2007. Este projecto visa a criação de um back-end para geração de facturas para um sistema de facturação

Leia mais

Programação 2ºSemestre MEEC - 2010/2011. Programação 2º Semestre 2010/2011 Enunciado do projecto

Programação 2ºSemestre MEEC - 2010/2011. Programação 2º Semestre 2010/2011 Enunciado do projecto Mestrado Integrado em Engenharia Electrotécnica e de Computadores Programação 2º Semestre 2010/2011 Enunciado do projecto O projecto a desenvolver pelos alunos consistirá numa sistema de monitorização,

Leia mais

Guia Site Empresarial

Guia Site Empresarial Guia Site Empresarial Índice 1 - Fazer Fatura... 2 1.1 - Fazer uma nova fatura por valores de crédito... 2 1.2 - Fazer fatura alterando limites dos cartões... 6 1.3 - Fazer fatura repetindo última solicitação

Leia mais

O AMBIENTE DE TRABALHO DO WINDOWS

O AMBIENTE DE TRABALHO DO WINDOWS O AMBIENTE DE TRABALHO DO WINDOWS O Windows funciona como um Sistema Operativo, responsável pelo arranque do computador. Um computador que tenha o Windows instalado, quando arranca, entra directamente

Leia mais

Google Sites. A g r u p a m e n t o C a m p o A b e r t o 2 0 1 0 / 2 0 1 1

Google Sites. A g r u p a m e n t o C a m p o A b e r t o 2 0 1 0 / 2 0 1 1 Google Sites A g r u p a m e n t o C a m p o A b e r t o 2 0 1 0 / 2 0 1 1 1. Google Sites A Google veio anunciar que, para melhorar as funcionalidades centrais do Grupos Google, como listas de discussão

Leia mais

Prof. Esp. Adriano Carvalho

Prof. Esp. Adriano Carvalho Prof. Esp. Adriano Carvalho O que é um Programa? Um arquivo contendo uma sequência de comandos em uma linguagem de programação especifica Esses comandosrespeitam regras de como serem escritos e quais

Leia mais

Como incluir artigos:

Como incluir artigos: Como incluir artigos: O WordPress é uma ferramenta muito flexível, com muitas variações e ajustes que podem torná-lo algo muito simples e também muito sofisticado conforme os recursos que são configurados

Leia mais

5. Métodos ágeis de desenvolvimento de software

5. Métodos ágeis de desenvolvimento de software Engenharia de Software 5. Métodos ágeis de desenvolvimento de software Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Desenvolver e entregar software o mais rapidamente possível é hoje em dia um dos

Leia mais

ZS Rest. Manual Profissional. BackOffice Mapa de Mesas. v2011

ZS Rest. Manual Profissional. BackOffice Mapa de Mesas. v2011 Manual Profissional BackOffice Mapa de Mesas v2011 1 1. Índice 2. Introdução... 2 3. Iniciar ZSRest Backoffice... 3 4. Confirmar desenho de mesas... 4 b) Activar mapa de mesas... 4 c) Zonas... 4 5. Desenhar

Leia mais

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza. josineys@inf.ufpr.br

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza. josineys@inf.ufpr.br Fundamentos de Programação Turma CI-240-EST Josiney de Souza josineys@inf.ufpr.br Agenda do Dia Aula 2 (07/08/15) Introdução ao Python História Características Estrutura dos código-fonte Primeiros elementos

Leia mais

Manual de Utilizador. Disciplina de Projecto de Sistemas Industriais. Escola Superior de Tecnologia. Instituto Politécnico de Castelo Branco

Manual de Utilizador. Disciplina de Projecto de Sistemas Industriais. Escola Superior de Tecnologia. Instituto Politécnico de Castelo Branco Escola Superior de Tecnologia Instituto Politécnico de Castelo Branco Departamento de Informática Curso de Engenharia Informática Disciplina de Projecto de Sistemas Industriais Ano Lectivo de 2005/2006

Leia mais

Nome COMPLETO: Nº: Leia atentamente as notas que se seguem. Só depois deve iniciar o exame.

Nome COMPLETO: Nº: Leia atentamente as notas que se seguem. Só depois deve iniciar o exame. Departamento de Informática FCT/UNL Métodos de Desenvolvimento de Software Época Normal, 28 de Junho de 2011 Nome COMPLETO: Nº: Leia atentamente as notas que se seguem. Só depois deve iniciar o exame.

Leia mais

Programação de Computadores I. Linguagem C Vetores

Programação de Computadores I. Linguagem C Vetores Linguagem C Vetores Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 08 Vetores 1 Vetores Sintaxe: tipo_variável nome_vetor[tamanho]; Um vetor é uma variável que possui várias ocorrências de um mesmo

Leia mais

Controle Parental. Introdução

Controle Parental. Introdução Controle Parental Introdução O acesso das crianças à Internet suscita algumas preocupações aos pais e educadores/as. Contudo, tal como na vida real ou no uso de outros meios de comunicação, os adultos

Leia mais

LINGUAGEM C UMA INTRODUÇÃO

LINGUAGEM C UMA INTRODUÇÃO LINGUAGEM C UMA INTRODUÇÃO AULA 1 Conceitos muito básicos 1 Introdução O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional

Leia mais

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2 3.2 O Espaço Nulo de A: Resolvendo Ax = 0 11 O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2 Esta seção trata do espaço de soluções para Ax = 0. A matriz A pode ser quadrada ou retangular. Uma solução imediata

Leia mais

COMPUTAÇÃO e PROGRAMAÇÃO

COMPUTAÇÃO e PROGRAMAÇÃO COMPUTAÇÃO e PROGRAMAÇÃO 2º Trabalho Ano lectivo 2009/2010 MEMec e LEAN Data e hora limite de entrega: 6 de Janeiro de 2010, até às 23h59m Entrega: Submissão electrónica, via Fénix (ver instruções na secção:

Leia mais

Especificação do Trabalho Prático

Especificação do Trabalho Prático Especificação do Trabalho Prático O professor Thomas é um homem muito ocupado. Tem, em sua agenda, uma série de compromissos que ele deve atender em 2009. De tantos compromissos que tem, resolveu contratar

Leia mais

2. Representação Numérica

2. Representação Numérica 2. Representação Numérica 2.1 Introdução A fim se realizarmos de maneira prática qualquer operação com números, nós precisamos representa-los em uma determinada base numérica. O que isso significa? Vamos

Leia mais

Banco de Dados. Microsoft Access

Banco de Dados. Microsoft Access Banco de Dados Microsoft Access PARTE 01 edição 2007 Índice 01-) Conceito... 2 02) Sistema Gerenciador de Banco de Dados Relacional (SGBDR)... 3 03) Access... 3 04) Etapas para elaboração de um Banco de

Leia mais

Calculando probabilidades

Calculando probabilidades A UA UL LA Calculando probabilidades Introdução evento E é: P(E) = Você já aprendeu que a probabilidade de um nº deresultadosfavoráveis nº total de resultados possíveis Nesta aula você aprenderá a calcular

Leia mais

1 Code::Blocks Criação de projetos

1 Code::Blocks Criação de projetos Programação MEEC Índice 1Code::Blocks Criação de projetos...1 2Code::Blocks Localização do projeto...5 3Code::Blocks Abertura de projetos já existentes...7 4Code::Blocks Funcionamento...8 5Code::Blocks

Leia mais

Engenharia de Software. Enunciado da Segunda Parte do Projecto

Engenharia de Software. Enunciado da Segunda Parte do Projecto LEIC-A, LEIC-T, LETI, MEIC-T, MEIC-A Engenharia de Software 2 o Semestre 2013/2014 Enunciado da Segunda Parte do Projecto 1. Segunda Parte do Projecto ES A segunda parte do projecto consiste na realização

Leia mais

PRIMAVERA EXPRESS: Funcionalidades do Produto

PRIMAVERA EXPRESS: Funcionalidades do Produto PRIMAVERA EXPRESS: Funcionalidades do Produto Como efetuo a mudança de ano do Ponto de Venda? No Programa Express aceda a Tabelas Pontos de Venda Postos de Venda abrir o separador Movimentos Caixa e: -

Leia mais

Principais Comandos SQL Usados no MySql

Principais Comandos SQL Usados no MySql Principais Comandos SQL Usados no MySql O que é um SGBD? Um Sistema Gerenciador de Banco de Dados (como no Brasil) ou Sistema Gestor de Base de Dados (SGBD) é o conjunto de programas de computador (softwares)

Leia mais

Manual do Ambiente Moodle para Professores

Manual do Ambiente Moodle para Professores UNIVERSIDADE FEDERAL DA FRONTEIRA SUL Manual do Ambiente Moodle para Professores Tarefas Versão 1.0b Setembro/2011 Direitos Autorais: Essa apostila está licenciada sob uma Licença Creative Commons 3.0

Leia mais

Programação III / Estruturas de Dados. Enunciado do Trabalho Prático

Programação III / Estruturas de Dados. Enunciado do Trabalho Prático Programação III / Estruturas de Dados Enunciado do Trabalho Prático 1. Objectivo Pretende-se implementar uma base de dados que sirva para ajudar uma agência de viagens a planear as viagens a realizar pelos

Leia mais

Configurando a emissão de boletos no sistema

Configurando a emissão de boletos no sistema Configurando a emissão de boletos no sistema Entre nossos sistemas, o GIM, o GECOB, o GEM, o TRA-FRETAMENTO e os 15 sistemas da linha 4U (GE-COMERCIO 4U, GEPAD 4U, GE-INFO 4U, etc ) possuem funções para

Leia mais

Lição 1 - Criação de campos calculados em consultas

Lição 1 - Criação de campos calculados em consultas 1 de 5 21-08-2011 22:15 Lição 1 - Criação de campos calculados em consultas Adição de Colunas com Valores Calculados: Vamos, inicialmente, relembrar, rapidamente alguns conceitos básicos sobre Consultas

Leia mais

Portal do Projeto Tempo de Ser

Portal do Projeto Tempo de Ser Sumário Portal do Projeto Tempo de Ser O que é um Wiki?...2 Documentos...2 Localizando documentos...3 Links...3 Criando um Documento...4 Criando um link...4 Editando um Documento...5 Sintaxe Básica...5

Leia mais

Microsoft Access: Criar relações para um novo banco de dados. Vitor Valerio de Souza Campos

Microsoft Access: Criar relações para um novo banco de dados. Vitor Valerio de Souza Campos Microsoft Access: Criar relações para um novo banco de Vitor Valerio de Souza Campos Conteúdo do curso Visão geral: relações são essenciais Lição: inclui oito seções Tarefas práticas sugeridas Teste Cartão

Leia mais

Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores

Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores Primeiro Teste 21 de Outubro de 2006, 9:00H 10:30H Nome: Número:

Leia mais

Modelo Cascata ou Clássico

Modelo Cascata ou Clássico Modelo Cascata ou Clássico INTRODUÇÃO O modelo clássico ou cascata, que também é conhecido por abordagem top-down, foi proposto por Royce em 1970. Até meados da década de 1980 foi o único modelo com aceitação

Leia mais

Folha de Cálculo (Excel)

Folha de Cálculo (Excel) Tecnologias de Informação e Comunicação Folha de Cálculo (Excel) Professor: Rafael Vieira. 1. Introdução à folha de cálculo o nome folha de cálculo atribuído a este tipo de programas, deve-se, principalmente,

Leia mais

Análise e Concepção de Sistemas de Informação

Análise e Concepção de Sistemas de Informação Análise e Concepção de Sistemas de Informação Projecto Versão 2.0 amazon.com 2005-2006 1. Introdução O presente documento tem como objectivo apresentar o enunciado do projecto de ACSI 2005-2006. O projecto

Leia mais

FEDERAÇÃO PORTUGUESA DE TIRO

FEDERAÇÃO PORTUGUESA DE TIRO Circular n.º 023/2014 Portal F.P.T. - Inscrições Exmo. Sr. Presidente, No seguimento da Circular Nº 021/2014 Inscrições em Provas F.P.T. e depois de disponibilizarmos a possibilidade de testar/treinar

Leia mais