// Коммент: случайное число в паскале всегда генерируется от 0 до заданного но нам необходимо от 1000, поэтому в цикле repeat...until оно будет генерироваться до тех пор, пока не станет > 999
Repeat x := Random(RndLimit) until x > 999;
writeln ('Random X= ', x);
SumX := SumX + (x div 1000) + (x mod 1000 div 100) + (x mod 1000 mod 100 div 10) + (x mod 1000 mod 100 mod 10);
writeln ('Sum = ', SumX);
end.
запускаем
Free Pascal Compiler version 2.6.2-8 [2014/01/22] for x86_64
Copyright (c) 1993-2012 by Florian Klaempfl and others
Target OS: Linux for x86-64
Compiling main.pas
Linking a.out
21 lines compiled, 0.1 sec
Random X= 5488
Sum = 25
NikolaevichIP1136
18.07.2020
1) from random import random N = 10 a = [] for i in range(N): b = int(random() * 50) a.append(b) print(a)
min = 101 for i in range(N-1): s = a[i]+a[i+1] if (s < min) and (s % 2 == 1): min=s print(min)
Пример:[41, 35, 16, 7, 29, 9, 16, 28, 10, 6] 23
2) from random import random N = 10 a = [] for i in range(N): b = int(random() * 50)-25 a.append(b) print(a)
k = 0 for i in range(N-1): p = a[i]*a[i+1] s = a[i]+a[i+1] if (p % 2 != 0) and (s > 0): k = k+1 print(k)
//Описание добавить не вышло на сайт, посему - в файле
#include "stdafx.h" #include <conio.h>
void swap(short &a, short &b) { short c = a; a = b;
b = c; }
void sort(short &a, short &b, short &c) { short min = a, max = c; if (min > b) min = b; if (min > c) min = c; if (max < a) max = a; if (max < b) max = b; b = a + b + c - min - max; a = min; c = max; }
if ((a1 == a2) && (b1 == b2) && (c1 == c2)) printf("Boxes are equal"); else if ((a1 <= a2) && (b1 <= b2) && (c1 <= c2)) printf_s("The first box is smaller than the second one"); else if ((a2 <= a1) && (b2 <= b1) && (c2 <= c1)) printf_s("The first box is larger than the second one"); else printf_s("Boxes are incomparable");
_getch(); return 0; }
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Напишите программу, которая генерирует случайное четырехзначное число и находит сумму его цифр В ПАСКАЛЕ.
Объяснение:
program Randomizer;
const
RndLimit = 10000;
var
x, SumX : integer;
begin
SumX := 0;
// Коммент: случайное число в паскале всегда генерируется от 0 до заданного но нам необходимо от 1000, поэтому в цикле repeat...until оно будет генерироваться до тех пор, пока не станет > 999
Repeat x := Random(RndLimit) until x > 999;
writeln ('Random X= ', x);
SumX := SumX + (x div 1000) + (x mod 1000 div 100) + (x mod 1000 mod 100 div 10) + (x mod 1000 mod 100 mod 10);
writeln ('Sum = ', SumX);
end.
запускаем
Free Pascal Compiler version 2.6.2-8 [2014/01/22] for x86_64
Copyright (c) 1993-2012 by Florian Klaempfl and others
Target OS: Linux for x86-64
Compiling main.pas
Linking a.out
21 lines compiled, 0.1 sec
Random X= 5488
Sum = 25