В данной программе используется цикл с известным числом повторений
Объяснение:
Вот код этой программы:
uses DrawMan; //подключаем модуль с чертежником
var i: integer; //объявляем переменную-счетчик для цикла
begin
Task('c1'); //вызываем задание
ToPoint(1, 3); //перемещаемся к точке с координатами (1, 3)
for i := 1 to 18 do //запускаем цикл
begin
PenDown; //опускаем перо
OnVector(0, -1); //перемещаемся на вектор (0, -1)
OnVector(1, 1); //перемещаемся на вектор (1, 1)
end;
PenUp; //поднимаем перо
ToPoint(0, 0); //перемещаемся к точке с координатами (0, 0)
end.
Циклы в "Паскале" - это алгоритм действий который выполняется определенное количество раз. Здесь используется цикл "for", для использования которого необходимо указать число итераций цикла.
Переменная i изменяется от 1 до 18, => вложенный в цикл код выполнится (18-1)+1 = 18 раз
#include <iostream>
#include <cmath>
#include <algorithm>
int main() {
const double eps = 1e-7; //для сравнения с нулём вещественных чисел
/*Коэффициенты системы уравнений будем хранить в матрице 2*3
Система уравнений вида
a1*x1+b1*x2=c1,
a2*x1+b2*x2=c2
в двумерном массиве будет храниться так:
{{a1, b1, c1},
{a2, b2, c2}}
*/
double **m = new double*[2];
for(int i = 0; i < 2; i++){
m[i] = new double[3];
}
for(int i = 0; i < 2; i++){
std::cout << "Input a, b, c for " << i + 1 << " equation:\n";
for(int j = 0; j < 3; j++){
std::cin >> m[i][j];
}
}
/*
Решить систему можно методом Крамера:
det = a1*b2-a2*b1
det1 = c1*b2-c2*b1
det2 = a1*c2-a2*c1
x1 = det1/det
x2 = det2 / det
*/
double det = m[0][0] * m[1][1] - m[1][0] * m[0][1];
double det1 = m[0][2] * m[1][1] - m[1][2] * m[0][1];
double det2 = m[0][0] * m[1][2] - m[1][0] * m[0][2];
if (std::abs(det) < 1e-7){
if (std::abs(det1) < 1e-7){
std::cout << "Infinity solutions\n";
}
else{
std::cout << "No solution\n";
}
}
else{
double x1 = det1 / det;
double x2 = det2 / det;
std::cout << "x1 = " << x1 << std::endl;
std::cout << "x2 = " << x2 << std::endl;
}
//Освобождение выделенной динамической памяти
for(int i = 0; i < 2; i++){
delete []m[i];
}
delete []m;
return 0;
}
В данной программе используется цикл с известным числом повторений
Объяснение:
Вот код этой программы:
uses DrawMan; //подключаем модуль с чертежником
var i: integer; //объявляем переменную-счетчик для цикла
begin
Task('c1'); //вызываем задание
ToPoint(1, 3); //перемещаемся к точке с координатами (1, 3)
for i := 1 to 18 do //запускаем цикл
begin
PenDown; //опускаем перо
OnVector(0, -1); //перемещаемся на вектор (0, -1)
OnVector(1, 1); //перемещаемся на вектор (1, 1)
end;
PenUp; //поднимаем перо
ToPoint(0, 0); //перемещаемся к точке с координатами (0, 0)
end.
Циклы в "Паскале" - это алгоритм действий который выполняется определенное количество раз. Здесь используется цикл "for", для использования которого необходимо указать число итераций цикла.
Переменная i изменяется от 1 до 18, => вложенный в цикл код выполнится (18-1)+1 = 18 раз