![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Nika2010 |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Продвинутые Сообщений: 3 Регистрация: 11.2.2010 Город: Минск ![]() |
Помогите решить задания девушке далёкой от программирования.
Задание 1 Работа с типом данных STRING (строка). Написать программу, которая считывает текст и выводит на экран только предложения, не содержащие числа. Задание 2 Задана квадратная матрица Y (5,5). Определить, где больше чётных элементов: выше или ниже главной диагонали ? Задание 3 Составить схему алгоритма и программу на языке Паскаль для решения нелинейного уравнения указанным итерационным методом, если задан интервал существования корня. В программе использовать подпрограммы. Метод половинного деления Формула кв корень из 1-0,4х^2 - arcsinX = 0 [0;1] - отрезок содержащий корень. Большое спасибо. |
![]() ![]() |
julia_lisha |
![]()
Сообщение
#2
|
Студент ![]() ![]() Группа: Продвинутые Сообщений: 147 Регистрация: 19.12.2009 Из: Omsk Город: omsk Учебное заведение: ОмГУ ![]() |
Цитата Задание 1 Работа с типом данных STRING (строка). Написать программу, которая считывает текст и выводит на экран только предложения, не содержащие числа. проверку на символы сделайте, если чисел нет то вывести строку) Цитата Задание 2 Задана квадратная матрица Y (5,5). Определить, где больше чётных элементов: выше или ниже главной диагонали ? необходим массив, четность чисел я думаю Вы знаете как определить, сравниваем и выводим) Цитата Задание 3 Составить схему алгоритма и программу на языке Паскаль для решения нелинейного уравнения указанным итерационным методом, если задан интервал существования корня. В программе использовать подпрограммы. Метод половинного деления Формула кв корень из 1-0,4х^2 - arcsinX = 0 [0;1] - отрезок содержащий корень. 1. задаете границы, складываешь и делешь их на 2 2. в первую функцию подставляете левую границу 3. во вторую правую 4. в третью п.1 5. затем сравниваете и выводите |
Nika2010 |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Продвинутые Сообщений: 3 Регистрация: 11.2.2010 Город: Минск ![]() |
Если несложно проверьте (делалось по похожему заданию с методички).
При нажатии F8 в turbo pascal 7.0 ошибок не выдаёт, но и желаемого результата тоже Задание 1 Работа с типом данных STRING (строка). Написать программу, которая считывает текст и выводит на экран только предложения, не содержащие числа. program kr; uses crt; var w,a:string; b,q,s,i,j,g:integer; begin clrscr; writeln('Please, read text.'); readln(a); s:=length(a); b:=0; q:=1; for j:=1 to s do if (copy(a,j,1)='.') or (copy(a,j,1)='!') or (copy(a,j,1)='?') then begin w:=copy(a,q,j-q+1); q:=j+1; g:=length(w); for i:=1 to g do if (copy(w,i,1)<>'1') and (copy(w,i,1)<>'2') and (copy(w,i,1)<>'3') and (copy(w,i,1)<>'4') and (copy(w,i,1)<>'5') and (copy(w,i,1)<>'6') and (copy(w,i,1)<>'7') and (copy(w,i,1)<>'8') and (copy(w,i,1)<>'0') and (copy(w,i,1)<>'9') then b:=b else b:=b+1; if b=0 then begin write(w); b:=0;end else b:=0; end; end. По второму заданию программа тоже не находит ошибки, но и нет даже приглашения к вводу матрицы. program kr; uses crt; var i,j,x,b,s,q:integer; a:array[1..5,1..5] of byte; begin clrscr; randomize; x:=5; b:=1;s:=0;q:=0; for i:=1 to x do for j:=1 to x do A[i,j]:=random(100); for i:=1 to x do begin for j:=1 to x do write(a[i,j],' ');writeln;end; for i:=1 to x-1 do begin for j:=1 to x-b do if (a[i,j])mod(2)=0 then s:=s+1;b:=b+1;end; writeln('Kolichestvo chetnih elementov vishe diagonali =',s); b:=5; for i:=2 to x do begin for j:=b to x do if (a[i,j])mod(2)=0 then q:=q+1;b:=b-1;end; writeln('Kolichestvo chetnih elementov nizhe diagonali =',q); if s>q then writeln('Kolichestvo chetnih elementov vishe diagonali bolshe kolichestva chetnih elementov nizhe diagonali'); if s<q then writeln('Kolichestvo chetnih elementov vishe diagonali menshe kolichestva chetnih elementov nizhe diagonali'); if s=q then writeln('Kolichestvo chetnih elementov vishe diagonali ravno kolichestvu chetnih elementov nizhe diagonali'); end. Проверьте плиз и обьясните что такое метод половинного деления и как записать его на паскале. Спасибо. |
julia_lisha |
![]()
Сообщение
#4
|
Студент ![]() ![]() Группа: Продвинутые Сообщений: 147 Регистрация: 19.12.2009 Из: Omsk Город: omsk Учебное заведение: ОмГУ ![]() |
(IMG:style_emoticons/default/sad.gif) к сожалению не знаю паскаль.....
Цитата По второму заданию программа тоже не находит ошибки, но и нет даже приглашения к вводу матрицы. так я у вас и не вижу у вас ввод матрицы у вас с разу условия на выполнения.. Цитата обьясните что такое метод половинного деления и как записать его на паскале алгоритм я написала ниже, а про паскаль увы.... Цитата При нажатии F8 в turbo pascal 7.0 ошибок не выдаёт, но и желаемого результата тоже в С++ есть функция по работе со строкой strchr-поиск символа в строке, может в паскале есть что-то подобное попробуте через функцию |
Nika2010 |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Продвинутые Сообщений: 3 Регистрация: 11.2.2010 Город: Минск ![]() |
Мот ещё и 3-ю задачку кто проверит ?
Program kr; Uses Crt ; Var a,b,c,a0,b0:real; Function f(x:real):real; begin {formula } f:=sqrt(1-0.4*sqr(x))-arctan(x/sqrt(1-x*x)); end; Begin ClrScr; Writeln(' reshenie '); { vvod dannix } a:=0; b:=1; a0:=a; b0:=b; { zapominaem dannie } { na4inaem ras4et } begin c:=(a+(IMG:style_emoticons/default/cool.gif)/2; if f(a)*f(с)<=0 then b:=c else a:=c; end; Writeln(' yravnenie sqrt(1-0.4*sqr(x))-arctan(x/sqrt(1-x*x)) na otrezke [',a0:4:1, ',', b0:4:1, '] imeet koren x = ', c:10:8); Writeln(' f(x) = ',f(с):10:8); Readln; End. |
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 25.5.2025, 19:39 |
Зеркало сайта Решебник.Ру - reshebnik.org.ru