Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 UNIVERSIDADE DE BRASÍLIA FACULDADE DO GAMA UnB/FGA CADERNO DE EXERCÍCIOS PARA AULA PRÁTICA Professores.: André Barros de Sales ..............................1027930 Georges Amvame-Nze ..............................1018370 Ricardo Matos Chaim ................................1027701 Bolsistas REUNI: Artur Potiguara Filipe Barbosa de Almeida 2 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Sumário INDICE DE FIGURAS ........................................................................................................ 5 Elaboração de Roteiros ................................................................................................ 6 I. Roteiro Para Elaboração De Roteiros .................................................................. 7 A. Noções Gerais ..................................................................................................... 7 B. Tópicos de Composição.................................................................................... 9 Sessão de Configuração ............................................................................................ 11 - Ambiente de Programação e Introdução a Linguagem C - ............................. 11 I. Fundamentação Teórica .................................................................................... 12 A. Instalação do Compilador .............................................................................. 12 1. Configuração das variáveis de entorno via propriedades de sistemas. 18 B. Instalação do Ambiente de Desenvolvimento ............................................ 22 1. Meu primeiro programa............................................................................... 25 Sessão Didática 1......................................................................................................... 29 - Estrutura Seqüencial -................................................................................................ 29 I. Fundamentação Teórica .................................................................................... 30 A. Objetivo.............................................................................................................. 30 B. Tecnologias a utilizar......................................................................................... 30 C. Introdução Teórica ........................................................................................... 30 II. Parte experimental ............................................................................................... 30 A. Objetivo.............................................................................................................. 30 B. Tecnologias a utilizar......................................................................................... 31 C. Introdução Teórica ........................................................................................... 31 D. Resultados e Discussão .................................................................................... 32 E. Procedimentos .................................................................................................. 33 F. Bibliografia ......................................................................................................... 34 Sessão Didática 2......................................................................................................... 35 - Tipos de dados e variáveis - ..................................................................................... 35 Sessão Didática 3......................................................................................................... 42 - Variáveis e operadores -........................................................................................... 42 Sessão Didática 4......................................................................................................... 50 - Estrutura de controle de fluxo: Seleção Simples - ................................................. 50 3 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 I. Fundamentação Teórica .................................................................................... 51 II. Parte Experimental ............................................................................................... 53 A. Objetivo.............................................................................................................. 53 B. Tecnologias a utilizar......................................................................................... 54 C. Parte experimental ........................................................................................... 54 D. Procedimentos .................................................................................................. 56 E. Bibliografia ......................................................................................................... 58 Sessão Didática 5......................................................................................................... 59 - Estrutura de controle de fluxo: Condicional Composta -.................................... 59 I. Fundamentação Teórica .................................................................................... 60 II. Parte Experimental ............................................................................................... 61 A. Objetivo.............................................................................................................. 61 B. Tecnologias a utilizar......................................................................................... 61 C. Parte experimental ........................................................................................... 61 D. Procedimentos .................................................................................................. 64 E. Bibliografia ......................................................................................................... 64 Sessão Didática 6......................................................................................................... 65 - Estrutura de repetição contada - ........................................................................... 65 I. Fundamentação Teórica .................................................................................... 66 II. Parte Experimental ............................................................................................... 67 A. Objetivo.............................................................................................................. 67 B. Tecnologias a utilizar......................................................................................... 67 C. Parte experimental ........................................................................................... 67 1. Discussão ........................................................................................................ 68 D. Procedimentos .................................................................................................. 69 Sessão Didática 7......................................................................................................... 72 - Estrutura de Repetição: Condicional, com teste no início - ............................... 72 I. Fundamentação Teórica .................................................................................... 73 II. Parte Experimental ............................................................................................... 74 A. Objetivo.............................................................................................................. 74 B. Tecnologiasa utilizar......................................................................................... 74 C. Parte experimental ........................................................................................... 74 1. Discussão ........................................................................................................ 76 D. Procedimentos .................................................................................................. 77 4 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 E. Bibliografia ......................................................................................................... 79 Sessão Didática 8......................................................................................................... 80 - Estrutura de Repetição: Condicional com teste no final - .................................. 80 I. Fundamentação Teórica .................................................................................... 81 II. Parte Experimental ............................................................................................... 82 A. Objetivo.............................................................................................................. 82 B. Tecnologias a utilizar......................................................................................... 82 C. Parte experimental ........................................................................................... 82 D. Procedimentos .................................................................................................. 85 E. Bibliografia ......................................................................................................... 86 Sessão Didática 9......................................................................................................... 87 - Cadeias de caracteres - .......................................................................................... 87 Sessão Didática 10....................................................................................................... 89 - Funções -..................................................................................................................... 89 Sessão Didática 11....................................................................................................... 91 - Ponteiros: Vetores - .................................................................................................... 91 Sessão Didática 12....................................................................................................... 93 - Ponteiros: Matrizes - ................................................................................................... 93 5 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 INDICE DE FIGURAS Nenhuma entrada de índice de ilustrações foi encontrada. 6 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Elaboração de Roteiros 7 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Roteiro Para Elaboração De Roteiros A. Noções Gerais O relatório de atividades deve em primeiro lugar, retratar o que foi realmente realizado no experimento, sendo de fundamental importância a apresentação de um documento bem ordenado e de fácil manuseio. Além disso, deve ser o mais sucinto possível e descrever as atividades experimentais realizadas, a base teórica dessas atividades, os resultados obtidos e sua discussão, além da citação da bibliografia consultada. O relatório deve ser redigido de uma forma clara, precisa e lógica. Redija sempre de forma impessoal, utilizando-se a voz passiva no tempo passado. Ex. a massa das amostras sólidas foi determinada utilizando-se uma balança. Devem ser evitados expressões informais ou termos que não sejam estritamente técnicos (Não utilize em hipótese alguma adjetivo possessivo, como por exemplo, minha reação, meu banho, meu qualquer coisa). É bastante recomendável, efetuar uma revisão do relatório para retirar termos redundantes, clarificar pontos obscuros e retificar erros no original. Uma atenção especial deve ser dada aos termos técnicos, resultados, fórmulas e expressões matemáticas. As ilustrações (tabelas, fórmulas, gráficos) deverão vir na seqüência mais adequada ao entendimento do texto e seus títulos e legendas devem constar imediatamente abaixo. Tabela: é composta de título, um cabeçalho, uma coluna indicadora, se necessário, e um corpo: ⇒ Título- deve conter breve descrição do que contém a tabela e as condições nas quais os dados foram obtidos; 8 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 ⇒ Cabeçalho- parte superior da tabela contendo as informações sobre o conteúdo da cada coluna; ⇒ Coluna indicadora- à esquerda da tabela, especifica o conteúdo das linhas; ⇒ Corpo- abaixo do cabeçalho e a direita da coluna indicadora, contém os dados ou informações que se pretende relatar; Exemplo: Tabela 1. Algumas características dos estados da matéria Estado da matéria Compressibilidad e Fluidez ou rigidez Densidade relativa Gasoso Alta fluido baixa Líquido muito baixa fluido alta Sólido muito baixa rígido alta Gráfico: é a maneira de detectar visualmente como varia uma quantidade (y) à medida que uma segunda quantidade (x) também varia; é imprescindível o uso de papel milimetrado para construção de um gráfico. Eixos: horizontal (abscissa) - representa a variável independente; é aquela cujo valor é controlado pelo experimentador; vertical (ordenada)- representa a variável dependente; cujo valor é medido experimentalmente. Escolha das escalas - suficientemente expandida de modo a ocupar a maior porção do papel (não é necessário começar a escala no zero, sim num valor um pouco abaixo do valor mínimo medido) Símbolos das grandezas- deve-se indicar junto aos eixos os símbolos das grandezas correspondentes divididos por suas respectivas unidades; Título ou legenda- indicam o que representa o gráfico; Valores das escalas- deve-se marcar os valores da escala em cada eixo de forma clara; Pontos- deve-se usar círculos, quadrados, etc. para indicar cada ponto de cada curva; Traço- a curva deve ser traçada de modo a representar a tendência média dos pontos. 9 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Tópicos de Composição 1. Identificação 2. Resumo 3. Introdução 4. Materiais e Métodos 5. Resultados e Discussão 6. Conclusões 7. Referências Identificação Relatório N. Título Nome dos autores: Resumo Inicialmente, deve ser feito um resumo dos principais aspectos a serem abordados no relatório, tomando por base, as etapas constantes do procedimento experimental desenvolvido e dos resultados obtidos. Este item deve ser elaborado de forma clara e sucinta para proporcionar ao leitor os tipos de informações fornecidas no documento. Não deve ultrapassar a 100 palavras. Introdução Apresentar os pontos básicos do estudo ou atividades desenvolvidas, especificando as principais aquisições teórico-metodológicas, referentes às técnicas empregadas. Neste item é dado um embasamento teórico do experimento descrito para situar o leitor naquilo que se pretendeu estudar no experimento. A literatura é consultada, apresentando-se uma revisão do assunto. Normalmente, as citações bibliográficas são feitas por números entreparênteses e listadas no final do relatório. Lembrar que a introdução não é uma cópia da literatura. Não copie os textos consultados, para isso basta uma máquina de fotocópias. A introdução deve conter no máximo 5 parágrafos e não exceder a 400 palavras. Parte Experimental (ou Materiais e Métodos) Descrição detalhada do experimento realizado, dos métodos analíticos e técnicas empregadas, bem como descrição dos instrumentos utilizados. Não é um receituário. Este item precisa conter elementos suficientes para que qualquer pessoa possa ler e reproduzir o experimento no laboratório. Utilizam-se desenhos e diagramas para esclarecer sobre a montagem de aparelhagem. Não deve incluir discussão de resultados. Resultados e Discussão Esta é a parte principal do relatório, onde serão mostrados todos os resultados obtidos, que podem ser numéricos ou não. Deverá ser feita uma análise dos resultados obtidos, com as observações e comentários pertinentes. Em um relatório desse tipo espera-se que o aluno discuta os resultados em termos dos fundamentos estabelecidos na introdução, mas também que os resultados inesperados e observações sejam relatados, procurando uma justificativa plausível para o fato. Em 10 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 textos científicos utilizam-se tabelas, gráficos e figuras como suporte para melhor esclarecer o leitor do que se pretende dizer. Conclusões Neste item deverá ser feita uma avaliação global do experimento realizado, são apresentados os fatos extraídos do experimento, comentando-se sobre as adaptações ou não, apontando-se possíveis explicações e fontes de erro experimental. Não é uma síntese do que foi feito (isso já está no sumário) e também não é a repetição da discussão. Bibliografia Listar bibliografia consultada para elaboração do relatório, utilizando-se as normas recomendadas pela ABNT (NBR 14724) . Sobrenome do autor, iniciais do nome completo. Título do livro: subtítulo. Tradutor. Nº da edição. Local de publicação, casa publicadora, ano de publicação. Páginas consultadas. Exemplo bibliografia: Russel, J.B. Química Geral. Trad. de G. Vicentini et alli. São Paulo, Mc Graw-Hill, 1982. Embora todos os grupos realizem o mesmo experimento os relatórios devem ser preparados de forma personalizada pelo grupo. Relatórios copiados serão creditados como zero. N.B.: Os relatórios deverão ser entregues nas datas pré-determinadas (Salve mudanças sugeridas em “último recurso” pelo docente da Turma). A entrega dos mesmos em dias posteriores sofrerá reduções sucessivas do conceito máximo. 11 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Sessão de Configuração - Ambiente de Programação e Introdução a Linguagem C - 12 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 A.1 Fundamentação Teórica A. Instalação do Compilador Antes da instalação de qualquer ambiente de desenvolvimento para linguagem de programação C/C++, fazer o download do compilador MinGW na sua versão mais atual (percebe-se na Figura.1, que a versão do MinGW utilizada neste documento foi a 5.1.4). Uma vez baixado o software, iniciar a instalação com um click no botão NEXT. Figura 1 – MinGW. Na Figura. 2, escolher a opção ''Download and install'' porque caso a instalação for mal sucedida, será útil a reinstalação da mesma via HD e não Internet. Seguir com a instalação dando um click no botão NEXT. 13 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Figura 2 – MinGW. A Figura. 3 mostra a tela de processo de Licença, Utilização e Redistribuição do MinGW. Após leitura do mesmo, seguir com a instalação dando um click no botão NEXT. Figura 3 – MinGW. Na Figura.4, fazer a escolha de instalação mas atual do MinGW via click no botão ''Current''. Em seguida continuar com a instalação dando um click no botão NEXT. 14 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Figura 4 – MinGW. A Figura. 5 mostra um detalhamento dos possíveis tipos de instalação. Escolher instalação completa ''Full'' e seguir com a instalação dando um click em NEXT. Verificar o espaço sobrando no vosso disco rígido. Figura 5 – MinGW. Agora é muito importante escolher o caminho desejado para instalação do MinGW. Um caminho padrão é o da própria raiz do sistema: C:\, como pode ser visto na Figura. 6. 15 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Figura 6 – MinGW. Na Figura. 7, selecionar o menu no qual você deseja criar o atalho do programa e até mudar o nome do próprio atalho. Recomenda-se utilizar o nome “MinGW” padrão e dar um click em Install para prosseguir com a instalação. Figura 7 – MinGW. Nas Figura. 8, 9 e 10, tem-se uma mostra do download dos arquivos do MinGW via acesso internet. Aguardar pelo termino do mesmo. 16 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Figura 8 – MinGW. Figura 9 – MinGW. 17 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Figura 10 – MinGW. Após o termino do download dos arquivos realizados nas Figuras. 8, 9 e 10, pode-se finalizar o processo de instalação do MinGW. Figura 11 – MinGW. 18 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Em seguida, dar um click no botão NEXT, como mostrado na Figura. 11 e FINISH na Figura. 12. Figura 12 – MinGW. 1. Configuração das variáveis de entorno via propriedades de sistemas. (Para Windows Vista ou superior) Acesse o Painel de Controle (Control Panel), Clique no ícone Sistema (System) e clique no link referente às Configurações Avançadas do Sistema (Advanced system settings). A janela abaixo deverá ser aberta. (Para Windows XP) Acesse o Painel de Controle (Control Panel), Clique no ícone Sistema (System) e clique na guia Avançado (Advanced) no canto superior. A janela abaixo deverá ser aberta. 19 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Figura 13 - Propriedades de Sistemas. 20 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Figura 14 - Propriedades de Sistema. Figura 15 - Propriedades de Sistema. 21 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Figura 16 - Propriedades de Sistema. Figura 17 - Propriedades de Sistema. 22 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 B. Instalação do Ambiente de Desenvolvimento Figura 18 – Notepad. Figura 19 – Notepad. 23 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Figura 20 – Notepad. Figura 21 – Notepad. 24 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Figura 22 – Notepad. 25 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 1. Meu primeiro programa Figura 23 – Notepad. 26 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA[Digite o título do documento] 2009 Figura 24 – Notepad. Figura 25 – Notepad. 27 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Figura 26 – Notepad. Figura 27 – Notepad. 28 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Figura 28 – Notepad. Figura 29 – Notepad. 29 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Sessão Didática 1 - Estrutura Seqüencial - 30 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 A.1 Fundamentação Teórica A. Objetivo O objetivo deste experimento é apresentar os conceitos básicos de estrutura seqüencial implementada na linguagem de programação C. Para implementação do código do programa referente a este roteiro será utilizado um ambiente integrado de desenvolvimento - Integrated Development Environment (IDE). B. Tecnologias a utilizar • Sistema Operacional: Windows ou Linux • Ambiente integrado de desenvolvimento de programas: Notepad++ ou Dev- C++; • Linguagem de programação: C. C. Introdução Teórica O aluno terá prévio conhecimento básico da estrutura seqüencial aprendida em sala de aula ou outra fonte de publicação bibliográfica na dita linguagem de programação. B.1 Parte experimental A. Objetivo O objetivo deste experimento é apresentar os conceitos básicos de estrutura seqüencial implementada na linguagem de programação C. Para implementação do código do programa referente a este roteiro será utilizado um ambiente integrado de desenvolvimento - Integrated Development Environment (IDE). 31 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 B. Tecnologias a utilizar • Sistema Operacional: Windows ou Linux • Ambiente integrado de desenvolvimento de programas: Notepad++ ou Dev- C++; • Linguagem de programação: C. C. Introdução Teórica O aluno terá prévio conhecimento básico da estrutura seqüencial aprendida em sala de aula ou outra fonte de publicação bibliográfica na dita linguagem de programação. O programa a ser estudado se refere à escrita e definição de um programa que leia o número de alunos e de alunas em uma sala de aula genérica. Será realizado a escrita e alteração do código abaixo para que ele apresente o número de alunas e alunos respectivamente (notar que é pedido a escrita das alunas e somente depois dos alunos) na tela do computador, após execução do mesmo em um ambiente de desenvolvimento. ************** Inicio do Código do programa: linguagemC.cpp **************** a) Inclusão das bibliotecas, declaração da variável e cabeçalho do programa 32 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 b) Mensagem e leitura de dados c) Finalização do programa d) Compilação do programa ***************************** Fim Código original **************************** Figura 1.30 – Código do programa em C: linguagem.cpp. D. Resultados e Discussão Compare a seqüência dos comandos apresentados na tela com a seqüência dos comandos do programa anterior. Percebe-se que cada retorno na linha segue os comandos pré-estabelecidos no programa. A entrada de dados referente à quantidade de aluno é realizada na mesma linha da pergunta “Quantos alunos tem na sala?”. Em seguida, a mensagem “Pressione qualquer tecla para 33 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 continuar...” é mostrada na tela para finalizar a visualização da execução do programa. Figura 1.31 – Resultado do código do programa em C: linguagem.cpp. E. Procedimentos Parte A 1 – Em um sistema operacional, execute um IDE, por exemplo, o Notepad++ ou Dev-C++; 2 – Digite o código do programa linguagemC.cpp, Figura 2.1; 3 – Acrescente o seu nome como o aluno do programa, na linha 13; 4 – Verifique se o código foi digitado corretamente; 5 – Compile o programa linguagemC.cpp; 6 – Caso o programa apresente alguma mensagem de erro, verifique qual linha, qual erro e corrija-o; 7 - Caso o programa não apresente nenhuma mensagem de erro, execute o programa; 8 - Compare a seqüência dos comandos apresentados na tela com a seqüência dos comandos do programa. Parte B 1 - Escreve um programa que leia o número de alunos e de alunas de uma sala. Como saída o programa deve apresentar o número de alunos e em seguida o de alunas. 34 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 2 - Explique a funcionalidade do scanf, printf, \n, ;, system(“pause”) e //. Dados de entrada: idade do Pedro e da Joana (tipo das variáveis: inteiro, e valor em anos). Consideração: essas pessoas possuem idades diferentes. 3 - Qual alteração deve ser feita no exemplo, do item 1), para que seja apresentado primeiro o número de alunas e depois o número de alunos. Execute novamente o programa fazendo essas alterações e explique o resultado. F. Bibliografia 1. Damas, Luis M. Dias, Linguagem C, Capitulo 1. 2. Mizrahi, Victorine Viviane, Treinamento em Linguagem C++, módulo 1, 2.ed, São Paulo, Pearson Prentice Hall, 2006 3. Deitel, C++: Como Programar 35 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Sessão Didática 2 - Tipos de dados e variáveis - 36 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 A.1 Fundamentação Teórica Os tipos de dados e variáveis se referem aos elementos básicos que um programa usa para realizar uma determina ação, pré-estabelecida ou não pelo usuário. As variáveis têm um espaço reservado na memória do computador para armazenar um tipo de dado pré-estabelecido por um usuário por exemplo. Variáveis devem receber nomes (nomes de poucos caracteres e de fácil recordação) para poderem ser referenciadas e modificadas quando for necessário pelo programador, ou com declarações que especifiquem de que tipo são as variáveis que terão de ser usadas como valor inicial. A seguir, têm-se os tipos de dados que podem ser usados num programa básico: Tipo Extensão Escala Numérica em bits char 8 0 a 255 int 16 -32768 a 32767 float 32 3.4E-38 a 3.4E+38 double 64 1.7E-308 a 1.7E+308 void 0 sem valor Figura 2.32 – Exemplos básico de tipos de dados. Na Figura 2.1, tem-se uma representação dos tipos de dados que podem ser utilizados na linguagem C. Abaixo segue uma explicação dos mesmos: • char: (Caracter). O valor armazenado é um caractere. Caracateres geralmente são armazenados em códigos (usualmente o código ASCII). • int: Número inteiro é o tipo padrão e o tamanho do conjunto que pode ser representado normalmente depende da máquina em que o programa está rodando. • float: Número em ponto flutuante de precisão simples. São conhecidos normalmente como números reais. • double: Número em ponto flutuante de precisão dupla. • void: Este tipo serve para indicar que um resultado não tem um tipo definido. Uma das aplicações deste tipo em C é criar um tipo vazio que pode posteriormente ser modificado para um dos tipos anteriores. 37 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 No que dizem respeito às variáveis, os nomes que forem ser usados no código só poderão conter letras e dígitos e/ou separados por um subscrito "_". Mas lembramos que o "_" tambémserá contado como letra caso for usado para unir uma palavra. Por vias de regras, todo caractere tem de ser iniciado por uma letra (lembrando que a diferenciação entre letras maiúsculas e minúsculas). Sugere-se que antes de inventar quaisquer tipos de nome no programa, que o mesmo não seja pré-reservado pelo pré-processador do compilador C. a) Forma geral da declaração. b) trecho de um programa em linguagem C Figura 2.33 – Tipo de dados e Variáveis em linguagem C, a) e b). Nos itens a) e b) da Figura 2.2 têm-se a representação de um trecho de programa em sua forma geral e linguagem C respectivamente. A Figura 2.3 apresenta um exemplo de programa escrito na linguagem C para representar o uso básico de tipos de dados e variáveis. Esse exemplo é composto de diferentes partes: inclusão as bibliotecas, a declaração da variável, a mensagem escrita na tela e o testo da condição simples. 38 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 B.1 Parte Experimental A. Objetivo Estudar a seleção simples das estruturas de controle implementando na linguagem de programação C. O código do programa referente a este roteiro deverá ser implementado um ambiente integrado de desenvolvimento - Integrated Development Environment (IDE). B. Tecnologias a utilizar • Sistema Operacional: Windows ou Linux • Ambiente integrado de desenvolvimento de programas: Notepad++ ou Dev- C++; • Linguagem de programação: C. C. Parte experimental O programa DadosVariaveis.cpp, abaixo, declara uma variável cujo nome é chuteira e a mesma em seguida recebe um valor aleatório. ************* Inicio do Código do programa: DadosVariaveis.cpp ************* 39 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 e) Inclusão das bibliotecas, declaração da variável e cabeçalho do programa f) Mensagem e leitura de dados g) Finalização do programa h) Compilação do programa ***************************** Fim Código original **************************** Figura 2.34 – Código do programa em C: DadosVariaveis.cpp. 40 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 D. Resultados e Discussão Compare a seqüência dos comandos apresentados na tela com a seqüência dos comandos do programa anterior. Percebe-se que cada retorno na linha segue os comandos pré-estabelecidos no programa. A entrada de dados pré-estabelecida à quantidade de chuteira é armazenada em espaço de memória e só será mostrada na tela quando o usuário fizer a chamada da mesma. Após a visualização da mensagem: “A quantidade de chuteira em estoque será:”, aparece na linha abaixo o valor já declarado da quantidade de chuteiras, sendo 25. Em seguida, a mensagem “Pressione qualquer tecla para continuar...” é mostrada na tela para finalizar a visualização da execução do programa. Figura 2.35 – Resultado do código do programa em C: linguagem.cpp. E. Procedimentos Parte A 1 – Em um sistema operacional, execute um IDE, por exemplo, o Notepad++ ou Dev-C++; 2 – Digite o código do programa DadosVariaveis.cpp, Figura 2.3; 3 – Acrescente o seu nome como o aluno do programa, na linha 13; 41 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 4 – Verifique se o código foi digitado corretamente; 5 – Compile o programa DadosVariaveis.cpp; 6 – Caso o programa apresente alguma mensagem de erro, verifique qual linha, qual erro e corrija-o; 7 - Caso o programa não apresente nenhuma mensagem de erro, execute o programa; 8 - Compare a seqüência dos comandos apresentados na tela com a seqüência dos comandos do programa. Parte B 1 - Escreve um programa que leia o número de chuteiras de uma loja de esporte. Os valores terão de ser entrados via teclado. Como saída o programa deve apresentar o número de chuteiras com relação a sua marca (PUMA, ADDIDAS e NIKE). 2 - Explique a funcionalidade de todos os outros tipos de dados e variáveis encontrados na Linguagem C. F. Bibliografia 1. Damas, Luis M. Dias, Linguagem C, Capitulo 1. 2. Mizrahi, Victorine Viviane, Treinamento em Linguagem C++, módulo 1, 2.ed, São Paulo, Pearson Prentice Hall, 2006 3. Deitel, C++: Como Programar 42 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Sessão Didática 3 - Variáveis e operadores - 43 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 A.1 Fundamentação Teórica Existem vários tipos de operadores na linguagem C, sendo os de atribuição, aritmético, endereçamento e outros que podem ser encontrados em vários livros técnicos. As expressões que decorrem da linguagem C devem ser escritas de maneira legíveis e na mesma linha. Caso as expressões forem separadas, pode haver um problema de pré-processamento na hora de identificar a operação que o usuário deseja realizar. O uso dos parênteses, por exemplo, faz com que a ordem das operações as serem realizadas num determinado cálculo ou comparação seja alterada. Dessa forma tem-se um grau de precedência na execução das operações que forem escritas entre parênteses quando comparadas as que estejam fora delas. Neste caso as expressões que estiverem entre parênteses serão avaliadas primeiro de dentro para fora, dependendo do número de parênteses presentes na linha de operação. A seguir, têm-se um exemplo de operadores aritméticos que podem ser usados num programa básico: Operador Descrição * Multiplicação / Divisão % Resto + Adição - Subtração Figura 3.36 – Exemplos básico de operadores aritméticos. Na Figura 2.1, tem-se uma representação dos tipos de operadores aritméticos que podem ser utilizados na linguagem C. Abaixo segue uma explicação dos mesmos: • *: Realiza a operação de multiplicação entre dois ou mais valores; • /: Realiza a operação de divisão entre dois ou mais valores; • %: Retorno o resto da divisão de dois números; • +: Realiza a operação entre dois ou mais valores; 44 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 • -: Realiza a operação de subtração entre dois ou mais valores. Como foi visto no na sessão didática 2, no que trata do simples uso das variáveis, os nomes que forem ser usados no código só poderão conter letras e dígitos e/ou separados por um subscrito "_". Mas lembramos que o "_" também será contado como letra caso for usado para unir uma palavra. Por vias de regras, todo caractere tem de ser iniciado por uma letra (lembrando que a diferenciação entre letras maiúsculas e minúsculas). Sugere-se que antes de inventar quaisquer tipos de nome no programa, que o mesmo não seja pré- reservado pelo pré-processador do compilador C (chamadas palavras chaves). a) Forma geral da declaração. b) trecho de um programa em linguagem C Figura 3.37 – Tipo de operador aritmético em linguagem C, a) e b). Nos itens a) e b) da Figura 3.2 têm-se a representação de um trecho de programa em sua forma geral e linguagem C respectivamente. Na parte experimental, a Figura 3.3 apresenta um exemplo de programa escrito na linguagem C para representar o uso básico de tipos de operadores e 45 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 variáveis. Esse exemplo é composto de diferentes partes: inclusão as bibliotecas, a declaração da variável, a mensagem escrita na tela e o testo da condição simples. B.1 Parte Experimental A. Objetivo Estudar a seleção simplesdas estruturas de controle implementando na linguagem de programação C. O código do programa referente a este roteiro deverá ser implementado um ambiente integrado de desenvolvimento - Integrated Development Environment (IDE). B. Tecnologias a utilizar • Sistema Operacional: Windows ou Linux • Ambiente integrado de desenvolvimento de programas: Notepad++ ou Dev- C++; • Linguagem de programação: C. C. Parte experimental O programa Operadores.cpp, abaixo, declara uma variável cujo nome é chuteira e a mesma em seguida recebe um valor aleatório. ************* Inicio do Código do programa: Operadores.cpp ************* 46 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 i) Inclusão das bibliotecas, declaração da variável e cabeçalho do programa j) Mensagens e leitura de dados k) Finalização do programa l) Compilação do programa ***************************** Fim Código original **************************** 47 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Figura 3.38 – Código do programa em C: Operadores.cpp. D. Resultados e Discussão Compare a seqüência dos comandos apresentados na tela com a seqüência dos comandos do programa anterior. Percebe-se que cada retorno na linha segue os comandos pré-estabelecidos no programa. A entrada de dados pré-estabelecida à quantidade de chuteira é armazenada em espaço de memória e só será mostrada na tela quando o usuário fizer a chamada da mesma. Após a visualização da mensagem: “A quantidade de chuteira em estoque será:”, aparece na linha abaixo o valor já declarado da quantidade de chuteiras, sendo 25. Em seguida, a mensagem “Favor entrar o valor atual do imposto:” é mostrada na tela para receber um valor digitado pelo usuário. a) Pedido entrada valor imposto. 48 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 b) Exibição resultado do programa. Figura 3.39 – Resultado do código do programa em C: Operadores.cpp, a) e b). E. Procedimentos Parte A 1 – Em um sistema operacional, execute um IDE, por exemplo, o Notepad++ ou Dev-C++; 2 – Digite o código do programa Operadores.cpp, Figura 2.3; 3 – Acrescente o seu nome como o aluno do programa, na linha 13; 4 – Verifique se o código foi digitado corretamente; 5 – Compile o programa Operadores.cpp; 6 – Caso o programa apresente alguma mensagem de erro, verifique qual linha, qual erro e corrija-o; 7 - Caso o programa não apresente nenhuma mensagem de erro, execute o programa; 8 - Compare a seqüência dos comandos apresentados na tela com a seqüência dos comandos do programa. 49 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Parte B 1 - Escreve um programa que receba um número binário e converta o mesmo para decimal. 2 - Com base no programa anterior, realiza um novo programa que permita a escolha da conversão desejada. Ou seja, decimal -> binário ou binário -> decimal. F. Bibliografia 1. Damas, Luis M. Dias, Linguagem C, Capitulo 1. 2. Mizrahi, Victorine Viviane, Treinamento em Linguagem C++, módulo 1, 2.ed, São Paulo, Pearson Prentice Hall, 2006 3. Deitel, C++: Como Programar 50 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Sessão Didática 4 - Estrutura de controle de fluxo: Seleção Simples - 51 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 A.1 Fundamentação Teórica A estrutura seqüencial de comandos é muito utilizada em alguns tipos de programas. Nessa estrutura todos os comandos são executados em uma seqüência pré-definida no programa. Em alguns casos, porém, é necessário verificar uma condição antes executar um determinado comando. Essa verificação de condição é conhecida como estrutura de controle de fluxo, podendo ser uma seleção simples ou composta. A seleção simples é estrutura de controle que permite em determinadas condições executar ou não um trecho do programa. Essa estrutura de controle é muito utilizada nos diversos tipos de linguagens de programação. a) Estrutura b) trecho de um programa em linguagem C Figura 4.40 – Exemplos de estrutura controle: condicional simples a) e b). No exemplo a) da Figura 4.1, o <comando B> só será executado se a <condição A> for verdadeira. Caso o resultado da <condição A> for falso, o <comando B> não será executado e o programa continua após o ponto e virgula (;) do <comando B>. O resultado da <condição A> deve ser um valor lógico. No exemplo b) da Figura 4.1, que o comando printf(“Aluno aprovado”) só será executado se o valor da variável nota seja maior ou igual ao valor 5. Para executar mais de um comando após uma condição é necessário que esse conjunto de comandos fique dentro de um bloco. Na linguagem C, um bloco é representado pelos comandos contidos dentro de chaves { }. Em a) da Figura 4.2 52 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 apresenta um trecho de um programa em que mais de um comando será executado caso a <condição A> seja verdadeira. a) Estrutura b) trecho de um programa em linguagem C Última chaves das figuras voltadas para o lado oposto! Figura 4.41 – Estrutura Controle: Condicional Simples em linguagem C, a) e b). No item b) da Figura 4.2 apresenta um trecho de um programa em que algumas mensagens serão escrita na tela caso o valor da variável nota seja maior 9. A Figura 4.3 apresenta um exemplo de programa escrito na linguagem C para representar uma estrutura de seleção com uma condicional simples. Esse exemplo é composto de diferentes partes: inclusão as bibliotecas, a declaração da variável, a mensagem escrita na tela e o testo da condição simples. 53 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Figura 4.42 – Programa exemplo de uma Condicional Simples na linguagem C. Nesse exemplo ExEstCSimples.cpp quando o valor da variável TtlAlunos for maior que zero, será escrito na tela a mensagem que a turma possui TtlAlunos alunos. Note que TtlAlunos é o número total de alunos. Caso a quantidade de alunos seja menor que zero, nenhum mensagem é escrita na tela. B.1 Parte Experimental A. Objetivo Estudar a seleção simples das estruturas de controle implementando na linguagem de programação C. O código do programa referente a este roteiro 54 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 deverá ser implementado um ambiente integrado de desenvolvimento - Integrated Development Environment (IDE). B. Tecnologias a utilizar • Sistema Operacional: Windows ou Linux • Ambiente integrado de desenvolvimento de programas: Notepad++ ou Dev- C++; • Linguagem de programação: C. C. Parte experimental O programa EstruCondSimples1.cpp, abaixo, lê o número de alunas e depois o alunos em uma sala de aula genérica. A seleção simples é utilizada para verificar se a sala de aula possui a mesma quantidade de alunos e alunas ou se possui mais alunas do que alunos. Caso uma dessas verificações seja verdadeira, o programa escreve uma mensagem específica. *********** Início do Código do programa: EstruCondSimples1.cpp *********** a) Inclusão das bibliotecas, declaração das variáveis e cabeçalho do programa. 55 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 b) Mensagense leitura de dados. c) Condicional Simples. d) Compilação do programa ***************************** Fim Código original **************************** Figura 4.43 – Código do programa em C: EstruCondSimples1.cpp. O resultado da execução do programa EstruCondSimples1.cpp é apresentado na Figura 4.5. O programa apresenta um cabeçalho, em seguida solicita a quantidade de alunas e depois o alunos em uma sala de aula. Em seguida, o programa informa se essa sala de aula possui a mesma quantidade de alunas e alunos ou se possui mais alunas do que alunos. 56 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Figura 4.44 – Resultado do código do programa em C: EstruCondSimples1.cpp D. Procedimentos Parte A 1 – Em um sistema operacional, execute um IDE, por exemplo o Notepad++ ou Dev-C++; 2 – Digite o código do programa EstruCondSimples1.cpp, Erro! Fonte de referência não encontrada.; 3 – Acrescente o seu nome como o aluno do programa, na linha 13; 4 – Verifique se o código foi digitado corretamente; 5 – Compile o programa EstruCondSimples1.cpp; 6 – Caso o programa apresente alguma mensagem de erro, verifique qual linha, qual o erro e corrija-o; 7 - Caso o programa não apresente nenhuma mensagem de erro, execute o programa; 8 - Compare seqüência dos comandos apresentados na tela com a seqüência dos comandos do programa. Parte B 1 – Escreva um programa, EstruCondSimplesA.cpp, que leia a quantidade de alunas e alunos. Depois esse programa deve informar se a essa turma possui mais alunos ou mais alunas. Se essa turma possuir a quantidade de alunas maior que quantidade de alunos, 57 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 deve-ser informar o total da alunos dessa turma. Esse programa deve apresentar o resultado conforme as Figura 1 e a Figura 2 2 – Verifique se o código foi digitado corretamente; 3 – Compile o programa EstruCondSimplesA.cpp; 4 – Caso apresente alguma mensagem de erro, verifique qual linha e qual o erro e corrija-o; 5 - Caso apresente nenhuma mensagem de erro, execute o programa; Figura 1 – Resultado do código do programa em C: EstruCondSimplesA.cpp Figura 2 – Resultado do código do programa em C: EstruCondSimplesA.cpp Parte C – Exercício 58 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 1) Desenvolva um programa para comparar a idade de Pedro e Joana e informar quem é o mais velho. Dados de entrada: idade do Pedro e da Joana (tipo das variáveis: inteiro, e valor em anos). Consideração: essas pessoas possuem idades diferentes. 2) Desenvolva um programa para calcular e comparar a área de dois retângulo A e B, ele deverá dizer qual retângulo possui a maior área ou se eles possuem tamanhos iguais. Dados de entrada: tamanho da base e da altura (tipo das variáveis: inteiro, valor em centímetros). E. Bibliografia 1. Damas, L. Linguagem C, tradução João Araújo Ribeiro, Orlando Bernardo Filho. 10.ed. Rio de Janeiro: LTC, 2007. 59 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Sessão Didática 5 - Estrutura de controle de fluxo: Condicional Composta - 60 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 A.1 Fundamentação Teórica Às vezes queremos executar uma ação caso uma condição seja satisfeita ou executar outra, caso a condição não seja satisfeita. A estrutura condicional composta nos permite decidir o que será feito se uma condição inicial não for atendida. a) Estrutura b) trecho de um programa em linguagem C Figura 5.45 – Exemplos de estrutura controle: condicional composta a) e b). No exemplo a) da Figura 5.1 o <comando B> só será executado se a <condição A> for verdadeira, mas o <comando C> não será executado. Caso o resultado da <condição A> for falso, o <comando C> será executado, e o <comando B> não será executado. A <condição A> possui um resultado lógico. Caso seja necessário executar mais de um comando em relação a uma condição, então esses comandos devem ficar dentro de um bloco. Na linguagem C, esses comandos ficam entres as chaves { }. A Figura 5.2 apresenta um trecho de um programa em que mais de um comando será executado caso a <condição A> seja verdadeira ou falsa. 61 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 a) Estrutura b) trecho de um programa em linguagem C Figura 5.46 – Estrutura Controle: Condicional Composta. Parte Experimental A. Objetivo Aplicar os conhecimentos teóricos sobre a seleção composta das estruturas de controle implementando em programas na linguagem de programação C. O código do programa referente a este roteiro deverá ser implementado um ambiente integrado de desenvolvimento - Integrated Development Environment (IDE). B. Tecnologias a utilizar • Sistema Operacional: Windows ou Linux • IDE: Notepad++ ou Dev-C++; • Linguagem de programação: C. C. Parte experimental O programa EstruCondComp1.cpp, em linguagem C abaixo, lê o nota do aluno e informa se o aluno foi aprovado ou reprovado. A seleção composta é utilizada para verificar se a nota é maior que cinco ou não, caso um o resultado seja afirmativo é escrito uma mensagem dizendo que o aluno foi aprovado, senão uma mensagem dizendo que o aluno foi reprovado. 62 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 ************ Início do Código do programa: EstruCondComp1.cpp ************ a) Inclusão das bibliotecas, declaração da variável e cabeçalho do programa. b) Mensagens e leitura de dados. c) Estrutura Condicional Composta. d) Compilação do programa. **************************** Fim Código original ***************************** 63 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Figura 5.47 – Código do programa em C: EstruCondComp1.cpp. O resultado da execução do programa EstruCondSimples1.cpp é apresentado na Figura 5.4. O programa apresenta um cabeçalho, em seguida solicita a nota do aluno. Em seguida, caso o aluno tenha a nota para ser aprovado, o programa escreve essa mensagem, senão o programa informa que a aluno foi reprovado. a) Condição com o resultado verdadeiro. b) Condição com o resultado falso. 64 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Figura 5.48 – Resultado do código do programa em C: EstruCondComp1.cpp. D. Procedimentos Parte A 1 - Em um sistema operacional, execute um IDE, por exemplo o Notepad++ ou Dev-C++; 2 - Digite o código do programa EstruCondComp1.cpp, Figura 4.3; 3 - Acrescente o seu nome como o aluno do programa, na linha 11; 4 - Verifique se o código foi digitado corretamente; 5 - Compile o programa EstruCondComp1.cpp; 6 - Caso o programa apresente alguma mensagem de erro, verifique qual linha, qual o erro e corrija-o; 7 - Caso o programa não apresente nenhuma mensagem de erro, execute o programa; 8 - Compare seqüência dos comandos apresentados na tela com a seqüência dos comandos do programa. Parte B 1 - Escreva um programa que leia o número de alunos e de alunas de uma sala. Como saída o programa deve apresentar primeiro quem estiver em maior quantidade. Por exemplo, se na sala tenha mais alunos, apresente primeiro o número de alunos, senão apresente o número de alunas e depoisde alunos. 2 - Desenvolva um programa para comparar a idade de Pedro e Joana e informar quem é o mais velho. Dados de entrada: idade do Pedro e da Joana (tipo das variáveis: inteiro, e valor em anos). Consideração: essas pessoas possuem idades diferentes. 3 - Desenvolva um programa para calcular e comparar a área de dois retângulos A e B, ele deverá dizer qual retângulo possui a maior área ou se eles possuem tamanhos iguais. Dados de entrada: tamanho da base e da altura (tipo das variáveis: inteiro, valor em centímetros). E. Bibliografia 1. Damas, Luis M. Dias, Linguagem C, Capitulo 1. 65 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Sessão Didática 6 - Estrutura de repetição contada - 66 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 A.1 Fundamentação Teórica Uma estrutura de repetição permite ao programador especificar que uma ação será repetida enquanto determinada condição lógica permanecer verdadeira. A estrutura de repetição também é um meio de assegurar que um conjunto de comandos seja repetido inúmeras vezes. a) Estrutura. b) trecho de um programa em linguagem C. Figura 6.49 – Exemplos de estrutura de repetição contada com N comandos, a) e b). Nas Figuras 6.1 e 6.2, tem-se uma estrutura de repetição contada, (a) uma variável de controle é inicializada, (b) enquanto se determinada condição lógica (retorna 1 se V ou 0 se F) for verdadeira, um bloco de comandos será executado. É importante observar que caso exista somente um comando não há a necessidade de início e fim, conforme abaixo: 67 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 a) Estrutura. b) Trecho de um programa em linguagem C. Figura 6.50 – Exemplos de estrutura de repetição contada com um comando, a) e b). B.1 Parte Experimental A. Objetivo Estudar a estrutura de repetição contada com a utilização da linguagem de programação C. O código do programa referente a este roteiro deverá ser implementado em um ambiente integrado de desenvolvimento - Integrated Development Environment (IDE), no caso, o Notepad++ que, em nosso caso, utiliza o compilador MinGW. B. Tecnologias a utilizar • Sistema Operacional: Windows ou Linux • Ambiente integrado de desenvolvimento de programas: Notepad++ ou Dev- C++; • Linguagem de programação: C. C. Parte experimental O programa a seguir utiliza a estrutura de repetição contada para implementar, em linguagem C, o algoritmo para calcular o fatorial de um número, descrito anteriormente no item 1. Este programa gera o arquivo fatorial.cpp. 68 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 ***************** Início do Código do programa: Fatorial.cpp ***************** a) Inclusão das bibliotecas, declaração da variável e cabeçalho do programa. ********************** Final do código do programa ************************* 1. Discussão (1) O que acontecerá se, na linha 13, você tivesse inserido o seguinte comando: for (n1 = 1; (n1<=3); n++){ (2) E se, na linha 21, você tivesse inserido o seguinte código: if (n > 0) for (n1 = 1; (n1<=3); n++) { A seguir, o resultado da execução do programa fatorial.cpp. O programa apresenta um cabeçalho, em seguida solicita, por três vezes, o número a considerar para o cálculo do fatorial e, em seguida, apresenta o resultado dos cálculos. 69 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 b) Exemplo de resultado esperado do fatorial de 2 e 22. D. Procedimentos Parte A 1 – Em um sistema operacional, execute um IDE, por exemplo, o Notepad++ ou Dev-C++; 2 – Digite o código do programa fatorial.cpp; 3 – Acrescente o seu nome como o aluno do programa, na linha 11; 4 – Verifique se o código foi digitado corretamente; 5 – Compile o programa fatorial.cpp; 6 – Caso o programa apresente alguma mensagem de erro, verifique qual linha, qual o erro e corrija-o; 7 - Caso o programa não apresente nenhuma mensagem de erro, execute o programa; 8 - Compare a seqüência dos comandos apresentados na tela com a seqüência dos comandos do programa; 09 – Salvem o programa com outro nome e altere-o para que ele solicite seis vezes o número de valores a calcular o fatorial; 11 – Altere o novo programa para que ele escreva o resultado do fatorial com duas casas decimais; Parte B 1 – Faça um programa para calcular a tabuada do número seis; 2 – Verifique se o código foi digitado corretamente; 70 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 3 – Compile o programa tabuada.cpp; 4 – Caso apresente alguma mensagem de erro, verifique qual linha e qual o erro e corrija-o; 5 - Caso apresente nenhuma mensagem de erro, execute o programa; a) Exemplo de resultado esperado da tabuada de 6. Parte C – Exercício 1 - Sendo dado um número, crie um programa C que escreva todos os números ímpares menores que esse número e maiores do que um. Assuma que o número informado é positivo. 2 - Dado um conjunto de N números, fazer um programa C que calcule e mostre a média aritmética dos mesmos. 71 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 3 - A conversão de graus Fahrenheit para Celsius é obtida por c=(5/9)*(f-32). Faça um programa C que calcule e escreva um programa que imprima uma tabela de graus Fahrenheit e graus Celsius, cujos graus variem de 50 a 65, de 1 em 1. 4 - Faça um programa C que leia dez números que representam as notas de dez alunos, e obtenha: - A soma dos números; - A média dos números; - O maior número; - O menor número. Assuma que as notas são informadas corretamente no intervalo de 1 a 10. 1) Bibliografia 1. Damas, L. Linguagem C, tradução João Araújo Ribeiro, Orlando Bernardo Filho. 10.ed. Rio de Janeiro: LTC, 2007. 72 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Sessão Didática 7 - Estrutura de Repetição: Condicional, com teste no início - 73 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 A.1 Fundamentação Teórica Uma estrutura de repetição permite ao programador especificar que uma ação será repetida enquanto determinada condição lógica permanecer verdadeira. A estrutura de repetição assegura que um conjunto de um ou mais comandos seja repetido inúmeras vezes. a) Estrutura b) trecho de um programa em linguagem C Figura 7.51 – Exemplos de estrutura controle: condicional com teste no início a) e b). No exemplo (a) da Figura 7.1, os <Comando1>;...<ComandoN>; só será executado enquanto a <condição> for verdadeira. Ou seja, em uma estrutura de repetição com teste no início, há uma condição logo no início, e, enquanto esta condição for satisfeita (verdadeira) o conjunto de ações limitadas pelo bloco da repetição é executado. Quando a condição for falsa o comando é abandonado prosseguindo para o próximo comando na seqüência. É importante observar que caso exista somente um comando não há a necessidade das chaves delimitando o bloco de comandos do WHILE. 74 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 B.1 Parte Experimental A. Objetivo Estudar a seleção simples das estruturas de controle implementando na linguagem de programaçãoC. O código do programa referente a este roteiro deverá ser implementado um ambiente integrado de desenvolvimento - Integrated Development Environment (IDE). B. Tecnologias a utilizar • Sistema Operacional: Windows ou Linux • Ambiente integrado de desenvolvimento de programas: Notepad++ ou Dev- C++; • Linguagem de programação: C. C. Parte experimental O programa a seguir, CriticaEntrada.cpp, utiliza a estrutura de repetição com teste no início, em linguagem C como visto na Figura 7.2. Este programa lê duas informações de entrada, o sexo e o ano. O enquanto (while) é utilizado para assegurar-se que os valores de sexo lidos sejam ‘m’, ‘M’, ‘f’ ou ‘F’. Obs: Ao utilizar-se %c, espera-se um único caractere na entrada, sendo que o argumento correspondente deve ser um apontador para um caractere. O próximo caracter de entrada é colocado no local indicado. O saldo normal de caracteres em branco é suprimido neste caso. Para ler o próximo caractere diferente de branco, utiliza-se %1s. ************* Início do Código do programa: CriticaEntrada.cpp ************** 75 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 a) Inclusão das bibliotecas, declaração das variáveis e cabeçalho do programa. b) Mensagens e leitura de dados. c) Estrutura de Repetição: Condicional com teste no início. d) Compilação do programa ***************************** Fim Código original **************************** Figura 7.52 – Código do programa em C: CriticaEntrada.cpp. 76 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 O resultado da execução do programa CriticaEntrada.cpp é apresentado na Figura 7.3. O programa apresenta um cabeçalho, em seguida solicita o sexo do usuário e data de nascimento. Por fim, o programa informa o resultado dos dados entrados anteriormente pelo usuário. Figura 7.53 – Resultado do código do programa em C: CriticaEntrada.cpp 1. Discussão (1) O que acontecerá se você for excluir a linha 18 e 27 e inserir o comando scanf antes das linhas 24 e 25? (2) O que ocorrerá se, nas linhas 18 e 27, for utilizado o caráter de conversão %1s em lugar de %c? (3) Exclua a linha 27 e verifique o que ocorrerá antes de rodar o programa, você saberia a resposta? (4) Como argumentos de entrada, lembrando o que foi comentado em (2), informe “asderf”. O que você observou? 77 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 a) Resultado apresentando erro de repetição no pedido de entrada de sexo. b) Resultado apresentando repetição correta no pedido de entrada de sexo. Figura 7.54 – Resultado do erro de entrada do programa CriticaEntrada.cpp D. Procedimentos Parte A 1 – Em um sistema operacional, execute um IDE, por exemplo, o Notepad++ ou Dev-C++; 2 – Digite o código do programa CriticaEntrada.cpp; 3 – Acrescente ao código o cabeçalho contendo a Universidade, o curso e o seu nome como o aluno que escreveu o programa; 4 – Verifique se o código foi digitado corretamente; 5 – Compile o programa CriticaEntrada.cpp; 78 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 6 – Caso o programa apresente alguma mensagem de erro, verifique qual linha, qual o erro e corrija-o; 7 - Caso o programa não apresente nenhuma mensagem de erro, execute o programa; 8 - Compare a seqüência dos comandos apresentados na tela com a seqüência dos comandos do programa; 09 – Salve o programa com outro nome ; 10 – Altere o novo programa para implementar os desafios propostos; Parte B 1 – Faça um programa que apresente a soma acumulada de todos os valores entre 1 e 100; 2 – Verifique se o código foi digitado corretamente; 3 – Compile o programa SomaEntre1e100.c; 4 – Caso apresente alguma mensagem de erro, verifique qual linha e qual o erro e corrija-o; 5 - Caso apresente nenhuma mensagem de erro, execute o programa. Parte C – Exercício 1- Sendo dado um número, crie um programa C que escreva todos os números ímpares menores que esse número e maiores do que um. Assuma que o número informado é positivo. 2 - Dado um conjunto de N números, fazer um programa C que calcule e mostre a média aritmética dos mesmos. 3 - A conversão de graus Fahrenheit para Celsius é obtida por c=(5/9)*(f-32). Faça um programa C que calcule e escreva um programa que imprima uma tabela de graus Fahrenheit e graus Celsius, cujos graus variem de 50 a 65, de 1 em 1. 4 - Faça um programa C que leia dez números que representam as notas de dez alunos, e obtenha: - A soma dos números; - A média dos números; - O maior número; - O menor número. Assuma que as notas são informadas corretamente no intervalo de 1 a 10. 5 - Faça um programa que exiba a tabuada dos números de 10 a 20. Por ex: 10x1, 10x2, 10x3.... 10x10 11x1, 11x2, 11x3.... 11x10 6 - Um funcionário de uma empresa recebe aumento salarial anualmente. Sabe- se que: a) esse funcionário foi contratado em 1995, com salário inicial de R$ 1.000,00; 79 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 b) em 1996 recebeu aumento de 1,5% sobre seu salário inicial; c) a partir de 1997 (inclusive), os aumentos salariais sempre corresponderam ao dobro do percentual do ano anterior. Faça um programa que determine o salário atual desse funcionário. 7 - Faça um programa que leia dez conjuntos de dois valores, o primeiro representando o número do aluno e o segundo representando a sua altura em centímetros. Encontre o aluno mais alto e o mais baixo. Mostre o número do aluno mais alto, e o número do aluno mais baixo, junto com suas alturas. 8 - Faça um programa que mostre todos os números pares existentes entre 1 e 50. 9 - Faça um programa que leia o número de andares de um prédio e, a seguir, para cada andar do prédio, leia o número de pessoas que entraram e saíram do elevador. Considere que o elevador está vazio e está subindo, os dados se referem a apenas uma subida do elevador e que o número de pessoas dentro do elevador será sempre maior ou igual a zero. Se o número de pessoas, após a entrada e saída, for maior do que 15, mostrar a mensagem “Excesso de Passageiros. Devem sair X”, sendo X o número de pessoas que devem sair do elevador, de modo que seja obedecido o limite de 15 passageiros. Após a entrada e saída no último andar, o programa deve mostrar quantas pessoas permaneceram no elevador para descer. E. Bibliografia 1. Damas, L. Linguagem C, tradução João Araújo Ribeiro, Orlando Bernardo Filho. 10.ed. Rio de Janeiro: LTC, 2007. 80 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Sessão Didática 8 - Estrutura de Repetição: Condicional com teste no final - 81 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 A.1 Fundamentação Teórica Uma estrutura de repetição permite ao programador especificar que uma ação será repetida enquanto determinada condição lógica permanecer verdadeira. A estrutura de repetição assegura que um conjunto de um ou mais comandos seja repetido inúmeras vezes. a) Estrutura b) trecho de um programa em linguagem C Figura 8.55 – Exemplos de estrutura controle: condicional com teste no final a) e b). No exemplo (a) da Figura 8.1, os <Comando1>;...<ComandoN>; só serão executados enquanto a <condição> for verdadeira. Ou seja, em uma estrutura de repetição com teste no final, há uma condição logo no final de um bloco de comandos, que, enquanto for satisfeita (verdadeira) o conjunto de ações limitadaspelo bloco da repetição é executado. Quando a condição for falsa o comando é abandonado seguindo para o próximo comando na seqüência de comandos do programa. É importante observar que caso exista somente um comando não há a necessidade das chaves delimitando o bloco de comandos do DO-WHILE. 82 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 B.1 Parte Experimental A. Objetivo Estudar a seleção simples das estruturas de controle implementando na linguagem de programação C. O código do programa referente a este roteiro deverá ser implementado um ambiente integrado de desenvolvimento - Integrated Development Environment (IDE). B. Tecnologias a utilizar • Sistema Operacional: Windows ou Linux • Ambiente integrado de desenvolvimento de programas: Notepad++ ou Dev- C++; • Linguagem de programação: C. C. Parte experimental O programa a seguir, SomaElementos.cpp, utiliza a estrutura de repetição com teste no final, em linguagem C como visto na Figura 8.2. Este programa faz uso do comando DO-WHILE, para assegurar-se que sejam somados os valores recebidos na entrada do programa enquanto o mesmo não for igual a 0. Caso o valor for entrado for igual a 0, o programa SomaElementos.cpp irá finalizar a soma dos elementos digitados pelo usuário. ************ Início do Código do programa: SomaElementos.cpp ************* 83 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 a) Inclusão das bibliotecas, declaração das variáveis e cabeçalho do programa. b) Estrutura de Repetição: Condicional com teste no final. c) Mensagens e leitura de dados. 84 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 d) Compilação do programa. ***************************** Fim Código original **************************** Figura 8.56 – Código do programa em C: CriticaEntrada.cpp. O resultado da execução do programa SomaElementos.cpp é apresentado na Figura 8.3. O programa apresenta um cabeçalho, em seguida solicita um número de seqüência a ser informado pelo usuário. Por fim, o programa informa o resultado dos dados entrados e somados anteriormente pelo usuário. Figura 8.57 – Resultado do código do programa em C: SomaElementos.cpp 85 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 D. Procedimentos Parte A 1 – Em um sistema operacional, execute um IDE, por exemplo, o Notepad++ ou Dev-C++; 2 – Digite o código do programa SomaElementos.cpp; 3 – Acrescente ao código o cabeçalho contendo a Universidade, o curso e o seu nome como o aluno que escreveu o programa; 4 – Verifique se o código foi digitado corretamente; 5 – Compile o programa SomaElementos.cpp; 6 – Caso o programa apresente alguma mensagem de erro, verifique qual linha, qual o erro e corrija-o; 7 - Caso o programa não apresente nenhuma mensagem de erro, execute o programa; 8 - Compare a seqüência dos comandos apresentados na tela com a seqüência dos comandos do programa; 09 – Salve o programa com outro nome ; 10 – Altere o novo programa para implementar a multiplicação dos elementos e que o término da multiplicação seja dado pela entrada da letra F ou f; Parte B 1–Faça um programa que calcule o valor da soma: S = 1/1+3/2+5/3+7/4+ .... + 99/50; 2 – Verifique se o código foi digitado corretamente; 3 – Compile o programa SomadeFracoes.cpp; 4 – Caso apresente alguma mensagem de erro, verifique qual linha e qual o erro e corrija-o; 5 - Caso apresente nenhuma mensagem de erro, execute o programa. Parte C – Exercício 1 - Sendo dado um número, crie um programa C que escreva todos os números ímpares menores que esse número e maiores do que um. Assuma que o número informado é positivo. 2 - Dado um conjunto de N números, fazer um programa C que calcule e mostre a média aritmética dos mesmos. 3 - A conversão de graus Fahrenheit para Celsius é obtida por c=(5/9)*(f-32). Faça um programa C que calcule e escreva um programa que imprima uma tabela de graus Fahrenheit e graus Celsius, cujos graus variem de 50 a 65, de 1 em 1. 86 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 4 - Faça um programa C que leia dez números que representam as notas de dez alunos, e obtenha: - A soma dos números; - A média dos números; - O maior número; - O menor número. Assuma que as notas são informadas corretamente no intervalo de 1 a 10. 5 - Faça um programa que leia dez conjuntos de dois valores, o primeiro representando o número do aluno e o segundo representando a sua altura em centímetros. Encontre o aluno mais alto e o mais baixo. Mostre o número do aluno mais alto, e o número do aluno mais baixo, junto com suas alturas. 6 - Faça um programa que mostre todos os números pares existentes entre 1 e 50. 7 - Faça um programa que leia o número de andares de um prédio e, a seguir, para cada andar do prédio, leia o número de pessoas que entraram e saíram do elevador. Considere que o elevador está vazio e está subindo, os dados se referem a apenas uma subida do elevador e que o número de pessoas dentro do elevador será sempre maior ou igual a zero. Se o número de pessoas, após a entrada e saída, for maior do que 15 mostrar a mensagem “Excesso de Passageiros. Devem sair X”, sendo X o número de pessoas que devem sair do elevador, de modo que seja obedecido o limite de 15 passageiros. Após a entrada e saída no último andar, o programa deve mostrar quantas pessoas permaneceram no elevador para descer. E. Bibliografia 1. Damas, L. Linguagem C, tradução João Araújo Ribeiro, Orlando Bernardo Filho. 10.ed. Rio de Janeiro: LTC, 2007. 87 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Sessão Didática 9 - Cadeias de caracteres - 88 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 89 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Sessão Didática 10 - Funções - 90 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 91 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Sessão Didática 11 - Ponteiros: Vetores - 92 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 93 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Sessão Didática 12 - Ponteiros: Matrizes - 94 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 95 1 | 113913 – Introdução a Ciência da Computação – UnB/FGA [Digite o título do documento] 2009 Apêndice A.1 Tabela
Compartilhar