INF 1007 Programação II Semestre 09.2

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

Download "INF 1007 Programação II Semestre 09.2"

Transcrição

1 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 de letras embaralhadas que são exibidas em um quadro grande, e uma seqüência de letras exibida em um quadro menor. O objetivo do jogo é obter o maior número de pontos, da seguinte forma: a palavra principal, ou seja, a palavra que é escrita utilizando todas as letras contidas no quadro grande, vale 15 pontos; palavras comuns, ou seja, aquelas formadas apenas com as letras contidas no quadro grande, com 3 ou mais letras, valem 5 pontos; palavras sequências, ou seja, palavras de 4 ou mais letras que contêm a seqüência de letras do quadro menor e letras do quadro grande, valem 10 pontos. As letras disponíveis só podem aparecer uma vez em cada palavra e os acentos são ignorados. Além disso, não valem verbos, plurais, nomes próprios e abreviaturas. T L A N U LHA P I S A A Por exemplo, para o quadro acima, a palavra principal é PAULISTANA, e com as letras do quadro principal foram encontradas 30 palavras de 5 letras, 12 de 6 letras, 3 de 7 letras, 3 de 8 letras, 1 de 9 letras. Por exemplo, LÁPIS, TULIPA, PLATINA, ANALISTA e PAULATINA. Além disso, foram encontradas 8 palavras contendo a seqüência LHA. Por exemplo, PALHA e SAPATILHA. O objetivo deste trabalho é implementar, em linguagem C, um conjunto de funções que auxiliarão na criação do programa de um jogo de Logodesafio, ou seja, um jogo em que o participante tentará formar palavras a partir de dois grupos de letras que são fornecidos. O programa do Logodesafio e o usuário (jogador) interagem da forma descrita a seguir: O programa carrega um jogo específico e exibe as letras e instruções. 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

2 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 aguarda o usuário continuar o jogo digitando as palavras, ou terminar, digitando um único caractere e ENTER: Digite uma palavra com 3 ou mais letras, ou um unico caractere e ENTER para terminar... 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. Parabéns, vc ganhou mais 10 pontos, totalizando 55 pontos... A qualquer momento o usuário pode deixar o jogo digitando uma palavra com um único caractere. Após a pontuação final o programa mostrará a solução. Vc encontrou 11 palavras e acumulou 70 pontos... Observe que as palavras do jogo são armazenadas somente com letras maiúsculas, mas o jogador pode digitar as palavras com letras maiúsculas ou minúsculas de forma

3 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 anteriormente, exibindo estas e outras mensagens para situações específicas. Este programa utiliza a biblioteca desafio.h, que deve ser implementada pelos alunos, e a biblioteca jogo.h, que é fornecida aos alunos. O Anexo 2 apresenta o arquivo desafio.h, e o Anexo 3 apresenta o arquivo jogo.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 desafio.h --- cujo conteúdo não pode ser alterado ---, que está disponível como anexo a esse enunciado e também no site da disciplina. 2 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. 3 O arquivo desafio.c deve ser enviado contendo apenas as funções implementadas. Ou seja, o seu arquivo submetido NÃO deve possuir a função main. A correção do trabalho será realizada pelo corretor automático, que terá um programa que chamará as funções conforme declaradas na interface desafio.h. 4 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 através de seqüência de testes. 5 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. 6 Data de entrega: 30 de setembro.

4 ANEXO 1 /* logodesafio.c */ #include <stdio.h> #include <stdlib.h> #include "jogos.h" #include "desafio.h" int main(void) char *quadro, *seq, *palavra; char **solucao, **respostas=null; int n, continua, k=0, valor, total = 0; n = Carrega_jogo(&quadro, &seq, &solucao); 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); while(1) printf("\ndigite uma palavra com 3 ou mais letras, ou um único caractere e ENTER para terminar...\n"); palavra = Le_palavra(); if((palavra==null) (palavra[1]=='\0')) break; if(strlen(palavra)<3) printf("\na palavra deve ter mais de 3 letras, tente outra vez...\n"); free(palavra); else valor = 0; if(palavra_principal(quadro, palavra)) valor = 15; else if(palavra_comum(quadro, palavra)) valor = 5; else if(palavra_sequencia(quadro, seq, palavra)) valor = 10; if(valor==0)

5 printf("\nessa palavra nao e valida, tente outra...\n"); free(palavra); else if(verifica(palavra, respostas, k)) printf("\nessa palavra e repetida, tente outra...\n"); free(palavra); else if(verifica(palavra, solucao, n)) respostas = Registra(palavra, respostas, k); printf("\nparabéns, vc ganhou mais %d pontos, totalizando %d pontos...\n", valor, total); total = total + valor; k++; if(k==n) break; else printf("\nessa palavra nao existe, tente outra...\n"); free(palavra); printf("\nvc encontrou %d palavras e acumulou %d pontos...\n\n", k, total); printf("as palavras que que poderiam ser formadas sao:\n\n"); Mostra_tudo(solucao, n);

6 ANEXO 2 /* desafio.h */ /* Função Palavra_principal Verifica se uma palavra pode ser a */ /* palavra principal, ou seja, contem todas as letras do */ /* quadro grande, sem repeticao. */ /* quadro - ponteiro para a cadeia de caracteres quadro */ /* palavra - ponteiro para a cadeia de caracteres contendo a */ /* palavra a ser verificada. */ /* Saída: inteiro com valor 1 se a palavra eh a principal, ou 0, */ /* caso contrario. */ int Palavra_principal(char* quadro, char* palavra); /* Função Palavra_comum Verifica se uma palavra contem */ /* apenas caracteres nao repetidos do quadro grande e tamanho */ /* maior ou igual a tres. */ /* quadro - ponteiro para a cadeia de caracteres quadro */ /* palavra - ponteiro para a cadeia de caracteres contendo a */ /* palavra a ser verificada. */ /* Saída: inteiro com valor 1 se a palavra eh valida, ou 0, */ /* caso contrario. */ int Palavra_comum(char* quadro, char* palavra); /* Função Palavra_sequencia Verifica se uma palavra contem */ /* a sequencia fornecida como parametro e caracteres nao */ /* repetidos do quadro grande e tamanho maior ou igual a quatro. */ /* quadro - ponteiro para a cadeia de caracteres quadro */ /* sequencia - ponteiro para a cadeia de caracteres contendo uma */ /* sequencia. */ /* palavra - ponteiro para a cadeia de caracteres contendo a */ /* palavra a ser verificada. */

7 /* Saída: inteiro com valor 1 se a palavra eh valida, ou 0, */ /* caso contrario. */ int Palavra_sequencia(char* quadro, char* sequencia, char* palavra); /* Função Le_palavra Le uma palavra do teclado com tamanho */ /* maximo 20 e armazena em uma cadeia de caracteres alocada */ /* dinamicamente, apos converter todos os caracteres para */ /* maiusculas. */ /* Saída: Ponteiro para nova string alocada dinamicamente ou */ /* NULL, se nao for possivel alocar a nova cadeia. */ char* Le_palavra(void); /* Função Verifica Verifica se uma palavra esta em um vetor de */ /* palavras registradas. */ /* palavra - ponteiro para a cadeia de caracteres contendo a */ /* palavra a ser verificada. */ /* lista - ponteiro para o vetor de palavras registradas. */ /* n tamanho da lista. */ /* Saída: inteiro com valor 1 se a palavra esta no vetor, ou 0, */ /* caso contrario. */ int Verifica(char* palavra, char** lista, int n); /* Função Registra Copia um vetor de palavras registradas 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 a cadeia de caracteres */ /* contendo a palavra a ser registrada, recebido como parametro. */ /* Se nao for vazio, o vetor original deve ser liberado. */ /* palavra - ponteiro para a cadeia de caracteres contendo a */ /* palavra a ser registrada. */ /* lista - ponteiro para o vetor de palavras registradas. */

8 /* n tamanho da lista. */ /* Saída: ponteiro para o novo vetor, ou NULL, caso nao consiga */ /* alocar memoria */ char** Registra(char* palavra, char** lista, int n);

9 ANEXO 3 /* jogo.h */ /* Carrega_jogo Carrega as informacoes necessarias para um */ /* jogo. */ /* letras - ponteiro para receber o endereco da cadeia de */ /* caracteres contendo as letras do quadro principal. */ /* seq - ponteiro para receber o endereco da cadeia de caracteres */ /* contendo a sequencia do quadro menor. */ /* sol - ponteiro para receber o endereco do vetor de ponteiros */ /* para cadeias de caracteres, que contem a solucao */ /* do jogo. */ /* Saída: inteiro com numero de elementos do vetor solucao. */ int Carrega_jogo(char** letras, char** seq, char*** sol); /* Mostra_tudo Mostra na tela todas as palavras que se pode */ /* formar em um jogo. */ /* sol - ponteiro para o vetor de palavras validas no jogo. */ /* n tamanho do vetor. */ void Mostra_tudo(char** sol, int n); /* Mostra_tam Mostra na tela as palavras que se pode formar */ /* em um jogo com o tamanho definido como parametro. */ /* sol - ponteiro para o vetor de palavras validas no jogo. */ /* n tamanho do vetor. */ /* tam numero de caracteres. */ void Mostra_tam(char** sol, int n, int tam);

10 /* Mostra_dica Mostra na tela uma dica sobre a quantidade de */ /* palavras que e possivel formar em um jogo. */ /* sol - ponteiro para o vetor de palavras validas no jogo. */ /* n tamanho do vetor. */ void Mostra_dica(char** sol, int n); /* Mostra_quadro Mostra na tela os caracteres validos para */ /* formar uma palavra do jogo. */ /* quadro - ponteiro para a cadeia de caracteres contendo a */ /* as letras validas. */ void Mostra_quadro(char* quadro); /* Mostra_sequencia Mostra na tela a sequencia de caracteres */ /* valida de um jogo. */ /* seq - ponteiro para a cadeia de caracteres contendo a */ /* sequencia. */ void Mostra_sequencia(char* seq);

INF 1620 Estruturas de Dados Semestre Segundo Trabalho: Jogo de Caça-Palavras

INF 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 mais

Caracteres e Cadeias de Caracteres

Caracteres e Cadeias de Caracteres Caracteres e Cadeias de Caracteres INF1005 Programação I Prof. Hélio Lopes [email protected] sala 408 RDC 1 caracteres e cadeias de caracteres tópicos caracteres cadeias de caracteres (strings) vetor

Leia mais

Introdução à Programação

Introdução à Programação Programação de Computadores Introdução à Programação Prof. Helton Fábio de Matos [email protected] Agenda Algoritmo & Programa Variáveis Declaração de tipos Comando de entrada ou de leitura Comando de

Leia mais

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

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 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 mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes [email protected] 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;

Leia mais

3.1 - Funções para manipular dados de entrada e saída padrão

3.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 mais

Introdução a Programação de Jogos

Introduçã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 mais

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Estruturas 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 mais

Programação I A Linguagem C. Prof. Carlos Alberto

Programação I A Linguagem C. Prof. Carlos Alberto Programação I A Linguagem C Prof. Carlos Alberto [email protected] [email protected] 2 Origem A linguagem C foi desenvolvida em 1972, nos Laboratórios Bell, por Dennis Ritchie. Implementada

Leia mais

Linguagem C Controle do Fluxo de Execução. Lógica de Programação

Linguagem C Controle do Fluxo de Execução. Lógica de Programação Linguagem C Controle do Fluxo de Execução Lógica de Programação Caro(a) aluno(a), Aqui começaremos a escrever os nossos primeiros programas em uma Linguagem de Programação. Divirta-se!!! Estrutura Seqüencial

Leia mais

Introdução à Linguagem C Variáveis e Expressões

Introduçã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 mais

ALGORITMOS 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 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 mais

Linguagem C Princípios Básicos (parte 1)

Linguagem 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 mais

Introdução à Programação. Introdução a Linguagem C. Prof. José Honorato F. Nunes

Introdução à Programação. Introdução a Linguagem C. Prof. José Honorato F. Nunes Introdução à Programação Introdução a Linguagem C Prof. José Honorato F. Nunes [email protected] Resumo da aula Introdução Variáveis Tipos de dados Operadores e Expressões: Operadores

Leia mais

Introdução à Linguagem C

Introdução à Linguagem C Engenharia de CONTROLE e AUTOMAÇÃO Introdução à Linguagem C Aula 02 DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria [email protected]

Leia mais

Aula 9 Oficina de Programação Strings. Profa. Elaine Faria UFU

Aula 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 mais

Programação: Vetores

Programaçã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 mais

Programaçã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 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 mais

1 Questões de Múltipla Escolha

1 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 mais

Capí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 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 mais

Sumário. Introdução à Ciência da Computação. Ponteiros em C. Introdução. Definição. Por quê ponteiros são importantes?

Sumá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 mais

Tipos de Dados, Variáveis e Entrada e Saída em C. DCC 120 Laboratório de Programação

Tipos de Dados, Variáveis e Entrada e Saída em C. DCC 120 Laboratório de Programação Tipos de Dados, Variáveis e Entrada e Saída em C DCC 120 Laboratório de Programação Variáveis Uma variável representa um espaço na memória do computador para armazenar um determinado tipo de dado. Em C,

Leia mais

Disciplina de Algoritmos e Programação

Disciplina 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 mais

1ª Lista de Exercícios

1ª 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 mais

Vetores e Matrizes. Conceito. Conceito. Conceito. Conceito. Conceito. Variáveis Compostas Homogêneas. Matriz

Vetores e Matrizes. Conceito. Conceito. Conceito. Conceito. Conceito. Variáveis Compostas Homogêneas. Matriz Variáveis Compostas Homogêneas São conhecidas na linguagem C como matrizes. Vetores e es É um conjunto de variáveis do mesmo tipo, acessíveis com um único nome e armazenadas de forma contínua na memória.

Leia mais

Linguagem C: Introdução

Linguagem 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 mais

Ambiente de desenvolvimento

Ambiente 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 mais

3. Linguagem de Programação C

3. 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 mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 9 Subalgoritmos, funções e passagem de parâmetros Profa. Marina Gomes [email protected] 22/06/2017 Engenharia de Computação - Unipampa 1 Modularização Facilita a

Leia mais

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

INF 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 mais

Apêndice B. Cadeias de Caracteres (Strings)

Apê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 mais

Linguagem de Programação C

Linguagem 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 mais

INF 1007 Simulado P2 Nome: Instruções

INF 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 mais

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

Linguagem de Programação I Vetores e Strings. Thiago Leite Francisco Barretto Linguagem de Programação I Vetores e Strings Thiago Leite Francisco Barretto Vetores são matrizes unidimensionais; Uma matriz é uma coleção de

Leia mais

LISTA DE EXERCÍCIOS - ro. 04

LISTA 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 mais

INF1007: 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 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 mais

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação Algoritmos e Introdução à Programação Lógica e Linguagem de Programação Prof. José Honorato Ferreira Nunes [email protected] http://softwarelivre.org/zenorato/honoratonunes Linguagem C Prof.

Leia mais

Linguagem C. André Tavares da Silva.

Linguagem C. André Tavares da Silva. Linguagem C André Tavares da Silva [email protected] Variáveis Posição nomeada de memória que é usada para guardar um valor que pode ser modificado pelo programa. Todas as variáveis devem ser

Leia mais

Anhanguera Educacional S.A. Centro Universitário Ibero-Americano

Anhanguera Educacional S.A. Centro Universitário Ibero-Americano O C++ foi inicialmente desenvolvido por Bjarne Stroustrup durante a década de 1980 com o objetivo de melhorar a linguagem de programação C, mantendo a compatibilidade com esta linguagem. Exemplos de Aplicações

Leia mais

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

#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 mais

Programação Estruturada Prof. Rodrigo Hausen Organização e Gerenciamento de Memória

Programaçã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 mais

Introdução a Programação. Ponteiros e Vetores, Alocação Dinâmica

Introduçã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 mais

Programação de Computadores II. Cap. 7 Cadeias de Caracteres 1/2

Programação de Computadores II. Cap. 7 Cadeias de Caracteres 1/2 Programação de Computadores II Cap. 7 Cadeias de Caracteres 1/2 Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos

Leia mais

Comandos de entrada. e saída. Comandos de entrada. Comandos de entrada. Comandos de entrada. Comandos de entrada. Comandos de entrada.

Comandos de entrada. e saída. Comandos de entrada. Comandos de entrada. Comandos de entrada. Comandos de entrada. Comandos de entrada. e saída Biblioteca stdio.h Comandos Função scanf() Função gets() Função getchar() Material cedido pelo prof. Daniel Callegari scanf() Rotina de entrada que lê todos os tipos de dados. Protótipo: int scanf(const

Leia mais

Programação em C. Variáveis e Expressões. 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. 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 mais

CCO 016 / COM 110 Fundamentos de Programação

CCO 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 mais

Estrutura de Programas e Tipos de Dados Simples

Estrutura de Programas e Tipos de Dados Simples SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Estrutura de Programas e Tipos de Dados Simples Prof. Vanderlei Bonato: [email protected] Prof. Claudio Fabiano Motta Toledo: [email protected]

Leia mais

1 Exercícios com ponteiros

1 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 mais

Computação Eletrônica. Strings. Prof: Luciano Barbosa. CIn.ufpe.br

Computação Eletrônica. Strings. Prof: Luciano Barbosa. CIn.ufpe.br Computação Eletrônica Strings Prof: Luciano Barbosa Recapitulando: Vetores Representar uma coleção de variáveis de um mesmo tipo em uma dimensão Ex: float notas[5]; ou float notas[5] = {2.5,3.2,1.9,4.1,2.0};

Leia mais

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

INF 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 mais

Estruturas de Dados. Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C

Estruturas 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 mais

Faculdade de Computação

Faculdade de Computação Faculdade de Computação Programação Procedimental 1 o Laboratório de Programação C Prof. Cláudio C. Rodrigues 1. Introdução O objetivo desta aula prática é exercitar o uso de variáveis de vários tipos

Leia mais

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

Programaçã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 mais

Trabalho de Programação 2 Processador CESAR

Trabalho de Programação 2 Processador CESAR Trabalho de Programação 2 Processador CESAR 1. Descrição Geral A empresa TABLETEROS S.A. assinou um contrato milionário de fornecimento de ultrabooks e teve que aumentar o número de estantes. Agora, a

Leia mais

cadeia de caracteres (string) INF Programação I Prof. Roberto Azevedo

cadeia de caracteres (string) INF Programação I Prof. Roberto Azevedo cadeia de caracteres (string) INF1005 -- Programação I -- 2016.1 Prof. Roberto Azevedo [email protected] cadeia de caracteres (string) tópicos caracteres cadeia de caracteres referência Capítulo

Leia mais

Métodos Computacionais. Strings (Vetor de Caracteres)

Métodos Computacionais. Strings (Vetor de Caracteres) Métodos Computacionais Strings (Vetor de Caracteres) Em C, o tipo char : Caracteres é usado para representar caracteres pode armazenar valores inteiros (em 1 byte), representando assim, 256 valores distintos

Leia mais

Módulo 1. Introdução. AEDS I C++ (Rone Ilídio)

Módulo 1. Introdução. AEDS I C++ (Rone Ilídio) Módulo 1 Introdução AEDS I C++ (Rone Ilídio) Introdução Linguagens de Programação Fonte Compilador Executável SO I Hardware C++ - Características Evolução do C, ou seja, possui a mesma sintaxe É uma linguagem

Leia mais

Algoritmos e Estruturas de dados

Algoritmos 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 mais

Ponteiros 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 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 mais

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

Estruturas de Dados Aula 6: Cadeias de 28/03/2010 Estruturas de Dados Aula 6: Cadeias de Caracteres 28/03/2010 Caracteres Caracteres são representados internamente por códigos numéricos Tipo char (inteiro pequeno ) 1 byte (8 bits) 256 caracteres possíveis

Leia mais

INF 1005 Programação I

INF 1005 Programação I INF 1005 Programação I Aula 12 Cadeia de Caracteres (Strings) Edirlei Soares de Lima Caracteres Até o momento nós somente utilizamos variáveis que armazenam números (int, float ou

Leia mais

system("pause"); //Envia comando para o sistema operacional solicitando parada de execução do programa } //limitador do corpo do programa

system(pause); //Envia comando para o sistema operacional solicitando parada de execução do programa } //limitador do corpo do programa Atividade Prática no Ambiente Dev C++ Para as nossas atividades práticas vamos utilizar o ambiente de desenvolvimento da Linguagem C, Dev C++, ele é bastante fácil de utilizar e com muitos recursos. Segue

Leia mais

Introdução à Programação Estruturada Parte 3. Material da Prof. Ana Eliza

Introdução à Programação Estruturada Parte 3. Material da Prof. Ana Eliza Introdução à Programação Estruturada Parte 3 Material da Prof. Ana Eliza Arquitetura do Computador Digital MEMÓRIA Armazena dados e comandos UNIDADE DE ENTRADA UNIDADE DE CONTROLE UNIDADE LÓGICA E ARITMÉTICA

Leia mais

Capítulo 6: Arquivos

Capítulo 6: Arquivos Capítulo 6: Arquivos Waldemar Celes e Roberto Ierusalimschy 29 de Fevereiro de 2012 1 Funções de entrada e saída em arquivos Nos capítulos anteriores, desenvolvemos programas que capturam seus dados de

Leia mais

1 Exercícios com ponteiros

1 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 mais