IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Помогите с заданиями (Паскаль)
Nika2010
сообщение 11.2.2010, 10:43
Сообщение #1


Новичок
*

Группа: Продвинутые
Сообщений: 3
Регистрация: 11.2.2010
Город: Минск



Помогите решить задания девушке далёкой от программирования.

Задание 1
Работа с типом данных STRING (строка).
Написать программу, которая считывает текст и выводит на экран только предложения, не содержащие числа.

Задание 2
Задана квадратная матрица Y (5,5).
Определить, где больше чётных элементов: выше или ниже главной диагонали ?

Задание 3
Составить схему алгоритма и программу на языке Паскаль для решения нелинейного уравнения указанным итерационным методом, если задан интервал существования корня.
В программе использовать подпрограммы.
Метод половинного деления
Формула
кв корень из 1-0,4х^2 - arcsinX = 0
[0;1] - отрезок содержащий корень.

Большое спасибо.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
julia_lisha
сообщение 11.2.2010, 14:38
Сообщение #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
сообщение 15.2.2010, 9:15
Сообщение #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
сообщение 15.2.2010, 9:37
Сообщение #4


Студент
**

Группа: Продвинутые
Сообщений: 147
Регистрация: 19.12.2009
Из: Omsk
Город: omsk
Учебное заведение: ОмГУ



(IMG:style_emoticons/default/sad.gif) к сожалению не знаю паскаль.....
Цитата
По второму заданию программа тоже не находит ошибки, но и нет даже приглашения к вводу матрицы.

так я у вас и не вижу у вас ввод матрицы у вас с разу условия на выполнения..

Цитата
обьясните что такое метод половинного деления и как записать его на паскале

алгоритм я написала ниже, а про паскаль увы....

Цитата
При нажатии F8 в turbo pascal 7.0 ошибок не выдаёт, но и желаемого результата тоже


в С++ есть функция по работе со строкой
strchr-поиск символа в строке,
может в паскале есть что-то подобное попробуте через функцию
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Nika2010
сообщение 15.2.2010, 19:39
Сообщение #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.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 28.3.2024, 23:46

Книжки в помощь: "Сборник заданий по высшей математике" Кузнецов Л.А., "Сборник заданий по высшей математике" Чудесенко В.Ф., "Индивидуальные задания по высшей математике" Рябушко А.П., и другие.




Зеркало сайта Решебник.Ру - reshebnik.org.ru