a60ikurgannikova
?>

Составить программу для вычисления y=1/x на языке Паскаль

Информатика

Ответы

Vyacheslavovich Mikhailovich1421

При определении значений подобных функций переменная y вычисляется по-разному (по разным формулам) в зависимости от значения x.

Такие задачи решаются с конструкции условного оператора if - else. Поскольку в данном случае мы имеем три условия (x > 0, x = 0 и x < 0), то потребуется использование еще вложенной конструкции if - else, т. к. в языке Pascal нет оператора множественного ветвления (оператор case в данном случае не подходит).

В языке программирования Паскаль (да и в других тоже) желательно вложенные конструкции if - else помещать во внешнюю ветку else, а не if. Так проще не запутаться.

Таким образом, алгоритм вычисления значения функции может быть таким:

Если x > 0, то у = x - 2

Иначе (ниже идет вложенная конструкция)

Если x = 0, то y = 0

Иначе y = |x|.

В последнем пункте можно опустить оператор if с проверкой, что x < 0, так как если ход выполнения программы дошел до этого пункта, то x уже другим быть и не может (варианты, когда он больше или равен нулю, уже были исключены).

Для определения модуля (абсолютного значения) переменной можно использовать встроенную функцию abs() языка Pascal. В данном случае можно обойтись и без нее: поскольку уже известно, что x отрицателен, то, чтобы получить положительное число (модуль), нужно его умножить на -1.

Объяснение:

(P.S-Не с ИНЕТА)=)

Komarovsergeysk
№1.
Тысячи путей ведут к заблуждению, к истине - только один.
Для начала надо посчитать, сколько всего символов в данном предложении, следует считать знаки препинания и пробелы. 
Посчитав все знаки (Итого:57), мы получаем, что вес предложения 57 байт, переводим в биты, то есть умножаем на 8 (1 байт = 8 бит):
57*8=456.

№2.
Кодировка Unicode - это кодировка, каждый символ которой весит 16 бит. Итак, я посчитала количество знаков в предложении (Итого:32). Дальше: 16*32=512 бит.

№3.
Итак, мы видим, что из 16-битной кодировки получилась 8-битная, а это значит, что она уменьшилась вдвое.
8x=800
x=100 (у тебя ошибка, я посмотрела аналогичные задания, отличающиеся только значениями)

№4 допишу в комментарии.
zazaza74
//Pascal ABC.NET v3.1 сборка 1172

Var
 f,s:text;
 st,sp:string;
 i:integer;
 c:char;
begin
 assign(s,'text1.txt');
 reset(s);
 while not Eof(s) do
 begin;
 readln(s,sp);
 st:=st+sp+chr(10)+chr(13);
 end;
 close(s);
 for i:=1 to length(st) div 2 do
  begin
   c:=st[i];
   st[i]:=st[length(st)-i+1];
   st[length(st)-i+1]:=c;
  end;
 assign(f,'text.txt');
 rewrite(f);
 write(f,st);
 close(f);
end.

Текст в файле text1.txt:

Simple text
1And another simple text
2New text

Текст в файле text.txt:
txet weN2
txet elpmis rehtona dnA1
txet elpmiS

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Составить программу для вычисления y=1/x на языке Паскаль
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

gsktae7
ОвчинниковаТатьяна
sohrokova809
fouettearoma
pafanasiew
eshabunina
nyuraborova89
gymnazium
msk-academ
rsksnb
tumanowivan2015509
verynzik66525
Sergei Gaishun
ylia89
coleslow12