7 a Lista de Exercícios Assunto: Funções e passagem por referência com vetor e matriz (Tópico 7)

Documentos relacionados
1ª Lista de Exercícios

Exercícios Repetição

Exercícios: Vetores e Matrizes

Exercícios de Linguagem C

BAC004 Informática Teórica T2 Professora: Fabiana Costa Guedes Lista 05 Vetores e Matrizes Vetores

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)

1. Faça um programa que leia uma string digitada pelo usuário e salve em um arquivo em branco.

Comandos de desvio de fluxo. Expressões lógicas.

CADERNO DE EXERCÍCIOS ALGORITMOS

Universidade Federal de Mato Grosso do Sul. Lista de Exercícios 2

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO - CAMPUS CAXIAS. Aluno (s): 01 ATIVIDADE. Revisão de Conteúdo

Exercícios: Comandos de Repetição

Lista de Exercícios Estrutura de Repetição

controle de fluxo repetições iterativas

1. Faça uma função que recebe por parâmetro o raio de uma esfera e calcula o seu volume.

Exercícios sobre algoritmos

Recursividade. Estrutura de Dados. Prof. Kleber Rezende

INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO. Lista de Exercícios de Linguagem C

GEQ Prof. Paulo R. Coelho. Lista para prova

que imprima os n primeiros termos da série de Fibonacci, lembrando que esta série é definida da seguinte forma:

69) Acrescentar uma mensagem de VALOR INVÁLIDO no exercício [68], caso o segundo valor informado seja ZERO.

Algoritmos e Lógica de Programação. 6ª Lista de Exercícios Comandos de Repetição

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA

1. Para cada pergunta selecione uma opção. Resposta correta +2, incorreta -1. [12 pontos]

Resolva os exercícios utilizando a linguagem de programação C

Aula 5 ESTRUTURAS DE REPETIÇÃO (WHILE)

Aula 14: Repetição (Parte 2)

Exercícios. 1. O que escreva o programa abaixo? Por que? 2. O que escreva o programa abaixo? Por que? algoritmo "foo" var a: inteiro

Universidade Federal de Ouro Preto UFOP. Instituto de Ciências Exatas e Biológicas ICEB. Departamento de Computação DECOM

4ª Lista de Exercícios de Programação I

Fixação de conteúdo teórico

Matrizes. DCC 119 Algoritmos

Exercícios V1 = V2 = V1 = V2 =

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.

SSC Introdução à Programação para Engenharias. Lista 01 Entrega em 06/04/ h10

4ª Lista de Exercícios de Programação I

Fundamentos de Programação Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte 15 de maio de 2018.

Waldemar Celes e Roberto Ierusalimschy. 29 de Fevereiro de 2012

Universidade Federal de Ouro Preto UFOP. Instituto de Ciências Exatas e Biológicas ICEB. Departamento de Computação DECOM

LISTA DE EXERCÍCIOS: 1ª Unidade

Universidade Federal do ABC Programação Estruturada Fabrício Olivetti França Lista de Exercícios 02

DCC001 - Programação de Computadores. Lista de Exercícios 02 - Estruturas de Dados Homogêneas (Vetores).

Universidade Estadual de Feira de Santana Departamento de Ciências Exatas. Clone do MatLab. João Carlos Nunes Bittencourt. Feira de Santana, 2008

Série de Exercícios - Comandos Repetitivos 1. Codificar o algoritmo para imprimir os N primeiros números naturais pares.

Lógica de Programação Módulo I Prof.: Ricardo Lokchin. Fazer os exercícios abaixo na Linguagem C ou em ALGORITMOS.

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

Registros, Vetores e Matrizes

Lógica e Linguagem de Programação Aula 03 - Estruturas de controle Estrutura Condicional - Exercícios Resolvidos Professor: Danilo Giacobo

LISTA DE EXERCÍCIOS - ro. 04

Programação de Computadores 1 Lista 2. Prof. Álvaro A. F. de Souza DECSI - ICEA - UFOP

Estruturas de Repetição. Vanessa Braganholo

CA II Variável Composta

Estrutura de decisão

Aula 8 Comandos de Seleção

Estruturas de Repetição. Leonardo Murta

Lista de Exercícios sobre Recursividade

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

UNIVERSIDADE DA BEIRA INTERIOR

Grupo B Estruturas de Repetição

PROGRAMAÇÃO FUNÇÕES NA LINGUAGEM C

Comandos de desvio de fluxo. Expressões lógicas.

LP II Estrutura de Dados

Lógica de Programação I

1. Escreva um algoritmo em fluxograma que descreva a sequência 1, 5, 13, 17, 21, 25,?,?,?,?. Ou seja, até o seu 10º termo.

INF 1620 P1-13/09/02 Questão 1 Nome:

Campus de Sorocaba. Lista de Exercícios Recuperação Introdução à Ciência da Computação 1º Semestre de 2016

UNIVERSIDADE ESTADUAL PAULISTA Julio de Mesquita Filho" FACULDADE DE ENGENHARIA

algoritmo "exercício 22 resposta incorreta" var A, i: inteiro eh_primo: logico inicio repita escreva ("Entre com um valor inteiro positivo: ") leia

1. Escreva um programa que imprima a ordem reversa de caracteres de uma string digitada pelo usuário. Ex: Entrada: Hello World. Saída:.

Exercícios: Recursão

Algoritmo. Prof. Anderson Almeida Ferreira. Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação

Fixação de conteúdo teórico

Lista de Exercícios 03a Repetição. 1) Escreva um programa que imprima todos os números inteiros de 0 a 50.

Agenda. Programação estruturada. Sequência. Decisão: Desvio de fluxo INTRODUÇÃO. Expressões lógicas.

Estruturas de Repetição

Resposta da pergunta 2: Θ(n 3 ). Resposta da pergunta 8: 1. 7 O(n). Sim. 22. n log n O(1). Não. 3. n + 7 O(n). Sim. 4. n + 7 O(1). Não.

Lista de Exercícios 03a Algoritmos Repetição

9. imprimir o fatorial do número 10. imprimir o sucessor e o anterior de um número lido 11. Imprimir se um número é primo ou não 12. Imprimir os 100 p

Curso: Técnico em Informática Integrado Disciplina: Algoritmos Carga horária: 60h (80h/a) Período: 2º Ano Professor: Edmilson Barbalho Campos Neto

Lista de Exercícios 03a Algoritmos Repetição. 1) Escreva um algoritmo em PORTUGOL que imprima todos os números inteiros de 0 a 50.

Programação científica C++

INF1005: Programação 1. Repetições. 08/03/10 (c) Paula Rodrigues 1

ALGORITMOS AVANÇADOS UNIDADE II Recursividade. Luiz Leão

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

, cosh (x) = ex + e x. , tanh (x) = ex e x 2

Prática 10 - Funções

Exercícios Aula Prática XIV

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Lista de exercícios estrutura de repetição FOR e While. 3. Criar um algoritmo que imprima a soma dos nu meros pares de 230 a 520..

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA DE CIÊNCIAS E TECNOLOGIA. ECT1203 Linguagem de Programação Turma Prof.

Algoritmos Estrutura Condicional

Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Quarta Aula Prática - 17 de abril de 2013

TCC 00308: Programação de Computadores I Introdução

Segundo trabalho prático de implementação Sistema de reserva de assentos

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA

Transcrição:

7 a Lista de Exercícios Assunto: Funções e passagem por referência com vetor e matriz (Tópico 7) Essa lista de exercícios tem como objetivo principal desenvolver algoritmos a partir dos conteúdos abordados em sala de aula. Todos os exercícios também devem ser implementados em linguagem C. Nos programas que pedem para implementar apenas funções desenvolva também o programa principal (main) para testá-los. 1. Desenvolva uma função que receba dois pontos no plano cartesiano (x 1, y 1 ), (x 2, y 2 ), calcule e retorne a distância entre esses pontos. 2. Desenvolva uma função que receba um número n, calcule e retorne o somatório de 1 até n. 3. Desenvolva uma função que calcule se um número n é primo. Caso o número seja primo retorne 1 e 0, caso contrário. 4. Desenvolva uma função que acha as raízes de uma equação de segundo grau. Implemente uma função para calcular o valor do delta. Além disso, emita uma mensagem caso a equação não seja de segundo grau ou não tenha raízes reais. 5. Desenvolva uma função que calcule e retorne o fatorial de um número n. 6. Desenvolva uma função que calcule e retorne o enésimo termo de fibonacci. 7. Desenvolva duas funções que recebam 3 números inteiros e retornem o Máximo Divisor Comum (MDC) e o Mínimo Múltiplo Comum (MMC) desses números. Crie um programa que leia 3 números inteiros e mostre o MDC e o MMC desses números. 8. Fazer uma função para calcular a raiz quadrada de um número positivo, baseado no método de aproximações sucessivas de Newton: Seja Y > 0 o número e N > 0 a quantidade de aproximações. A primeira aproximação para a raiz de Y é X 1 = Y 2. As demais aproximações serão X n+1 = X2 n +Y 2X n 9. Numa fábrica trabalham homens e mulheres divididos em três classes: A os que fazem até 30 peças por mês. B os que fazem de 31 a 35 peças por mês. C os que fazem mais que 35 peças por mês. A classe A recebe salário-mínimo. A classe B recebe salário-mínimo e mais 3% do salário-mínimo por peça acima das 30 inicias. A classe C recebe salário-mínimo e mais 5% do salário-mínimo por peça acima das 30 iniciais. Desenvolve um programa com os seguintes requisitos:

(a) Uma função que cadastre o nome, número de peças fabricadas por mês e o sexo de n funcionários. A quantidade de funcionários é definida pelo usuário. (b) Uma função que armazene em uma estrutura de dados o salário de todos os funcionários. (c) Uma função que calcule o valor total da folha de pagamento da fábrica. (d) Uma função que calcule a média de salários dos homens. (e) Uma função que calcule a média de peças fabricadas pelas mulheres em cada classe. (f) Uma função que exibe o nome, sexo e quantidade de peças fabricadas pelo funcionário de maior salário (suponha que não exite empate). 10. Utilizando funções, desenvolva um programa que exiba um menu com as seguintes opções: 1. w = u + v (soma de vetores). 2. < u.v > (produto vetorial). 3. u = α v (produto vetor por escalar). O programa deve atender aos seguintes requisitos: (a) Os vetores são sempre gerados aleatoriamente dentro de um intervalo [min, max] definido pelo usuário. Os valores gerados devem pertencer ao domínio dos números reais. (b) Os vetores não podem ser gerados antecipadamente, ou seja, eles devem ser gerados a partir da opção escolhida pelo usuário. (c) Para cada opção selecionado, os vetores gerados devem ser impressos. Da mesma forma, os vetores resultantes também devem ser impressos. (d) A consistência da operação deve ser avaliada, ou seja, o usuário deve ser obrigado a digitar as dimensões para vetores que permitam a execução da operação. O programa deve tratar tal situação. 11. Utilizando funções, desenvolva um programa que exiba um menu com as seguintes opções: 1. C = A + B (soma de matrizes). 2. A t (matriz transposta). 3. u = A v (produto matriz por vetor). 4. C = A B (produto de matrizes). O programa deve atender aos seguintes requisitos: (a) As matrizes e vetores são sempre gerados aleatoriamente dentro de um intervalo [min, max] definido pelo usuário. Os valores gerados devem pertencer ao domínio dos números reais. (b) As matrizes e vetores não podem ser gerados antecipadamente, ou seja, eles devem ser gerados a partir da opção escolhida pelo usuário. Page 2

(c) Para cada opção selecionado, as matrizes e vetores gerados devem ser impressos. Da mesma forma, os vetores e matrizes resultantes também devem ser impressos. (d) A consistência da operação deve ser avaliada, ou seja, o usuário deve ser obrigado a digitar as dimensões para vetores e matrizes que permitam a execução da operação. O programa deve tratar tal situação. 12. Desenvolva uma função a partir do pseudocódigo abaixo. O vetor deverá ser gerado função para iniciar o vetor. A dimensão do vetor também é definida pelo usuário. Logo, no programa principal, inclua uma chamada para a função que inicia o vetor e outra chamada para a função descrita no pseudocódigo. Você também irá precisar de uma função que imprima o vetor gerado e o vetor após a execução da função descrita abaixo. O que exatamente esse código está fazendo? Tente entender o seu funcionamento. Algorithm 1 Faco algo com vetor1 Require: v[1...size] i 1 j 0 for i < Size do for j < Size 1 do if v[j] > v[j + 1] then aux v[j] v[j] v[j + 1] v[j + 1] aux j j + 1 end for i i + 1 end for 13. Desenvolva um programa que utilize funções distintas para calcular a média, mediana e moda para um conjunto de dados. O conjunto de dados é formado por valores inteiros dentro de um intervalo definido pelo usuário. Dicas: 1. Utilize a função que inicializa o vetor do exercício anterior. 2. A mediana é o valor intermediário. Para determinar esse valor, você precisará executar primeiro a função descrita no pseudocódigo do exercício anterior. 3. A moda é o valor que ocorre com maior frequência entre os dados. 4. O conjunto de dados deve conter pelo menos 100 elementos. 14. Desenvolva uma função a partir do pseudocódigo abaixo. O vetor deverá ser gerado função para iniciar o vetor. A dimensão do vetor também é definida pelo usuário. O valor de value é fornecido pelo usuário e deve estar dentro do intervalo [Min,Max]. Seu Page 3

código deve tratar quando o usuário entrar com um valor fora do intervalo. Logo, no programa principal, inclua uma chamada para a função que inicia o vetor, receba o value e chame a função descrita no pseudocódigo. Você também irá precisar de uma função que imprima o vetor gerado. Algorithm 2 Faco algo com vetor2 Require: v[1...size], value i 0 while i < Size and v[i] value do i i + 1 end while if v[i] = value then return i return 0 15. Desenvolva uma função a partir do pseudocódigo abaixo. O vetor deverá ser gerado função para iniciar o vetor. A dimensão do vetor também é definida pelo usuário. O valor de value é fornecido pelo usuário e deve estar dentro do intervalo [Min,Max]. Seu código deve tratar quando o usuário entrar com um valor fora do intervalo. Logo, no programa principal, inclua uma chamada para a função que inicia o vetor, receba o value e chame a função descrita no pseudocódigo. Você também irá precisar de uma função que imprima o vetor gerado. Algorithm 3 Faco algo com vetor3 Require: v[1...size], value Faco algo com vetor1(v) i 0 j Size 1 while i < j do m (i + j)/2 if value > v[m] then i m + 1 j m end while if v[i] = value then return i return 0 Page 4

16. Desenvolva um algoritmo que verifica se uma data composta por 3 números inteiros (dia, mês e ano) é válida ou não. Para isso, implemente as seguintes funções: (a) Verificar se um ano é válido (aceitar anos entre 0 e 9999). (b) Verificar se um mês é válido (aceitar mês entre 1 e 12). (c) Verificar se um ano é bissexto. (d) Retornar quantos dias tem um mês (dias do mês) em um determinado ano. (e) Verificar se um dia é válido (aceitar dia entre 1 e dias do mês). 17. Modularize o programa do jogo da velha definido na lista 5. Para isto crie as seguintes funções: (a) Função para escrever o tabuleiro: void escrevertabuleiro(char matriz[][tam]). (b) Função para preencher o tabuleiro: void preenchertabuleiro(char matriz[][tam], int movlinha, int movcoluna). (c) Função para verificar o estado do jogo (Xganhou, Oganhou, empate): void verifica- Jogo(char matriz[][tam]). Page 5