Задание: 1) преобразовать данную программу таким образом, чтобы использовался цикл do…while;
2) Найти минимум функции y=2x3 с циклов while и do…while.
Using System;
using System.Collections.Generic; using System.Linq;
using System.Text;
namespace Lab4
{
class Program
{
static void Main(string[] args)
{
double a, b, c, q, y1, y2; /*присвоение переменным вещественный тип данных */
Console.WriteLine("Введите начальную точку");
a = Convert.ToDouble(Console.ReadLine());/* преобразует
строковый тип в вещественный тип данных */
Console.WriteLine("Введите конечную точку"); b = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Введите допустимую погрешность q"); q = Convert.ToDouble(Console.ReadLine());
while (Math.Abs(b - a) > q) /* оператор цикла while c преду-
словием */
{
Console.WriteLine("a={0}", a);// первое значение аргумента Console.WriteLine("b={0}", b);// второе значение аргумента c = (a + b) / 2; // середина отрезка [а,b]
y1 = Math.Pow((c - q), 2);/* возведение в квадрат с учетом
допустимой погрешности q */
y2 = Math.Pow((c - q), 2);
if (y2 < y1) a = c; if (y2 > y1) b = c;
if (y2 == y1) /* если выполняются условие сравнения y2=y1,
то происходит вычисление a и b */
{ a = c - q; b = c + q;
}
}
Console.WriteLine("Минимум функции y=x^2 находится в точке x=");
Console.WriteLine((a + b) / 2);
}
}
}
выставляем некий индикатор = 0
идем по массиву
если находим элемент больше 7, выставляем индикатор = 1, прекращаем просмотр массива, выводим номер элемента.
Если дошли до последнего элемента и все меньше 7 (индикатор = 0), выводим соответствующее сообщение.
Прога:
program test1;
var
M1: array [1..60] of integer;
ind, i: integer;
begin
ind :=0;
i := 1;
repeat
if M1[i]>7 then
begin
writeln(i);
ind := 1;
i := 60;
end;
inc(i);
if ((i>60) and (ind=0))
begin
writeln('массив не содержит элементов, больших 7');
ind := 1;
end;
until(ind=1);
end;
4094
Объяснение:
Function newstr1(str As String, n As Integer) As String
Dim i As Integer
For i = 1 To n
str = Replace(str, "A", "BC")
str = Replace(str, "B", "AC")
str = Replace(str, "CC", "AD")
Next
newstr1 = str
End Function
Function chrcount(str1 As String, str2 As String) As Integer
Dim str() As String
str = Split(str1, str2)
chrcount = UBound(str, 1)
End Function
=chrcount(newstr1("AA";11);"D")
Excel VBA
P.S.
Для номера процедуры равного i, количество символов "D" вычисляется по формуле D(i)=2*2^i-2