INF 1620 P4 11/12/06 Questão 1 Nome:

Documentos relacionados
INF 1620 P4 30/06/07 Questão 1 Nome:

INF 1620 P3-27/11/04 Questão 1 Nome:

INF 1620 P3-25/11/05 Questão 1 Nome:

INF 1620 P4-01/07/08 Questão 1 Nome:

INF 1620 P3-29/06/04 Questão 1 Nome:

INF 1620 P2-14/10/05 Questão 1 Nome:

INF 1620 P2-23/10/04 Questão 1 Nome:

INF 1620 P3-06/12/03 Questão 1 Nome:

INF 1620 P3-21/06/08 Questão 1 Nome:

INF 1620 P4-09/07/03 Questão 1 Nome:

INF 1620 P4-06/12/02 Questão 1 Nome:

INF P3-23/06/07 Questão 1 Nome:

INF 1620 P1-16/09/06 Questão 1 Nome:

INF 1620 P4-27/06/02 Questão 1 Nome:

Departamento de Informática - PUC-Rio INF 1007 Programação 2 P4 07/12/2010

INF 1620 P1-18/09/04 Questão 1 Nome:

INF 1620 P2-17/05/08 Questão 1 Nome:

INF 1620 P1-14/04/07 Questão 1 Nome:

Departamento de Informática - PUC-Rio INF 1007 Programação 2 P3 23/06/2010

Departamento de Informática - PUC-Rio INF 1007 Programação 2 P3 26/11/2010

INF 1620 P1-11/04/08 Questão 1 Nome:

INF 1620 P2-01/11/03 Questão 1 Nome:

a) Implemente uma função que retorne uma aproximação do valor de π, de acordo com a F órmula de Leibniz: ( 1)

INF 1620 P1-17/09/05 Questão 1 Nome:

Aluno: Valor Nota Q1 3.0 Q2 2.5 Q3 2.5 Q4 2.0 Total 10.0

INF 1620 P4-13/12/01 Questão 1 Nome:

Departamento de Informática - PUC-Rio INF 1007 Programação 2 P1 17/04/2010

Aluno: Para todas as questões desta prova considere os tipos estruturados abaixo:

P3 Programação II Departamento de Informática/PUC-Rio 27 de junho de 2013

INF 1007 P2 23/10/10 Nome: Instruções:

P2 Programação II Departamento de Informática/PUC-Rio

SIMULADO PROVA. Questões Nota Revisão 1 (2.0) 2 (1.0) 3 (2.0) 4 (2.0) 5 (2.0) P1 (9,0)

INF 1620 P1-04/10/03 Questão 1 Nome:

INF 1620 P3-02/07/02 Questão 1 Nome:

P2 Programação II Departamento de Informática/PUC-Rio

Departamento de Informática PUC-Rio INF Estruturas de Dados Lista 2 Completa (Gerada em 8 de maio de 2006)

INF 1620 P1-13/09/02 Questão 1 Nome:

INF P4-12/12/09 Questão 1 Nome:

PROVA P2 INF /10/2014 Programação II

2. Considerando as seguintes declarações de uma lista encadeada

Aluno: Matrícula: Turma:

INF 1620 P1-11/04/03 Questão 1 Nome:

char* prefixo (char* str, int n);

EPs 1 e 2. EP2: veja. EP1: veja

INF1001: Introdução à Ciência da Computação P1 07/04/08 Nome:

Estruturas de Dados. Módulo 17 - Busca. 2/6/2005 (c) Dept. Informática - PUC-Rio 1

Objetivo. Compreender a definição e dominar a implementação de ponteiros em C. Dominar a manipulação de arquivos

CAP. IX - MANIPULAÇÃO DE ARQUIVOS Generalidades sobre Arquivos. 9.2 Abertura e Fechamento de Arquivos. Operações com arquivos:

Caracteres e Cadeias de Caracteres

1 Questões de Múltipla Escolha

TÉCNICAS DE PROGRAMAÇÃO

Apêndice B. Cadeias de Caracteres (Strings)

Strings. Introdução. Definição de strings. Criação/Declaração de strings. Inicialização de strings. Manipulação de strings. Exemplos.

Computação 2. Aula 8. Profª. Fabiany Arquivos

MAC-115 Introdução à Computação para Ciências Exatas e Tecnologia IO Terceiro Exercício-Programa Entregar até 09/11/2007

INF1001: Introdução à Ciência da Computação P2 25/05/08 Nome:

Mestrado em Engenharia Física Tecnológica

ÁRVORES ABB (ÁRVORES BINÁRIAS DE BUSCAS) Sérgio Carlos Portari Júnior

Lista de Exercícios - Listas Aula de Laboratório. 1. Considerando as seguintes declarações de uma lista encadeada:

Linguagem de Programação

Estruturas de Dados. Módulo 15 - Arquivos. 2/6/2005 (c) Dept. Informática - PUC-Rio 1

CURSO BÁSICO DE PROGRAMAÇÃO AULA 15. Revisão Vetores e Matrizes Trabalho

Programação II. Arquivos - Conceito. Arquivos

Métodos Computacionais. Arquivos

Capítulo 6: Arquivos

O que é a modularização

Aula 16: Manipulação de Arquivos em C

Lista de Exercícios para P1 INF1007 (Prog2) 15/04/2013. ATENÇÃO: O material a seguir não sofreu revisão e pode conter erros.

Introdução a Programação. Manipulando Arquivos em Modo Texto

CURSO BÁSICO DE PROGRAMAÇÃO AULA 11. Revisão Aula Anterior Vetores Cadeia de Caracteres

INF1001: Introdução à Ciência da Computação P4 30/06/08 Nome:

Módulo 18 - Tabelas de Dispersão. Referências

Computação I - C Prova /10/ Profs. Adriano Cruz e Valeria Bastos

Capítulo 06: Arquivos

Lista de Exercícios 1

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Fundamentos de Programação 1

Módulo 7 Cadeias de Caracteres

Aula teórica: /6. Enunciado

Linguagem de Programação I Vetores e Strings. Thiago Leite Francisco Barretto

Cadeias de Caracteres (Strings)

Alocação Dinâmica de Memória - Exercício

INF 1007 Simulado P2 Nome: Instruções

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Manipulação de arquivos

Computação Informática

Introdução à Programação

INF 1620 P1-10/04/02 Questão 1 Nome:

Árvores Binária de Busca. Prof. César Melo DCC/ICE/UFAM

Estruturas de Dados Aula 6: Cadeias de 28/03/2010

Estruturas de Dados Aula 6: Cadeias de Caracteres

Estruturas de Dados. Profa. Juliana Pinheiro Campos

Algoritmos e Estruturas de dados

Existe uma quantidade de informação que pode ser armazenada para resolver o problema.

Laboratório de Introdução à Ciência da Computação I

Linguagem C: Arquivo-Texto

Estrutura de Dados. Cadeia de Caracteres. Roberto Araujo Ago/2013

Curso Básico de Programação Aula 11. Revisão Aula Anterior Laços de Repetição While; Do-While; For.

Estrutura de um programa em linguagem C

Tabelas de Dispersão (hash tabels)

Transcrição:

INF 1620 P4 11/12/06 Questão 1 Considere que o cálculo da multa para o pagamento de um determinado imposto varia de acordo com a tabela a seguir: Valor do Imposto Original Multa por mês de atraso até R$ 99,99 R$ 2,00 de R$ 100,00 a R$ 500,00 R$ 4,00 mais de R$ 500,00 R$ 8,00 Por exemplo, se um imposto no valor de R$ 200,00 estiver 3 meses atrasados, o valor da multa a ser paga será de R$ 12,00 (3 x 4 Reais). Escreva um programa completo que leia inicialmente o valor do imposto e o número de meses de atraso no pagamento (esses valores devem ser fornecidos pelo usuário do programa via o teclado). De acordo com o valor do imposto, o programa deve calcular a multa devida e imprimir uma mensagem para o usuário com o valor da multa e o novo valor do imposto, já acrescido da multa. Considerando o exemplo acima (imposto original de R$ 200,00 e 3 meses de atraso), o seu programa deve imprimir a mensagem Multa: R$ 12,00 Imposto Total: R$ 212,00

INF 1620 P4 11/12/06 Questão 2 Escreva uma função em C para retirar o prefixo de uma cadeia de caracteres. A função deve receber como parâmetros de entrada uma cadeia de caracteres e o comprimento do prefixo que deve ser retirado. Essa função deve retornar uma nova cadeia, cujo espaço de memória deve ser alocado pela função, contendo a cadeia original sem o prefixo. Por exemplo, se forem passados a cadeia Puc-Rio e o número 4, a função deve retornar uma nova cadeia Rio. O protótipo da função deve ser: char* retira_prefixo (char* s, int n); Se o comprimento do prefixo for maior do que o comprimento da cadeia original, a função deve retornar NULL.

INF 1620 P4 11/12/06 Questão 3 Considere um arquivo texto com as notas dos alunos de uma disciplina. Cada linha do arquivo contém a matrícula de um aluno (cadeia de nove caracteres), seguida pelos valores de suas três notas (P1, P2 e P3). Considere ainda que não existem linhas em branco no arquivo. Um exemplo desse formato é mostrado abaixo. 9010087-2 2.0 4.3 6.5 8820324-3 7.0 8.2 8.5 9210478-5 6.0 7.5 7.8 9020256-8 3.0 0.5 4.2 Escreva uma função que receba como parâmetros o número de matrícula de um aluno e o nome de um arquivo com as notas de uma disciplina no formato descrito acima, e retorne a média do aluno na disciplina. A média de um aluno é calculada pela fórmula (P1+P2+P3)/3. Caso o número de matrícula passado como parâmetro não seja encontrado no arquivo, a função deve retornar -1.0. Por exemplo, considerando um arquivo com o conteúdo apresentado acima, sua função deve retornar 7.9 caso o número de matrícula passado como parâmetro seja 8820324-3. O protótipo da função deve ser: float media (char* mat, char* nome_arquivo); Obs.: Se não for possível abrir o arquivo de entrada, a função deve imprimir a mensagem ERRO e terminar a execução do programa.

INF 1620 P4 11/12/06 Questão 4 Considere a implementação de uma lista encadeada para armazenar as médias dos alunos de uma turma. O tipo que representa a lista é dado a seguir: struct lista { char nome[81]; float media; struct lista *prox; }; typedef struct lista Lista; Assumindo que a lista está em ordem alfabética pelo nome do aluno, escreva uma função para inserir um novo elemento na lista que mantenha essa ordenação (considere que todos os nomes estão em letras minúsculas). O protótipo da função deve ser: Lista* insere (Lista* l, char* nome, float media);

INF 1620 P4 11/12/06 Questão 5 Considere uma árvore binária de busca que armazena dados de alunos de uma turma, usando a média do aluno como critério de ordenação. As médias dos alunos associados aos nós da sub-árvore à esquerda são menores que a média do aluno associado à raiz, e as médias dos alunos associados aos nós da sub-árvore à direita são maiores ou iguais à média do nó da raiz. O tipo que representa um nó da arvore é dado por: Pede-se: struct arv { char nome[81]; /* nome */ float media; /* media obtida */ struct arv* esq; struct arv* dir; }; typedef struct arv Arv; a. Escreva uma função que insira um novo aluno na estrutura da árvore, obedecendo o critério de ordenação. Essa função deve retornar o ponteiro para o nó raiz após a inserção e deve obedecer ao seguinte protótipo: Arv* insere (Arv* a, char* nome, float media); b. Escreva uma função para imprimir os valores associados aos nós da árvore (nome e média) em ordem decrescente, apenas dos alunos aprovados. (para um aluno estar aprovado, sua média deve ser maior ou igual a 5.0). O protótipo dessa função é dado por: void imprime_aprovados (Arv* a);

RASCUNHO Respostas nesta folha não serão consideradas. Protótipos de funções que podem ser úteis: stdio.h: int scanf (char* formato,...); int printf (char* formato,...); FILE* fopen (char* nome, char* modo); int fclose (FILE* fp); int fscanf (FILE* fp, char* formato,...); int fprintf (FILE* fp, char* formato,...); char* fgets(char* str, int size, FILE* fp)); int sscanf(char* str, char* formato,...); math.h: double sqrt (double x); double pow (double x, double exp); string.h: int strlen (char* s); int strcmp (char* s, char *t); char* strcpy (char* destino, char* fonte); char* strcat (char* destino, char* fonte); stdlib.h: void* malloc (int nbytes); void free (void* p); void qsort (void *vet, int n, int tam, int (*comp) (const void*, const void*)); Não separe as folhas deste caderno.