Проверочный тест «Программирование на языке Паскаль»
Вариант 2
2. Определите тип чисел: 1.8, 1.0, 41
4. Определите значение переменной b после выполнения алгоритма
a:=3;
b:=2+a;
a:=b*2*a;
b:=2*a-b;
5. Определите результат выполнения операции 15 mod 3
6. Определите, что будет напечатано в результате выполнения следующего алгоритма
var k,m:integer;
dat: array[1..10] og integer;
begin
dat[1]:=45; dat[2]:=55; dat[3]:=40; dat[4]:=15; dat[5]:=20; dat[6]:=80;
dat[7]:=35; dat[8]:=70; dat[9]:=10; dat[10]:=45;
m:=dat[1];
for k:=2 to 10 do begin
if dat[k] begin
m:=m+dat[k]; ;
end;
end;
write (m);
end.
7. Сколько существует заполнения массива? Перечислите их.
8. Напишите, используя алгоритмический язык или ЯП Pascal, алгоритм проверки
четности числа.
9. Составьте программу, которая в одномерном массиве размерностью 15 (элементы
массива случайные числа из промежутка от 0 до 9) находит количество элементов
равных 3. Оформите вывод элементов на экран в строчку, количество искомых
элементов на следующей строке хоть с чем нибудь
Вот пример программы на паскале ABC:
var a:array [1..1000000] of integer;
b:array [1..10] of longint;
c:integer;
i,max,n:longint;
begin
write('Введите число элементов массива: ');
readln(n);
max:=0;
for i:=1 to 10 do
b[i]:=0;
for i:=1 to n do begin
a[i]:=random(10)+1;
write(a[i],' ');
b[a[i]]:=b[a[i]]+1
end;
for i:=1 to 10 do if b[i]>max then
begin
c:=i;
max:=b[i]
end;
writeln;
writeln('Чаще всего в массиве встречается число ',c)
end.
#include <iostream>
typedef long long ll;
using namespace std;
bool ll_is_valid(ll t, ll N, ll x, ll y)
{
return t / x + (t - x) / y >= N;
}
ll f(ll N, ll x, ll y)
{
ll R = 1;
while (!ll_is_valid(R,N,x,y)) R *= 2;
ll L = R / 2;
while(R - L > 1)
{
ll M = (L + R) / 2;
if (!ll_is_valid(M,N,x,y)) {L = M;}
else {R = M;}
}
return R;
}
int main()
{
ll N,x,y;
cin >> N >> x >> y;
if(x > y) swap( x, y );
cout << f(N, x, y) << std::endl;
}