Algoritmos e Estruturas de Dados 2005/06 Instituto Superior Técnico. Enunciado do 2 o Projecto
|
|
- Vítor Gabriel Moreira Meneses
- 7 Há anos
- Visualizações:
Transcrição
1 Algoritmos e Estruturas de Dados 2005/06 Instituto Superior Técnico Enunciado do 2 o Projecto Data de Entrega 9 de Maio de Introdução Todos os dias recebemos mensagens de correio electrónico ( ). Algumas delas queremos ler, outras não são interessantes e outras ainda são aquilo a que poderemos classificar como spam: mensagens que nunca pedimos para receber a publicitar serviços ou produtos que não queremos. O 2º projecto de AED tem como objectivo a realização de um programa na linguagem de programação C que deverá permitir filtrar as mensagens de correio electrónico classificadas como spam. 2 Especificação do Problema Uma mensagem de correio electrónico ( ) é constituída por vários cabeçalhos (por exemplo, To e From) e pelo corpo da mensagem. O conteúdo da mensagem encontra-se descrito na parte do corpo da mensagem de correio electrónico. O filtro de spam a concretizar recebe como informação um conjunto de palavras P, um número k e um número indeterminado de mensagens de correio electrónico. O filtro deverá classificar cada mensagem de correio electrónico processada como spam ou não. Uma mensagem de correio electrónico é considerada como spam se o seu corpo contiver pelo menos k palavras que pertencem ao conjunto de palavras P. No contexto deste trabalho, as palavras no corpo da mensagem estão separadas pelo caracter espaço em branco ou pelos caracteres de pontuação. Todos os caracteres que não representem letras, números ou o caracter espaço em branco são considerados como caracteres de pontuação. O programa a concretizar recebe como argumentos da linha de comandos o nome do ficheiro que contém as palavras (designadas como lista de spam) a procurar nas mensagens de correio e o número mínimo de palavras da lista de spam que 1
2 o corpo do deve conter para ser considerado spam. O programa lê as mensagens de correio a processar via stdin e para cada mensagem processada escreve no fluxo de dados de saída stdout o número 0 se a mensagem for considerada spam ou o número 1 caso contrário. A verificação se uma palavra do corpo de um está ou não na lista de spam deve ser feita ignorando diferenças entre maiúsculas e minúsculas. 2.1 Funcionalidade Adicional Pode haver diferentes formas de classificar um como spam. Uma classificação alternativa é dizer que um é spam se houver k palavras da lista de spam que estão presentes no corpo do . Nesta classificação alternativa, as palavras da lista de spam que apareçam várias vezes no corpo do apenas contam uma vez, ao contrário da outra classficação descrita anteriormente. O seu programa deve também poder utilizar esta classificação de spam alternativa Este modo de funcionamento só é aplicável se o utilizador invocar o programa com o parâmetro da linha de comandos -u. Se este parâmetro não estiver presente, o programa funciona como descrito na Secção Definição de ADT s Na concretização deste projecto devem ser definidos e concretizados alguns ADT s. Cada funcionalidade do projecto, como por exemplo, filtrar um ou ler um , deve ser abstraída por um ADT distinto. Desta forma será possível alterar a concretização de qualquer uma destas funcionalidades com um impacto mínimo (idealmente nenhum) no restante código do projecto. 3 Dados de Entrada 3.1 Descrição das mensagem de correio electrónico A primeira linha de cada começa com a palavra From seguida do caracter espaço em branco. Na mesma linha deverá estar ainda o endereço de da pessoa que enviou este . Nas linhas seguintes vem um conjunto de cabeçalhos, como por exemplo Subject, Received ou To, em que cada cabeçalho pode ter mais do que uma linha de texto. O início do corpo de um é indicado por uma linha vazia (uma linha vazia apenas contém o caracter \n ). O fim de um é indicado ou pelo fim do fluxo de dados de entrada ou então por uma linha vazia seguido de uma linha que começa por From. As linhas do s estão limitadas em dimensão, nunca ultrapassando 1024 caracteres. 2
3 4 Dados de Saída Para cada processado, o programa deve escrever uma linha com o número 0, caso o processado tenha sido classificado como spam, ou com o número 1 caso contrário. 5 Compilação do programa Deve concretizar o ficheiro Makefile onde definirá o processo de geração do executável correspondente ao programa realizado. O compilador a utilizar é o gcc com as seguintes opções de compilação: -ansi -Wall -pedantic. Este processo deve ser definido na regra all do ficheiro Makefile. O executável gerado deve ter o nome proj2. Assim, para compilar o seu programa deve dar o seguinte comando: prompt> make all o qual deve ter como resultado a geração do ficheiro executável proj2 caso não haja erros de compilação. 6 Exemplo de Execução 6.1 Execução do Programa O programa pode ser executado da seguinte forma prompt> proj2 spam.txt 3 ou prompt> proj2 -u spam.txt 3 em que spam.txt é o nome de um ficheiro com as palavras da lista de spam, 3 é o número mínimo de palavras da lista de spam que um deve conter para ser considerado como spam. A segunda forma de executar o projecto corresponde à utilização da classificação alternativa de spam. De seguida descreve-se um exemplo de execução do projecto (proj2 spam.txt 3), especificando os dados de entrada e o resultado produzido. Esta execução é realizada com a primeira classificação de spam descrita na Secção Lista de Spam: Ficheiro spam.txt dinheiro 3
4 XP windows price meds check campaign affordable baack quality guaranteesss 6.3 Dados de Entrada From Wed Apr 24 10:17: Return-Path: Sender: Message-ID: Date: Wed, 24 Apr :13: From: EEE Organization: IST X-Mailer: Mozilla 4.78 [en] (X11; U; Linux i686) X-Accept-Language: en MIME-Version: 1.0 To: JJ Subject: Handbook of Algorithms and Data Structures Content-Type: text/plain; charset=iso Content-Transfer-Encoding: 8bit Status: RO X-Status: X-Keywords: X-UID: 798 Este e o livro de algoritmos de que te falei. EEE From eee@somewhere.com Wed Apr 24 10:17: Date: Fri, 20 Jan :36: From: "Clare Sorensen" <FILHWCAWMRZF@msn.com> To: jmt@ist.utl.pt Subject: Look...Here mfwl Message-ID: <3A017EE C2D5@localhost> MIME-Version: 1.0 Content-type: text/plain; charset=us-ascii Priority: normal 4
5 X-mailer: Pegasus Mail for Win32 (v3.12c) Loking for quality meds at affordable price? We have widest range of meds at very competitive price. Money baack guaranteesss... pju 6.4 Resultados Entrega do Projecto A entrega do projecto deverá respeitar o procedimento seguinte: Na página da disciplina deverá aceder à página para entrega de projectos. Deverá efectuar o upload de um ficheiro arquivo com extensão.tgz, o qual deverá incluir o seguinte: Os ficheiros fonte (*.c) e cabeçalho (*.h) que constituem o programa a submeter. Não devem ser incluidos os ficheiros cabeçalho da biblioteca C. Makefile que permita criar o executável proj2 como resultado de executar o comando make all. O compilador utilizado é o compilador gcc da GNU. É obrigatório a utilização das seguintes opções de compilação, -ansi, -Wall e -pedantic, por forma a requerer que o programa respeite a norma ANSI C. Programas que não respeitem esta norma terão uma penalização na nota final. Como resultado do processo de upload será informado se a resolução entregue apresenta a resposta esperada num conjunto de casos de teste. Prazo de entrega do projecto: 23:59 do dia 9 de Maio de Para criar um ficheiro arquivo com a extensão.tgz deve dar o seguinte comando na directoria onde se encontram os ficheiros com extensão.c e.h e a Makefile criados durante o desenvolvimento do projecto: prompt> tar cfzv proj2.tgz Makefile *.c *.h 5
6 ou caso esteja a utilizar o computador mega, em vez do comando tar deverá utilizar o comando gtar. 8 Avaliação do Projecto 8.1 Componentes da Avaliação Na avaliação do projecto serão consideradas as componentes seguintes: 1. A primeira componente avalia o correcto funcionamento do programa realizado, e tem uma contribuição máxima de 14 valores para a nota final. O correcto funcionamento da classificação alternativa de spam corresponde a 2 valores destes A segunda componente avalia o desempenho do programa realizado, e tem uma contribuição máxima de 4 valores para a nota final. O desempenho da classificação alternativa de spam corresponde a 1 valor destes A terceira componente avalia a qualidade do código entregue. Esta componente varia entre -2 valores e +2 valores e será atribuída na discussão final do trabalho. Nesta componente será tido em conta a realização e utilização de ADT s. 4. A última componente da avaliação corresponde à certificação com o programa valgrind. Projectos que reportem erros como resultado da certificação com o valgrind têm uma penalização de 10% da nota obtida nas duas primeiras componentes. 8.2 Atribuição automática da nota A nota das duas primeiras componentes da avaliação do projecto são obtidas automaticamente através da execução de um conjunto de testes executados num computador com o sistema operativo GNU/Linux. Torna-se portanto essencial que o código compile correctamente e que respeite o formato de entrada e saída dos dados. Projectos que não obedeçam ao formato indicado no enunciado serão penalizados na avaliação automática, podendo no limite ter 0 valores se falharem todos os testes. Os testes considerados para efeitos de avaliação incluem os disponibilizados na página da disciplina, além de um conjunto de testes adicionais. A execução de cada programa em cada teste é limitada na quantidade de memória que pode utilizar, até um máximo de 128 MByte, e no tempo total disponível para encontrar a solução, sendo o tempo limite distinto para cada teste. Note que o facto de o seu projecto passar com sucesso o conjunto de testes disponibilizado não implica que o projecto está totalmente correcto. Apenas indica 6
7 que passou alguns testes com sucesso, mas este conjunto de testes não é exaustivo. É da responsabilidade dos alunos garantir que o código produzido está correcto. 8.3 Detecção de Cópias A avaliação dos projectos inclui a utilização de um sistema para detecção de situações de cópia entre projectos. A submissão de um projecto pressupõe o compromisso de honra que o trabalho incluso foi realizado pelos alunos referenciados nos ficheiros submetidos para avaliação. A quebra deste compromisso, ou seja a tentativa de um grupo se apropriar de trabalho realizado por colegas, tem como consequência a reprovação de todos os alunos envolvidos (incluindo os que possibilitaram a ocorrência) à disciplina de AED neste ano lectivo. 8.4 Considerações Adicionais Todos os programas são avaliados do modo seguinte:./proj2 xxx.spam n < xxx.in > xxx.out; diff xxx.out xxx.esp ou./proj2 -u xxx.spam n < xxx.in > xxx.out; diff xxx.out xxx.esp em que o ficheiro xxx.esp representa o resultado esperado da execução do programa considerando os s definidos dentro do ficheiro xxx.in, o ficheiro de spam xxx.spam e o número mínimo de palavras n que devem estar presentes no ficheiro de spam. A impossibilidade de verificar automaticamente o resultado da execução de um dado programa implica uma penalização de 100%. Considera-se que um programa passou um teste com sucesso se o resultado produzido por esse programa for exactamente igual ao resultado esperado, i.e. o comando diff não deverá encontrar diferenças entre o resultado produzido pelo programa submetido e o esperado. Para poder ser avaliado, um projecto deverá compilar correctamente num computador com o sistema operativo GNU/Linux, sendo o utilizado o compilador gcc da GNU. A entrega de código não compilável, ou a não inclusão de qualquer dos ficheiros requeridos, ou a utilização de nomes diferentes para o ficheiro executável conduz a uma classificação de zero valores. Não serão aceites quaisquer justificações. 7
Introdução aos Algoritmos e Estruturas de Dados 2011/2012
INSTITUTO SUPERIOR TÉCNICO Introdução aos Algoritmos e Estruturas de Dados 2011/2012 Enunciado do 3 o Projecto Data de entrega: 09 de Dezembro de 2011 às 23h59 1 Introdução Neste projecto pretende-se desenvolver
Leia maisAlgoritmos e Estruturas de Dados 2005/06 Instituto Superior Técnico. Enunciado do 3 o Projecto
Algoritmos e Estruturas de Dados 2005/06 Instituto Superior Técnico Enunciado do 3 o Projecto Data de Entrega 1 de Junho de 2006 1 Introdução Todos os dias recebemos mensagens de correio electrónico (email).
Leia maisIntrodução aos Algoritmos e Estruturas de Dados 2011/2012
INSTITUTO SUPERIOR TÉCNICO Introdução aos Algoritmos e Estruturas de Dados 2011/2012 Enunciado do 1 o Projecto Data de entrega: 21 de Outubro de 2011 às 23h59 1 Introdução A Zona Euro (ZE) é actualmente
Leia mais1/16 MAKEFILES Makefiles Programação II
1/16 MAKEFILES Definição 2/16 Definição O makefile - é um arquivo para configuração de compilação utilizado pelo programa make, - a ideia é simplificar e agilizar a compilação de programas. Vantagens e
Leia maisMakefiles O que é mak a efi f le make
O que é O makefile é um arquivo para configuração de compilação utilizado pelo programa make, cuja ideia é simplificar e agilizar a compilação de programas. Vantagens e uso Evita a compilação de arquivos
Leia maisA ferramenta make. A - Introdução. O C é orientado para a produção de aplicações informáticas de grande dimensão
A - Introdução O C é orientado para a produção de aplicações informáticas de grande dimensão Na geração de aplicações informáticas há ficheiros gerados a partir de outros: logo, os segundos têm obrigatoriamente
Leia maisEncriptação de Mensagens
Instituto Superior Técnico Fundamentos da Programação 2016/2017 Enunciado do 1 o Projecto Data de entrega: 4 de Novembro de 2016 às 23h59 Encriptação de Mensagens Pretende-se com este trabalho a implementação
Leia maisIntrodução aos Algoritmos e Estruturas de Dados 2011/2012
INSTITUTO SUPERIOR TÉCNICO Introdução aos Algoritmos e Estruturas de Dados 2011/2012 Enunciado do 2 o Projecto Data de entrega: 11 de Novembro de 2011 às 23h59 1 Introdução O EuroMilhões é uma lotaria
Leia maisTrabalho de Linguagens Formais e Compilação
Trabalho de Linguagens Formais e Compilação Desenho de uma linguagem simples e do seu compilador para MIPS. (cod. 5387) Departamento de Informática Universidade da Beira Interior Ano lectivo 2012/2013
Leia maisCorpo Docente. Algoritmos e Estruturas de Dados LEE 2014/ /02/15. Apresentação. } Fernando Mira da Silva
Algoritmos e Estruturas de Dados LEE 2014/2015 Apresentação Corpo Docente Fernando Mira da Silva Teóricas Laboratórios Horários de Dúvidas Contactos Gabinete: Núcleo 11 Fernando.silva@tecnico.ulisboa.pt
Leia maisProgramação 2010/2011 MEEC
Programação 2010/2011 MEEC Code::Blocks Criação de projectos O Code::Blocks é um IDE (ambiente de desenvolvimemnto integrado) que permite a escrita do codigo, compilação, correcção de erros e depuração
Leia maisRedes de Computadores
Redes de Computadores Camada de Aplicação HTTP FTP SMTP Slide 1 Mensagem de Requisição HTTP linha de pedido (comandos GET, POST,HEAD ) linhas de cabeçalho Carriage return, line feed indica fim da mensagem
Leia maisUNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA Sistemas Operacionais I 2016/1
1 Descrição Geral Atividade Experimental 2 Programa para calcular o MÁXIMO ou o MÍNIMO dos números de um arquivo O objetivo desta atividade é implementar um programa para determinar o maior ou o menor
Leia maisProgramação Aplicada de Computadores. Trabalho 1 Freecell
Programação Aplicada de Computadores Trabalho 1 Freecell 1. Objetivo O objetivo deste trabalho é implementar o jogo Freecell utilizando a estrutura de dados Pilha (stack). Freecell é um jogo de cartas
Leia maisINSTITUTO 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 maisProjecto de Laboratório de Computadores
Projecto de Laboratório de Computadores 2016-2017 Hélder P. Oliveira, Luís Torgo, Rogério Reis DCC@FCUP 1 Introdução O objetivo deste projeto é o desenvolvimento de um sistema de controlo de um supermercado,
Leia maisDepartamento 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 maisProgramaçã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 maisObjectivos. Programação I (2010/2011) 2 o Trabalho de Programação
Programação I (2010/2011) 2 o Trabalho de Programação Introdução As progressões aritméticas e geométricas são exemplos de sucessões numéricas onde o elemento n + 1 depende do elemento n e de uma constante.
Leia maisCompilador de LP3 para C3E e P3
Compilador de LP3 para C3E e P3 Luís Gil 1 13 de Junho de 2005 1 estudante de Ciências Informáticas no Instituto Superior Técnico 1 Introdução Este relatório descreve a sintaxe e a semântica da Linguagem
Leia maisSumá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 mais1 Introdução. 2 Especificação
Bacharelado em Ciência da Computação DINF / UFPR CI067 - Oficina de Computação 2. semestre 2012 Prof. Luiz Eduardo S. de Oliveira Prof. Diego Roberto Antunes 29/11/2012 Releases - Histórico: r0 29/11/2012
Leia maisÍNDICE. Índice remissivo...9. Iron Mountain Incorporated Ajuda do MyRoam do Connected Backup 1
ÍNDICE Acerca da Aplicação MyRoam....................................................................3 Processo de recuperação......................................................................3 Ficheiros
Leia maisSistemas Operativos, 3. o MIEIC 2009/10, FEUP
Sistemas Operativos, 3. o MIEIC 2009/10, FEUP RMA, JVV, HSF December 20, 2009 2. o Trabalho Prático: SO Shell Stats (sosh s) Objectivos Completando com sucesso todas as fases deste trabalho, os alunos
Leia maisTerceiro Trabalho Prático. Este trabalho tem como objetivo ordenar um arquivo de dados e implementar as operações cosequenciais de merging e matching.
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Disciplina de Algoritmos e Estruturas de Dados II docente Profa. Dra. Cristina Dutra de
Leia maisSegundo Trabalho Prático
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Disciplina de Algoritmos e Estruturas de Dados II docente Profa. Dra. Cristina Dutra de
Leia maisTrabalho de LP 15/07/2013. Prof. Flávio Miguel Varejão
15/07/2013 Trabalho de LP Prof. Flávio Miguel Varejão OBSERVAÇÃO IMPORTANTE: LEIA ATENTAMENTE TODA A ESPECIFICAÇÃO DO TRABALHO E INSTRUÇÕES DE SUBMISSÃO DE MODO A NÃO COMETER ENGANOS POR DESATENÇÃO E SER
Leia maisLinguagem 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 maisCompiladores Prof. a Mariella Berger. Trabalho 2 Analisador Léxico
Compiladores Prof. a Mariella Berger Trabalho 2 Analisador Léxico 1. Objetivo O objetivo deste trabalho é a criação de um analisador léxico para a linguagem Pascalito, um subconjunto modificado da linguagem
Leia maisListagens de ficheiros e directorias
Listagens de ficheiros e directorias Listagens de ficheiros e directorias Para além do tipo dos ficheiros, o modo possui nove caracteres que representam as permissões (ou protecções) associadas aos ficheiros
Leia maisEspecificações do Trabalho Prático de Informática I
Especificações do Trabalho Prático de Informática I (Contabilidade/Marketing e Comércio Internacional) Ano Lectivo 2002/2003 Cada grupo (4 elementos) deverá definir a entidade alvo do estudo (que poderá
Leia maisAna Paula Tomás. Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto 2010/2011
Ana Paula Tomás Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto 2010/2011 Aula 1 Objectivos e programa da disciplina. Critérios de avaliação. Um primeiro programa
Leia maisSegundo Trabalho Prático
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Disciplina de Organização de Arquivos docente Profa. Dra. Cristina Dutra de Aguiar Ciferri
Leia maisSegurança de aplicação - S/MIME
Segurança de aplicação - S/MIME Jaime Dias FEUP > DEEC > MRSC > Segurança em Sistemas e Redes v1 Componentes de um sistema de e-mail Interface com o utilizador (leitor de e-mails) Escrita e leitura de
Leia maisSegurança de aplicação - S/MIME. Jaime Dias FEUP > DEEC > MRSC > Segurança em Sistemas e Redes v1
Segurança de aplicação - S/MIME Jaime Dias FEUP > DEEC > MRSC > Segurança em Sistemas e Redes v1 Componentes de um sistema de e-mail Interface com o utilizador (leitor de e-mails) Escrita e leitura de
Leia maisProgramação. Folha Prática 1. Lab. 1. Departamento de Informática Universidade da Beira Interior Portugal Copyright Ó 2000 All rights reserved.
Programação Folha Prática 1 Lab. 1 Departamento de Informática Universidade da Beira Interior Portugal 2016 Copyright Ó 2000 All rights reserved. LAB. 1 1ª semana INTRODUÇÃO À PROGRAMAÇÃO 1. Introdução
Leia maisUniversidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores
Universidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores 2013-2 Compilador para a Linguagem Cafezinho Especificação dos trabalhos: T2 (Geração da Representação Intermediária e Análise
Leia maisEstruturas de Dados I Enunciado do Trabalho Prático
Estruturas de Dados I Enunciado do Trabalho Prático Licenciatura em Engenharia Informática Universidade de Évora 2001/2002 1 Objectivo Pretende-se implementar uma base de dados sobre as viagens efectuadas
Leia maisAmbientes de Desenvolvimento Avançados (ADAV)
Ambientes de Desenvolvimento Avançados (ADAV) 2004/2005 Trabalho Prático O trabalho prático da disciplina de ADAV consistirá na concepção e desenvolvimento de uma aplicação que simule a gestão de uma oficina
Leia maisPrimeiro Trabalho Prático Turma A. Descrição do Trabalho. Considere os seguintes dados a respeito de um livro:
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Disciplina de Organização de Arquivos Profa. Dra. Cristina Dutra de Aguiar Ciferri PAE
Leia maisAnálise do problema. Desenvolvimento de programas. Desenvolvimento do algoritmo. Análise do problema
Desenvolvimento de programas 1 Análise do problema 2 Análise do problema Desenvolvimento do algoritmo Codificação do programa Compilação e execução Teste e depuração Conhecer exatamente o que o problema
Leia maisProgramaçã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 maisRedes de Computadores
Redes de Computadores Serviços do Utilizador Final Paulo Coelho 2005 1 Arquitectura de uma Intranet 2 Serviços do Utilizador Final Sistema de ficheiros distribuídos NIS Correio Electrónico 3 Sistema de
Leia maisA linguagem C (visão histórica)
A linguagem C (visão histórica) A linguagem C é uma linguagem de programação desenvolvida no ínício dos anos 70 por Dennis Ritchie, que trabalhava nos laboratórios Bell e que também inciou em paralelo,
Leia maisQuinto Trabalho Prático. Este trabalho tem como objetivo indexar arquivos de dados usando um índice árvore-b.
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Disciplina de Algoritmos e Estruturas de Dados II docente Profa. Dra. Cristina Dutra de
Leia maisALGORITMOS 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 maisUniversidade Federal do Espírito Santo - CT - DI Trabalho Computacional - PD II - Engenharia Elétrica Profa. Maria Cristina Rangel
Universidade Federal do Espírito Santo - CT - DI Trabalho Computacional - PD II - Engenharia Elétrica Profa. Maria Cristina Rangel Considere o esboço do estado do ES e n = 30 cidades enumeradas de 1, 2,...,
Leia maisDesenvolvimento de programas. Análise do problema. Análise do problema. Análise do problema. Desenvolvimento do algoritmo. Codificação do programa
Desenvolvimento de programas 1 Análise do problema Desenvolvimento do algoritmo Codificação do programa Compilação e execução Teste e depuração Análise do problema 2 Conhecer exatamente o que o problema
Leia maisProgramação II. Trabalho 2 Freecell
Programação II Trabalho 2 Freecell 1. Objetivo O objetivo deste trabalho é implementar o jogo Freecell utilizando o Tipo Abstrato de Dados (TAD) Pilha (stack). Freecell é um jogo de cartas que tem por
Leia maisAmbiente de desenvolvimento
Linguagem C Ambiente de desenvolvimento Um programa em C passa por seis fases até a execução: 1) Edição 2) Pré-processamento 3) Compilação 4) Linking 5) Carregamento 6) Execução Etapa 1: Criação do programa
Leia maisSegundo Trabalho Prático Turma A
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Disciplina de Organização de Arquivos Profa. Dra. Cristina Dutra de Aguiar Ciferri PAE
Leia maisProgramaçã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 maisAlgoritmos e Estruturas de Dados I (DCC/003) Introdução à Programação de Computadores. Aula - Tópico 1
Algoritmos e Estruturas de Dados I (DCC/003) Introdução à Programação de Computadores Aula - Tópico 1 1 Problema 1 Considere o seguinte problema: Determinar o valor de y = seno(1,5). 2 Definições Para
Leia maisArgumentos 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 maisDesenvolvimento de programas
1 Desenvolvimento de programas Análise do problema Desenvolvimento do algoritmo Codificação do programa Compilação e execução Teste e depuração 2 Análise do problema Conhecer exatamente o que o problema
Leia maisCompiladores Prof. a Mariella Berger. Trabalho 1 Analisador Léxico
Compiladores Prof. a Mariella Berger Trabalho 1 Analisador Léxico 1. Objetivo O objetivo deste trabalho é a criação de um analisador léxico que será utilizado por um interpretador da linguagem Pascalzinho.
Leia maisProgramar com o CARMEN
Apêndice B Programar com o CARMEN Este anexo descreverá os passos básico para se criar um novo módulo utilizando CARMEN. O documento de referência utilizado, contendo mais informações sobre estilos de
Leia maisLaboratório de Introdução à Ciência da Computação I
Laboratório de Introdução à Ciência da Computação I Aula 1 - Estrutura Sequencial Professores: Vanderlei Bonato (responsável) - vbonato@icmc.usp.br Luiz Henrique Kiehn (aluno PAE) - lhkiehn@icmc.usp.br
Leia maisIntrodução à Programação Aula 04. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação
Introdução à Programação Aula 04 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAL LINGUAGEM IREMOS ESTUDAR? 2 Introdução à Programação Linguagens
Leia maisAED Algoritmos e Estruturas de Dados LEEC /2006. Apresentação
AED Algoritmos e Estruturas de Dados LEEC - 2005/2006 1 º ano, 2º Semestre Apresentação http://matrix.inesc-id.pt/aed06 aed06@matrix.inesc-id.pt Algoritmos e Estruturas de Dados Disciplina de base da área
Leia maisAlgoritmos 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 maisConceito de programação
Sumário Conceito de programação Introdução ao Sistema Operativo Componentes do Computador - Hardware/ Software Sistema Operativo, algumas características Noção de Sistemas de Ficheiros Comandos, exemplificação
Leia maisIntrodução à Programação Aula 16. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação
Introdução à Programação Aula 16 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação COMO UM PROGRAMA C É COMPILADO? 2 Compilação de um Programa A compilação
Leia maisEditor Eclipse para Programas F
Editor Eclipse para Programas F Guia de instalação e utilização Instalação Comece por descarregar a aplicação de instalação CP_setup.exe do endereço http://www.math.ist.utl.pt/~jabr/cp/ Uma vez descarregada,
Leia maisLinguagem C. Produção de programas em C (Ligação estática) Centro de Cálculo Instituto Superior de Engenharia de Lisboa
Capítulo 7, secções.1-.9 Capítulo 4, secções.5-.11 Linguagem C Produção de programas em C (Ligação estática) Centro de Cálculo Instituto Superior de Engenharia de Lisboa João Pedro Patriarca (jpatri@cc.isel.ipl.pt)
Leia maisUniversidade Federal do Espírito Santo - CT - DI Trabalho Computacional - PD II - Engenharia de Computação Profa. Claudia Boeres
Universidade Federal do Espírito Santo - CT - DI Trabalho Computacional - PD II - Engenharia de Computação Profa. Claudia Boeres Considere o esboço do estado do ES e n cidades enumeradas de 1, 2,..., n.
Leia maisAmbientes de Desenvolvimento Avançados (ADAV)
Ambientes de Desenvolvimento Avançados (ADAV) 2006/2007 Trabalho Prático O trabalho prático da disciplina de ADAV consistirá na concepção e desenvolvimento de uma aplicação que simule a gestão de uma operadora
Leia maisIDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias
1 IDES E PROGRAMAÇÃO Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias {claudio,macdias}@icmc.usp.br 2 Agenda Conceitos Instalação e Configuração Compilação e Execução de Código IDEs Exemplo
Leia maisPrimeira Parte do Trabalho Prático (Parte I) Valor: 30% Descrição do arquivo de dados
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Disciplina de Organização de Arquivos Profa. Dra. Cristina Dutra de Aguiar Ciferri PAE
Leia maisGuião 4: Draw a Grid
Guião 4: Draw a Grid Versão 1.1 INTRODUÇÃO O objectivo deste guião é que resolva um problema do concurso de programação ACM ICPC (International Collegiate Programming Contest). O problema escolhido é o
Leia maisProgramação Estruturada Aula - Introdução a Linguagem C
Programação Estruturada Aula - Introdução a Linguagem C Prof. Flávio Barros flavioifma@gmail.com www.flaviobarros.com.br 2 HISTÓRICO DA LINGUAGEM C HISTÓRICO DA LINGUAGEM C Como tudo iniciou... C iniciou
Leia mais1 O filtro da mediana
Departamento de Ciência da Computação IME-USP MAC0115 Introdução à Computação para Ciências Exatas e Tecnologia Instituto de Física Turma 21 Segundo Semestre de 2008 Quarto Exercício-Programa Prazo de
Leia maisEngenharia de Software
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
Leia maisUNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO. Ano Lectivo de 2005/2006, 2 o Ano, 1 o Semestre. Projecto de Programação com Objectos
UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Ano Lectivo de 2005/2006, 2 o Ano, 1 o Semestre Projecto de Programação com Objectos Gestão de Mediateca 31 de Outubro de 2005 INFORMAÇÕES IMPORTANTES
Leia maisTCC 00308: Programação de Computadores I Organização de programas em Python
TCC 00308: Programação de Computadores I 2017.1 Organização de programas em Python Vamos programar em Python! Como um programa é organizado? Quais são os tipos de dados disponíveis? Como variáveis podem
Leia maisFundamentos da Programação. Ano lectivo , 2 o Semestre Projecto Primeira Parte 1. Nim
Fundamentos da Programação Ano lectivo 2013-14, 2 o Semestre Projecto Primeira Parte 1 Nim Nim é um jogo de estratégia matemática, que pode ser jogado casualmente usando um conjunto de objectos dispostos
Leia mais29/04/2015. Trabalho de Programação 3. Prof. Flávio Miguel Varejão. I. Descrição
O trabalho de Programação 3 de 2016/1 do prof. Flávio Varejão foi uma versão simplificada do trabalho abaixo, usado pelo prof. Flávio no ano anterior. Basicamente a simplificação foi deixar apenas as classes
Leia maisArquitetura e Organização de Computadores. Compiladores e processamento
Arquitetura e Organização de Computadores Compiladores e processamento Verificar a existência dos pacotes: - GCC (Gnu C Compiler); - GDB (Gnu Debuger); - Libc (blibliotecas C); - nano, vi, emacs ou outro
Leia maisBCC201 Introdução à Programação. Prof. Saul Delabrida 2013/2
BCC201 Introdução à Programação Prof. Saul Delabrida 2013/2 Como um programa é criado? Compilação por linha de comando Introdução à linguagem C 2 Como um programa é criado? 3 Quando queremos digitar um
Leia maisCompiladores Prof. a Mariella Berger. Trabalho 3 Analisador Semântico
Compiladores Prof. a Mariella Berger Trabalho 3 Analisador Semântico 1. Objetivo O objetivo do trabalho 3 é a criação do Analisador Semântico de seu Interpretador. 2. Implemetação Você deverá utilizar
Leia maisSMTP Simple Mail Transport Protocol
Simple Mail Transport Protocol Carlos Gustavo A. da Rocha Introdução Correio eletrônico existe desde o início da Internet Uma das aplicações mais populares e de maior sucesso Com o tempo ficou mais elaborado
Leia maisDocumentos Informativos Ano Letivo de 2016/17
2016 Documentos Informativos Ano Letivo de 2016/17 Estes documentos tem como objectivo auxiliar o novo estudante no processo de inscrições nas unidades curriculares e fornecer algumas informações úteis
Leia maisProcessamento de Linguagens I LESI + LMCC (3 o ano)
Processamento de Linguagens I LESI + LMCC (3 o ano) Trabalho Prático n o 1 (Lex e Yacc) Ano lectivo 2003/2004 1 Objectivos e Organização Este trabalho prático tem como principais objectivos: aumentar a
Leia maisSegunda Parte do Trabalho Prático (Parte II) Valor: 70%
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Disciplina de Organização de Arquivos Profa. Dra. Cristina Dutra de Aguiar Ciferri PAE
Leia maisSegunda Parte do Trabalho Prático (Parte II) Valor: 60% Descrição do índice
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Disciplina de Organização de Arquivos Profa. Dra. Cristina Dutra de Aguiar Ciferri PAE
Leia maisLaboratório de Introdução à Ciência da Computação I
Laboratório de Introdução à Ciência da Computação I Aula 1 - Estrutura Sequencial Professor: Jó Ueyama Estagiário PAE: Bruno S. Faiçal 1 Sumário Estrutura de programas (sequenciais) Tipos de dados simples
Leia maisUniversidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Profa Rosana Braga
Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Profa Rosana Braga 1º semestre de 2010 1 Arquivo-FONTE /*******************************/ /* Primeiro exemplo arq exemplo1.c
Leia maisApresentação da ferramenta de programação. Comandos de entrada e saída. Prof. Alex Camargo
UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ALGORITMOS E PROGRAMAÇÃO Apresentação da ferramenta de programação. Comandos de entrada e saída Prof. Alex Camargo alexcamargoweb@gmail.com Linguagem C A linguagem
Leia maisProgramação. Module Introduction. Cap. 1 Fundamentos de Computadores
Engenharia Informática (5374) - 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) - 1º ano, 1º semestre Bioengenharia (9099) 2º ano, 1º semestre Ciências Biomédicas (10135) 2º ano, 1º semestre
Leia maisProgramação 2017/2018 2º Semestre
Mestrado em Engenharia Electrotécnica e de Computadores Programação 2017/2018 2º Semestre Aula de Problemas 1 Os alunos deverão executar os passos aqui descritos no seu computador pessoal ou no laboratório.
Leia maisLinguagem 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 maisCCM0128 Computação II
CCM0128 Computação II Departamento de Ciência da Computação IME-USP Curso de Ciências Moleculares Turma 22 Primeiro Semestre de 2013 Primeiro Exercício-Programa Data de entrega: até 2 de abril de 2013.
Leia maisLaboratório de Introdução à Ciência da Computação I
Laboratório de Introdução à Ciência da Computação I Aula 1 - Estrutura Sequencial Professores: Vanderlei Bonato (responsável) - vbonato@icmc.usp.br Roberto de M. F. Filho (aluno PAE) - rmdff@icmc.usp.br>
Leia mais3.1 - Funções para manipular dados de entrada e saída padrão
1616161616161616161616161616161616161616161616161616 3- ENTRADA E SAÍDA EM C Os principais meios para executar operações de entrada e saída (E/S) são: Entrada e saída pelo console (ou padrão): teclado
Leia maisProgramação 2017/2018 MEEC
Mestrado em Engenharia Electrotécnica e de Computadores Programação 2017/2018 MEEC LABORATÓRIO 1 SEMANA DE 5 DE MARÇO A 9 DE MARÇO DE 2018 Ao desenvolver os seguintes programas tenha em atenção o bom uso
Leia maisLinguagem C: Introdução
Linguagem C: Introdução Linguagem C É uma Linguagem de programação genérica que é utilizada para a criação de programas diversos como: Processadores de texto Planilhas eletrônicas Sistemas operacionais
Leia maisInterpretadores de comandos. Interpretadores de comandos de login válidos. Caracteres especiais. José Pedro Oliveira
Conteúdo Utilização (jpo@di.uminho.pt) Grupo de Sistemas Distribuídos Departamento de Informática Escola de Engenharia Universidade do Minho Sistemas Operativos 2005-2006 1 2 3 4 de login válidos Programa
Leia maisUSP - ICMC - SSC SSC o. Semestre 2010 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria
USP - ICMC - SSC SSC 0501-1o. Semestre 2010 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria Prof. Fernando Santos Osório Email: fosorio [at] { icmc. usp. br, gmail. com } Página Pessoal:
Leia mais