Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Программирование





 

 

Запишите число, которое будет напечатано в результате выполнения следующей программы. Для Вашего удобства программа представлена
на пяти языках программирования.

Бейсик Python
DIM S, N AS INTEGER S = 301 N = 0 WHILE S > 0 S = S - 10 N = N + 2 WEND PRINT N s = 301 n = 0 while s > 0: s = s - 10 n = n + 2 print(n)  
Алгоритмический язык Паскаль
алг нач цел n, s s:= 301 n:= 0 нцпока s > 0 s:= s - 10 n:= n + 2 кц вывод n кон var s, n: integer; begin s:= 301; n:= 0; while s > 0 do begin s:= s - 10; n:= n + 2 end; writeln(n) end.
Си
#include<stdio.h> int main() { int s = 301, n = 0; while (s > 0) { s = s - 10; n = n + 2; } printf("%d\n", n); return 0; }

 

 

 

Ответ: ___________________________.


 

 

 

Запишите число, которое будет напечатано в результате выполнения следующей программы. Для Вашего удобства программа представлена
на пяти языках программирования.

Бейсик Python
DIM S, N AS INTEGER S = 0 N = 76 WHILE S < 71 S = S + 8 N = N - 3 WEND PRINT N s = 0 n = 76 while s < 71: s = s + 8 n = n - 3 print(n)  
Алгоритмический язык Паскаль
алг нач цел n, s s:= 0 n:= 76 нцпока s < 71 s:= s + 8 n:= n - 3 кц вывод n кон var s, n: integer; begin s:= 0; n:= 76; while s < 71 do begin s:= s + 8; n:= n - 3 end; writeln(n) end.
Си
#include<stdio.h> int main() { int s = 0, n = 76; while (s < 71) { s = s + 8; n = n - 3; } printf("%d\n", n); return 0; }

 

 

 

Ответ: ___________________________.


 

 

 

Запишите число, которое будет напечатано в результате выполнения следующей программы. Для Вашего удобства программа представлена
на пяти языках программирования.

Бейсик Python
DIM S, N AS INTEGER S = 50 N = 1 WHILE S > 0 S = S \ 4 N = N * 3 WEND PRINT N s = 50 n = 1 while s > 0: s = s // 4 n = n * 3 print(n)  
Алгоритмический язык Паскаль
алг нач цел s, n s:= 50 n:= 1 нцпока s > 0 s:= div(s, 4) n:= n * 3 кц вывод n кон var s, n: integer; begin s:= 50; n:= 1; while s > 0 do begin s:= s div 4; n:= n * 3 end; writeln(n) end.
Си
#include<stdio.h> int main() { int s = 50, n = 1; while (s > 0) { s = s / 4; n = n * 3; } printf("%d\n", n); return 0; }

 

 

 

Ответ: ___________________________.


 

 

 

Напишите в ответе число, которое будет напечатано в результате выполнения следующего алгоритма. Для Вашего удобства алгоритм представлен на пяти языках программирования.

Бейсик Python
DIM A, B, T, M, R AS LONG A = -20: B = 20 M = A: R = F(A) FOR T = A TO B IF F(T) <= R THEN M = T R = F(T) END IF NEXT T PRINT M+R   FUNCTION F (x) F = 2*(x*x-36)*(x*x-36)+41 END FUNCTION def F(x): return 2*(x*x-36)*(x*x-36)+41 a = -20; b = 20 M = a; R = F(a) for t in range(a,b+1): if (F(t) <= R): M = t; R = F(t) print (M+R)
Алгоритмический язык Паскаль
алг нач цел a, b, t, M, R a:= -20; b:= 20 M:= a; R:= F(a) нцдля t от a до b если F(t) <= R то M:= t; R:= F(t) все кц вывод M+R кон алгцел F(цел x) нач знач:= 2*(x*x-36)*(x*x-36)+41 кон var a, b, t, M, R:longint; function F(x: longint): longint; begin F:= 2*(x*x-36)*(x*x-36)+41; end; begin a:= -20; b:= 20; M:= a; R:= F(a); for t:= a to b do begin if (F(t) <= R) then begin M:= t; R:= F(t) end end; write(M+R) end.

 

Си
#include<stdio.h> long F(long x) { return 2*(x*x-36)*(x*x-36)+41; } int main() { long a, b, t, M, R; a = -20; b = 20; M = a; R = F(a); for (t=a; t<=b; t++) { if (F(t) <= R) { M = t; R = F(t); } } printf("%ld", M+R); return 0; }

 

 

 

Ответ: ___________________________.

 

 

Напишите в ответе число, равное количеству различных значений входной переменной k, при которых приведённая ниже программа выводит тот же ответ, что и при входном значении k = 10. Значение k = 10 также включается в подсчёт различных значений k. Для Вашего удобства программа приведена на пяти языках программирования.


Бейсик Python
DIM K, I AS LONG INPUT K I = 1 WHILE F(I) < K I = I + 1 WEND IF F(I)-K <= K-F(I-1) THEN PRINT I ELSE PRINT I-1 END IF   FUNCTION F(N) F = N * N * N END FUNCTION def f(n): return n*n*n i = 1 k = int(input()) while f(i) < k: i+=1 if (f(i)-k <= k-f(i-1)): print (i) else: print (i - 1)

 


 

Алгоритмический язык Паскаль
алг нач цел i, k ввод k i:= 1 нцпока f(i) < k i:= i + 1 кц если f(i)-k <= k-f(i-1) то вывод i иначе вывод i-1 все кон алгцел f(цел n) нач знач:= n * n * n кон var k, i: longint;   function f(n: longint): longint; begin f:= n * n * n; end; begin readln(k); i:= 1; while f(i) < k do i:= i+1; if f(i)-k <= k-f(i-1) then writeln(i) else writeln(i-1); end.
Си
#include<stdio.h> long f(long n) { return n * n * n; }   void main() { long k, i; scanf("%ld", &k); i = 1; while (f(i)<k) i++; if (f(i)-k <= k-f(i-1)){ printf("%ld", i); } else { printf("%ld", i-1); } }

 

 

 

Ответ: ___________________________.


 

 

Напишите в ответе наименьшее значение входной переменной k,
при котором программа выдаёт тот же ответ, что и при входном значении k = 27. Для Вашего удобства программа приведена на пяти языках программирования.

Бейсик Python
DIM K, I AS LONG INPUT K I = 1 WHILE F(I) < G(K) I = I + 1 WEND PRINT I   FUNCTION F(N) F = N * N * N END FUNCTION   FUNCTION G(N) G = 2*N + 2 END FUNCTION def f(n): return n*n*n   def g(n): return 2*n+2   k = int(input()) i = 1 while f(i) < g(k): i+=1 print (i)
Алгоритмический язык Паскаль
алг нач цел i, k ввод k i:= 1 нцпока f(i) < g(k) i:= i + 1 кц вывод i кон алгцел f(цел n) нач знач:= n * n * n кон алгцел g(цел n) нач знач:= 2*n + 2 кон var k, i: longint;   function f(n: longint): longint; begin f:= n * n * n; end;   function g(n: longint): longint; begin g:= 2*n + 2; end;   begin readln(k); i:= 1; while f(i) < g(k) do i:= i+1; writeln(i) end.

 

Си
#include<stdio.h> long f(long n) { return n * n * n; }   long g(long n) { return 2*n + 2; }   int main() { long k, i; scanf("%ld", &k); i = 1; while(f(i)<g(k)) i++; printf("%ld", i); return 0; }

 

 

 

Ответ: ___________________________.

 

 

На обработку поступает последовательность из четырёх неотрицательных целых чисел (некоторые числа могут быть одинаковыми). Нужно написать программу, которая выводит на экран количество кратных 11 чисел
в исходной последовательности и минимальное кратное 11 число. Если чисел, кратных 11, нет, требуется на экран вывести «NO». Известно, что вводимые числа не превышают по абсолютной величине 1000. Программист написал программу неправильно. Ниже эта программа для Вашего удобства приведена на пяти языках программирования.


Напоминание: 0 делится на любое натуральное число.

 

Бейсик Python
CONST n = 4 count = 0 minimum = 0 FOR I = 1 TO n INPUT x IF x mod 11 = 0 THEN count = count + 1 IF x > minimum THEN minimum = x END IF END IF NEXT I IF count> 0 THEN PRINT count PRINT minimum ELSE PRINT "NO" END IF n = 4 count = 0 minimum = 0 for i in range(1, n+1): x = int(input()) if x % 11 == 0: count += 1 if x > minimum: minimum = x if count > 0: print(count) print(minimum) else: print("NO")
Алгоритмический язык Паскаль
алг нач цел n = 4 цел i, x, minimum, count count:= 0 minimum:= 0 нцдля i от 1 до n ввод x если mod(x, 11) = 0 то count:= count + 1 если x > minimum то minimum:= x все все кц если count > 0 то вывод count, нс вывод minimum иначе вывод "NO" все кон const n = 4; var i, x, minimum, count: integer; begin count:= 0; minimum:= 0; for i:= 1 to n do begin read(x); if x mod 11 = 0 then begin count:= count + 1; if x > minimum then minimum:= x end end; if count > 0 then begin writeln(count); writeln(minimum); end else writeln('NO') end.
Си
#include <stdio.h> #define n 4   int main() { int i, x, minimum, count; count = 0; minimum = 0; for (i = 1; i <= n; i++) { scanf("%d", &x); if (x % 11 == 0) { count++; if (x > minimum) minimum = x; } } if (count > 0) { printf("%d\n", count); printf("%d\n", minimum); } else printf("NO\n"); return 0; }

 

Последовательно выполните следующее.

1. Напишите, что выведет эта программа при вводе последовательности:

33, 34, 44, 45.

2. Приведите пример последовательности, в которой есть хотя бы одно кратное 11 число, при вводе которой, несмотря на ошибки, программа печатает правильный ответ.

3. Найдите все ошибки в этой программе (их может быть одна или
несколько). Известно, что каждая ошибка затрагивает только одну строку
и может быть исправлена без изменения других строк. Для каждой ошибки:

1) выпишите строку, в которой сделана ошибка;

2) укажите, как исправить ошибку, т.е. приведите правильный вариант строки.

Достаточно указать ошибки и способ их исправления для одного языка программирования.

Обратите внимание, что требуется найти ошибки в имеющейся программе,
а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.

 

В физической лаборатории проводится долговременный эксперимент
по изучению гравитационного поля Земли. По каналу связи каждую минуту передаются положительные целые числа – текущие показания прибора «Сигма 2015». После того как передана серия измерений (количество измерений в серии заранее известно), прибор передаёт контрольное значение серии – наибольшее число R, удовлетворяющее следующим условиям:


1) R – произведение двух различных переданных элементов последовательности («различные» означает, что не рассматриваются квадраты переданных чисел, произведения различных, но равных
по величине элементов допускаются);

2) R делится на 33.

В результате помех при передаче как сами числа, так и контрольное значение могут быть искажены.

Напишите эффективную по времени и используемой памяти программу (укажите используемую версию языка программирования, например Free Pascal 2.6.4), которая будет проверять правильность контрольного значения. Программа считается эффективной по времени, если время работы программы пропорционально количеству полученных показаний прибора N, т.е. при увеличении N в k раз время работы программы должно увеличиваться не более чем в k раз.

Программа считается эффективной по памяти, если размер памяти, использованной в программе для хранения данных, не зависит от числа N и не превышает 1 килобайта.


Программа должна напечатать отчёт по следующей форме.

 

Вычисленное контрольное значение: …

Контроль пройден (или Контроль не пройден)

 

 

Если удовлетворяющее условию контрольное значение определить невозможно, то выводится только фраза «Контроль не пройден».

Перед текстом программы кратко опишите используемый Вами алгоритм решения.

На вход программе в первой строке подаётся количество чисел N ≤ 100 000. В каждой из последующих N строк записано одно положительное целое число, не превышающее 1000. В последней строке записано контрольное значение.

 

Пример входных данных:

Пример выходных данных для приведённого выше примера входных данных:

Вычисленное контрольное значение: 4620

Контроль пройден

 

 


Ответы к заданиям

 

№ задания Ответ
   
   
   
   
   
   

 







Date: 2015-12-13; view: 1279; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.017 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию