Перейти к содержимому

Фото
- - - - -

Помогите с C++


  • Вы не можете создать новую тему
  • Please log in to reply
13 ответов в этой теме

#1 Nightwalker

Nightwalker
  • Пользователь
  • 106 сообщений

Отправлено 04 Январь 2006 - 17:55

Народ кто может объяснить понятнее и помочь разобраться?

1)Термин "Переменная" был заимствован из алгебры,где он является стереотипным для следующих выражений

x = 10
y = 3 * x

Во втором выражении y-множество, которое задаётся формулой 3*x.Но что такое x?Переменная x играет роль контейнера
для хранения каких-то значений.В нашем случае значением x является 10,но с таким же успехом можно определить значение x равным 20,30,или -1.Вторая формула имеет смысл при любом числовом значении x.
В алгебре можно начать работу с выражений типа x = 10.Программируя на C++ переменную x также необходимо определить перед её использованием.

У меня вопрос: Как понять вторая формула имеет смысл при любом числовом значении x?Объясните мне понятнее.И здесь написанно можно определить значение x равным 20,30, и -1.Объясните понятнее как это сделать ?И для чего это?(просто интересно.)
Как определить переменную перед её использованием?

2)Оператор присвоения сохраняет результат выражения,находящегося справа от "=" в переменной записанной слеваюПрограммисты говорят,что переменной nNFactor присвоено значене 212-32

nNFactor=212-32 Что делает оператор присвоения?

Значение переменной nNfactor (кстати уже вычесленное) умножаются на значение переменной nNcelsius(которое было введенно с клавиатуры).Результат делится на 100 и к нему прибавляется 32.Результат всего выражения приводится к целому типу и присваиваится переменной nFahrenheit.

nFahrenheit=nFactor * nCelsius /100+32

Теперь вопрос:Значение переменной nNfactor (кстати уже вычесленное).Как понять вычесленное?Где его вычисляли?nNcelsius(которое было введенно с клавиатуры).Всмыслебыло введенно с клавиатуры?Я никак понять не могу.Объясните плизз.

3)Понятие переменной Заимствованно из математики.Инструкция вида x = 1 сохраняет значение 1 в переменной x.После такого присвоения математики могут использовать переменную x вместо константы 1,пока не изменят значение x на другое.Здесь объясните подробнее плизз как понять сохраняет значение 1 в переменной x?И как понять после присвоения могут использовать переменню x вместо константы(что такое константа?)Пока не изменять значение x на другое.(здесь вообще ничего не понял объясните как менять значение x и зачем?)
В С++ переменные используются таким же образом.После присвоения х = 1 и до следующего изменения содержимого переменная х становится обозначением числа 1 в программе.При этом говорят что значение х есть 3.Что значить до следующего изменения содержимого,Как его менять?После присвоения(как присвоить?)Значение х есть 3.(Откуда 3 появилась?).

4)Все числа,с которыми работает С++,хранятся в небольших "ларцах",которые называются переменными.В математике с переменными обращаются достаточно свободно.Допускаются формулировки наподобие.
(x+2)=y/2.найти y и V
x+4=v
Уверен, вам не нужно объяснять,что такой способ задания переменных действительно однозначен.К сожалению,С++ не так сообразителен (как я уже упоминал,компъютеры ну просто очень глупы!)
Прежде чем использовать в программе новую переменную,вы должны её объявить:

int x:
x=10
int y:
y=5

Таким образом мы объявили переменные x.y и определили,что они могут содержать значения типа int.
Объявлять переменные можно в любом удобном для вас месте программы,но обязательно перед её использованием.

Вопрос:как это решать?(x+2)=y/2.найти y и V
x+4=v,


int x:
x=10
int y:
y=5

Откуда здесь взялась дясатка и пятёрка?И как объявлять переменные х и у?что за переменные ir.t и nValue(Value) ?






Объясните кому нетрудно поподробнее.А то я что-то слабо соображаю.
  • 0

#2 ФрукТ

ФрукТ
  • Постоялец
  • 768 сообщений
  • Откуда:сеть

Отправлено 04 Январь 2006 - 22:00

Nightwalker, все прочитал, но не понял одного: при чем тут математика?

Кстати, чтобы не мучаться вопросами типа "Откуда здесь взялась дясатка и пятёрка?" можно программить на языках высокого уровня.

А чтобы не мучаться вопросами типа: "Что делает оператор присвоения?" надо покурить ассемблер (:

Сообщение изменено: banana (04 Январь 2006 - 22:00 )

  • 0

#3 V^v

V^v
  • Пользователь
  • 316 сообщений

Отправлено 04 Январь 2006 - 22:06

Кстати, чтобы не мучаться вопросами типа "Откуда здесь взялась дясатка и пятёрка?" можно программить на языках высокого уровня.

а в языках высокого уровня десяток и пятерок нет ? :D
  • 0
int main(void)

#4 Nightwalker

Nightwalker
  • Пользователь
  • 106 сообщений

Отправлено 06 Январь 2006 - 12:15

Народ что такое Аргументы?Что за переменные Var?В выражениях типа var1 op var2 оператор op бинарный.Что за Op оператор?Или это в книге опечатка?И что значит бинарный??что за переменные ir.t и nValue(Value) ?
  • 0

#5 V^v

V^v
  • Пользователь
  • 316 сообщений

Отправлено 06 Январь 2006 - 18:48

аргументы - переменные, которые передаются функции
var1 op var2
op - бинарный оператор, то есть он требует 2 переменные, одну слева и одну справа, пример бинарных операторов - присвоение =, побитовые операторы &, ^, | (но не ! ), арифметические и другие.

>>что за переменные ir.t и nValue(Value) ?
откуда мне знать, покажи код.
  • 0
int main(void)

#6 ФрукТ

ФрукТ
  • Постоялец
  • 768 сообщений
  • Откуда:сеть

Отправлено 06 Январь 2006 - 19:43

V^v,

а в языках высокого уровня десяток и пятерок нет ?


работы с памятью напрямую нету (:
И не надо задаваться вопросом "где взять и куда запихнуть" эти самые пятеркидесятки.

А вообще автор задает походу те вопросы, которые рассматриваются в любых книжках по программированию.

Прикрепленные файлы


  • 0

#7 V^v

V^v
  • Пользователь
  • 316 сообщений

Отправлено 06 Январь 2006 - 23:30

работы с памятью напрямую нету (:
И не надо задаваться вопросом "где взять и куда запихнуть" эти самые пятеркидесятки.

ты хочешь сказать, что
a = 5;
b = 10;
в языках высокога уровня невозможно или не используется? Не совсем понимаю, что хочешь сказать...
  • 0
int main(void)

#8 ФрукТ

ФрукТ
  • Постоялец
  • 768 сообщений
  • Откуда:сеть

Отправлено 06 Январь 2006 - 23:40

V^v, я хочу сказать, что у автора странный вопрос.

int x:
x=10
int y:
y=5

Откуда здесь взялась дясатка и пятёрка?И как объявлять переменные х и у?


Понимаешь, что означает вопрос: "откуда взялась"? Как откуда, млин. Их объявили. Если автор хочет знать, что происходит при объявлении переменной, то ему следовало бы углубиться в низкоуровневое программирование. Второй вопрос вообще не знаю к чему. "Как объявлять?" Он только что объявил и теперь спрашивает, как он это сделал.

Вот я про что. А яз. высокого уровня здесь как раз при том, что для них по крайней мере первый вопрос звучит абсурдно.
  • 0

#9 V^v

V^v
  • Пользователь
  • 316 сообщений

Отправлено 06 Январь 2006 - 23:49

согласен, вопросы действительно странные.
  • 0
int main(void)

#10 Nightwalker

Nightwalker
  • Пользователь
  • 106 сообщений

Отправлено 17 Январь 2006 - 23:51

Народ как запустить GNU C++??
  • 0

#11 V^v

V^v
  • Пользователь
  • 316 сообщений

Отправлено 18 Январь 2006 - 14:22

g++ -o prog source.cpp
./prog

Сообщение изменено: V^v (18 Январь 2006 - 14:22 )

  • 0
int main(void)

#12 not nil

not nil
  • Пользователь
  • 27 сообщений

Отправлено 20 Январь 2006 - 08:27

Nightwalker, ну тут весьма все просто.

Первый, давай обратимся к математике.
Выражение Х=(1.n) характеризует множество точек. Где область определения есть ничто иное как прямая.
Выражение У=Ф(Х) характеризует множество точек лежащие в одной плоскости
Выражение З=К(Ф(Х),Х)= К(У,Х) характерезует сферу ограниценную областями значения Х, У(Х).
и так далее...
В программировании тоже самое :
функция = К(У,Х). То есть область значения функции напрямую зависит от параметров У и Х.
Это и есть аналогия. Всё просто.
y=x*3. Как понять вторая формула имеет смысл при любом числовом значении x?
Элементарно ... исследуй функцию на эстремумы. Если функция имеет значение на всей оси Х, то и как следвие формула имеет смысл. Другой пример : у = 2/Х ... функция имеет смысл на всем интервале кроме, точки Х = 2.

Как определить переменную перед её использованием?
Для того чтобы определить переменную, необходимо выделить блок памяти и присвоить этому выделеному блоку псевдоним-имя, чтобы впоследствии не обращаться к памяти по его адресу, а просто использовать псевданим. Для улучшения читаемости кода. Например команда
X DB 00;
значит что необходимо выделить один байт памяти. Адрес по которому выделили сопоставить имени "Х" и заполнить начальными значениями "00" ... впоследвии к значению мозно обращаться через имя-псевдоним "Х" ... вот собственно и все...

ЗЫ! Остальное в тож же духе.


Добавлено в [mergetime]1137738428[/mergetime]
Зы ... не сферу , а поверхность. :)
  • 0

#13 Nightwalker

Nightwalker
  • Пользователь
  • 106 сообщений

Отправлено 20 Январь 2006 - 18:07

Посоветуйте компилятор а то я GNU C++ никак запустить немогу.
  • 0

#14 not nil

not nil
  • Пользователь
  • 27 сообщений

Отправлено 25 Январь 2006 - 03:32

Nightwalker, ты из под чего сидишь?

Nightwalker, коли МастДай ... то сходи сюда. Коли другое, то gcc должен работать с командной строки по умолчанию.

http://www.mingw.org/
  • 0