Boas práticas para codificação de classes. 1. Arquivo.h / Em um arquivo. h ( por exemplo, minha_lib. h ), DECLARE todas as
|
|
- Marco Antônio de Sousa
- 5 Há anos
- Visualizações:
Transcrição
1 Boas práticas para codificação de classes. 1. Arquivo.h 1... Pontifícia Universidade Católica de Goiás Escola de Ciências Exatas e da Computação CMP Técnicas de Programação Max Gontijo de Oliveira 3 a Lista de Exercícios - Orientação a objetos 2 / Em um arquivo. h ( por exemplo, minha_lib. h ), DECLARE todas as 3 c l a s s e s ( se houver ) sem implementar nenhuma / 4 class Classe_A ; 5 class Classe_B ; 6 7 / No mesmo arquivo. h, DECLARE todas as funções ( se houver ) sem 8 implementar nenhuma / 9 void func_1 ( ) ; 10 float func_1 ( int x ) ; 11 int func_2 ( Classe_A obj_a ) ; 12 int func_2 ( Classe_A obj_a, Classe_A obj_b ) ; / No mesmo arquivo. h, DEFINA todas as c l a s s e s d e c l a r a d a s ( não 15 implemente os métodos nem c o n s t r u t o r e s ) / 16 class Classe_A 17 { 18 public : 19 int a ; 20 float b ; 21 Classe_A ( int v ) ; // c o n s t r u t o r 22 void metodo_1 ( ) ; 23 char metodo_2 ( int x ) ; 24 void metodo_3 ( char x, int n ) ; 25 } ; class Classe_B 28 { 29 public : 30 float c ; 31 char b ; 32 int metodo_1 ( ) ; 33 float metodo_4 ( int x, int y ) ; 34 } ; 35...
2 Arquivo.cpp 2 / Em um arquivo. cpp ( por exemplo, minha_lib. cpp ), DEFINA ( implemente ) 3 todas as funções e todos os métodos de todas as c l a s s e s, 4 independente da ordem / 5 void func_1 ( ) 6 { } 9 10 float func_1 ( int x ) 11 { } int func_2 ( Classe_A obj_a ) 16 { } / A d e f i n i ç ã o de métodos segue o s e g u i n t e formato : 23 <RETORNO> <NOME_CLASSE>::<NOME_MÉTODO>(<PARÂMETROS>) {... } / 24 void Classe_A : : metodo_1 ( ) 25 { } char Classe_A : : metodo_2 ( int x ) 30 { } float Classe_B : : metodo_4 ( int x, int y ) 37 { } / A d e f i n i ç ã o dos c o n s t r u t o r e s seguem um formato parecido, mas não tem 42 retorno e, no l u g a r no nome do método, simplesmente repete se o nome 43 da c l a s s e : 44 <NOME_CLASSE>::<NOME_CLASSE>(<PARÂMETROS>) {... } / 45 Classe_A : : Classe_A ( int v ) 46 { } Consideração sobre strings e datas: Nessa lista de exercícios, quando for mencionado que o tipo de uma variável é string, o aluno deverá considerar o tipo string do C++, o ponteiro para vetor de char (char*) ou um vetor de char
3 propriamente dito. A escolha de qual tipo utilizar será do próprio aluno. Quando for mencionado que o tipo de uma variável é uma data, o aluno deverá considerar que se trata de uma string no formato DD/MM/AAAA. 1. Crie uma classe chamada Pessoa para representar uma pessoa, com os atributos CPF (long long), nome, data de nascimento, altura (em cm), peso (em kg). Para essa classe, crie ainda: Um construtor que receba o CPF e o nome e inicialize os respectivos atributos do objeto com os valores recebidos. Um método chamado peso_kg que retorna o peso da pessoa em quilogramas. Um método chamado peso_g que retorna o peso da pessoa em gramas. Um método chamado altura_cm que retorna a altura da pessoa em centímetros. Um método chamado altura_m que retorna a altura da pessoa em metros. Um método que se chame calcula_idade que receba por parâmetro uma data e que calcula e retorna a idade da pessoa na data passada por parâmetro. Um método que se chame calcula_imc que não recebe nenhum parâmetro e que calcula e retorna o IMC da pessoa. Um método chamado imprimir que não recebe parâmetros e imprime todos os atributos da pessoa. (apenas para testes mesmo) 2. Crie uma classe chamada DocumentoIdentidade que tenha os atributos CPF, nome e data de nascimento. Agora, crie uma nova classe chamada Pessoa2 semelhante à criada na questão 1. A diferença é que os atributos CPF, nome e data de nascimento deverão ser substituídos por uma única variável chamada documentacao do tipo DocumentoIdentidade. 3. Crie uma classe Agenda que armazena 10 pessoas (usar vetor de ponteiros da classe Pessoa do exercício 1). Declare e implemente os seguintes métodos para essa classe: bool incluir(pessoa* p) Busca a primeira posição nula no vetor e armazena a pessoa p na posição encontrada. Retorna true se conseguiu encontrar um espaço livre e fez a inclusão ou false caso contrário. Pessoa* consultar(long long cpf) Busca na agenda (vetor) a existência de uma pessoa com o CPF igual ao informado. Retorna o ponteiro dessa pessoa caso encontre ou NULL caso contrário. boolean remover(long long cpf) Busca na agenda (vetor) a existência de uma pessoa com o CPF igual ao informado. Caso encontre um elemento com o CPF em questão, desaloque a memória desse objeto utilizando o comando delete e atribua NULL à posição desse objeto no vetor. Retorne true caso encontre ou false caso contrário. Note que após essa operação, o vetor de elementos poderá ter lacunas no meio. Essas lacunas poderão ser utilizadas para futuras inserções. (opcionalmente, o aluno pode fazer um "chega pra trás", eliminando as lacunas) void imprimir_lista() Itera sobre os elementos do vetor chamando, para cada elemento não nulo, o método de impressão de cada pessoa da agenda. Deverá haver uma quebra de linha a cada pessoa impressa. int espaco_livre() Retorna o número de espaços disponíveis na agenda. Dica: Lembre-se de inicializar as posições do vetor com NULL utilizando um construtor.
4 4. Crie um programa que instancie e teste a agenda criada na questão 3. O programa deverá entrar em um laço onde será lido uma operação (char) e, dependendo da operação lida, ler outras informações e chamar um dos métodos específicos da agenda. I criar uma pessoa, ler cpf, nome, data de nascimento, altura e peso e incluir na agenda. C ler cpf, consultar na agenda e imprimir a pessoa encontrada. R ler cpf e remover a pessoa da agenda. L listar todas as pessoas da agenda. Q imprimir na tela o número de espaços livres na agenda. M imprimir a média de peso, a média de altura e a média idade de todas as pessoas armazenadas na agenda. X sai do laço e encerra o programa. 5. Crie uma classe denominada Elevador para armazenar as informações de um elevador dentro de um prédio. A classe deve armazenar o andar atual (0 = térreo e não existe subsolo), total de andares no prédio, excluindo o térreo, capacidade do elevador, e quantas pessoas estão presentes nele. Defina um construtor que receba a quantidade de andares do prédio e a capacidade do elevador. A classe deve também disponibilizar os seguintes métodos: entra recebe o número de pessoas que entra no elevador. sai recebe o número de pessoas que sai do elevador. sobe recebe o número andares que irá subir a partir do local atual. desce recebe o número andares que irá descer a partir do local atual. Não se esqueça de fazer tratamentos para o caso de querer entrar mais pessoas do que a capacidade, sair mais pessoas do que tem dentro do elevador, subir ou descer mais andares do que é possível. Crie um programa que teste a sua classe. 6. Crie uma classe em C++ chamada Relogio para armazenar um horário, composto por hora, minuto e segundo. A classe deve representar esses componentes de horário e deve apresentar os métodos descritos a seguir: set_horario define o horário do relógio por meio de três parâmetros inteiros (hora, minuto, segundo). get_horario retorna hora, minuto e segundo por meio de três parâmetros passados por referência. avancar_1_segundo avança um segundo no horário atual do relógio. imprimir imprime o horário do relógio com o formato "HH:MM:SS". Crie um programa que instancia um Relogio e inicializa seu horário. Em seguida, faça um laço repetitivo com 200 iterações que, em cada iteração, chama o método avancar_1_segundo e imprime o horário atual. 7. Crie uma classe chamada CanalTV que tenha dois atributos: o número do canal e o nome do canal. Crie uma outra classe chamada TV que tenha apenas quatro atributos: uma variável de situação do tipo bool que indica se a TV está ligada (onde o valor true indica que está ligada e o valor false indica que está desligada), quantidade de canais existentes, canal selecionado (não é a posição do canal no vetor, mas o número efetivo do canal) e um vetor de canais (pode ser fixo CanalTV canais[5]; ou dinâmico CanalTV* canais). Na classe TV, crie ainda os seguintes métodos: ligar_desligar não recebe parâmetros e altera a situação da TV de ligada para desligada ou de desligada para ligada.
5 tv_ligada não recebe parâmetros e retorna true caso a TV esteja ligada ou false caso contrário. numero_canal_atual se a TV estiver ligada, retorna o número do canal atualmente selecionado. Se estiver desligada, retorna -1. nome_canal_atual se a TV estiver ligada, retorna o nome do canal atualmente selecionado. Caso o canal selecionado seja um número de um canal que não existe no vetor de canais, deverá retornar o texto "Sem sinal". Se estiver desligada retorna "TV está desligada". avancar_canal se a TV estiver ligada, altera o canal atual para o número do canal EXIS- TENTE no vetor de canais imediatamente maior do que o canal atual. Caso o canal atual seja o maior número entre os canais existentes no vetor de canais, o próximo deverá ser aquele com o menor número. Caso o número do canal atual seja um número que nenhum canal no vetor de canais possui, a regra será a mesma: avança para o imediatamente maior após o número do canal atual. O método não precisa retornar nada. Se a TV não estiver ligada, não faz nada. retroceder_canal faz a mesma coisa que o método avancar_canal, mas ao invés de avançar para o canal imediatamente maior, retrocede ao canal imediatamente menor. ir_para_canal recebe um número inteiro que é o canal que deseja-se acessar diretamente. Se a TV estiver ligada, o canal atual passa a ser esse, independente de ele existir no vetor de canais. Mas o método deve retornar true caso o canal exista ou false caso não exista no vetor de canais. Caso a TV esteja desligada, não deve fazer nada e retornar false. imprimir Se a TV estiver ligada, imprime o número e o nome do canal selecionado. Caso o canal selecionado não exista no vetor de canais, deve-se imprimir "Sem sinal" no lugar do nome do canal. Se a TV estiver desligada, imprime "TV está desligada". 8. Crie uma classe chamada Retangulo que tenha apenas dois atributos inteiros: base e altura. Crie um construtor para a classe Retangulo que receba essa base e essa altura. Agora, na classe Retangulo crie os seguintes métodos: area retorna a área do retângulo. imprimir imprime o retângulo no terminal utilizando apenas o caractere # de forma proporcional ao tamanho de até 50 colunas. Exemplo 1: base é 20 e a altura é 30. Como a base é quem define a quantidade de colunas no terminal e como 20 é menor do que 50, deverá ser impresso no terminal 30 linhas contendo 20 caracteres # cada linha. Exemplo 2: base é 70 e a altura é 20. Como a base é quem define a quantidade de colunas no terminal e como 70 é maior do que 50, deverá ser impresso no terminal 14 linhas contendo 50 caracteres # cada linha. Esse número de linhas é obviamente deduzido a partir do arredondamento do resultado da multiplicação de 20 por 50 70, que é a proporção que deve ser considerada ao reduzir o tamanho da base de 70 para 50. imprimir uma sobrecarga do método anterior que recebe o caractere a ser impresso. imprimir uma sobrecarga dos métodos anteriores, mas que recebe o caractere a ser impresso no contorno e o caractere a ser impresso no interior do retângulo. Crie um programa para testar sua classe. 9. Crie uma classe chamada Ponto que tenha apenas dois atributos float: as coordenadas x e y. Agora, crie uma classe chamada Triangulo que tenha apenas três atributos do tipo Ponto: A, B e C. Crie um construtor para a classe Triangulo que receba os três pontos que o definem. Agora, na classe Triangulo crie os seguintes métodos: lado_ab retorna o tamanho do lado formado pelos pontos A e B do triângulo. lado_ac retorna o tamanho do lado formado pelos pontos A e C do triângulo.
6 lado_bc retorna o tamanho do lado formado pelos pontos B e C do triângulo. tipo_triangulo retorna 1, se o triângulo é equilátero, 2 se o triângulo é isósceles, 3 se o triângulo é escaleno ou -1 se os pontos não formam um triângulo (caso em que pelo menos dois pontos são iguais). Crie um programa para testar sua classe. 10. Crie as seguintes classes: Espada Atributos nome (string) dano (float) Métodos float golpear() Retorna a intensidade do golpe realizado pela espada. Escudo Atributos nome (string) defesa (float) Métodos float defender() Retorna a intensidade da defesa realizada pelo escudo. Guerreiro Atributos nome (string) vida (float) resistencia (float) forca (float) espada (do tipo Espada) escudo (do tipo Escudo) Métodos bool atacar(guerreiro* adversario) Remove uma quantidade de vida do guerreiro adversário. Caso a vida do guerreiro adversário tenha se esgotado (vida 0), o método deve retornar true. Caso contrário, deverá retornar false. O método golpear da classe Espada obtém um novo número randômico 1 (float) entre 0 e 1 e retorna o valor desse número randômico multiplicado pelo dano da espada. O método defender da classe Escudo obtém um novo número randômico (float) entre 0 e 1 e retorna o valor desse número randômico multiplicado pela defesa do escudo. Seja g 1 o guerreiro do qual método atacar foi chamado e g 2 o guerreiro adversário (passado como parâmetro para o método), o método atacar da classe Guerreiro deverá diminuir a vida do adversário de acordo com a seguinte expressão: g 2.vida = g 2.vida g 1.forca g 1.espada.golpear() g 2.resistencia g 2.escudo.defender() 1 Número randômico é um número pseudo-aleatório produzido pelo computador.
7 Dica: para gerar números randômicos, utilize as funções srand e rand da biblioteca <cstdlib>. A função srand define uma semente 2 e deveria ser chamado uma única vez por execução do programa. Assim, recomenda-se que chame no início do main, uma única vez. A função rand gera números randômicos calculados com base na semente definida em srand. O número retornado por rand é um grande número inteiro. Procure uma estratégia para transformar esses números inteiros em números float de 0 a 1. Como os números gerados pela função rand dependem da semente, se a semente for fixa, a ordem dos números randômicos gerados será sempre a mesma. Assim, srand deveria receber um número diferente a cada execução. Uma boa estratégia para isso é usar a função time da biblioteca ctime para gerar essa semente. Assim, a chamada única à função srand no início do main seria assim: srand(time(null)); 11. Utilizando as classes desenvolvidas na questão 10, crie um programa que instancie dois guerreiros, leia os atributos de cada guerreiro bem como de cada arma e de cada escudo e coloque os dois para lutar um contra o outro. A luta deverá consistir em alternar ataques entre os dois guerreiros até que um deles tenha a vida zerada. O programa deverá mostrar, a cada ataque, a situação dos pontos de vida de cada guerreiro antes e depois do ataque. 12. Um número complexo é representado por duas partes: real e imaginária. É possível fazer quaisquer operações aritméticas com números complexos, tais como as operações com número reais. Crie uma classe chamada NumeroComplexo que tenha apenas dois atributos float: parte real e parte imaginária. Essa classe deverá ter dois construtores: um sem parâmetros, que inicializa as partes real e imaginária com o valor 0; e um outro que recebe as partes real e imaginária como parâmetro e atribui esses valores para os respectivos atributos. Agora, crie os seguintes métodos para essa classe: float parte_real() retornar o valor da parte real do número complexo. float parte_imginaria() retornar o valor da parte imaginária do número complexo. NumeroComplexo soma(numerocomplexo n) recebe um outro número complexo e realiza a soma entre os números complexos, retornando o resultado em um outro objeto NumeroComplexo. NumeroComplexo subtrai(numerocomplexo n) recebe um outro número complexo e realiza a subtração entre os números complexos, retornando o resultado em um outro objeto NumeroComplexo. NumeroComplexo multiplica(numerocomplexo n) recebe um outro número complexo e realiza a multiplicação entre os números complexos, retornando o resultado em um outro objeto NumeroComplexo. NumeroComplexo divide(numerocomplexo n) recebe um outro número complexo e realiza a divisão entre os números complexos, retornando o resultado em um outro objeto NumeroComplexo. void imprimir() imprime o número complexo no formato a + bi, onde a é a parte real e b é a parte imaginária. Crie um programa para testar sua classe. Modo Hard Crie um método na classe NumeroComplexo chamado divide que recebe um outro número complexo e realiza a operação de divisão entre os números complexos, retornando o resultado em outro objeto NumeroComplexo. 13. Crie uma classe chamada Matriz que tenha apenas três atributos: quantidade de linhas (int), quantidade de colunas (int) e ponteiro para uma matriz dinâmica (float**). Essa classe deverá ter um construtor que recebe apenas as dimensões da matriz (número de linhas e número de colunas) e esse construtor deverá inicializar os respectivos atributos com esses valores, bem como criar a matriz 2 Em se tratando de números randômicos, uma semente é um número do qual parte o cálculo de todos os números randômicos seguintes.
8 dinâmica com as dimensões fornecidas. Além disso, o construtor deverá inicializar cada posição da matriz dinâmica com o valor zero. Essa classe dever ter, ainda, os seguintes métodos: float get(int i, int j) retornar o valor da linha i e coluna j da matriz. void set(int i, int j, float x) atribui o valor de x para a posição da linha i e coluna j da matriz. Matriz soma(matriz B) recebe uma outra matriz, realiza a soma de matrizes retornando um outro objeto Matriz com o resultado dessa soma de matrizes. Caso a operação não seja possível, o método deverá retornar um objeto Matriz com dimensões 0 0. Matriz soma(int n) uma sobrecarga que recebe um int, e retorna um outo objeto Matriz com os valores de cada posição da matriz original somados com o valor do parâmetro. Matriz subtrai(matriz B) recebe uma outra matriz, realiza a subtração de matrizes retornando um outro objeto Matriz com o resultado dessa subtração de matrizes. Caso a operação não seja possível, o método deverá retornar um objeto Matriz com dimensões 0 0. Matriz subtrai(int n) uma sobrecarga que recebe um int, e retorna um outo objeto Matriz com os valores de cada posição da matriz original subtraídos do valor do parâmetro. Matriz multiplica(matriz B) recebe uma outra matriz, realiza a multiplicação de matrizes retornando um outro objeto Matriz com o resultado dessa multiplicação de matrizes. Caso a operação não seja possível, o método deverá retornar um objeto Matriz com dimensões 0 0. Matriz transposta() retorna um outo objeto Matriz que representa a matriz transposta da matriz original. Matriz imprimir() imprime os elementos da matriz no terminal. Cada linha da matriz, em uma nova linha do terminal. Crie um programa para testar sua classe.
Strings e Arrays POO
Strings e Arrays POO Prof. Marcio Delamaro Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 1/27 String Uma sequência de caracteres que representa uma informação textual Em Java existe um
GEQ Prof. Paulo R. Coelho. Lista para prova
GEQ007 2013 Prof. Paulo R. Coelho Lista para prova 7. Defina uma estrutura empregado para armazenar nome, data de nascimento, idade e salário de um empregado de uma empresa. Leia informações sobre 10 empregados
Departamento de Informática PUC-Rio INF Estruturas de Dados Lista 2 Completa (Gerada em 8 de maio de 2006)
Departamento de Informática PUC-Rio INF1620 - Estruturas de Dados Lista 2 Completa 2006.1 (Gerada em 8 de maio de 2006) 1. Considerando a estrutura struct Ponto { int x; int y; para representar um ponto
CMP Técnicas de Programação 2 a Lista de Exercícios - Passagem de parâmetros por referência e ponteiros Max Gontijo de Oliveira
CMP1048 - Técnicas de Programação 2 a Lista de Exercícios - Passagem de parâmetros por referência e ponteiros Max Gontijo de Oliveira 1. Considere um programa em C++ que tenha duas variáveis declaradas
char* prefixo (char* str, int n);
Departamento de Informática PUC-Rio INF1620 - Estruturas de Dados Segunda Lista de Exercícios 2005.1 1. Implemente uma função que receba uma string e um número inteiro n como parâmetros, e retorne uma
Computação eletrônica:
Computação eletrônica: Gurvan Huiban ghuiban@cin.ufpe.br Plano de aula 1 Vetores unidimensionais 2 Vetores multidimensionais 3 Vetores e funções 4 Cadeia de caracteres Vetores unidimensionais 1 Vetores
Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem Python
Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem Python Exercícios: Funções 1. Crie uma função que recebe como parâmetro um número
1. Escreva um programa que imprima a ordem reversa de caracteres de uma string digitada pelo usuário. Ex: Entrada: Hello World. Saída:.
Primeira lista de exercícios v1.02 Linguagens de Programação e Aplicações SSC0300 Prof: Daniel Rodrigo Ferraz Bonetti 1. Escreva um programa que imprima a ordem reversa de caracteres de uma string digitada
Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação
Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação Introdução Além de utilizar as classes presentes na biblioteca padrão, programadores podem definir suas próprias
Prova 2 - Computação
Prova 2 - Computação A prova consiste na elaboração de um programa utilizando a linguagem C. Seu programa deve estar correto (sintática e semanticamente), além de organizado (nomes de variáveis, identação
Sobrecarga. Algoritmos e Programação II. Aula 3 Sobrecarga
Algoritmos e Programação II Aula 3 Sobrecarga *Adaptado do material do Prof. Júlio Machado Sobrecarga Em várias linguagens é comum encontrarmos rotinas que fazem basicamente a mesma coisa, porém, com nomes
BAC004 Informática Teórica T2 Professora: Fabiana Costa Guedes Lista 05 Vetores e Matrizes Vetores
BAC004 Informática Teórica T2 Professora: Fabiana Costa Guedes Lista 05 Vetores e Matrizes Vetores 1- Faça um programa que preencha um vetor com seis elementos numéricos inteiros, calcule e mostre: a.
Matrizes. Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 67
Matrizes Estrutura de Dados Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 67 Conteúdo Introdução vetores e matrizes Representações de matrizes TADs TAD Vetor TAD Vetor
Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C
Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Funções 1. Crie uma função que recebe como parâmetro um número inteiro
Programação de Computadores 1 Lista 2. Prof. Álvaro A. F. de Souza DECSI - ICEA - UFOP
Programação de Computadores 1 Lista 2 Prof. Álvaro A. F. de Souza DECSI - ICEA - UFOP 0.1 Vetores e Cadeias de Caracteres 1. Codifique um programa que leia e armazene duas notas de 10 alunos e calcule
Sub-algoritmos (ou Funções)
Sub-algoritmos (ou Funções) Quando se deseja fazer um algoritmo cujo processo é composta por diversas etapas, costuma-se dividir o algoritmo em partes, cada uma realizando uma determinada função Cada uma
LISTA DE EXERCÍCIOS 2
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO DE CIÊNCIA DA COMPUTAÇÃO PROGRAMAÇÃO DE COMPUTADORES 1. TIPOS COMPOSTOS DE DADOS LISTA DE EXERCÍCIOS 2 1. Considerando as declarações abaixo, responda dizendo
Exercícios: Vetores e Matrizes
Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Vetores e Matrizes 1 Vetores 1. Faça um programa que possua um vetor
Aula 06 Introdução à Programação Matrizes
Aula 06 Introdução à Programação Matrizes Prof. Gustavo Callou gustavo.callou@ufrpe.br gcallou@gmail.com Roteiro Matrizes Unidimensionais (Vetor) Bidimensionais String Exercícios Gustavo Callou DEINFO/UFRPE
CURSO BÁSICO DE PROGRAMAÇÃO AULA 11. Revisão Aula Anterior Vetores Cadeia de Caracteres
CURSO BÁSICO DE PROGRAMAÇÃO AULA 11 Revisão Aula Anterior Vetores Cadeia de Caracteres Introdução a Linguagem C Laços de Repetição While Do-While For while() { } do { }while();
CURSO BÁSICO DE PROGRAMAÇÃO AULA 15. Revisão Vetores e Matrizes Trabalho
CURSO BÁSICO DE PROGRAMAÇÃO AULA 15 Revisão Vetores e Matrizes Trabalho Definição: Introdução a Linguagem C Vetores Estrutura que permite armazenar um conjunto de dados do mesmo tipo na mesma variável;
Apêndice A. Alguns construtores e métodos importantes e úteis da classe Vector são:
Apêndice A Classe Vector A classe Vector permite a representação de um vetor de dados de maneira similar à de um array, visto na disciplina Programação Orientada a Objetos I, mas com maior flexibilidade.
PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95
PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 Exercícios de revisão Lista 01: a) Monte um mapa conceitual indicando as relações entre os seguintes conceitos, no contexto do assunto visto em aula:
INF 1620 P1-13/09/02 Questão 1 Nome:
INF 1620 P1-13/09/02 Questão 1 Considere que o cálculo da multa para o pagamento de um determinado imposto varia de acordo com a tabela a seguir: Valor do Imposto Original Multa por mês de atraso até R$
Curso Básico de Programação Aula 11. Revisão Aula Anterior Laços de Repetição While; Do-While; For.
Curso Básico de Programação Aula 11 Revisão Aula Anterior Laços de Repetição While; Do-While; For. Introdução à Linguagem C Laços de Repetição While Do-While For while () { } do {
CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS Disciplina: Programação Orientada a Objetos
01.Em orientação a objetos, o conceito que determina que as classes devem cuidar dos seus atributos de forma exclusiva, expondo o mínimo possível de suas funcionalidades para outras classes, é a)herança
Linguagem de Programação
Linguagem de Programação Vetores e Strings int vetor[] / rand() / #define / char string[] / gets() Gil Eduardo de Andrade Vetores Introdução Um vetor pode ser definido como é um conjunto de elementos (variáveis)
COMPORTAMENTOS - Observações
COMPORTAMENTOS - Observações O próprio objeto realiza operações de consulta ou alteração dos valores dos seus atributos Essas operações são definidas em seus métodos Os métodos também são utilizados para
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO - CAMPUS CAXIAS. Aluno (s): 01 ATIVIDADE. Revisão de Conteúdo
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO - CAMPUS CAXIAS DISCIPLINA: Lab. de Programação PROF: MSc. Flávio Barros PERÍODO: 2 DATA: Aluno (s): 01 ATIVIDADE / / Revisão de Conteúdo
ponteiros INF Programação I Prof. Roberto Azevedo
ponteiros INF1005 -- Programação I -- 2016.1 Prof. Roberto Azevedo razevedo@inf.puc-rio.br ponteiros tópicos o que são ponteiros operadores usados com ponteiros passagem de ponteiros para funções referência
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
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
Fundamentos de Programação
Fundamentos de Programação Linguagem C++: arrays - aula I Bruno Emerson Gurgel Gomes 1 1 Instituto Federal de Educação, Ciência e Tecnologia do RN (IFRN) 2012 Bruno Gomes (IFRN) Fundamentos de Programação
Slide 01 16/03/2017. Estruturas de Dados. Prof. Cleziel Franzoni da /Cleziel.
Slide 01 16/03/2017 Estruturas de Dados Prof. Cleziel Franzoni da Costa 1 @Cleziel /Cleziel cleziel@hotmail.com 42 3 EMENTA Listas lineares e suas variações. Filas e pilhas. Árvores binárias e suas variações.
1. Faça um programa que leia uma string digitada pelo usuário e salve em um arquivo em branco.
Segunda lista de exercícios v100 Engenharia Elétrica - Eletrônica 2º Semestre de 2015 Prof: Daniel Rodrigo Ferraz Bonetti SSC0300 Linguagem de Programação e Aplicações 1 Faça um programa que leia uma string
Escreva em Java a classe NumeroComplexo que represente um número complexo. A classe deverá ter os seguintes construtores:
Lista 2 1 - Números Complexos Números complexos são os que são escritos da forma: a + b*i onde a é a parte real e b a parte imaginária. Escreva em Java a classe NumeroComplexo que represente um número
Prática 10 - Funções
Programação de Computadores I UFOP DECOM June 9, 2016 Prática 10 - Funções Abstract Nesta aula prática você vai aprender a definir e usar funções em um programa. Contents 1 Funções 1 1.1 Definição e chamada
4ª Lista de Exercícios de Programação I
4ª Lista de Exercícios de Programação I Instrução As questões devem ser implementadas em C. 1. Faça um algoritmo que leia 10 valores inteiros armazenando-os em um vetor e depois calcule a soma dos valores
Lista 2 TP060. Exercícios Vetores
Lista 2 TP060 Esta lista auxilia nos estudos da disciplina, porém é dever do aluno estudar além do que foi visto em sala de aula e procurar resolver exercícios que não estão em listas elaboradas pelo professor
Valor: 0,0 CORREÇÃO. 1. Construa um programa que leia a sua idade, o seu nome e depois imprima na tela.
2 ANO - TUTORIA Curso: Sistemas de Informação Disciplina: Programação I Valor: 0,0 ATIVIDADE AVALIATIVA I Visto do (a) aluno (a) Prof.: José Ronaldo Leles Júnior CORREÇÃO Observação: Para ler os valores
Algoritmos e Programação
Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;
Variáveis, Tipos de Dados e Operadores
! Variáveis, Tipos de Dados e Operadores Engenharias Informática Aplicada 2.o sem/2013 Profa Suely (e-mail: smaoki@yahoo.com) VARIÁVEL VARIÁVEL É um local lógico, ligado a um endereço físico da memória
Lista de Exercícios de Algoritmos - 04 Para cada um dos exercícios abaixo, faça um programa (em laboratório) que teste a função.
Lista de Exercícios de Algoritmos - 04 Para cada um dos exercícios abaixo, faça um programa (em laboratório) que teste a função. Funções e estruturas básicas 1. Faça uma função que recebe a idade de uma
CADERNO DE EXERCÍCIOS ALGORITMOS
J. EXERCÍCIOS SOBRE MODULARIZAÇÃO 77. Faça uma função que recebe um número inteiro por parâmetro e retorna verdadeiro se ele for par e falso se for ímpar. 78. Escreva um programa que leia o raio de um
BCC701 Programação de Computadores I Lista de Exercícios 05: Funções Definidas pelo Usuário
BCC701 Programação de Computadores I 2018-02 Lista de Exercícios 05: Funções Definidas pelo Usuário http://www.decom.ufop.br/bcc701/ Questão 1. (2014-01) A distância entre dois pontos, A e B, no plano
Aula 9 Oficina de Programação Matrizes. Profa. Elaine Faria UFU
Aula 9 Oficina de Programação Matrizes Profa. Elaine Faria UFU - 26 Variáveis Compostas Homogêneas O que uma variável composta homogênea? - Conjunto de variáveis do mesmo tipo - É chamada de forma geral
ESTRUTURA DE DADOS LISTAS LINEARES
ESTRUTURA DE DADOS LISTAS LINEARES Prof. Dr. Daniel Caetano 2014-2 Objetivos Compreender as listas sequenciais Implementar uma Lista Sequencial com Vetor Compreender o uso de listas sequenciais Material
Introdução à Ciência da Computação
Introdução à Ciência da Computação Unidade III Programação de Computadores com Octave Uso do Octave no Modo Interativo Prof. Roberto M. de Faria/DSC/UFCG Ajuda para o Octave Para ter acesso à documentação
EXERCÍCIOS: Estrutura Sequencial, IF (SE), ELSE (Senão)
EXERCÍCIOS: Estrutura Sequencial, IF (SE), ELSE (Senão) Exercício 1) Escreva um programa para ler um número o o Se o número é par, mostre na tela o texto "O número é par" Senão, mostre na tela o texto
Lista de Exercícios 02
Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Disciplina: BCC201 Introdução a Programação Professores: Túlio A. M. Toffolo e Puca
Classes o Objetos. Classes, objetos, métodos e variáveis de instância
Classes o Objetos Um recurso comum de cada aplicativo feito até agora é que todas as instruções que realizavam tarefas localizavam-se no método main. Se você tornar parte de uma equipe de desenvolvimento
Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 29 de agosto de 2008
Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 29 de agosto de 2008 Introdução O objetivo desta aula prática é exercitar comandos de entrada e saída simples
Computação Eletrônica. Tipos de dados, constantes, variáveis, operadores e expressões. Prof: Luciano Barbosa
Computação Eletrônica Tipos de dados, constantes, variáveis, operadores e expressões Prof: Luciano Barbosa Site da disciplina: www.cin.ufpe.br/~if165/ Recapitulando num cubo = n * n * n cubo Algoritmo
Introdução à Computação II (Noturno) BCC Unesp Rio Claro/SP 2015 em PDF via Moodle: Escolha apenas 5 exercícios para entrega Exercício 01 (Pilhas)
Introdução à Computação II (Noturno) BCC Unesp Rio Claro/SP 2015 Lista Obrigatória 02 - Prof. Rafael Oliveira (Deve ser entregue em PDF via Moodle: Escolha apenas 5 exercícios para entrega) Exercício 01
Exercícios: Arquivos
Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Arquivos 1. Codifique, compile e execute um programa que: (a) crie/abra
INF 1620 P3-29/06/04 Questão 1 Nome:
INF 1620 P3-29/06/04 Questão 1 Considere um arquivo texto que descreve um conjunto de retângulos e círculos. Cada linha do arquivo contém a descrição de uma figura. O primeiro caractere da linha indica
Objetivo. Compreender a definição e dominar a implementação de ponteiros em C. Dominar a manipulação de arquivos
Objetivo Compreender a definição e dominar a implementação de ponteiros em C. Dominar a manipulação de arquivos Motivação para a utilização de ponteiros O que precisamos para fazer para que uma função
Exercícios Repetição
Curso de Engenharia de Controle e Automação Disciplina: Informática para a Automação Professor: Marcelo Cendron Exercícios Repetição 1.1 8.3 Exercícios 1. Faça um programa utilizando o comando while, que
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
POO fundamentos Parte II. Professor Vicente Paulo de Camargo
POO fundamentos Parte II Professor Vicente Paulo de Camargo COMPORTAMENTOS Um comportamento expressa uma ação que um objeto ou instância de uma classe pode executar Na POO um comportamento é expresso através
Algoritmos. Algoritmos. Linguagem de programação. Conceitos. Conceitos. Conceitos. Sintaxe do comando para incluir bibliotecas no programa:
Algoritmos Algoritmos Leandro Tonietto Unisinos ltonietto@unisinos.br http://www.inf.unisinos.br/~ltonietto/inf/pg1/algoritmosi_java.pdf Mar-2008 Possuem sintaxe flexível e são mais úteis para descrição
Segunda lista de exercícios
Segunda lista de exercícios 1) Escreva um programa que, dado um valor representando um número de segundos, converte esse valor para horas, minutos e segundos, como apresentado a seguir: 7322 segundos são
Working 05 : Modularização
Universidade Federal do Espírito Santo Centro Tecnólogico Working 05 : Modularização Objetivos: Entender como é estruturada uma função em C e lembrar como é feita a comunicação entre funções; Praticar
Python - Dicionários. Introdução à Programação SI1
Python - Dicionários Introdução à Programação SI1 Conteúdo Dicionários Conceitos Operações Métodos Exercícios 2 Dicionários São estruturas de dados que implementam mapeamentos Um mapeamento é uma coleção
4ª Lista de Exercícios de Programação I
4ª Lista de Exercícios de Programação I Instrução As questões devem ser implementadas em C. 1. Faça um algoritmo que leia 10 valores inteiros armazenando-os em um vetor e depois calcule a soma dos valores
Exercícios sobre repetição. 1. Escreva um método que lê via teclado 8 números e retorna a quantidade de negativos.
Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Lista de exercícios 6 Exercícios sobre repetição 1. Escreva um método que lê via teclado 8 números e retorna
Lista de Exercícios 2
Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Disciplina: BCC201 Introdução a Programação Professores: Túlio A. M. Toffolo e Puca
SSC304 Introdução à Programação Para Engenharias. Variáveis Indexadas em C. GE4 Bio
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Introdução à Para Engenharias Variáveis Indexadas em C GE4 Bio GE4Bio Grupo de Estudos
Linguagem C++ Estruturas de controle Parte II Estruturas de repetição
Fundamentos de Programação Linguagem C++ Estruturas de controle Parte II Estruturas de repetição Prof. Bruno E. G. Gomes IFRN 1 Estruturas de Controle Permitem o controle da sequência de execução de um
Algoritmos. Conceitos e Comandos
Algoritmos Conceitos e Comandos Trabalho - Reposição Arquitetura Funcional do Computador Para próxima aula 16/03/2018 Valerá duas presenças. Variável Uma variável é um local na memória principal, isto
Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli
Vetores De modo geral, em linguagem de programação, vetores ou arrays são estruturas de dados que permitem que uma mesma variável possa armazenar mais de um valor; Em Java, vetores são coleções de dados,
MC-102 Aula 21 Registros
MC-102 Aula 21 Registros Instituto de Computação Unicamp 27 de Outubro de 2016 Roteiro 1 Registros Declarando um novo tipo de Registro Acessando os campos de um Registro Lendo e Escrevendo Registros Atribuição
Programação de Computadores
Programação de Computadores José Romildo Malaquias DECOM UFOP 2011.1 José Romildo Malaquias (DECOM UFOP) Programação de Computadores 2011.1 1 / 55 A Linguagem C++ C++ é uma linguagem de programação de
Puca Huachi Vaz Penna
Aula 3 C++: variáveis e expressões aritméticas 2017/1 BCC201 Introdução à Computação Turmas 61, 62, 63, 64, 65 e 66, 32 e 33 Puca Huachi Vaz Penna Departamento de Computação Universidade Federal de Ouro
2. Escreva um programa em C para ler uma temperatura em graus Celsius, calcular e escrever o valor correspondente em graus Fahrenheit.
Lista de Exercicios III 1. Escreva um programa em C para ler uma temperatura em graus Fahrenheit, calcular e escrever o valor correspondente em graus Celsius (de acordo com a fórmula abaixo). 2. Escreva
Introdução a Linguagem C. Prof. Me. Hélio Esperidião
Introdução a Linguagem C Prof. Me. Hélio Esperidião Características de um programa De forma geral a maioria dos programas são compostos por dados de entrada, processamento e dados de saída. Entrada de
Computação Eletrônica. Vetores e Matrizes. Prof: Luciano Barbosa. CIn.ufpe.br
Computação Eletrônica Vetores e Matrizes Prof: Luciano Barbosa Recapitulando: Funções 2 Recapitulando: Função Void 3 Recapitulando: Escopo das Variáveis Referência à variável global A variável de escopo
Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Para começar... Matrizes. Para começar... Matrizes. Matrizes
Algoritmos e Lógica de Programação 80 horas // 4 h/semana Aula 13 Prof. Piva Para começar... Vamos considerar um algoritmo que foi elaborado para para armazenar os Nomes e as Médias Finais dos 20 alunos
Variáveis primitivas e Controle de fluxo
Variáveis primitivas e Controle de fluxo Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/
Iteração e Pontos Fixos
Iteração e Pontos Fixos Iteração é um dos pontos chave da programação numérica. Iterar consiste em repetir uma mesma operação diversas vezes levando a uma aproximação cada vez melhor da solução exata.
Não utilize caracteres acentuados ou especiais para nomes de pastas e arquivos.
BCC201 Introdução à Programação (2016-01) Departamento de Computação - Universidade Federal de Ouro Preto - MG Professor: Reinaldo Fortes (www.decom.ufop.br/reinaldo) Estagiário docente: Washington Silva
Array em Java. Figura 1 - Exemplo de um array de inteiros
Array em Java 1. Objetivos Nesta lição, abordaremos Array em Java. Primeiro, definiremos o que é array e, então, discutiremos como declará-los e usá-los. Ao final desta lição, o estudante será capaz de:
Métodos Computacionais. Tipos Estruturados
Métodos Computacionais Tipos Estruturados Tipos Estruturados C oferece tipos primitivos que servem para representar valores simples Reais (float, double), inteiros (int), caracter (char) C oferece também
ESTRUTURA DE DADOS VETORES E LISTAS LINEARES
ESTRUTURA DE DADOS VETORES E LISTAS LINEARES Prof. Dr. Daniel Caetano 2012-2 Objetivos Conhecer os vetores Compreender as Listas Sequenciais Implementar uma Lista Sequencial com Vetor GRUPOS? Até o fim
TÉCNICAS DE PROGRAMAÇÃO. Estrutura de dados
TÉCNICAS DE PROGRAMAÇÃO Estrutura de dados O que são estrutura de dados? É a forma como os armazenamos tipos de dados, vistos dia a dia, ou seja, nada mais são do que a transformação de uma forma de armazenamento
Laboratório de Programação A Exercícios sobre vetores e matrizes
Universidade Federal do Amazonas Instituto de Ciências Exatas Departamento de Ciência da Computação Laboratório de Programação A - 2011.1 Exercícios sobre vetores e matrizes Observação Esta lista será
5 Arrays. 5.1 Criando um array. 5.2 Inicializando arrays. c:\>java Array Janeiro tem 31 dias.
5 Arrays Arrays são grupos de variáveis do mesmo tipo. As arrays podem armazenar variáveis de qualquer tipo (tipo de dado primitivo ou objetos), mas é importante lembrar que todos os valores devem ser
Lista Ordenada. Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35
Lista Ordenada Estrutura de Dados Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35 Conteúdo Definição Operações Representações Contígua Encadeada Aplicação Exercícios 2
Revisão para Prova 2. Mirella M. Moro
Revisão para Prova 2 Mirella M. Moro 2 Roteiro 1. Estruturas de decisão 2. Estruturas de repetição 3. Funções 4. Vetores 5. Matrizes 6. Ponteiros 7. Alocação dinâmica 3 1. Estruturas decisão if (condiçã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 12 Agregados Homogêneos Variáveis Indexadas matrizes Variáveis Indexadas bi dimensionais
CURSO BÁSICO DE PROGRAMAÇÃO AULA 16. Ordenação Revisão para a prova
CURSO BÁSICO DE PROGRAMAÇÃO AULA 16 Ordenação Revisão para a prova Algoritmos de Ordenação São algoritmos que organizam uma sequência (por exemplo, os elementos de um vetor) em ordem crescente ou decrescente.
CI208 - Programação de Computadores. Aula 24: Arrays. Prof. MSc. Diego Roberto Antunes
CI208 - Programação de Computadores Aula 24: Arrays Prof. MSc. Diego Roberto Antunes diegor@inf.ufpr.br www.inf.ufpr.br/diegor Universidade Federal do Paraná Setor de Ciências Exatas Departamento de Informática
Aula 15 - Estruturas de Repetição (p3)
BCC701- Programação de Computadores I Aula 15 - Estruturas de Repetição (p3) Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM http://www.decom.ufop.br/bcc701 BCC701-2019-01
Mestrado Integrado em Engenharia Electrotécnica e de Computadores 2006/2007. Programação 2
Mestrado Integrado em Engenharia Electrotécnica e de Computadores 2006/2007 Programação 2 2º Semestre Trabalho Prático P3B Efectue as tarefas de programação descritas abaixo, usando a linguagem C++ em
BCC201 Introdução à Programação ( ) Prof. Reinaldo Silva Fortes. Prática 05 Modularização
BCC Introdução à Programação (4-) Prof. Reinaldo Silva Fortes Funções: Passagem de parâmetros. Prática 5 Modularização ) Escreva uma função que receba um número inteiro e imprima o mês correspondente ao
Resolva os exercícios utilizando a linguagem de programação C
MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SÃO PAULO CAMPUS DE PRESIDENTE EPITÁCIO Resolva os exercícios utilizando a linguagem de programação C 1 Manipulação de dados