-
Conteúdo Similar
-
Por Jehlemos
Olá,
Boa Tarde!
Estou em uma plataforma de estudos no qual se executa exercícios e testes, o enunciado é:
Escreva a função pode SeAposentar que recebe por parâmetro a idade, o sexo e os anos de contribuição previdenciária que uma pessoa tem, exemplo: podeSeAposentar(62, "F", 34) true.
A idade mínima para se aposentar para mulheres é 60 anos, enquanto que para homens é 65. Em ambos os casos, deve ter pelo menos 30 anos de contribuição.
function podeSeAposentar (idade, sexo, anosTrabalhados) { if(anosTrabalhados >= 40) { if(sexo == "F") { if(idade >= 60) { return true; } } else if(sexo == "M") { if(idade>= 65){ return true; } } } return false; }
>
Sua solução funcionou, mas aponta o seguinte erro:
Objetivos que não foram atendidos: podeSeAposentar faz comparações contra strings.
**O que está errado? Alguém pode me ajudar?**
Obrigada!
-
Por FILIPEINFORMATICA10
uses Crt; var X, Y : Integer; begin Writeln ('Entre com dois Números:'); { Mostra na tela a mensagem} Readln (X, Y); { Lê os dois números } If (X = Y) Then {Condição - SE X for igual a Y} Begin {INICIO - Repare abaixo que existe duas instruções, dois comandos Writeln, por isso estão entre BEGIN e END} Writeln ('X é igual que Y'); Writeln ('O Valor de X é =', X); End; {FIM} end. -
Por flavionorvel
#include <stdio.h>
#include <stdlib.h>
// Limites de tamanhos
#define MINIMO 2
#define MAXIMO 50
// Variáveis globais
int opcao = 0;
int linhas = MAXIMO;
int colunas = MAXIMO;
int matrizA[MAXIMO][MAXIMO];
int matrizB[MAXIMO][MAXIMO];
void limpar_tela();
// Retorna resposta do usuario se quer rodar novamente
int rodar_novamente()
{
int opcao = 0;
printf("\n\nDeseja rodar novamente? Digite 1 para SIM e 0 para Não: ");
scanf("%d",&opcao);
if (opcao == 1 || opcao == 0) {
return opcao;
}
printf("\nOpcao invalida. Escolha novamente.");
return rodar_novamente();
}
// Recebe valor inteiro do usuario
int receber_numero()
{
int numero = 0;
scanf("%d",&numero);
if (numero >0) {
return numero;
}
printf("\nNúmero inválido. digite um número positivo.: ");
return receber_numero();
}
// Valida tamanhos de linhas e colunas
int validar_tamanhos(int linhas, int colunas)
{
if ((linhas >= MINIMO && linhas <= MAXIMO) && (colunas >= MINIMO && colunas <= MAXIMO) && (linhas !
= colunas)) {
return 1;
}
printf("\nLinhas e Colunas devem ser diferentes e ter valores entre %d e %d. Tente
novamente.",MINIMO,MAXIMO);
return 0;
}
// Preencher matriz
void preencher_matriz(int matriz[MAXIMO][MAXIMO], int linhas, int colunas)
{
int i,j;
for (i = 0 ; i < linhas ; i ++) {
for (j = 0 ; j < colunas ; j ++) {
printf("\nDigite um valor inteiro para a posicao %d-%d da matriz A: ",i,j);
matriz[j] = receber_numero();
}
}
}
// Imprimir matrizes
void imprimir_matrizes(int matrizA[MAXIMO][MAXIMO], int matrizB[MAXIMO][MAXIMO], int linhas, int
colunas)
{
int i,j;
limpar_tela();
printf("\n\nMATRIZ A\n");
for (i = 0 ; i < linhas ; i++) {
for (j = 0 ; j < colunas ; j ++) {
printf("\nMATRIZ A POSICAO %d-%d: %d",i,j,matrizA[j]);
}
}
printf("\n\nMATRIZ B (TRANSPOSTA DE A)\n");
for (i = 0 ; i < colunas ; i++) {
for (j = 0 ; j < linhas ; j ++) {
printf("\nMATRIZ B POSICAO %d-%d: %d",i,j,matrizB[j]);
}
}
}
void limpar_tela()
{
system("@cls||clear");
}
// Laço principal
int main()
{
int i,j;
do {
//Inicializar variáveis
opcao = 0;
linhas = 0;
colunas = 0;
i = 0;
j = 0;
do {
printf("\nEntre com o tamanho para linhas: ");
linhas = receber_numero();
printf("\nEntre com o tamanho para colunas: ");
colunas = receber_numero();
} while (!validar_tamanhos(linhas,colunas));
// entrar com valores para a matriz A
preencher_matriz(matrizA, linhas, colunas);
// criar matriz transposta de A
for(i = 0 ; i < linhas ; i ++) {
for(j = 0 ; j < colunas ;j ++) {
matrizB[j] = matrizA[j];
}
}
// Imprimir matrizes
imprimir_matrizes(matrizA,matrizB,linhas, colunas);
// Pergunta ao usuário se quer continuar
opcao = rodar_novamente();
} while (opcao == 1);
}me
-
Por AnotherSunset
Boa noite/dia gente. Preciso de ajuda aqui. Tenho um exercício no qual tenho de fazer um programa em pascal com o seguinte enunciado:
Considere a soma S dos termo da série infinita apresentada abaixo:
Fazer um programa em Free Pascal que calcule o valor aproximado da soma S dos termos da série até o momento em que a diferença das normas (módulo) de 2 termos consecutivos for menor que 0,000001 ({i.e.}, norma da diferença das normas de dois termos consecutivos).
Segue meu algoritmos/programa:
program calcserie;
var
soma, a1, a2, an : real;
sinal : longint;
cont, n, fat : integer;
begin
n := 0;
a1 := 1;
a2 := 0;
soma := 0;
cont := 1;
fat := 1;
an := 1;
sinal := 1;
while (an) > 0.000001 do
begin
n := n + 2;
while cont <= n do
begin
fat := fat * cont;
cont := cont + 1;
end;
soma := (soma + (a1 * sinal));
sinal := sinal * -1;
a2 := a1;
a1 := ((1/fat));
if (a2 < 0) then
an := (a2 * -1) - a1
else if (a1 < 0) then
an := (a2) - (a1 * -1);
end;
write (soma:0:15);
end.
Meu erro está sendo a partir da 3 casa decimal
-