| Другое > Hard'n'Soft |
| Изучение азов програмирования , советы начинающим и т.д и т.п |
| << < (4/7) > >> |
| Fly:
--- Цитата: gepar ---Fly,сейчас попробую проделать , паралельно возник вопрос - как можно присвоить переменной значение типа <=2 и т.д (ну тобишь как присвоить значение a<3 так чтобы паскаль это понял и дальше потом не матерился ) . --- Конец цитаты --- Что-то не понял. Тебе надо переменной присвоить значение типа 2,999999999999? Или записать в переменную результат сравнения a<3 (истина/ложь)? |
| gepar:
BaNdiT, хитрость усёк , фенкс за совет . Добавлено позже: Fly, если конкретно то упражнение в книге следующее : Определите значение величины q после выполнения каждой из следующих команд присваивания : q:=a<b<c and c<5 вот я и хочу узнать как можно присвоить c то что оно меньше 5 так как если я пишу q:=a<b<c<5 то компилятор материться , или я что-то не так делаю ? |
| topos84:
--- Цитата: gepar ---если конкретно то упражнение в книге следующее : Определите значение величины q после выполнения каждой из следующих команд присваивания : q:=a<b<c and c<5 --- Конец цитаты --- Это упражнение или кусок упражнения? Похоже, что кусок. Напиши целиком. |
| gepar:
--- Цитата: topos84 ---Это упражнение или кусок упражнения? Похоже, что кусок. Напиши целиком. --- Конец цитаты --- нет , это всё , ну разве что можно добавить : a,b,c - целочисленные переменные , значение которых вводиться с клавиатуры .А так это всё задание . |
| Aku:
gepar, не понимать :'( Значение переменной ЛЮБОЕ МЕНЬШЕ 3-ёх? Случайное?! Тогда через Random. Или тебе нужен ИМЕННО строковое значение ">=3'???? --- Цитата ---как можно присвоить переменной значение --- Конец цитаты --- mindblow/ ты хочешь описать переменной множество?! Типа (+бесконечности до 3]?? Нуууу! Объясни ЧТО ДЕЛАТЬ НАДО!!! |
| gepar:
Ну вот другой пример где я на этом же застрял : Написать программу вычисления функции где y=x*x если 0<x<2 .Ну дальше я писать не буду так как застрял то я в самом начале на том с чем не разобрался в прошлый раз , а конкретно вот код : program test; uses crt; var a,b,c,x:real; Begin write('enter x'); readln(x); if 0<x<2 then Дальше не пишу так как компилятор выдаёт ''операнды имеют неприводимые типы'' (это паскаль abc такое пишет если что) и наводит курсор сразу после двойки , такое же у меня было с присвоением в прошлом упражнении q значение a<b<c<5 . Что я делаю не так подскажите плыз :'( |
| Aku:
--- Цитата ---< --- Конец цитаты --- это же не знак арифметического/тригонометрического/любого другого действия! --- Цитата ---q:=a<b<c<5 --- Конец цитаты --- разумеется НЕ ТАК. Тебе нужно присвоить НАИМЕНЬШЕЕ значение из 3-х? --- Код: ---if (a<b) and (a<c) then q:=a else if (b<c) and (b<a) then q:=b else q:=c; --- Конец кода --- оно:? |
| gepar:
Aku,вот второй пример , возможно там понятнее будет что у меня конкретно не получается . |
| Aku:
--- Цитата: gepar от 21 Октябрь 2009, 21:13:59 ---Ну вот другой пример где я на этом же застрял : Написать программу вычисления функции где y=x*x если 0<x<2 .Ну дальше я писать не буду так как застрял то я в самом начале на том с чем не разобрался в прошлый раз , а конкретно вот код : program test; uses crt; var a,b,c,x:real; Begin write('enter x'); readln(x); if 0<x<2 then Дальше не пишу так как компилятор выдаёт операнды имеют неприводимые типы (это паскаль abc такое пишет если что) и наводит курсор сразу после двойки , такое же у меня было с присвоением в прошлом упражнении q значение a<b<c<5 . Что я делаю не так подскажите плыз :'( --- Конец цитаты --- ещё проще. НЕТ ДВОЙНОГО УСЛОВИЯ В ПАСКАЛЕ (как вариант - я лох :lol:) --- Код: --- if 0<x<2 then --- Конец кода --- замени на --- Код: ---if (x>0) and (x<2) then --- Конец кода --- компилирует? |
| gepar:
Aku, угу , оно , там правда в том упражнении по сути врядли имелось ввиду использование else и if (они дальше изучаются по этой книге ) , ну да хорошо что помог разобраться как задавать условие типа a<b<c . Добавлено позже: Это я первое уравнение только что сделал , сейчас попробую второе сделать . |
| topos84:
--- Цитата: Aku ---НЕТ ДВОЙНОГО УСЛОВИЯ В ПАСКАЛЕ --- Конец цитаты --- Даже я это вспомнил, хотя с паскалем уже лет 8 ничего не делал. :) Добавлено позже: --- Цитата: gepar ---как задавать уравнения типа a<b<c --- Конец цитаты --- Хорошо себе уравнение, нечего сказать! ^_^ |
| gepar:
--- Цитата: topos84 ---Хорошо себе уравнение, нечего сказать! --- Конец цитаты --- То я с радости что всё получилось не то написал :) Добавлено позже: Ну и ещё маленький вопросик к спецам : если задать что переменная будет real ну и после всех операций и присваиваний ответ получаетcя 1,2000001E+000 ну или что-то подобное то как вернуть этому нормальный облик тобишь как сделать чтобы выводился результат в десятиричной системе , подскажите пожалуйста ? |
| topos84:
gepar, советую тебе зачать новую тему: "Вспоминаем Турбо-Паскаль и решение задач на нем" - тебе будет радость от того, что люди будут помогать тебе решать твои задачи, а остальным, кто темой заинтересуется - ностальгия, понимаешь ли. :) |
| gepar:
topos84, а стоит ли ?Боюсь строка "решение задач на нем" отпугнёт всех да и мне не сколько решение задач важно , а сколько помощ в тех строчках что не разобрался я :) |
| Aku:
--- Цитата: gepar от 21 Октябрь 2009, 21:35:50 ---То я с радости что всё получилось не то написал :) Добавлено позже: Ну и ещё маленький вопросик к спецам : если задать что переменная будет real ну и после всех операций и присваиваний ответ получаетcя 1,2000001E+000 ну или что-то подобное то как вернуть этому нормальный облик тобишь как сделать чтобы выводился результат в десятиричной системе , подскажите пожалуйста ? --- Конец цитаты --- когда выводишь переменную добавь :5:4 типа --- Код: ---writeln(s:5:4); --- Конец кода --- |
| gepar:
--- Цитата: Aku ---writeln(s:5:4); --- Конец цитаты --- Код работает , а можно в двух словах почему нужно приписывать именно :5:4 ?Ну для общего понимания что же я за действие совершаю приписав :5:4 . |
| Mr2:
Запутался в функциях(C++). :blush: Где писать объявление, где определение функции? Как я понял функция это часть программы. Тоесть в программу складывающую два числа можно вставить функцию которая будет прибавлять к результату "5". как определить и как объявить функцию "прибавления к результату пятёрки"? Как я понял в заголовочный файл мы записываем объявление. А куда записывать определение? :( |
| topos84:
--- Цитата: Mr2 ---Как я понял функция это часть программы --- Конец цитаты --- Функции и процедуры суть подпрограммы в Паскале. Отличие функции от процедуры в том, что с функцией можно обращаться как с переменной (присваивать ее значение другим переменным и пр.), а с процедурой нельзя. |
| HardWareMan:
--- Цитата: topos84 от 21 Октябрь 2009, 23:04:45 ---Функции и процедуры суть подпрограммы в Паскале. Отличие функции от процедуры в том, что с функцией можно обращаться как с переменной (присваивать ее значение другим переменным и пр.), а с процедурой нельзя. --- Конец цитаты --- Садись два. Функция от процедуры отличается тем, что функция возвращает результат в себе а процедура нет. Но, при объявлении: procedure SomeProc(var a,b:byte) и function SomeFunc(var a,b:byte):byte a и b тоже могут вернуть какие-то значения. Так работают всем известные blockread/blockwrite, например. Так что, с точки зрения возврата результата различаются только возвратом результата в себе. Например, можно сделать так: function MyFunc(file:string; var size:dword):boolean; А потом юзать как: if MyFunc('c:\windows\explorer.exe',Size) then WriteLn('File size is '+Size) else WriteLn('Error while getting file size!'); Естественно, можно задавать значение по умолчанию для объявленных переменных. Единственный минус в том, что если ты при декларировании переменной в функции или процедуре указываешь именно переменную, то туда нельзя уже подставлять результат предыдущей функции (т.е. будет ошибка, если сделать MyFunc(InputBuffer,Size), если InputBuffer не переменная типа string, а функция, которая возвращает string)... Это что касается паскалей. А человек вообще-то спросил за С++... |
| Henty:
--- Цитата: Mr2 от 21 Октябрь 2009, 21:58:20 ---Запутался в функциях(C++). :blush: Где писать объявление, где определение функции? Как я понял функция это часть программы. Тоесть в программу складывающую два числа можно вставить функцию которая будет прибавлять к результату "5". как определить и как объявить функцию "прибавления к результату пятёрки"? Как я понял в заголовочный файл мы записываем объявление. А куда записывать определение? :( --- Конец цитаты --- Вроде бы там пофигу где писать. Я пишу до функции Main(). оформляется так же, как и Main int MyFunc(parameter1,parameter2...) { operator1; operator2; ... return 1; } int - это тип значения, которое функция возвращает. Без возврата (ака процедура) надо писать void. Потом идут параметры. Чтобы сделать их изменяемыми, перед параметром нужно вписать значок & (прим. void MyFunc(¶meter1, parameter2){}). Ну дальше думаю поймёшь. Напомню, что return значение возвращает какое-то значение и выходит из функции. Если есть void, то return писать не надо. |
| Навигация |
| Главная страница сообщений |
| Следующая страница |
| Предыдущая страница |