Disciplina: Introdução à Programação
Professor: Angelo Mondaini Calvão
Data: ___ / ___ / 2024
Primeira Prova - 2º Semestre de 2024
Nome do Aluno: ______________________________ Matrícula: ____________
Escreva uma função chamada 'buscarElemento' que recebe como parâmetros: um array de inteiros, o tamanho do array, o elemento a ser buscado, e uma referência para uma variável que armazenará a posição do elemento encontrado. A função deve retornar um valor booleano (bool): true se o elemento for encontrado, false caso contrário. Se encontrado, atualize a variável de referência com a primeira posição do elemento.
Implemente uma função chamada 'ordenarArray' que ordena um array de números inteiros. Parâmetros: array de inteiros, tamanho do array, flag para indicar ordem (crescente/decrescente). Ordene in-place, sem usar funções prontas da biblioteca padrão. Comente explicando o algoritmo escolhido e o uso da flag.
Crie a função 'gerarSequencia' que preenche um array com uma sequência específica. Parâmetros: array de inteiros e seu tamanho. Preencha: primeiras duas posições com 1, elementos seguintes somam os dois anteriores. Para arrays menores que 2, preencha as posições disponíveis com 1. Use um loop e garanta funcionamento para diferentes tamanhos.
Implemente 'trocarArraysInverso' que troca elementos de dois arrays na ordem inversa. Parâmetros: dois arrays de inteiros e seu tamanho (igual para ambos). Troque: primeiro elemento do primeiro array com o último do segundo, e assim por diante. Use um loop, sem array adicional. Explique a lógica usada.
Implemente a função 'avaliarMudancaMarcha' que simula recomendações de mudança de marcha para um carro. Parâmetros: RPM, velocidade (km/h), marcha atual (1-5). Retorne: "Subir Marcha", "Descer Marcha" ou "Manter Marcha".
| Marcha | Faixa de RPM ideal | Faixa de Velocidade ideal (km/h) |
|---|---|---|
| 1 | 1000 - 2500 | 0 - 20 |
| 2 | 1500 - 3000 | 15 - 40 |
| 3 | 2000 - 3500 | 30 - 60 |
| 4 | 2500 - 4000 | 50 - 80 |
| 5 | 3000 - 4500 | 70+ |
Dicas de implementação:
Crie uma lógica clara e eficiente que possa lidar com todos os casos possíveis de entrada.
Boa Prova!