INF 1007 Programação II Semestre 09.2
|
|
- Aníbal de Oliveira Lobo
- 7 Há anos
- Visualizações:
Transcrição
1 INF 1007 Programação II Semestre 09.2 Trabalho 2: Logodesafio (parte 2) No primeiro trabalho foi implementado o jogo Logodesafio, um passatempo que consiste em formar palavras a partir de um conjunto de letras embaralhadas --- exibidas em um quadro grande --- e uma seqüência de letras --- exibida em um quadro menor. O objetivo de cada jogador é obter o maior número de pontos, da seguinte forma: uma palavra principal vale 15 pontos; palavras comuns valem 5 pontos e palavras sequências valem 10 pontos. Este segundo trabalho visa ampliar as funcionalidades do jogo criado anteriormente, implementando, em linguagem C, um conjunto de funções para a inclusão e apresentação de dados de usuários e seus recordes de pontuação. O programa do Logodesafio e o usuário (jogador) passam a interagir da forma descrita a seguir: Inicialmente, o programa carrega um jogo específico e exibe as instruções e letras disponíveis para formar palavras. Forme palavras com 3 letras ou mais com os caracteres: T L A N U P I S A A Ou com 4 letras ou mais e contendo tambem a sequencia: LHA Em seguida o programa apresenta uma dica da quantidade de palavras que é possível formar com diferentes números de letras. Uma dica, voce pode formar: 12 palavras de 3 letras 19 palavras de 4 letras 34 palavras de 5 letras 12 palavras de 6 letras 3 palavras de 7 letras 5 palavras de 8 letras 2 palavras de 9 letras 1 palavra de 10 letras Num total de 88 palavras. O programa mostra uma lista de apelidos dos jogadores recordistas em ordem decrescente de pontuação. Os recordistas do jogo sao: AURELIO 345 pontos HOUAISS 320 pontos MICHAELIS 315 pontos O programa aguarda o usuário continuar o jogo digitando as palavras, ou terminar, digitando um único caractere 'S' e ENTER para sair. Digite uma palavra com 3 ou mais letras, ou 'S' e ENTER para sair...
2 Se a palavra fornecida pelo usuário tiver menos de 3 caracteres, o programa exibe uma mensagem de erro e pede nova palavra. A palavra deve ter mais de 3 letras, tente outra vez... Se a palavra fornecida pelo usuário não cumpre as regras de formação para palavra principal, comum ou sequência, o programa exibe uma mensagem de erro e pede nova palavra. Essa palavra nao e valida, tente outra... Se a palavra fornecida pelo usuário for repetida, o programa exibe uma mensagem de erro e pede nova palavra. Essa palavra e repetida, tente outra... Se a palavra fornecida pelo usuário não consta da lista de palavras possíveis, o programa exibe uma mensagem de erro e pede nova palavra. Essa palavra nao existe, tente outra... Finalmente, se a palavra fornecida pelo usuário é bem formada, não repetida e consta da lista, o programa exibe a pontuação do jogador. Parabens, vc já encontrou 7 das 88 palavras cadastradas e ganhou mais 10 pontos, totalizando 55 pontos... A qualquer momento o usuário pode deixar o jogo digitando 'S' e ENTER. Após exibir a pontuação final, o programa solicita o apelido do jogador. Vc acumulou um total de 150 pontos. Digite o seu apelido: Se for um apelido não cadastrado, o programa solicita o nome do jogador e registra seu nome, apelido e pontuação. Novo apelido sera registrado. Digite o seu nome: Se for um apelido já cadastrado, o programa registra a pontuação atual caso esta seja maior que a pontuação registrada anteriormente, caracterizando o novo recorde do jogador. Seu novo recorde e 150 pontos.
3 Ao final, o programa mostra mais uma vez a lista atualizada de recordistas em ordem decrescente de pontuação. Os recordistas do jogo sao: AURELIO 345 pontos HOUAISS 320 pontos MICHAELIS 315 pontos ALUNO 275 pontos Observe que as palavras do jogo, apelidos e nomes são armazenadas somente com letras maiúsculas, mas o jogador pode digitar tudo com letras maiúsculas ou minúsculas de forma indiferente, pois todos os caracteres são convertidos para maiúsculas. O Anexo 1 apresenta a listagem do programa logodesafio.c, que implementa o programa descrito, exibindo estas e outras mensagens para situações específicas. Este programa utiliza a biblioteca jogadores.h, que deve ser implementada pelos alunos, e as bibliotecas desafio.h e jogo.h, que são fornecidas aos alunos. O Anexo 2 apresenta o arquivo jogadores.h. OBSERVAÇÕES: 1 A especificação completa e detalhada dos tipos de dados e funções que devem ser implementados estão no arquivo jogadores.h, que está disponível como anexo a esse enunciado e também no site da disciplina e cujo conteúdo não pode ser alterado. 2 Os alunos devem implementar o arquivo jogadores.c, que deve ser enviado contendo apenas as funções implementadas. Ou seja, o seu arquivo submetido NÃO deve possuir a função main. Além disso, o arquivo deve apresentar a diretiva #include jogadores.h. A correção do trabalho será realizada pelo corretor automático, que terá um programa que chamará as funções conforme declaradas na interface jogadores.h. 3 A função main, fornecida no arquivo logodesafio.c, tem a finalidade de demonstrar a utilização das funções implementadas. Além disso, pode servir também como modelo para a implementação de testes mais completos. 4 A correção do trabalho será realizada pelo corretor automático, que terá um programa que chamará as funções conforme declaradas na interface jogadores.h. 5 Programas que apresentarem erro na compilação receberão nota zero. O programa não pode ser escrito usando a sintaxe própria de C++ ou funções que não são do padrão ANSI C. Programas que compilarem serão executados e avaliados pelo corretor automático através de seqüência de testes. 6 Certamente cada aluno pode discutir com seus colegas (e com seus professores) a forma de implementação que empregará. Ressaltamos, entretanto, que os trabalhos são individuais. Trabalhos similares poderão ter suas notas reduzidas, podendo receber nota zero se o grau de similaridade for muito acentuado. 7 Data de entrega: 10 de novembro.
4 ANEXO 1 /* logodesafio.c */ #include <stdio.h> #include <stdlib.h> #include "jogo.h" #include "desafio.h" #include "jogadores.h" int main(void) char *quadro, *seq, *palavra, *apelido, *nome; char **solucao, **respostas=null; Jogador *jogador, **jogadores=null; int k = 0, kp=0, kc=0, ks=0, total = 0, valor; int n, m, i, continua; n = Carrega_jogo(&quadro, &seq, &solucao, &jogadores, &m); Ordena_jogadores(jogadores, m); printf("forme palavras com 3 letras ou mais com os caracteres:\n\n"); Mostra_quadro(quadro); printf("ou com 4 letras ou mais e contendo tambem a sequencia:\n\n"); Mostra_sequencia(seq); printf("uma dica, voce pode formar:\n\n"); Mostra_dica(solucao, n); printf("os recordistas do jogo sao:\n"); for(i=0;i<m;i++) printf("%s %d\n",jogadores[i]->apelido, jogadores[i]->a.principal*15+jogadores[i]->a.comum*5+ jogadores[i]->a.sequencia*10); while(1) printf("\ndigite uma palavra com 3 ou mais letras, ou \'S\' e ENTER para sair...\n"); palavra = Le_palavra(); if((palavra[0]=='s')&&(palavra[1]=='\0')) break; if(strlen(palavra)<3) printf("\na palavra deve ter mais de 3 letras, tente outra vez...\n"); free(palavra);
5 valor = 0; if(palavra_principal(quadro, palavra)) valor = 15; kp = kp + 1; if(palavra_comum(quadro, palavra)) valor = 5; kc = kc + 1; if(palavra_sequencia(quadro, seq, palavra)) valor = 10; ks = ks + 1; if(valor==0) printf("\nessa palavra nao e valida, tente outra...\n"); free(palavra); if(verifica(palavra, respostas, k)) printf("\nessa palavra e repetida, tente outra...\n"); free(palavra); if(verifica(palavra, solucao, n)) respostas = Registra(palavra, respostas, k); total = total + valor; printf("\nparabens, vc ja encontrou %d das %d palavras cadastradas e ganhou mais %d pontos, totalizando %d pontos...\n", kp+kc+ks, n, valor, total); k++; if(k==n) break; printf("\nessa palavra nao existe, tente outra...\n"); free(palavra); printf("\nvc encontrou %d palavras principais, %d palavras comuns e %d palavras sequencia e acumulou %d pontos...\n\n", kp, kc, ks, total); printf("\ndigite o seu apelido:"); apelido = Le_palavra(); if(verifica_jogador(apelido, jogadores, m)) if (Atualiza_recorde(apelido, kp, kc, ks, jogadores, m)) printf("\nseu novo recorde e %d pontos.\n", total);
6 printf("\nseu recorde anterior permanece.\n"); printf("\nnovo apelido sera registrado. Digite o seu nome:\n"); apelido = Le_palavra(); jogador = Cria_jogador(nome, apelido); jogadores = Registra_jogador(jogador, jogadores, m); m = m+1; Atualiza_recorde(apelido, kp, kc, ks, jogadores, m); Ordena_jogadores(jogadores, m); printf("os recordistas do jogo sao:\n"); for(i=0;i<m;i++) printf("%s %d pontos\n",jogadores[i]->apelido, jogadores[i]->a.principal*15+jogadores[i]->a.comum*5+ jogadores[i]->a.sequencia*10);
7 ANEXO 2 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / /* jogadores.h */ #ifndef JOGADORES_H #define JOGADORES_H struct acertos int principal; int comum; int sequencia; ; typedef struct acertos Acertos; struct jogador char nome[51]; char apelido[21]; Acertos a; ; typedef struct jogador Jogador; /* Função Cria_jogador Aloca dinamicamente uma nova variavel do */ /* tipo jogador, inicializando o nome e apelido com os valores */ /* fornecidos como parametros e os valores das quantidades de */ /* palavras encontradas com o valor zero. */ /* apelido - ponteiro para a cadeia de caracteres contendo o */ /* apelido do jogador a ser criado. */ /* nome - ponteiro para a cadeia de caracteres contendo o */ /* nome do jogador a ser criado. */ /* Saída: Ponteiro para a nova variavel alocada dinamicamente ou */ /* NULL, se nao for possivel aloca-la. */ Jogador* Cria_jogador(char* nome, char* apelido); /* Função Registra_jogador Copia um vetor de jogadores de */ /* tamanho n recebido como parametro para um novo vetor alocado */ /* dinamicamente com tamanho n+1. Na ultima posicao do novo vetor */ /* deve ser colocado o ponteiro para jogador recebido como */ /* parametro. Se nao estiver vazio, o vetor original deve ser */ /* liberado. */ /* jog - ponteiro para o jogador a ser registrado. */ /* vet - ponteiro para o vetor de jogadores registrados. */
8 /* n tamanho da lista. */ /* Saída: ponteiro para o novo vetor, ou NULL, caso nao consiga */ /* alocar memoria */ Jogador** Registra_jogador(Jogador* jog, Jogador** vet, int n); /* Função Verifica_jogador Verifica se um jogador esta em um */ /* vetor de jogadores. */ /* apelido - ponteiro para a cadeia de caracteres contendo o */ /* apelido do jogador a ser verificado. */ /* vet - ponteiro para o vetor de jogadores. */ /* n tamanho da lista. */ /* Saída: inteiro com valor 1 se o apelido esta no vetor, ou 0, */ /* caso contrario. */ int Verifica_jogador(char* apelido, Jogador** vet, int n); /* Função Atualiza_recorde Atualiza o numero de palavras */ /* achadas por um jogador do vetor de jogadores se a pontuacao */ /* for maior que a registrada anteriormente. Essa funcao deve */ /* calcular a pontuacao ja registrada e comparar com a nova */ /* pontuacao obtida. Cada palavra principal vale 15 pontos, */ /* cada palavra comum vale 5 pontos, e cada palavra sequencia */ /* vale 10 pontos. A funcao deve registrar o novo recorde apenas */ /* se a nova pontuacao for maior que a anterior. */ /* apelido - ponteiro para a cadeia de caracteres contendo o */ /* apelido do jogador a ser atualizado. */ /* p numero de palavras principais encontradas. */ /* c numero de palavras comuns encontradas. */ /* s - numero de palavras sequencia encontradas. */ /* vet - ponteiro para o vetor de jogadores. */ /* n tamanho da lista. */ /* Saída: inteiro com valor 1 se o resultado foi registrado ou 0, */ /* se a pontuacao era menor e nao houve atualizacao. */ int Atualiza_recorde(char* apelido, int p, int c, int s, Jogador** vet, int n);
9 /* Função Ordena_jogadores Ordena o vetor de jogadores de */ /* tamanho n recebido como parametro em ordem crescente do numero */ /* de pontos de cada participante. Cada palavra principal vale */ /* 15 pontos, cada palavra comum vale 5 pontos, e cada palavra */ /* sequencia vale 10 pontos. */ /* lista - ponteiro para o vetor de jogadores. */ /* n tamanho da lista. */ void Ordena_jogadores(Jogador** lista, int n); #endif
INF 1007 Programação II Semestre 09.2
INF 1007 Programação II Semestre 09.2 Trabalho 3: Logodesafio (parte 3) Na primeira parte do trabalho foi implementado o jogo Logodesafio, no qual o objetivo de cada jogador é formar palavras a partir
Leia maisINF 1007 Programação II Semestre 09.2
INF 1007 Programação II Semestre 09.2 Trabalho 1: Logodesafio O Logodesafio é um passatempo que exercita o conhecimento léxico dos participantes, consistindo em formar palavras a partir de um conjunto
Leia maisINF 1620 Estruturas de Dados Semestre Segundo Trabalho: Jogo de Caça-Palavras
INF 1620 Estruturas de Dados Semestre 08.2 Segundo Trabalho: Jogo de Caça-Palavras O jogo de caça-palavras é um passatempo que consiste em descobrir palavras escondidas entre um conjunto de letras espalhadas
Leia maisINF P4-12/12/09 Questão 1 Nome:
INF 1007 - P4-12/12/09 Questão 1 QUESTÃO OBRIGATÓRIA [Valor: 2,5 pontos] Escreva um programa completo em C que leia do teclado um caractere e uma cadeia de caracteres e escreva quantas vezes aquele caractere
Leia maisINF 1007 Simulado P2 Nome: Instruções
INF 1007 Simulado P2 Nome: Matrícula: Turma: Instruções 1. Tempo de prova: 1 hora e 30 minutos. 2. Entregue a solução de sua prova em um ÚNICO arquivo texto, com o nome Turma_Matricula_P2.txt (por exemplo
Leia maisProgramação: Vetores
Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia
Leia maisINF 1620 P1-13/09/02 Questão 1 Nome:
INF 1620 P1-13/09/02 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$
Leia maisINF 1620 P4 11/12/06 Questão 1 Nome:
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$
Leia maisINF 1620 P2-14/10/05 Questão 1 Nome:
INF 1620 P2-14/10/05 Questão 1 Considere um cadastro de produtos de um estoque, com as seguintes informações para cada produto: Código de identificação do produto: representado por um valor inteiro Nome
Leia maisMódulo 18 - Tabelas de Dispersão. Referências
Estruturas de Dados Módulo 18 - Tabelas de Dispersão 7/6/2006 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora
Leia maisCaracteres e Cadeias de Caracteres
Caracteres e Cadeias de Caracteres INF1005 Programação I Prof. Hélio Lopes lopes@inf.puc-rio.br sala 408 RDC 1 caracteres e cadeias de caracteres tópicos caracteres cadeias de caracteres (strings) vetor
Leia maisIntrodução à Programação
Programação de Computadores Introdução à Programação Prof. Helton Fábio de Matos hfmatos@dcc.ufmg.br Agenda Algoritmo & Programa Variáveis Declaração de tipos Comando de entrada ou de leitura Comando de
Leia maisEstruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.
1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras
Leia maisTrabalho Computacional Jogo da Forca
Universidade Federal do Espírito Santo Centro Tecnológico Trabalho Computacional Jogo da Forca PET Engenharia de Computação 1. Introdução: Você será responsável por implementar o Jogo da Forca como trabalho
Leia maisSumário. Introdução à Ciência da Computação. Ponteiros em C. Introdução. Definição. Por quê ponteiros são importantes?
Introdução à Ciência da Computação Ponteiros em C Prof. Ricardo J. G. B. Campello Sumário Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C Operações Ponteiros
Leia maisFundamentos de Programação 1
Fundamentos de Programação 1 Linguagem C Arquivos Seqüências ou de Texto. Slides 18 Prof. SIMÃO Jean Marcelo SIMÃO 1 Arquivo de Escrita 1 fopen ( nome.txt", "w" ); fputc ( caracter, arquivo); 2 #include
Leia maisFunções em Linguagem C Parte II
Slides inicialmente preparados pelo Prof. Dr. Claudio Fabiano Motta Toledo Funções em Linguagem C Parte II Profa. Dra. Elisa Yumi Nakagawa 1. Semestre 2017 Sumário Introdução a Ponteiros Escopo de Variáveis
Leia maisAlgoritmos e Estruturas de dados
Algoritmos e Estruturas de dados Listas Encadeadas Prof. Dr. Fábio Rodrigues de la Rocha (Listas Encadeadas) 1 / 21 Definição: Anteriormente estudamos listas encadeadas que foram implementadas como vetores
Leia maisLinguagem C Princípios Básicos (parte 1)
Linguagem C Princípios Básicos (parte 1) Objetivos O principal objetivo deste artigo é explicar alguns conceitos fundamentais de programação em C. No final será implementado um programa envolvendo todos
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 maisProgramação de Computadores I Funções de Repetição da Linguagem C PROFESSORA CINTIA CAETANO
Programação de Computadores I Funções de Repetição da Linguagem C PROFESSORA CINTIA CAETANO Comando WHILE O comando while executa um bloco de comandos enquanto a condição testada for verdadeira (diferente
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 maisIntrodução à Linguagem C Variáveis e Expressões
INF1005: Programação 1 Introdução à Linguagem C Variáveis e Expressões 08/03/10 (c) Paula Rodrigues 1 Tópicos Principais Programando em C Funções Variáveis Define Operadores e Expressões Entrada e Saída
Leia maisEstruturas de Dados. Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C
Estruturas de Dados Revisão de Ponteiros Prof. Ricardo J. G. B. Campello Sumário Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C Operações Ponteiros e Arranjos
Leia maisINF 1620 P1-14/04/07 Questão 1 Nome:
INF 1620 P1-14/04/07 Questão 1 Considerando o critério de aprovação de uma disciplina que determina que um aluno está aprovado se a média ponderada de suas três provas for maior ou igual a 5.0, onde a
Leia mais3. Linguagem de Programação C
Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.8. Estruturas 3.8.1. Introdução 3.8.2. Uso
Leia maisIntrodução a Programação. Ponteiros e Vetores, Alocação Dinâmica
Introdução a Programação Ponteiros e Vetores, Alocação Dinâmica Tópicos da Aula Hoje aprenderemos que existe uma forte relação entre ponteiros e vetores Associação entre ponteiros e vetores Ponteiros constantes
Leia maisLISTA DE EXERCÍCIOS - ro. 04
USP ICMC SSC SSC0100 - Introdução à Ciência da Computação I (Prática) Professor responsável: Fernando Santos Osório Semestre: 2009/1 Horário: Terça 14h20 (Turma A2) E-mail: fosorio.at. icmc.usp.br fosorio.at.
Leia mais1 Exercícios com ponteiros
Computação para Informática Funções e Ponteiros1 EXERCÍCIOS COM PONTEIROS Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Funções e ponteiros O objetivo desta aula prática
Leia maisIntrodução a Programação de Jogos
Introdução a Programação de Jogos Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição
Leia mais3. Linguagem de Programação C
Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.2. Estrutura de Programas e Representação
Leia mais1 Questões de Múltipla Escolha
Universidade Federal do Rio de Janeiro Centro de Ciências Matemáticas e da Natureza Instituto de Matemática Departamento de Ciência da Computação Computação para Informática - Prof. Adriano Joaquim dm
Leia maisLinguagem de Programação C
Linguagem de Programação C Aula 08 Diogo Pinheiro Fernandes Pedrosa Universidade Federal Rural do Semiárido Departamento de Ciências Exatas e Naturais 13 de novembro de 2009 Introdução O que é uma linguagem
Leia maisINF 1620 P4-06/12/02 Questão 1 Nome:
INF 1620 P4-06/12/02 Questão 1 (a) Escreva uma função em C que receba como parâmetro um número inteiro não negativo e retorne, como resultado da função, o valor do seu fatorial. O cabeçalho desta função
Leia maisProgramação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO
Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Introdução Criada em 1972, por Dennis Ritchie; Centro de Pesquisas da Bell Laboratories; Para utilização no S.O. UNIX; C é uma linguagem
Leia maisvoid push(int i){ if (num<max) vet[num++]=i; else { printf(">>> Erro: overflow na pilha!!!\n"); printf("%d nao foi empilhado!!!
Estruturas de Dados Lista 2: soluções J. L. Rangel 1. Suponha que uma pilha é representada através de um vetor vet e de um inteiro num. As declarações podem ser #define MAX 100 int vet[max], num; Escreva
Leia maisIntrodução a Programação. Ponteiros e Strings, Alocação Dinâmica
Introdução a Programação Ponteiros e Strings, Alocação Dinâmica Tópicos da Aula Hoje aprenderemos a relação entre ponteiros e strings Ponteiros para strings X Vetores de Caracteres Vetores de ponteiros
Leia maisALGORITMOS E ESRUTRA DE DADOS I. Ponteiros Passagem por Valor e Referência Alocação de Memória
ALGORITMOS E ESRUTRA DE DADOS I Ponteiros Passagem por Valor e Referência Alocação de Memória 2 Agenda Ponteiros Conceitos gerais O que é Ponteiro? Declaração de Ponteiros Operadores para Ponteiros Exemplos
Leia mais1 Exercícios com ponteiros
Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Oitava Aula Prática - 29 de outubro de 2010 O objetivo desta aula prática é exercitar ponteiros e funções. 1 Exercícios com ponteiros
Leia maisTabelas de Dispersão (hash tabels)
INF1010-3WB Estruturas de Dados Avançadas Tabelas de Dispersão (hash tabels) 13/05/2018 2010 DI, PUC-Rio Estruturas de Dados Avançadas 2010.1 1 Motivação Busca (acesso) com vetor é muito eficiente Info*
Leia mais#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C
#include Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C ANTES DO C ERA A LINGUAGEM B B foi essencialmente uma simplificação da linguagem BCPL. B só tinha um tipo de dado, que
Leia maisINF 1620 P4-13/12/01 Questão 1 Nome:
INF 1620 P4-13/12/01 Questão 1 (a) Escreva uma função em C, chamada somaprod, para calcular a soma e o produto de dois valores inteiros. Esta função deve ter o seguinte efeito: se tivermos duas variáveis
Leia maisReinaldo Gomes Alocação Dinâmica
Algoritmos e Lógica de Programação Linguagem C Alocação Dinâmica i de Memória Reinaldo Gomes reinaldo@cefet-al.br Alocação Dinâmica Quando declaramos uma variável ou um arranjo, o compilador automaticamente
Leia maisINF 1620 P3-02/07/02 Questão 1 Nome:
INF 1620 P3-02/07/02 Questão 1 Considere um arquivo texto que contém os nomes e as notas dos alunos de uma disciplina. As informações de cada aluno ocupam duas linhas do arquivo: a primeira linha contém
Leia maisCCO 016 / COM 110 Fundamentos de Programação
CCO 016 / COM 110 Fundamentos de Programação Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 05 Entrada de dados Leia scanf Entrada dos dados Entrada de dados compreende a operação
Leia maisLeitura Segura de Strings
Leitura Segura de Strings As funções da biblioteca padrão de C que podem ser usadas para leitura de strings não são suficientemente adequadas para esta finalidade básica. Nesta seção, serão descritos alguns
Leia maisListas Ligadas (Encadeadas) Listas Simplesmente Encadeadas
Listas Ligadas (Encadeadas) Matrizes são estruturas de dados muito úteis fornecidas nas linguagens de programação. No entanto, elas têm pelo menos duas limitações: 1- Seu tamanho tem que ser conhecido
Leia maisMAC-115 Introdução à Computação para Ciências Exatas e Tecnologia IO Terceiro Exercício-Programa Entregar até 09/11/2007
MAC-115 Introdução à Computação para Ciências Exatas e Tecnologia IO Terceiro Exercício-Programa Entregar até 09/11/2007 O Problema da Mochila São dados um inteiro positivo n e dois vetores quant e custot,
Leia maisProgramação Estruturada Prof. Rodrigo Hausen Organização e Gerenciamento de Memória
Programação Estruturada Prof. Rodrigo Hausen http://progest.compscinet.org Organização e Gerenciamento de Memória 1 AULA PASSADA - vetores ou arrays Declaração de um vetor (array) em C: tipo nome[tamanho];
Leia maisDisciplina de Algoritmos e Programação
Disciplina de Algoritmos e Programação Último Conteúdo Estruturas de condição Estrutura condicional simples Utilização da estrutura de condição if com expressões lógicas simples Utilização do comando if
Leia maisAula 25: Alocação Dinâmica
Aula 25: Alocação Dinâmica Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aulas anteriores Estruturas de memórias heterogêneas
Leia maisLista de Exercícios de Algoritmos - 04 Para cada um dos exercícios abaixo, faça um programa (em laboratório) que teste a função.
Lista de Exercícios de Algoritmos - 04 Para cada um dos exercícios abaixo, faça um programa (em laboratório) que teste a função. Funções e estruturas básicas 1. Faça uma função que recebe a idade de uma
Leia maisTÉCNICAS DE PROGRAMAÇÃO
TÉCNICAS DE PROGRAMAÇÃO Arquivo Conceitos Arquivo Fluxo de bytes stream Linguagem C Estrutura do tipo FILE FILE contém informações do arquivo Tamanho Ponteiro para buffer dados Atual operação sobre o arquivo
Leia mais//conteúdo do arquivo Matriz.h class Matriz { private: int *elementos; int numerodelinhas; int numerodecolunas; void setnumerodelinhas(int); void
//conteúdo do arquivo Matriz.h class Matriz private: int *elementos; int numerodelinhas; int numerodecolunas; void setnumerodelinhas(int); void setnumerodecolunas(int); int getnumerodelinhas(); int getnumerodecolunas();
Leia maisPonteiros em C. Adriano Joaquim de Oliveira Cruz 21 de julho de Instituto de Matemática Departamento de Ciência da Computação UFRJ
Ponteiros em C Adriano Joaquim de Oliveira Cruz 21 de julho de 2017 Instituto de Matemática Departamento de Ciência da Computação UFRJ 1 Resumo da Seção Introdução Declaração Incrementando e Decrementando
Leia mais4. Estruturas Fundamentais de Programação em C
4. Estruturas Fundamentais de Programação em C 4.1. Imprimindo Mensagens e Valores no Monitor de Vídeo A biblioteca de entrada e saída (stdio.h) possui a função printf que imprime mensagens e valores diretamente
Leia maisAula 24 Ponteiros, vetores e structs
Programação Aula 24 Ponteiros, vetores e structs Prof. Laura Silva de Assis Engenharia de Computação 2 o Período CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca UnED Petrópolis
Leia maisSuponha um conjunto habitacional, com várias famílias... imagina se todas elas morassem em uma única casa?
Funções Suponha um conjunto habitacional, com várias famílias...... imagina se todas elas morassem em uma única casa? Funções Programação de Computadores 1 de 28 Funções Na Programação, funções são conjuntos
Leia maisListas Estáticas. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich. *Baseado no material do Prof.
Listas Estáticas SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de
Leia maisMódulo 18 - Tabelas de Dispersão
Estruturas de Dados Módulo 18 - Tabelas de Dispersão 2/6/2005 (c) Dept. Informática - PUC-Rio 1 Exercícios Adicionais P3 e P4 de 2001 a 2003: http://www.inf.puc-rio.br/~inf1620/p&l/links.html 2/6/2005
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 maisAula 14: Repetição (Parte 2)
Aula 14: Repetição (Parte 2) Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aula Anterior Laços de repetição Comando de repetição
Leia maisINF 1620 P2-17/05/08 Questão 1 Nome:
INF 620 P2-7/05/08 Questão Considere um cadastro de produtos de um estoque, com as seguintes informações: Código de Identificação do produto: representado por um número inteiro Nome do produto: com até
Leia maisVetores. Vetores. Vetores. Vetores. Vetores. Algoritmos e Lógica de Programação. Vetores
Algoritmos e Lógica de Programação Linguagem C Conceitos Básicos (Matriz Unidimensional) Conjunto de elementos de um mesmo tipo Elementos são referenciados por um único nome e individualizados pela posição
Leia maisProgramação Orientada a Objetos
1 Programação Orientada a Objetos A linguagem C, desde a sua primeira especificação, vem sendo desenvolvida com várias extensões. De uma dessas extensões foi criada a Linguagem C++ onde encontramos diversas
Leia maisProgramação Estruturada
Programação Estruturada Ponteiros Parte 1 Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Ponteiros Ponteiro Ponteiros
Leia maisAlocação Dinâmica em C
Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Alocação Dinâmica em C Profa Rosana Braga Adaptado de material preparado pela profa Silvana Maria Affonso de Lara
Leia maisCaracteres. Caracteres são representados através de códigos numéricos. Tabela de códigos: Define correspondência entre caracteres e códigos numéricos
Caracteres Caracteres são representados através de códigos numéricos. Tabela de códigos: Define correspondência entre caracteres e códigos numéricos Exemplo: Tabela ASCII Alguns alfabetos precisam de maior
Leia maisIntrodução a Programação. Arquivos
Introdução a Programação Arquivos Tópicos da Aula Hoje aprenderemos a persistir dados Conceito de arquivos Importância de persistência Modos de acesso de arquivos em C Operações em arquivos Funções de
Leia maisADTs (Abstract Data Types): Motivação
ADTs (Abstract Data Types): Motivação Mesmas estruturas são usadas com vários tipos de dados Listas Pilhas Amontoado FIFOs Inteiros Reais Strings Estruturas O procedimento para inserir um inteiro, real,
Leia maisMAC2166 Introdução à Computação para Engenharia Escola Politécnica Terceira Prova 20 de junho de 2011
MAC2166 Introdução à Computação para Engenharia Escola Politécnica Terceira Prova 20 de junho de 2011 Nome: Assinatura: N ō USP: Turma: Professor: Instruções: 1. Não destaque as folhas deste caderno. 2.
Leia maisDepartamento de Informática - PUC-Rio INF 1007 Programação 2 P4 07/12/2010
Departamento de Informática - PUC-Rio INF 1007 Programação 2 P4 07/12/2010 Aluno: Matrícula: Turma: Instruções: 1) Escreva seu nome completo, matrícula e turma; 2) A prova deve ser completamente resolvida
Leia maisINF 1620 P4 30/06/07 Questão 1 Nome:
INF 1620 P4 30/06/07 Questão 1 O maior divisor comum (MDC) de dois números inteiros é o maior número inteiro que faz uma divisão exata (com resto zero) desses dois números. Por exemplo, o MDC de 32 e 40
Leia maisProgramação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação
Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Programação em C Variáveis e Expressões DCA0800 Algoritmos e Lógica de Programação Heitor Medeiros Florencio
Leia maisCapítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática
Capítulo 1: Introdução à Linguagem C Pontifícia Universidade Católica Departamento de Informática Programa Programa é um algoritmo escrito em uma linguagem de programação. No nosso caso, a linguagem C.
Leia mais1. Escreva um programa que imprima a ordem reversa de caracteres de uma string digitada pelo usuário. Ex: Entrada: Hello World. Saída:.
Primeira lista de exercícios v1.02 Linguagens de Programação e Aplicações SSC0300 Prof: Daniel Rodrigo Ferraz Bonetti 1. Escreva um programa que imprima a ordem reversa de caracteres de uma string digitada
Leia maisProva 2 - Computação
Prova 2 - Computação A prova consiste na elaboração de um programa utilizando a linguagem C. Seu programa deve estar correto (sintática e semanticamente), além de organizado (nomes de variáveis, identação
Leia maisEntender o problema Encontrar um algoritmo para resolvê-lo. Implementar o algoritmo numa linguagem de programação
Entender o problema Encontrar um algoritmo para resolvê-lo Implementar o algoritmo numa linguagem de programação Permitem implementar um algoritmo Expressar o algoritmo numa forma que o computador entenda
Leia maisLÓGICA DE PROGRAMAÇÃO. Resumo da Linguagem C. Sérgio Carlos Portari Júnior
LÓGICA DE PROGRAMAÇÃO Resumo da Linguagem C Sérgio Carlos Portari Júnior Tipos de dados mais usados em C Inteiro int 2 bytes Real float 4 bytes Caractere char 1 byte String não existe* xxxxxxx Booleano
Leia maisCap. 3 Entrada e Saída e Controle de Fluxo
Programação de Computadores II Cap. 3 Entrada e Saída e Controle de Fluxo Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados
Leia maisAluno: Valor Nota Q1 3.0 Q2 2.5 Q3 2.5 Q4 2.0 Total 10.0
P4 Programação II 2012.2 Departamento de Informática/PUC- Rio Aluno: Matrícula: Turma: 1. A prova é sem consulta e sem perguntas. A interpretação do enunciado faz parte da prova. 2. A prova deve ser completamente
Leia maisMESMO QUE ESTAS VARIÁVEIS TENHAM NOME IDÊNTICOS
Funções As funções são blocos de instruções que facilitam o entendimento do código. Porque usar funções? Para permitir o reaproveitamento de código já construído (por você ou por outros programadores);
Leia mais1ª Lista de Exercícios
Universidade Federal do Rio de Janeiro Data: 26/04/05 Disciplina: Computação I 1ª Lista de Exercícios 1) Faça um programa, em pseudo-código, que peça ao usuário que informe n números reais e então calcule
Leia maisEstruturas de Dados. Módulo 17 - Busca. 2/6/2005 (c) Dept. Informática - PUC-Rio 1
Estruturas de Dados Módulo 17 - Busca 2/6/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004)
Leia maisAlgoritmos e Programação
Algoritmos e Programação Aula 9 Subalgoritmos, funções e passagem de parâmetros Profa. Marina Gomes marinagomes@unipampa.edu.br 22/06/2017 Engenharia de Computação - Unipampa 1 Modularização Facilita a
Leia maisSSC304 Introdução à Programação Para Engenharias. Variáveis Indexadas em C. GE4 Bio
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Introdução à Para Engenharias Variáveis Indexadas em C GE4 Bio GE4Bio Grupo de Estudos
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 maisEstruturas de Dados. Módulo 4 Funções. 9/8/2005 (c) Dept. Informática - PUC-Rio 1
Estruturas de Dados Módulo 4 Funções 9/8/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004)
Leia maisINF1007: Programação 2. 0 Revisão. 06/08/2015 (c) Dept. de Informática - PUC-Rio 1
INF1007: Programação 2 0 Revisão 06/08/2015 (c) Dept. de Informática - PUC-Rio 1 Tópicos Principais Variáveis e Constantes Operadores e Expressões Entrada e Saída Tomada de Decisão Construção com laços
Leia maisPROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95
PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 Exercícios de revisão Lista 01: a) Monte um mapa conceitual indicando as relações entre os seguintes conceitos, no contexto do assunto visto em aula:
Leia maisAlgoritmos e Estruturas de Dados I (DCC/003) Funções
Algoritmos e Estruturas de Dados I (DCC/003) Funções Funções Funções definem operações que são usadas frequentemente Funções, na matemática, requerem parâmetros de entrada, e definem um valor de saída
Leia maisGilberto A. S. Segundo. 24 de agosto de 2011
Exercícios - Alocação Dinâmica Gilberto A. S. Segundo Programação Aplicada de Computadores Engenharia Elétrica Universidade Federal do Espírito Santo - UFES 24 de agosto de 2011 1 / 23 Grupo de e-mail
Leia maisAlocação de Memória. Lucas Ferrari de Oliveira Professor Adjunto Universidade Federal do Paraná (UFPR)
Alocação de Memória Linguagem de Programação Estruturada 1 Alocação dinâmica e ponteiros Lucas Ferrari de Oliveira Professor Adjunto Universidade Federal do Paraná (UFPR) Sumario Introdução Alocação Estática
Leia maisMaterial sobre Funções AEDS 1
Material sobre Funções AEDS 1 1 Funções - revisão Funções definem operações que são usadas frequentemente Funções, na matemática, requerem parâmetros de entrada e definem um valor de saída 2 Funções -
Leia maisAula 9 Oficina de Programação Strings. Profa. Elaine Faria UFU
Aula 9 Oficina de Programação Strings Profa. Elaine Faria UFU - 2017 String Cadeia de caracteres (ou String) É uma seqüência de letras e símbolos, na qual os símbolos podem ser espaços em branco, dígitos
Leia maisP2 Programação II Departamento de Informática/PUC-Rio
P2 Programação II 2013.1 Departamento de Informática/PUC-Rio Aluno: Matrícula: Turma: 1. A prova é sem consulta e sem perguntas. A interpretação do enunciado faz parte da prova. 2. A prova deve ser completamente
Leia maisProgramação de Computadores II. Cap. 7 Cadeias de Caracteres
Programação de Computadores II Cap. 7 Cadeias de Caracteres Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos originais
Leia maisINF 1007 Programação II
INF 1007 Programação II Aula 04 Alocação Dinâmica Edirlei Soares de Lima Vetores - Declaração e Inicialização Declaração de um vetor: int meu_vetor[10]; Reserva um espaço de memória
Leia maisApêndice B. Cadeias de Caracteres (Strings)
Apêndice B. Cadeias de Caracteres (Strings) Até agora, quando desejávamos indicar o número de elementos existentes em um vetor qualquer, utilizávamos uma variável inteira, digamos tam, para armazenar tal
Leia maisUniversidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton
Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton nilton@comp.uems.br Introdução A linguagem C foi inventada por Dennis Ritchie e
Leia mais