Considerações: 1) Coletânea de Músicas

Documentos relacionados
Considerações: Leia a lista toda, o quanto antes, para evitar más interpretações e muitas dúvidas em cima da hora

Como funciona? SUMÁRIO

Manual do Sistema "Vida Controle de Contatos" Editorial Brazil Informatica

Manual Administrador - Mídia System

Tutorial para envio de comunicados e SMS

Revisão: Introdução. - Integração com o AutoManager; 1 Atualização de versão do banco de dados PostgreSQL

NESSE MANUAL VÃO SER SOLUCIONADAS AS SEGUINTES DÚVIDAS DE USO:

REGULAMENTO TÉCNICO POKER CAPÍTULO I DA EXECUÇÃO DO TORNEIO

Manual do Google agenda. criação e compartilhamento de agendas

SMS Corporativo Manual do Usuário

Astra. Introdução e conceitos básicos do sistema

1ª PARTE DIÁRIOS ELETRÔNICOS

Levantamento de Requisitos

Excel Planilhas Eletrônicas

Caso já seja usuário do SCAW siga as instruções a partir da página X.

Processo de Controle das Reposições da loja

Manual de utilização do sistema de envio de sms marketing e corporativo da AGENCIA GLOBO. V

Programa Intel Educar Tutorial: Ferramenta de Classificação Visual

Follow-Up Acompanhamento Eletrônico de Processos (versão 3.0) Manual do Sistema. 1. Como acessar o sistema Requisitos mínimos e compatibilidade

第 61/2004 號 經 濟 財 政 司 司 長 對 外 規 範 性 批 示. Artigo 7.º 第 七 條 賠 率. prémios: Ao jogador que ganha pertencem o valor da aposta e os seguintes

Manual Sistema de Autorização Online GW

Fundap. Programa de Estágio. Manual de Utilização do Sistema de Administração de Bolsas de Estágio. Plano de Estágio

REGRAS DO POKER. Link:

Manual de Utilização

3 0 0 A 120 incorreto A 130 incorreto A 200 incorreto 5 A 100 correto B 110 incorreto B 111 correto C 200 correto D 300 incorreto

Apresentação. Nossa sugestão é que você experimente e não tenha medo de clicar!!!

1 Natuur Online Cadastre-se Nome, Login Cadastrar.

Índice: CMS 3 O que é Content Management System? Clientes 4 O que é o Cliente? 4 Configurando o i-menu/i-view para trabalhar. com o CMS.

Inventário Rotativo. Página 1

E&L Compras, Licitações e Contratos. Perguntas Frequentes

Terceira Avaliação Visualg & Pascal

Lista de Exercícios. Vetores

Sumário: Fluxo Operacional... 3 Contatos Agenda Online Reservas de Salas Tarefas... 42

Manual do usuário. v1.0

MANUAL DE INSTALAÇÃO DO ODONTO TECHNOLOGY

1ª Opção de consulta: Menu > Consultas > Evento por Nome > Município de realização

Manual de configuração do sistema

Treinamento de. Linx Pos

Figura 1: tela inicial do BlueControl COMO COLOCAR A SALA DE INFORMÁTICA EM FUNCIONAMENTO?

A4 Projeto Integrador e Lista de Jogos

Manual de Cobrança. Código Nome De Até 1 Jose da Silva a Jz 2 Ana Maria k Pz 3 Marcelo q zz

Tutorial Plone 4. Manutenção de Sites. Universidade Federal de São Carlos Departamento de Sistemas Web Todos os direitos reservados

Utilizando a ferramenta de criação de aulas

BEM-VINDO AO dhl PROVIEW

WEB COLABORADOR. Envio e Recebimento de arquivos de consignação

Manual Replicação Manual VPN

SISTEMA DE GESTÃO MÓDULO FÉRIAS SERVIDOR/ESTAGIÁRIO

NÚCLEO DE TECNOLOGIA E EDUCAÇÃO CURSO: WINDOWS MOVIE MAKER TUTORIAL

MANUAL DO PROGRAMA CSPSNet

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

Iniciação à Informática

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

ÍNDICE MANUAL SITE ADMINISTRÁVEL TV. 1. Introdução 2. Acessando o site administrável/webtv SITE ADMINISTRÁVEL 3. CONFIGURAÇÕES

MANUAL PAPELETA MOTORISTA Criado em: 15/02/2013 Atualizado em: 12/11/2014

BOLETIM INFORMATIVO TOTEM CF SISTEMAS

Alterações presentes na Versão do Sistema OnixNet/TrucksNet

Dicas para usar melhor o Word 2007

Como incluir artigos:

MANUAL DO ALUNO PARA NAVEGAR NO AMBIENTE VIRTUAL DE APRENDIZAGEM - AVA

Escolha PNLD 2010 Passo a Passo

PRODAV 05/2014 Passo a passo para inscrição do projeto

Tutorial para envio de comunicados

SISTEMA DE INFORMAÇÕES ACADÊMICAS SIA

Manual do Módulo SAC

Manual do Instar Mail v2.0

Omega Tecnologia Manual Omega Hosting

Sumário. Tutorial: Editor de Exercícios Online para o professor

Manual SAGe Versão 1.2 (a partir da versão )

Tutorial Novo Portal do Aluno

Universidade Federal de Mato Grosso. Secretaria de Tecnologias da Informação e Comunicação. SISCOFRE Sistema de Controle de Frequência MANUAL

MANUAL DE UTILIZAÇÃO SISTEMA DE CADASTRO INTRANET

CONSTRUÇÃO DE BLOG COM O BLOGGER

Manual de utilização do site de contatos

MANUAL TISS Versão

Sumário. 1. Tutorial para cadastramento dos jesuítas no catálogo online Tela do Login Página pessoal...

WF Processos. Manual de Instruções

Perfil - selecione o perfil de quem será o dono da festa. Categoria - descreva o tipo de festa. Exemplo: Casamento/Bodas

Escaneando seu computador com o Avira AntiVir 10

Guia para Escolha de Fotos no PSG Request

Atualização De Mapas GPS Apontador. 1º Acessar site: 2º Selecione o Idioma para Português no seu canto direito.

Manual de Relação de Pontos por Indicação

QUALIDATA Soluções em Informática. Módulo CIEE com convênio empresas

Manual de Acesso ao Sistema SAORI Portal do Aluno

Sistema de Gestão de Freqüência. Manual do Usuário

Manual de Utilização do Sistema de Digitação de Pedidos Off-line

Especificação do 3º Trabalho

MANUAL HELP-DESK DATACOM AUTOMAÇÕES

MANUAL COTAÇAO WEB MANUAL MANUAL AVANÇO INFORMÁTICA AVANÇO INFORMÁTICA. [Digite seu endereço] [Digite seu telefone] [Digite seu endereço de ]

Manual Portal Ambipar

Manual de Utilização COPAMAIL. Zimbra Versão 8.0.2

TUTORIAL Última atualização: 23/03/2015

Como acessar o novo webmail da Educação? Manual do Usuário. 15/9/2009 Gerencia de Suporte, Redes e Novas Tecnologias Claudia M.S.

Manual de Usuário - Flight of Icarus

MANUAL DO USUARIO SISTEMA TOTEM MODULO DE ESTOQUE

USANDO O ROUNDCUBE WEBMAIL

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - SLIM

Gerencie a sala de espera e garanta a satisfação dos pacientes

Está apto a utilizar o sistema, o usuário que tenha conhecimentos básicos de informática e navegação na internet.

O Komunik é uma ferramenta de comunicação interna que permite a interação completa entre todos os setores de uma empresa.

NewAgent enterprise-brain

Transcrição:

Universidade Federal de Pernambuco Centro de Informática Lista 5 Introdução a Programação Prof: Adriano Sarmento Data: 2/08/13 Data de entrega: 14/08/13 Considerações: Leia a lista toda, o quanto antes, para evitar más interpretações e muitas dúvidas em cima da hora Envie uma prévia da lista, pelo menos um dia antes da data final da entrega, para o caso de acontecer algum imprevisto A lista é para ser feita individualmente. Qualquer tentativa de cópia acarretará o zeramento da lista de todos os envolvidos Não é permitido o uso da biblioteca conio.h. Você está livre para utilizar a biblioteca string.h. Em caso de dúvida, envie email para duvidasip@googlegroups.com. Evite utilizar variáveis globais, exit, returns no meio do código e o uso de break nas estruturas de repetição, pois pode acarretar diminuição na nota por motivos já explicados em sala de aula / monitoria. Em todas as questões, crie uma função construtora para cada estrutura, passando os valores iniciais como argumento. 1) Coletânea de Músicas O monitor Eduardo, grande fanático por música, está precisando de ajuda para organizar sua gigantesca coleção de álbuns. Ele prometeu ser bonzinho nas correções de listas futuras para quem fizer um programa que o ajude nesse trabalho. Para tanto, comece criando um tipo estruturado CD, que deverá conter o nome do álbum, o nome do artista ou banda, o ano de lançamento e o gênero(r-rock, C-Clássica, M-MPB e O-outras). O programa deverá ter três opções: 1. Adicionar CD 2. Listar CD por gênero 3. Lista CD por Artista Quando listando os CD s por gênero, imprima no seguinte formato Nome Do Álbum - Artista (ano). Se não houver nenhum álbum para o gênero, imprima Nenhum álbum do gênero. Se o artista não for encontrado, imprima Artista não encontrado. Armazene a coleção de CD s de Eduardo em um vetor dinâmico de CD s (não é um vetor de ponteiros).

1 //Opção do Menu Nome: Metallica Álbum: Death Magnetic Ano de Lançamento: 2008 Gênero: O 1//Opção do Menu Nome: The Doors Álbum: L.A. Woman Ano de Lançamento: 1971 Gênero: R 1//Opção do Menu Nome: Michael Jackson Álbum: Thriller Ano de Lançamento: 1982 Gênero: O 1//Opção do Menu Nome: Metallica Álbum: Metallica (The Black Album) Ano de Lançamento: 1991 Gênero: O 2//Opção do Menu R The Doors - L.A. Woman (1971) 3//Opção do Menu Metallica Death Magnetic Metallica (The Black Album)

2) Simulador de Cirurgia Foi pedido aos alunos do CIn que criassem um simulador de cirurgias! A tarefa é simples, permitir que o usuário do programa trate o paciente de acordo com o problema que ele tiver, para isso, é necessário saber que todo paciente no centro cirúrgico é descrito da seguinte forma: - nome - idade (inteiro 0-100) - altura (inteiro 130 270 dado em centímetros) - peso (inteiro 40 120 dado em Kg) - nível sanguíneo (0-100) - tipo sanguíneo (A, AB, B ou O) - freqüência cardíaca (inteiro 50-200) O simulador tratará um dia de atendimento de um centro cirúrgico, portanto, no início será dito quantos pacientes vão ser atendidos no dia e serão cadastrados todos seus dados na ordem indicada acima. Em seguida, cada paciente será atendido e durante a cirurgia, alguns sinais devem ser avaliados para evitar a morte do paciente. Se o nível sanguíneo estiver abaixo de 20 unidades, o paciente morre. Se o tipo sanguíneo aplicado ao paciente não for compatível com o dele, ele morre. Se a freqüência cardíaca chegar abaixo de 50 unidades ou acima de 200, o paciente tem uma parada cardíaca. (Note que os pacientes já podem chegar em situação de parada cardíaca, ou mortos). Para tratar cada paciente (segundo momento) existem as seguintes funções: - APBS X (aplicar bolsa de sangue tipo X, onde X pode ser A, B, AB ou O) E essa função enche o nível sanguíneo de 20 unidades. - COP (corte no órgão problemático diminui o nível de sangue em 15 unidades e diminui a freqüência cardíaca em 25 unidades) - AG D (anestesia geral com dose D, onde D é um inteiro dado pela seguinte expressão: (altura*peso) 10 < D < (altura*peso) + 10 ) Aumenta a freqüência cardíaca em (idade/2) unidades, e deve ser aplicado no inicio do tratamento e com a dose certa senão o paciente morre. qualquer dúvida sobre os tipos sanguíneos, veja essa imágem: http://upload.wikimedia.org/wikipedia/commons/thumb/5/51/blood_compatibility.svg/559px-blood_c ompatibility.svg.png

Em caso de parada cardíaca, apenas uma função é possível ser realizada: - DES F (desfibrilador com frequência F, onde F é a freqüência do choque aplicado ao paciente e F deve ser um inteiro e igual a ( (freqüência cardíaca*2) / idade) unidades) Caso não seja esse valor deve ser avisado que o paciente em tratamento morreu. Se a desfibrilação for correta (freqüência usada for correta) o paciente fica com sua freqüência cardíaca em 150 unidades. O paciente estará curado se o seu nível sanguíneo for maior ou igual a 100 e se a função COP foi executada. (não se esqueça que o usuário tem que começar com a anestesia, caso contrário o paciente morre) Em caso de morte ou salvamento, deve-se tratar o próximo paciente, até que todos tenham sido atendidos. Deve-se indicar tudo que está acontecendo com o paciente de acordo com a função aplicada pelo cirurgião. (1ª rodada descrever os pacientes) 2 (numero de pacientes) Ronald Dener (nome do paciente 1) 20 (idade) 175 (altura em cm) 73 (peso em Kg) 37 (Nivel Sanguineo) O (tipo Sanguineo) 120 (freqüência cardíaca) Adriano Sarmento 40 170 80 53 A 190 (2ª rodada tratar os paciente) (referente a Dener) APBS O O paciente Ronald Dener morreu.

(referente a Adriano) AG 13601 O paciente Adriano Sarmento esta anestesiado e com frequencia cardiaca 210 O paciente Adriano Sarmento teve uma parada cardíaca. DES 9 O paciente Adriano Sarmento esta vivo e com frequencia cardiaca 150 APBS A O paciente Adriano Sarmento esta com o nivel sanguineo 73. APBS O O paciente Adriano Sarmento esta com o nivel sanguineo 93. COP O paciente Adriano Sarmento esta com o nivel sanguineo 78 e frequencia cardíaca 125. APBS O O paciente Adriano Sarmento esta com o nivel sanguineo 98. APBS O O paciente Adriano Sarmento esta curado.

3) Super Trunfo Super Trunfo é uma famosa franquia de jogos de baralho, na qual os jogadores disputam com cartas que possuem informações sobre objetos ou criaturas. Escolhe-se uma das informações das cartas para ser comparada. O jogador dono da carta com o maior valor da informação escolhida ganha, e fica com as duas cartas. A empresa responsável pelo jogo estava perdendo muito tempo criando o baralho, então pediu para você, aluno de EC, criar um gerador de Super Trunfo que seja jogável. As cartas são divididas em 8 grupos (1 ~ 8) que possuem 4 Cartas (A, B, C, D) cada, sendo uma delas o Super Trunfo, carta que ganha de todas as outras, com exceção das cartas A s. As cartas A são as únicas que ganham do Super Trunfo imediatamente. A cada Super Trunfo deve ser destacada, e deve ter esse nome exibido quando escolhida. Primeiramente, gere o Deck de 32 Cartas, sendo uma delas o Super Trunfo (esta não poderá ser uma carta A). Depois, distribua todas as cartas para 2 jogadores. As cartas devem ser passadas por referência para os jogadores, que terão um vetor de ponteiros para cartas. A primeira carta do jogador 1 aparece na tela e ele escolhe qual característica quer comparar. Após a seleção, a carta do adversário aparece na tela e as 2 cartas vão para o final do vetor do jogador que ganhou. A próxima carta a aparecer será a primeira carta de quem ganhou. Ganha quem ficar com todas as cartas. Caso aconteça um empate, as 2 cartas vão para a mesa e a próxima carta dos 2 jogadores serão comparadas na mesma característica, até que um dos jogadores ganhe a comparação e leve todas as cartas que ficaram na mesa. Caso um jogador fique sem cartas nessa comparação, é ultima carta dele que será comparada. O tema será Filmes, e o formato das cartas é o descrito a seguir: Código (numero do Grupo + Letra da Carta) 1ª Característica - Quatidade de Oscars (0 ~ 15) 2ª Característica - Bilheteria (50 ~ 2000 milhões de dólares) 3ª Característica - Duração (40 ~ 300 min) Ex: 3C - Super Trunfo Oscars: 4 Bilheteria: $ 1234 milhões Duracao: 120 min OBS: Os jogadores e as cartas deverão ser representados por tipos estruturados. Cada jogador deve ter pelo menos um ponteiro para as cartas, e as cartas devem ter pelo menos os campos contendo os valores de suas informações.

Exemplo Jogador A escolhe a característica: Bilheteria (Note que o jogador escolhe a característica a ser comparada! Mostre ao jogador a carta do topo que ele tem) Saída Valor do Jogador A: 250 Milhões Valor do Jogador B: 225 Milhões Jogador A vence! (ficando com as 2 cartas) 4) CInphone O Cin, em conjunto com o CITI, está prestes a lançar seu primeiro smartphone, e sabendo o quão competitivo está o mercado hoje dominado pela Samsung e Apple, devemos impressionar o publico em seu anúncio oficial. Então, sua tarefa é desenvolver um preview do aplicativo de agenda de contatos do CInphone. Para isso existem alguns padrões de estruturação a serem seguidos. Deverá haver 3 tipos estruturados: -Numero: que deverá contar com uma variável para um numero (8 digitos), uma variavel pra o DDD (2 digitos) e uma variável para o local (até 128 caracteres). -Contato: que devera contar com uma variavel pro nome do contato, um vetor de ponteiros pra numero com 3 posições, e uma variavel pro email do contato. -Celular: que deverá contar com um vetor de 10 posições de ponteiros pra Contato, um inteiro pro DDD LOCAL, e um inteiro pra senha. As funcionalidades do CInphone são: 1. Novo contato: que adiciona um novo contato na agenda do celular. -A quantidade de números a ser inserido por contato deverá ser algo perguntado ao usuário. -Não é permitido contatos com o mesmo nome; 2. Mostrar Lista: que mostra os contatos(e todas as suas informações) de acordo com sua região

(DDD), locais, ou não locais. 3. Buscar contato: que busca um contato no CInphone, e caso o encontre exibe todas as suas informações. Caso contrário uma mensagem de que o contato não foi encontrado deverá ser exibida. 4. Excluir contato: que exclui um contato da agenda. 5. Excluir agenda: que exclui todos os contatos da agenda. 6. Primeiro uso: que prepara o Cinphone pra o primeiro uso... pede a senha, o DDD Local e inicializa o aparelho com a tela de bloqueio; 7. Bloquear tela. 8. Desligar CInphone. O CInphone conta com uma senha de segurança de 4 digitos. CInphone com a tela bloqueada: Deverá ser exibido um conjunto de estatísticas: Quantidade total de números, quantidade total de contatos, quantidade de números locais e quantidade de números não locais. E a senha poderá ser digitada pra desbloquea-lo. Cinphone com tela desbloqueada: Estará exibindo o menu de funcionalidades

5) Poker da Área 2 Um baralho tradicional contém 52 cartas, sendo elas divididas em 4 grupos, chamados de NAIPES. Os naipes são identificados por nomes e símbolos, são eles: Copas, Ouro, Paus e Espadas (,,, ou H, D, C, S respectivamente). No poker, o naipes possuem o mesmo valor, ou seja, nenhum naipe é superior ao outro. Cada naipe possui 13 cartas, sendo elas: 2, 3, 4, 5, 6, 7, 8, 9, 10, Valete, Dama, Rei e Às (2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K, A respectivamente). Uma carta é formada por um valor (número / letra) e um naipe. Exemplo: 3D, 3H, KC, AS. Cansados de reprovar cadeiras da Área II por falta, alguns do alunos do CTG vieram até você para pedir que você faça um programa em C para que eles possam jogar poker em um notebook durante as aulas. Você, que é um aluno exemplar, decidiu não ser conivente com esse comportamento, mas decidiu implementar o jogo para testar suas habilidades de programação. Veja as combinações do Poker aqui: https://en.wikipedia.org/wiki/list_of_poker_hands Straight flush Four of a kind Full house

Flush Straight Three of a kind Two pair One pair

High card O programa deverá começar recebendo a quantidade de jogadores (2~5) e os nomes deles (de até 15 caracteres) e então distribua as cartas do Deck aleatoriamente entre essas pessoas (5 cartas por jogador). Cada jogador terá um vetor de ponteiros para as cartas, que serão removidas do vetor de ponteiros do Deck (o programa fechará quando o número de jogadores for 0). Deve-se então mostrar a mão do primeiro jogador e dar a opção para ele trocar ATÉ 4 cartas. Após escolher a quantidade, ele então escolherá quais serão essas cartas e as descartará SIMULTANEAMENTE, puxando então do deck um número de cartas igual ao número de cartas descartadas. As cartas removidas voltarão para o fim do Deck. O mesmo procedimento ocorrerá para todos os outros jogadore. Após todos terem escolhido descartar ou não alguma carta, você então irá mostrar todas as mãos na ordem de vitória (com o nome dos jogadores do lado), então as cartas dos jogadores VOLTAM para o Deck e programa recomeçará. OBS 1: as cartas e os jogadores DEVERÃO ser estruturas, os jogadores estarão num vetor de estruturas, e o Deck será um vetor de ponteiros. OBS 2: ordene as cartas das mãos usando o valor da carta (2~A) e, caso tenha 2 cartas com o mesmo valor, ordene essas pelo naipe (Copas, Ouro, Paus, Espada) ex: 2C, 4H, 4S, 7C, JS ou 2, 4, 4, 7, J OBS 3: nas sequências (flush), o A pode ser o anterior ao 2 (A,2,3,4,5) ou o sucessor do K (T,J,Q,K,A) OBS 4: só passe referências, não o valor das cartas, não se pode duplicar cartas, e a única situação na qual a carta pode estar sendo apontada por uma mão e pelo deck ao mesmo tempo, é na hora de transferir a carta entre eles (o deck só pode ter cartas que não estão com nenhum dos jogadores). DICA: A tabela ASCII possui os símbolos dos naipes (,,, ), eles são os valores entre 3 e 6 inclusive. Você pode usar os símbolos ou as letras iniciais do nome em inglês (H,D,C,S)

DICA 2: na estrutura do Jogador, ordene a mão do jogador e guarde a situação da mão dele (Dupla, Trio, Flush...) para poder ordenar os jogadores na hora de falar quem ganhou. DICA 3: usar ENUMs pode se tornar bem útil nessa questão. ex: 4 // Número de jogadores //essa etapa é repetida para cada jogador: Jogador 1: 2, 4, 4, 7, J quantas cartas você quer descartar? (0~4 cartas) 2 quais as cartas? 1 4 //a primeira e a 4ª carta Cartas trocadas: 3, 4, 4, J, J // depois de todos os jogadores descartarem: O Jogador 2 Venceu! Jogador 2-2, 3, 5, K, A //flush Jogador 4 - A, 2, 3, 4, 5 //Straight Jogador 3-2, 7, 7, 7, Q //Tree of a Kind Jogador 1-3, 4, 4, J, J //Two Pair