09.06.2011, 15:55 | #31 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
L:Integer; i,n,Sum,Code:Integer; записать просто i,n,Sum,Code,L:Integer; Но не обязательно. |
|
10.06.2011, 22:06 | #32 (permalink) |
Новичок
Регистрация: 01.06.2011
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Владимир, прошу еще Вашей помощи в последний раз...
Вот задачка: Протабулироавать функцию y=|cosx²-0,51|sin(3x-4)-4,44 на отрезке [0;7] с шагом h=0,1x7. Результат вывести в виде таблицы. Определить сумму всех положительных значений функции Y и количество отрицательных. |
10.06.2011, 22:37 | #34 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Ох, ну до чего это утомительно, когда в условии задачи явный брёх! Простейший анализ формулы показывает, что никаких положительных значений там в принципе быть не может!!! Судите сами:
1. Под знаком модуля - косинус чего-то минус 0.51, т.е. максимальное значение - около 1.5. 2. Дальше это дело умножается на синус чего-то, неважно чего, имеющий максимальное значение 1. Произведение этих двух сомножителей дает максимальное значение 1.49. 3. И теперь из этого вычитается 4.44. И откуда положительным величинам взяться? Ну ладно, моё дело - сторона. Вы дали такое условие - получите: Код:
Const Xmin=0; Xmax=7.0; DX=0.7; VAR N,i,Num:Integer; x,Sum:Real; Function Y(Xy:Real):Real; begin Y:=Abs(Cos(Sqr(Xy))-0.51)*Sin(Xy*3-4)-4.44; end; BEGIN N:=Round((Xmax-Xmin)/DX); Writeln(' x y'); Sum:=0; Num:=0; For i:=0 to N do begin x:=Xmin+DX*i; Writeln(x:5:1,Y(x):12:5); If Y(x)>0 then Sum:=Sum+Y(x); If Y(x)<0 then Num:=Num+1; end; Writeln; Writeln('Sum of positive values is ',Sum:10:3); Writeln('Number of negative values is ',Num); Readln END. |
11.06.2011, 11:47 | #35 (permalink) |
Member
Регистрация: 08.06.2011
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Еще раз всем ПРИВЕТ!!!!! нужно помощь, срочно!!!!
нужно объяснение строчкам!!!! задача 22: дана строка изображающая целое положительное число. Вывести сумму цифр этого числа. VAR S,s1:String; L,i,n,Sum,Code:Integer; BEGIN Writeln('Enter the string:'); Readln(S); Sum:=0; L:=Length(s); For i:=1 to L do begin S1:=s[i]; Val(S1,n,Code); Inc(Sum,n); end; Writeln('Sum= ',Sum); Readln END. |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
11.06.2011, 17:33 | #36 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Пожалуйста:
VAR {Задаем переменные (параметры) программы} S,s1:String; {Вводим две переменные типа "Строка"} L,i,n,Sum,Code:Integer; {Ещё вводим несколько целочисленных} BEGIN {Начинаем} Writeln('Enter the string:'); {Компьютер просит вести строку } Readln(S); {Вводим стоку} Sum:=0; {Будущей сумме цифр присваиваем исходное значение "0"} L:=Length(s); {Переменной L присваиваем значение, равное количеству символов во введенной строке, в данном случае - количеству цифр числа } For i:=1 to L do {Объявляем цикл посимвольного перебора введенной строки} begin {Начинаем этот цикл} S1:=s[i]; {Строковой переменной S1 присваиваем значение текущего (i-того) символа строки, в данном случае - символа знака цифры. Эта строка - на всякий случай; не все версии Паскаля допускают непосредственную подстановку символа (а не строки) в оператор Val} Val(S1,n,Code);{Преобразуем символ S1 в число (цифру) n. Параметр Code отражает наличие или отсутствие ошибок при этой операции; его использование (или неиспользование) - на усмотрение программиста. В данном случае он никак не обрабатывается, но вводить его всё равно надо} Inc(Sum,n); {Увеличиваем искомую сумму Sum на величину n} end;{Конец цикла по цифрам исходного числа} Writeln('Sum= ',Sum);{Вывод результата (полученной суммы) на экран} Readln {Останов, чтобы можно было на этот результат посмотреть} END. {Всё!} |
11.06.2011, 20:27 | #38 (permalink) | ||
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Цитата:
А вообще VAL(S,N,Code) (преобразование строки в число) и STR(N,S) (обратное преобразование) - это стандартные процедуры Паскаля. |
||
11.06.2011, 20:47 | #39 (permalink) |
Member
Регистрация: 08.06.2011
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Ясно!!! Thanks!!!!
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|