помогите найти ошибки program variant1; uses crt; var a,y,x:real; b:=Pi; c:=2*Pi; z:=Pi/4; y:=b; while y < = c do begin x:=1-2*cos(a*y)+ln(y); a:=ln(y)/ln(2); writeln(y,x,a); y:=y+z; end; readln; end.
Неопределены переменные b, c, z, Pi, нет ключевого слова begin, начинающего программу, разорван знак <= (пробела быть не должно)
Pi это константа, а не переменная. >>serhio<< , с учетом сделанных замечаний, и не вникая в суть программы, можно сказать, что код будет выглядеть так: Code: program variant1; uses crt; var a, b, c, x, y, z:real; begin ClrScr; b:=pi; c:=2*Pi; z:=Pi/4; y:=b; while (y <= c) do begin x := 1 - 2*cos(a*y) + ln(y); a := ln(y)/ln(2); writeln(y,x,a); y := y+z; end; readln; end.
Подсчитать сумму ряда с абсолютной погрешностью менее 0.0001. Полученные результаты необходимо проверить, повторив вычисления с использованием стандартных функций. Результаты вывести на экран. Пояснение: вычисления необходимо производить оптимально. Например, не нужно заново вычислять 21ю степень числа X, если ранее была подсчитана 20я, нужно просто старое значение умножить на X. ВАРИАНТ 14
Помогите, сделать небольшую прогу: которая вязяв из мемо(или эдит пох вообще) русский текст выдаёт сколько раз в нём повторяется самое маленькое слово.
Описание: построчно считываем текст из Memo и создаем список слов, в котором записаны слова и сколько раз каждое слово встречается. После всего этого находим в списке самое первое короткое (если слов такой длины несколько) слово и показываем сообщение с информацией о слове и количестве его вхождений в текст. Примечание: считаем, что слова ограничены символами " . , ! ? : ; Реализация на Delphi: Code: type // будем использовать записи с двумя полями: слово и количество таких слов в тексте TWord = record WRD: string; number: byte; end; type TWords = array of TWord; var Words: TWords; // все слова текста EndSymbols: set of char; // символы, которые ограничивают слово ... procedure AddWord (word: string); // добавление нового слова в список var i: integer; lnth: byte; NewWord: boolean; begin lnth := length(Words); NewWord := true; // проверяем, не добавлено ли это слово уже в список слов for i := 0 to lnth-1 do if Words[i].WRD = word then begin NewWord := false; // если в списке, то увеличиваем счетчик для него Words[i].number := Words[i].number + 1; break end; if NewWord then // если не в списке, то добавляем begin SetLength(Words, lnth+1); Words[lnth].WRD := word; Words[lnth].number := 1; end; end; procedure FindWords(Text: string); var i: integer; tmpstr: string; begin EndSymbols := [' ', '.', ',', '!', '?', ':', ';', '"']; tmpstr := ''; for i := 1 to length(Text) do // ищем все слова в строке if not(Text[i] in EndSymbols) then begin tmpstr := tmpstr + Text[i]; if i = length(Text) then AddWord(tmpstr); end else if length(tmpstr) > 0 then begin AddWord(tmpstr); tmpstr := ''; end; end; function FindShortWord: TWord; // ищем самое короткое слово var min: byte; i: integer; begin min := 0; for i := 1 to length(Words) - 1 do begin if length(Words[i].WRD) < length(Words[min].WRD) then min := i; end; Result := Words[min]; end; procedure TForm1.Button1Click(Sender: TObject); var i: integer; tmp: TWord; begin for i := 0 to Memo1.Lines.Count-1 do FindWords(memo1.Lines[i]); tmp := FindShortWord; ShowMessage('Самое короткое слово: '+ tmp.WRD + '. Встречается раз: ' + IntToStr(tmp.number)); end;
... если честно не понял самого задания. Что значит "для благоустройства массива за ростом и падением"? ну либо первое, либо одно из двух (с) хз
... если честно не понял самого задания. Что значит "для благоустройства массива за ростом и падением"? ну либо первое, либо одно из двух (с) хз
Помогите пожалуйста!Очень срочно нужно.Буду очень благодарен откликнувшимся. Задание: Розработать матиматическую постановку задачи и сложить программы на языках Паскаль и Си для перещета координат точки с полярной системы в декартовую.
помогите Задача довольно проста в описании: "требуется создать нетипизированный интерпретатор". Вся загвоздка заключается вот в чём: язык ориентирован под математику -> основным "типом" будет являться комплексная матрица (это максимум который требуется при реализации). Как сформировать описание переменной, т.е. её структуру, через какие типы это сделать?. Я бы предложил, что-то типа: type TVariable = record Name:string; - название переменной Used:Boolean; - используется ли она в коде - проще говоря если она в коде встречается только 1 раз то её можно было бы и выкинуть. Циклы и тд не рассматриваю (мб я ошибаюсь) Real:Variant; - реальная часть переменной - может быть числом, строкой, массивом Imag:Variant; - мнимая часть/ Причём размеры реальной и мнимой части всегда равны. function ColCount:integer; - если Real массив, то возвращает длину иначе 0. (можно обойтись, но так проще для реализации ) function RowCount:integer; - если Real двойной массив то возвращает длину иначе 0. end; Реализация убога тем, что при использовании Variant снижается скорость вычислений из-за проверки типов. Может кто-нибудь сможет подсказать более удобную и простую форму?
Число, строка - это частные случаи матрицы, следовательно ты можешь задать тип через динамический массив комплексных чисел, типа TMatrix=array of array of TPair; TPair = record a:real; b:real; end; HTML: Name:string; - название переменной Used:Boolean; Это вообще не нужно, эти параметры должен хранить интерпретатор, а не сама переменная.
прошу помочь Люди помагите с лабой по С++ (написать алгоритм для решения линейных уравнений методом обратной матрицы) помагите кто знает за рание спасибо ! ! !
помогите пожалуйста) есть программа, которая должна строить график, но она почему то выводит ошибку вот текст Code: #include<stdio.h> #include<conio.h> #include<math.h> #include<graphics.h> main() {float x0,xh,xk,x,y,mx,my; int gt,gm,err; gt=DETECT; initgraph(>,&gm,""); err= graphresult(); if(err!=0) {clrscr(); puts("ERROR"); getch(); return 1; } printf(" Input x0,xh,xk"); scanf("%f %f %f", &x0,&xh,&xk); mx=(getmaxx()/2)/xk; my=(getmaxy()/2)/3; cleardevice(); setbkcolor(14); setcolor(2); line(320, 0, 320, 480); line(0, 240, 640, 240); outtextxy(340, 230,"0"); outtextxy(340, 20,"y"); outtextxy(630, 230,"x"); setcolor (1); for(x=x0;x<=xk;x+=xh) {y=(x*x+x)/(8+sqrt(x)); if (fabs(x)<2) { y=y+pow(x,7); putpixel(floor(320+mx*x),floor(240-my*y),4); } else {y=y+sin(x); putpixel(floor(320+mx*x),floor(240-my*y),7); } } getch(); return 0; } помогите пожалуста(все драйверы установлены)
он вместо графика показывает ERROR и все((( ну вроде получилось а почему я не могу писать на русском??пишет рпи переводе на русский какие то непонятные символы среда borland c++ 3.1 а вот еще вопрос язык си это база с++??и с++ язык высокого уровня??просто учительбница говорит да, а тут написано нет((кому верить?
возможно просто у тя файл egavga.bgi потерян гдето. Он должен валяться в папке с прогой. С++ - это продолжение С в котором большой упор был сделан на классовую структуру. С и С++ - языки высокого уровня. Язык низкого уровня это тока ASM и HEX )