Помощь с pascal`ем, решение задач
|
main
Опытный юзверь
Группа: Пользователи Сообщений: 146 Регистрация: 4.06.2005 Из: г.Красноярск Пользователь №: 19.586
Респектов: 3
Предупреждений: 0
| Люди мне надо решить восемь задач в паскале, если есть кто в нем рулит помогите, а то я сам не успею. | |
| |
8.04.2009 - 12:24 |
charodey_mag
Опытный юзверь
Группа: Пользователи Сообщений: 147 Регистрация: 15.02.2007 Из: Opera Пользователь №: 335.462
Респектов: 22
Предупреждений:
| Во-первых во второй задаче указано: Цитата | Quote Описать пpоцедуpу "Наличие(Маг,А,В,С)"
Во-вторых у меня нет паскаля уже лет 10, поэтом пишу в Delphi, и соответственно писать процедурами гораздо удобнее | |
| |
19.07.2009 - 15:15 |
mamedov
Новичок
Группа: Пользователи Сообщений: 1 Регистрация: 19.07.2009 Пользователь №: 1.457.616
Респектов: 0
Предупреждений:
| Помогите, плз, с задачей.
Переписать многострочный текстовый файл удалив из него строки, в которых повторяющееся слово (подстрока), например, xyz, встречается n раз. Разделитель между словами - один или более пробелов, текст - символы русских и латинских букв и цифр. Программу написать на Pascal. Заранее признателен. | |
| |
28.08.2009 - 22:32 |
malova
Новичок
Группа: Пользователи Сообщений: 1 Регистрация: 28.08.2009 Пользователь №: 1.493.150
Респектов: 0
Предупреждений:
| Задача1!!!!! ...что то не выходит...выдает математическую ошибку при проверке...
найти сумму n элементов бесконечного ряда с y=-4+8-16+32-64..... вот код: var i,j,zn,n:integer; s:real; begin clrscr; writeln; writeln('naiti summy elementov riada: y=-4+8-16+32-64...'); writeln(''); writeln('vvedite kolichestvo elementov ryada'); write('N='); readln(n); s:=1; for i:=1 to n do begin zn:=1; for j:=1 to i+1 do begin zn:=zn*(-1); end; s:=s+(-zn*(exp(1+i)*ln(2))); end; writeln('summa ryada s=',s:3:0); readln; end.
Добавлено: Задача2!!!!! Имеется массив, ответить на вопрос правда ли что среди чисел имеются отрицательные, ответ должен быть да или нет...
program z7; uses crt; type t=array[1..50] of real; var n,i:integer; a:t; begin writeln('vvedite n'); readln(n); for i:=1 to n do readln(a[1]); writeln('est li credi elementov otricat'); if (a[i]<0) then writeln('da') else writeln ('net');
readln; end.
Добавлено: Задача3!!!!! Используя оператор цикла с параметром составить программу для вычисления значений функции f(x)=tg(x) на отрезке [a,b] в точках x(i)=a+ih, где h=(b-a)/m, a,b,m- заданые числа. | |
| |
29.08.2009 - 14:16 |
charodey_mag
Опытный юзверь
Группа: Пользователи Сообщений: 147 Регистрация: 15.02.2007 Из: Opera Пользователь №: 335.462
Респектов: 22
Предупреждений:
| Если ряд указан верно, то зачем такая сложная формула, ведь достаточно умножения на -2? Code var strt, i, N, sum:integer; begin strt:=2; //начало последовательности write('N='); readln(N); sum:=0; for I := 1 to N do begin strt:=strt*-2; sum:=sum+strt; end; writeln('summa ryada sum=',sum); readln; end.
Во второй задаче вроде все правильно. Про треью я что-то не совсем понял, может есть более полное условие? | |
| |
29.08.2009 - 16:50 |
fantnk
Новичок
Группа: Пользователи Сообщений: 7 Регистрация: 29.08.2009 Пользователь №: 1.493.602
Респектов: 2
Предупреждений:
| Цитата | Quote Задача1!!!!! ...что то не выходит...выдает математическую ошибку при проверке...
найти сумму n элементов бесконечного ряда с y=-4+8-16+32-64..... вот код: var i,j,zn,n:integer; s:real; begin ...... for j:=1 to i+1 do begin zn:=zn*(-1); ...... end. integer у нас - только положительные числа. Когда положительный zn*(-1), то будет отрицательное число. Вот и ошибка. Выберите другой тип для переменной zn. Надеюсь, понятно объяснил... | |
| |
29.08.2009 - 17:01 |
yah
профи!
[SoftoRooMTeaM]
Группа: Наши Люди Сообщений: 2.336 Регистрация: 27.01.2006 Из: рнд Пользователь №: 500
Респектов: 408
| Цитата | Quote(charodey_mag @ 29.08.2009 - 15:16) найти сумму n элементов бесконечного ряда с y=-4+8-16+32-64..... Если я не ошибаюсь, то этот ряд - обычная арифметическая прогрессия, с первым элементом "-4" и разностью "-2". Поэтому можно либо по формуле суммы N-членов арифмет. прогрессии (если мне память не изменяет - (первый + последний) разделить пополам и умножить на кол-во членов). | |
| |
29.08.2009 - 17:02 |
de1ay
профи!
[SoftoRooMTeaM]
Группа: Наши Люди Сообщений: 4.437 Регистрация: 14.10.2005 Из: EU Пользователь №: 1.010
Респектов: 613
| fantnk, Pascal Variables and Data TypesЦитата | Quote Data Type Minimum Value Maximum Value Integer -32,768 32,767 http://cs.nyu.edu/cou...variables.html | |
| |
29.08.2009 - 17:05 |
yah
профи!
[SoftoRooMTeaM]
Группа: Наши Люди Сообщений: 2.336 Регистрация: 27.01.2006 Из: рнд Пользователь №: 500
Респектов: 408
| Цитата | Quote(yah @ 29.08.2009 - 18:01) integer у нас - только положительные числа. Тип Integer - целое число, размер которого не гарантируется. Это - основной целочисленный тип в Delphi, и в настоящее время имеет ту же самую ёмкость как LongInt тип - 1 бит на знак, и 31 бит на значение. Min значение integer = -32,768 Max значение integer = -32,767 *Поправка на ветер... | |
| |
29.08.2009 - 17:12 |
fantnk
Новичок
Группа: Пользователи Сообщений: 7 Регистрация: 29.08.2009 Пользователь №: 1.493.602
Респектов: 2
Предупреждений:
| Охх... Извиняюсь. yah +1. Обычная арифметическая прогрессия. | |
| |
30.08.2009 - 7:40 |
Laryx
Опытный юзверь
Группа: Пользователи Сообщений: 142 Регистрация: 13.07.2005 Пользователь №: 28.716
Респектов: 3
Предупреждений:
| Уточнение - прогрессия не арифметическая, а геометрическая. Там другая формула.
Но, обычно в подобных задачах на программирование требуется простой алгоритм сложения. charodey_mag его привел, единственное дополнение - члены данного ряда - очень быстро выходят за пределы не только типа INT, но и даже типа LONGINT, и разумно пользоваться типами с плавающей точкой. | |
| |
|
|