Você está na página 1de 17

Colegiado de Engenharia da Computação

Universidade Federal do Vale do São Francisco

CCMP0016 – Algoritmo e Programação


Relatório da Aula de Laboratório

RELATÓRIO
Faça o relatório formatado dos itens a, b, c e d dos Exercícios. Em que:
a = 1 + (p1 % N), p1 = 5*(5+M+N) + N*D*(D+M)
b = 1 + (p2 % N), p2 = D*(M+5 ) + N*(M+D)
c = 1 + (p3 % N), p3 = M*(D+5 ) + 5*N*M*D
d = 1 + (p4 % N), p4 = 5*D*M + N;
Sendo D e M o dia e o mês do seu aniversário, respectivamente; e N o
número de questões da lista dos correspondentes Exercícios.

Calculando a partir do programa:

#include <stdio.h>
int main ()
{
int p1, M, N, D, p2, p3, p4, a, b, c, d;
D=20;
M=11;
N=93;
p1 = 5*(5+M+N) + N*D*(D+M);
a = 1 + (p1 % N);
printf ("a= %d", a);
p2 = D*(M+5 ) + N*(M+D);
b = 1 + (p2 % N);
printf ("\nb= %d", b);
p3 = M*(D+5 ) + 5*N*M*D;
c = 1 + (p3 % N);
printf ("\nc= %d", c);
p4 = 5*D*M + N;
d = 1 + (p4 % N);
printf ("\nd= %d", d);

return 0;
}

Teremos:
Exercício - a
81. Desenvolva uma solução geral (qualquer número de linhas e qualquer
número de colunas) para imprimir o padrão c, da figura abaixo.
*************
*
*************
*
*************
*
*************

Dicionário de dados
Variável Descrição Tipo de dado Valor inicial Processo
linhas Recebe o numero int 13 P
de linhas
i Auxilia a int 0 P
manipulação
entre as
linhas
j Auxilia a int 0 P
manipulação
entre as
colunas

Plano de teste

Não se faz necessário.


Programa-fonte
#include <stdio.h>
int main() {
int linhas;
linhas= 7;
for (int i = 0; i < linhas; i++) {
if (i % 2 == 0) {
for (int j = 0; j < 13; j++) {
printf("*"); }
} else {
printf(" *");}
printf("\n"); }
return 0;}
Fluxograma

inicio

Numero
de
linhas=
13

Linhas
impares
Linhas pares
contem
contem
espaços e um
asteriscos
asterisco no
meio

Figura
desejada

fim
Descrição linha a linha
# Programa-fonte Descrição

1 #include <stdio.h> Esta linha inclui a biblioteca


padrão de entrada e saída em C,
que contém funções para entrada e
saída de dad
2 int main() { Esta é a função principal do
programa, onde a execução do código
começa.
3 int linhas; Declara a variável linha do tipo
inteiro
4 linhas= 7; Dá o valor de linha igual a 7

5 for (int i = 0; i < Faz a variável inteira i variar de


linhas; i++) { 0 a 7
6 if (i % 2 == 0) { Verifica se o numero de i é par

7 for (int j = 0; j < 13; j+ Faz a variável j variar de 0 a 13,


+) { que
8 printf("*"); } Imprime um asterisco (*) a cada
linha par
9 } else { Se não for par ou seja, se for
impar
10 printf(" *");} Imprime o asterisco na sétima casa

11 printf("\n"); } Pula uma linha

12 return 0;} Indica o término da função main e


retorna o valor 0 para o sistema
operacional

Imagens da execução
Exercício - b
42. Faça um programa que leia números reais maiores do que zero. Quando
for lido o número zero, o programa deverá apresentar a mádia dos números
lidos.

Dicionário de dados
Variável Descrição Tipo de dado Valor inicial Processo
numero Recebe o numero double input E
real digitado
soma Faz a soma dos double 0 P
números
digitados
quantidade Verifica a int 0 P
quantidade de
números
digitados
media Calcula a double 0 P
média dos
números
digitados

Plano de teste

Teste n* numero soma quantidade media

1 10, 15, 20, 90 135 4 33,75

2 80, 80, 80, 400 5 80


80,80
3 45, 17, 13, 249 6 41,5
38, 78, 58
Programa-fonte
#include <stdio.h>
int main() {
double numero, soma = 0.0;
int quantidade = 0;
printf("Digite números reais maiores que zero. Insira 0 para
calcular a média.\n");
do {
printf("Digite um número: ");
scanf("%lf", &numero);
if (numero > 0) {
soma += numero;
quantidade++; }
else if (numero < 0) {
printf("Por favor, digite um número maior que zero.\n");} }
while (numero != 0);
if (quantidade > 0) {
double media = soma / quantidade;
printf("A média dos números lidos é: %.2lf\n", media);}
else {
printf("Nenhum número válido foi inserido.\n");}
return 0;}
Fluxograma

inicio

Numero
real, soma
e
quantidade
= 0

Se não

Numero=0 Se sim

Media=
soma/quantidade

Exibe a média

inicio
Descrição linha a linha
# Programa Descrição

1 #include <stdio.h> Esta linha inclui a biblioteca padrão


de entrada e saída em C,
que contém funções para entrada e
saída de dados.
2 int main() { Esta é a função principal do programa,
onde a execução do código começa.
3 double numero, soma = 0.0; Declara as variáveis do tipo double e
inicializa com a soma com valor 0
4 int quantidade = 0; Declara a variável inteira quantidade
e inicializa com 0
5 printf("Digite números reais Imprime instrução para o usuário
maiores que zero. Insira 0 digitar o numero e condição para a
para calcular a média.\n"); média
6 do { Função do para executar comandos

7 printf("Digite um número: Imprime instrução para que o usuário


"); digite um número
8 scanf("%lf", &numero); Recebe e armazena o número

9 if (numero > 0) { Se o número for maior que 0 realizarão


as seguintes ordens
10 soma += numero; Faz soma mais o número

11 quantidade++; } Acrescenta mais um a quantidade

12 else if (numero < 0) { Se for diferente de maior que 0 e


menor que 0
13 printf("Por favor, digite um Imprime que o usuário precisa digitar
número maior que zero.\n");} um numero maior que 0
}
14 while (numero != 0); Faz tudo que tá acima enquanto o
numero for diferente de 0
15 if (quantidade > 0) { Se a quantidade for maior que 0

16 double media = soma / Declara media e realiza seu calculo


quantidade;
17 printf("A média dos números Exibe na tela a média
lidos é: %.2lf\n", media);}

18 else { Se não for maior que 0

19 printf("Nenhum número válido Imprime que os numeros digitados não


foi inserido.\n");} são válidos
20 return 0;} Finaliza o programa e retorna um valor
0
Imagens da execução
1

3
Exercício - c
90. Faça um programa em C para calcular valores da série S=∑i=120(−1)i
x2i2i, para x = 0.75.

Dicionário de dados
Variável Descrição Tipo de dado Valor inicial Processo
x Recebe o numero double 0,75 E
de x
S Recebe o valor double 0 P
de séries
i Auxilia a int 1 P
quantidade de
séries
termo Recebe o termo double calculo P
a ser
calculado

Plano de teste

Como só temos x= 0,75, calculando teremos S= -0,223143.

Programa-fonte
#include <stdio.h>
#include <math.h>
int main() {
double x = 0.75;
double S = 0.0;
for (int i = 1; i <= 20; i++) {
double termo = pow(-1, i) * (pow(x, 2 * i) / (2 * i));
S += termo; }
printf("O valor da série S é: %lf\n", S);
return 0;}
Fluxograma

inicio

X=0,75,
S,
termo,
i

Valor de s

inicio

Imagens da execução
Exercício - d

78. Faça um programa que receba um conjunto de valores inteiros e


positivos, calcule e mostre o maior e o menor valor do conjunto.
Considere que:
▪ para encerrar a entrada de dados, deve ser digitado o valor zero;
▪ para valores negativos, deve ser enviada uma mensagem;
▪ os valores negativos ou iguais a zero não entrarão nos cálculos.

Dicionário de dados
Variável Descrição Tipo de dado Valor inicial Processo
valor Recebe o valor int input E
digitado
maior Recebe um int input P
valor e exibe
se como maior
se ele for
menor Recebe um int input P
valor e exibe
se como menor
se ele for

Plano de teste
Teste n* valor maior menor

1 2, 3, 4, 5, 9 9 2

2 45, 70, 54, 78 78 45

3 1, 88, 100, 47 100 1


Programa-fonte
#include <stdio.h>
int main() {
int valor, maior, menor;
printf("Digite um conjunto de valores inteiros e positivos. Digite 0
para encerrar:\n");
do {
printf("Digite um valor: ");
scanf("%d", &valor);
} while (valor <= 0);
maior = menor = valor;
while (1) {
printf("Digite um valor: ");
scanf("%d", &valor);
if (valor == 0) {
break;
} else if (valor <= 0) {
printf("Valor inválido. Digite um valor inteiro e positivo.\
n");
} else {
if (valor > maior) {
maior = valor; }
if (valor < menor) {
menor = valor; } } }
printf("Maior valor: %d\n", maior);
printf("Menor valor: %d\n", menor);
return 0;}
Fluxograma

inicio

Valor

Se não

valor= Se sim
0

Maior valor

Menor valor

Fim
Descrição linha a linha
# Programa Descrição

1 #include <stdio.h> Esta linha inclui a biblioteca padrão de


entrada e saída em C,
que contém funções para entrada e saída
de dados.
2 int main() { Esta é a função principal do programa,
onde a execução do código começa.
3 int valor, maior, menor; Declara as variáveis inteiras valor,
maior e menor
4 printf("Digite um Imprime instrução para o usuário saber o
conjunto de valores que fazer
inteiros e positivos.
Digite 0 para encerrar:\
n");
5 do { Faz os seguintes comandos

6 printf("Digite um valor: Imprime instrução para o usuário digitar


"); um valor
7 scanf("%d", &valor); Recebe o valor digitado e armazena na
variável
8 } while (valor <= 0); Enquanto o valor for positivo

9 maior = menor = valor; Atribui com valor inicial para as


variáveis menor e maior o valor
10 while (1) { Entra no loop sempre

11 printf("Digite um valor: Imprime instrução para o usuário digitar


"); um valor
12 scanf("%d", &valor); Recebe o valor digitado e armazena na
variável
13 if (valor == 0) { Se o valor for igual a 0 executa o
seguinte comando
14 break; Para o programa nesse ponto

15 } else if (valor <= 0) { Se o valor for menor que 0

16 printf("Valor inválido. Imprime mensagem de que o valor é


Digite um valor inteiro e inválido por não é positivo
positivo.\n");
17 } else { Se não for

18 if (valor > maior) { Se o novo valor digitado for maior que o


antigo
19 maior = valor; } Atribui novos valores para o maior se
for preciso
20 if (valor < menor) { Se o novo valor digitado for menor que o
antigo
21 menor = valor; }}} Atribui novos valores para o menor se
for preciso
22 printf("Maior valor: %d\ Imprime na tela o maior valor
n", maior);
23 printf("Menor valor: %d\ Imprime na tela o menor valor
n", menor);
24 return 0;} Indica o término da função main e
retorna o valor 0 para o sistema
operacional

Imagens da execução
1

2
3

Você também pode gostar