Arquivado
Este tópico foi arquivado e está fechado para novas respostas.
- 0
pascal Algoritmo_pascal
Perguntado por
Temóteo Francisco
-
Conteúdo Similar
-
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
-
Por viniciusSantana
Boa noite meu problema é '$' que sempre da na ultima linha esta ai o codigo
Program Pzim ;
var nome:string;
sangue:string;
idade:integer;
Begin
writeln('Escreva seu nome aqui ');
read(nome);
writeln('Digite sua idade ');
read(idade);
writeln('Digite seu tipo sanguineo ');
read(sangue);
if sangue=Apositivo then
write('Você ',nome,'tem);
End.
-
Por Hatepascal
program divisao;
/*ME AJUDEM POR FAVOR, ESTOU FICANDO LOUCO!
Questão:
faça uma calculadora onde o usuario entre com 2 numeros
e secolha a operacao desejada, multiplicao ou divisao.
voce devera mostrar o resultado e depois perguntar se
ele deseja realizar a operacao novamente.
sei que isso usa o comando while,porem nao estou
conseguindo entender a logica,pelo que parece
algem resolve para mim? grato.
*/
var m,d, n1, n2: real;
continuar :string;
escolha:char;
begin
d := 0;
m :=0;
continuar := 'sim' ;
while continuar = 'sim' do
Begin
writeln('digite o primeiro numero: ');
readln(n1);
writeln('digite o segundo numero');
readln(n2);
WriteLn('escreva d para divisao ou m para multiplicacao');
readln(escolha);
if escolha = 'm' then
begin
m := n1 * n2;
end;
if escolha = 'd' then
begin
d := n1 / n2;
end;
write('resultado multiplicação : ');
writeln(m);
write('resultado divisão : ');
writeln(d);
writeln('deseja continuar , sim? ');
readln;
end;
end.
-
Alguém resolve aí pra mim pq eu fiz exatamente o que tava no livro e mesmo assim o código não segue;ele para quando termino de enviar os dados pra recebimento,por favor me ajudem !
program patrao;
var Aumento,sal,SN:real;
No:string ; Idade,AT,P:Integer ;
begin
WriteLn('Digite sua idade');
readln(Idade);
WriteLn('quantos anos trabalhados? ');
ReadLn(AT);
WriteLn('Qual o valor do seu salário? ');
ReadLn(sal);
case Idade of
0..25:
begin
case AT of
0..3: P:= 5;
4..6: P:= 10;
else
P:= 15;
end;
end;
26..35:
begin
case AT of
0..9: P:= 20;
10..15: P:= 25;
else
P:= 30;
End;
end;
else
begin
case AT of
0..10: P:= 30;
11..20: P:= 40;
21..30: P:= 50;
31..40: P:= 60;
else
begin
P:= 70;
end;
end;
end;
Aumento:= (P/100)*sal;
SN:=sal + Aumento;
WriteLn('seu antigo salario era de R$:',sal);
Writeln('a porcentagem de aumento recebida foi de: ',Aumento:1:1,'%');
writeln('seu novo salario e de R$:',SN);
readln;
end;
end.
Compartilhar este post
Link para o post
Compartilhar em outros sites