Buscar

AP Programação [100]

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

-----------------------------------------------------------------------------------------------------------------------
01/10 Usando uma linguagem de programação C/C++, escreva um programa que receba uma string de até 20 caracteres, conte o número de vogais existentes nesta string e imprima o número total de caracteres da string, o número de vogais nesta string e o percentual de vogais em relação ao comprimento da string.
--------------------------------------------------------------------------------------------------------------
Revisão feita, porem codigo não compila corretamente no visual studio, porem no DEV C codigo funciona normal.
--------------------------------------------------------------------------------------------------------------OK!
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
bool ehVogal(char letra) {
	if (letra == 'a' || letra == 'A' || letra == 'e' || letra == 'E' || letra == 'i' || letra == 'I' || letra == 'o' || letra == 'O' || letra == 'u' || letra == 'U'){
		return true;
	}
	else {
		return false;
	}
}
double porcentagem(int cont, int total) {
	return (double)cont * 100 / (double)total;
}
int main() {
	char frase[21];
	int i = 0, letra = 0, comprimento = 0;
	printf("Digite uma frase de ate 20 caracteres: \n");
	gets_s(frase);
 getchar();
 system("cls");
	comprimento = strlen(string);
	for (i = 0; i < comprimento; i++) {
		if (ehVogal(frase[i])) {
			letra++;
		}
	}
	printf("A frase digitada: %s\n", frase);
	printf("A quantidade de vogais: %d\n", letra);
	printf("O percentual de vogais na frase:%.2f%\n", porcentagem(letra, comprimento));
	system("pause");
	return 0;
}
-----------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------
02/10 - // , escreva um programa que contenha uma função que retorna o seguinte: A função recebe 3 valores float e retornar o quadrado do 1º mais a soma dos outros dois. Observe que esta função deverá retornar um tipo float. O seu programa deverá ter função, permitir a digitação dos números, e imprimir tanto os números digitados quanto o resultado da função.
-------------------------------------------------------------------------------------------------------------------OK!
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
float operacao(float val1, float val2, float val3) {
	return pow(val1, 2) + val2 + val3;
}
int main() {
	float val1 = 0.0, val2 = 0.0, val3 = 0.0;
	printf("Digite o primeiro valor:");
	scanf_s("%f", &val1);
	printf("Digite o segundo valor:");
	scanf_s("%f", &val2);
	printf("Digite o terceiro valor:");
	scanf_s("%f", &val3);
	printf(" O resultado: %.3f", operacao(val1, val2, val3));
	printf("\n");
	system("pause");
	return 0;
}
-----------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------
03 /10 - // , faça um programa que receba duas matrizes 3x3 e imprima, as duas matrizes digitadas e a diagonal principal da matriz resultante do produto entre as duas matrizes digitadas.
---------------------------------------------------------------------------------------------------------------------OK!
#include <stdio.h>
#include <stdlib.h>
int main() {
	int a[3][3] = { 0 }, b[3][3] = { 0 }, mult[3][3] = { 0 };
	int i, j, k;
	system("cls");
	printf("Digite os elementos da primeira matriz\n");
	for (i = 0; i < 3; i++) {
		for (j = 0; j < 3; j++) {
			printf("\n Digite o elemento a[%d][%d]:", i, j);
			scanf_s("%d", &a[i][j]);
		}
	}
	printf("\n\n");
	printf("Digite os elementos da segunda matriz\n");
	for (i = 0; i < 3; i++) {
		for (j = 0; j < 3; j++) {
			printf("\n Digite o elemento b[%d][%d]:", i, j);
			scanf_s("%d", &b[i][j]);
		}
	}
	printf("\n\n A primeira matriz digitada foi:\n");
	for (i = 0; i < 3; i++) {
		for (j = 0; j < 3; j++)
			printf("%d\t", a[i][j]);
		printf("\n");
	}
	printf("\n\n A segunda matriz digitada foi:\n");
		for (i = 0; i < 3; i++) {
			for (j = 0; j < 3; j++)
				printf("%d\t", b[i][j]);
			printf("\n");
		}
	printf("\n\n");
	for (i = 0; i < 3; i++) {
		for (j = 0; j < 3; j++) {
			mult[i][j] = 0;
			for (k = 0; k < 3; k++)
				mult[i][j] = mult[i][j] + a[i][k] * b[k][j];
						}
			}
	printf("\n\n O produto entre as duas matrizes:\n");
	for (i = 0; i < 3; i++) {
		for (j = 0; j < 3; j++)
			printf("%d\t", mult[i][j]);
		printf("\n");
	}
	printf("\n\n A diagonal do produto \n:");
	for (i = 0; i < 3; i++) {
		for(j = 0;j<3;j++){
			if (i == j)
				printf("%d\t", mult[i][j]);
			else
				printf("\t");
					}
		printf("\n\n");
	}
	system("pause");
	return 0;
}
-----------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------
04/10 - // , escreva um programa que preenche um vetor de inteiros com 20 posições de números maiores ou iguais a 10 e menores que 100, e imprima o maior número armazenado neste vetor. Observe que, sempre que o usuário digitar um número fora do intervalo permitido o programa deverá solicitar outro número até que o vetor esteja preenchido. Observe também que o seu programa deverá imprimir, além do maior número armazenado, o vetor contendo os números digitados.
---------------------------------------------------------------------------------------------------------------OK!
#include <stdio.h>
#include <stdlib.h>
int main() {
	int num[20], i, maior = 0;
	for (i = 0; i<20; i++) {
		printf("Informe um valor %d:", i + 1);
		scanf_s("%d", &num[i]);
		if ((num[i] < 10 || num[i] >= 100)) {
			printf("\n Valor invalido %d !\n", i + 1);
			i--;
		}
		else {
			if (num[i]>maior) {
				maior = num[i];
			}
		}
	}
	printf("\n O vetor digitado foi:");
	for (i = 0; i<20; i++) {
		printf("\n num[%d]:%d", i, num[i]);
	}
	printf("\n Maior valor digitado: %d", maior);
	printf("\n\n");
	system("pause");
	return 0;
}
-----------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------
05/10 - //, escreva um programa que recebe o nome, com até 50 caracteres de um aluno e sua nota e grave os dados relativos a até 50 alunos em um arquivo do seu disco. Observe que a nota deverá estar entre zero e dez e números reais são permitidos.
-----------------------------------------------------------------------------------------------------------OK!
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
struct aluno {
	char nome[51];
	float nota;
};
int main() {
	int i = 0, num = 50;
	struct aluno dados[3];
	FILE *arquivo;
	errno_t err;
	for (i = 0; i<num; i++) {
		printf("Digite o nome do aluno \n", i);
			gets_s(dados[i].nome);
			printf(" Digite a nota do aluno \n", i);
			scanf_s("%f", &dados[i].nota);
		getchar();
		system("cls");
	}
	err = fopen_s(&arquivo, "dados.txt", "w+");
	if (err == 0) {
		printf("O arquivo 'dados.txt' foi aberto!");
		for (i = 0; i<num; i++) {
			fprintf(arquivo, "%s;%.2f \n", dados[i].nome, dados);
		}
	}
	else {
		printf("O arquivo não pode ser aberto 'dados.txt' \n");
	}
	if (arquivo) {
		err = fclose(arquivo);
		if (err == 0) {
			printf("\n O arquivo 'dados.txt' foi fechado. \n");
		}
		else {
			printf("\n O arquivo não pode ser fechado 'dados.txt' \n");
		}
	}
	printf("\n\n");
	
		system("pause");
	return 0;
}
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
06/10 - //, escreva um programa que recebe uma string de até 20 caracteres e imprime, a string digitada, um vetor contendo as cinco primeiras vogais da string digitada e um vetor contendo as cinco últimas consoantes da string digitada. Observe que para resolver este problema, o segrama deverá ter uma função para identificar se um caractere e vogal ou não.
--------------------------------------------------------------------------------------------------------------OK!
#include <stdio.h>
#include <stdlib.h>
//detecção de letras.
bool ehVogal(char vogal){
	if (vogal == 'a' || vogal == 'A' || vogal == 'e' || vogal == 'E' || vogal == 'i' || vogal == 'I' || vogal == 'O' || vogal == 'o' || vogal == 'U' || vogal == 'u' ) {
		return true;
	}
	else {
		return false;
	}
}
int main() {
	char vogal[5], consoante[5], frase[21] = { ' ' };
	int i = 0, count = 0;
	printf(" Digite a frase desejada: ");
	gets_s(frase);
		for (i = 0; i<20; i++) {
			if (ehVogal(frase[i]) && count <= 4) {
				vogal[count] = frase[i] /
					count++;
			}
		}
	count = 0;
	for (i = 20; i >= 0; i--) {
		if ((!ehVogal(frase[i]) && frase[i] != '\0' && frase[i] != '\n' && frase[i] != ' ') && count <= 4) {
			consoante[count] = frase[i];
			count++;
		}
	}
	printf("A frase digitada: %s \n", frase);
	printf("As vogais: ");
	for (size_t i = 0; i<5; i++) {
		printf("%c ", vogal[i]);
	}
	printf("As consoantes: ");
	for (size_t i = 0; i<5; i++) {
		printf("%c ", consoante[i]);
	}
	printf("\n\n");
	system("pause");
	return 0;
}
-----------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------
07/10 - //, escreva um programa que imprima a soma dos 10 primeiros números pares entre 1 e 100. Observe que seu programa deverá ter uma função para indicar se um numero e par, imprimir os números selecionados e a soma solicitada.
--------------------------------------------------------------------------------------------------------------- OK!
#include <stdio.h>
#include <stdlib.h>
int main() {
	int num[10], i, j, k;
	int eh_Par(int n) {
		if ((n % 2) == 0)
			return 1;
		else 
			return 0;
	}
	imprime_num() {
		printf("Numeros selecionados:\n");
		for (i - 0; i < 10; i++)
			printf("%i \n", num[i]);
		}
	imprime_soma_num() {
		int soma = 0;
		printf("A soma dos numeros selecionados: \n");
			for (i = 0; i<10; i++)
				soma = soma + num[i];
		printf("%i\n", soma);
	}
	k = 0;
	for (j = 1; j <= 100; j++) {
		if (eh_Par[j] == 1) {
			num[k] = j;
			k++;
			if (k == 10)
				break;
		}
	}
	imprime_num();
	printf("\n");
	imprime_soma_num();
	printf("\n\n");
	system("pause");
	return 0;
-----------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------
08/10 - //, escreva um programa que armazene em um vetor de até 5 posições as informações de nome, idade e sexo. Sabendo que nome e uma string de até 50 caracteres, idade e um interior e sexo e um caractere e que estes dados devem ser armazenados em uma struct.
-----------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------OK!
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct cadastro {
	char nome[50];
	int idade;
	char sexo;
};
int main() {
	struct cadastro aluno[5];
	int i;
	for (int i = 0; i < 5; i++) {
		printf("\n Cadastro de numero: %d", i + 1);
		printf("\n Nome:");
		gets_s(aluno[i].nome);
		printf("\n Idade:");
		scanf_s("%d", &aluno[i].idade);
		printf("\n Sexo (F/M):");
		scanf_s("%c", &aluno[i].sexo);
		getchar();
			}
	system("cls");
	
	printf("Os Alunos cadastrados:");
	for (i = 0; i<5; i++) {
		printf("\n Nome:%s", aluno[i].nome);
		printf("\n Idade: %d", aluno[i].idade);
		printf("\n Sexo: %c", aluno[i].sexo);
	}
	printf("\n\n");
	system("pause");
	return 0;
}
------------------------------------------------------------------------------------------------------------------------
09/10 - //, escreva um programa que receba uma string de até 20 caracteres e imprima a string digitada e esta mesma string em ordem inversa com todas as vogais substituídas pelo caractere @.
-----------------------------------------------------------------------------------------------------------Revisar!
#include <stdio.h>
#include <stdlib.h>
bool ehVogal(char vogal){
if (vogal == 'a' || vogal == 'A' || vogal == 'e' || vogal == 'E' || vogal == 'i' || vogal == 'I' || vogal == 'o' || vogal == 'O' || vogal == 'u' || vogal == 'U' ){
return true;
}
else {
return false;
}
}
int main(){
char frase[21] = { ' ' };
int i = 0;
// digitando a frase e mostrando em tela.
printf ("Digite a frase desejada: ");
gets_s ( frase );
printf ("\n A frase digitada: %s\n", frase);
// invertendo a frase e convertendo vogal em @
printf ("\n Invertendo e substituindo: ");
for (i=19; i>=0; i--){
 if (ehVogal(frase[i])){
 frase[i] = '@';
 }
printf("%c",frase[i]);
}
system("pause");
return 0;
}
-----------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------
10/10 - //, o aluno deverá escrever um programa que receba uma matriz 3x3 de números inteiros e imprima, na tela do console, tanto a matriz digitada quanto a diagonal principal da mesma.
--------------------------------------------------------------------------------------------------------------OK!
#include <stdio.h>
#include <stdlib.h>
int main () {
int matriz [3][3] = { };
int i,j;
	for (i = 0; i < 3; i++) {
		for (j = 0; j < 3; j++) {
			printf("\n Digite os elemento da matriz [%d][%d]:", i,j);
			scanf_s("%d", &matriz[i][j]);
		}
	}
printf("\n\n");
	printf("\n\n A matriz digitada foi:\n");
	for (i = 0; i < 3; i++) {
		for (j = 0; j < 3; j++)
			printf("%d\t", matriz[i][j]);
		printf("\n");
	}
	printf("\n\n");
printf("\n\n A diagonal da matriz \n:");
	for (i = 0; i < 3; i++) {
		for(j = 0;j<3;j++){
			if (i == j)
				printf("%d\t", matriz[i][j]);
			else
				printf("\t");
					}
		printf("\n\n");
	}
system("pause");
return 0;
}
-----------------------------------------------------------------------------------------------------------------------

Outros materiais