Определите, что будет напечатано в результате работы следующей программы. var k, i: integer; begin k: = 4; for i: = 1 to 3 do k: = 2*k + i; writeln(k); end.
Ну, цикл будет работать при i = 1, 2, 3 теперь просто считаем, что получится k = 4 * 2 + 1 = 9 k = 9 * 2 + 2 = 20 k = 20 * 2 + 3 = 43.
ответ: программа выведет число 43
alex-kuzora4411
17.04.2022
Языки второго поколения (2GL) создавались для того, чтобы облегчить тяжёлую работу по программированию, перейдя в выражениях языка от низкоуровневых машинных понятий ближе к тому, как обычно мыслит программист. Эти языки появились в 1950-е годы, в частности, такие языки как Фортран и Алгол. Наиболее важной проблемой, с которыми столкнулись разработчики языков второго поколения, стала задача убедить клиентов в том, что созданный компилятором код выполняется достаточно хорошо, чтобы оправдать отказ от программирования на ассемблере. Скептицизм по поводу возможности создания эффективных программ с автоматических компиляторов был довольно распространён, поэтому разработчикам таких систем должны были продемонстрировать, что они действительно могут генерировать почти такой же эффективный код, как и при ручном кодировании, причём практически для любой исходной задачи.
int main() { setlocale(LC_ALL, "RUSSIAN"); const int N = 5; int matrix[N][N]; int A[(N*N) / 2], B[(N*N)/2]; int k = 0; srand(time(NULL)); for (int i = 0; i < N; i++) { std::cout << std::endl; for (int j = 0; j < N; j++) { matrix[i][j] = rand() % 100; std::cout << std::setw(3) << matrix[i][j] << " "; } } for (int i = 0; i < N; i++) for (int j = 0; j < N; j++) if (i >= j) { A[k] = matrix[i][j]; k++; } std::cout << std::endl; std::cout << "Массив, содержащий элементы, лежащие на главной диагонали и ниже ее:" << std::endl; for (int i = 0; i < k; i++) std::cout << A[i] << " "; k = 0; std::cout << std::endl; for(int i=0; i<N; i++) for (int j = N - i-1; j < N; j++) { B[k] = matrix[i][j]; k++; } std::cout << "Массив, содержащий элементы, лежащие на побочной диагонали и ниже ее:" << std::endl; for (int i = 0; i < k; i++) std::cout << B[i] << " "; std::cout << std::endl; system("pause"); }
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Определите, что будет напечатано в результате работы следующей программы. var k, i: integer; begin k: = 4; for i: = 1 to 3 do k: = 2*k + i; writeln(k); end.
теперь просто считаем, что получится
k = 4 * 2 + 1 = 9
k = 9 * 2 + 2 = 20
k = 20 * 2 + 3 = 43.
ответ: программа выведет число 43