Начинаем программировать на с++ с нуля, полного и абсолютного
Primary tabs
ЛИРИЧЕСКОЕ ВСТУПЛЕНИЕ.
есть на ФКНе такой предмет: ЯСиТП (язык си и теория программирования). иситовцы изучают его на третьем курсе и особых проблем с ним, как правило, не имеют. а несчастные студенты с мкн вынуждены именно с него начать изучение программирования - с первых недель пребывания в универе. все бы ничего - если студент в школе хоть немного учил информатику и хорошо знаком с паскалем - выучит синтаксис и дальше будет загоняться матаном и дискретой. а если не учил и не знаком? то есть даже совсем?
тогда ваше дело труба\дрянь\плохо.
первое: на лекциях Хлебостроева не спать. нет труднее задачи, чем не прикорнуть под его размеренный голос на четвертой паре, но... все зависит от вас.
второе: начните читать книжку, например http://www.ph4s.ru/bookprogramir_1.html там найдете книгу Богатырева "руководство полного идиота по программированию" или что-то другое по вкусу.
третье и пожалуй самое главное: ПРАКТИКА. о чем я и поведу речь.
прежде чем пытаться что-либо писать дома, надо установить правильную студию. по опыту почти всего мкн2012 года набора вижул студио 2010 с++ экспресс - нерабочая. то что ИДЕАЛЬНО написано на компах в универе, она читает с ошибкой без возможности исправления. почему - не наше дело, мы ищем вижуал студио 2010 (2012) ултимайт (Visual Studio Ultimate 2012). например здесь:http://www.microsoft.com/visualstudio/ru... . устанавливаем пробную версию, после чего можно уже приступать к практике.
(примечание1:
файл - дополн.параметры сохранения - кирилица doc. тогда консоль будет нормально читать русские буквы.
ПРИМЕЧАНИЕ2: для того чтобы получить полноценную программу из представленного кода необходимо создать новый проэкт в вижуал студио, выбрать пункт "пустой проэкт", указать имя проэкта, в папке "файлы исходного кода" правой клавишей мыши добавить новый элемент "файл с++", скопировать в образовавшееся окно мой код и скомпилировать (клавиши контрол+ F5), после чего попробовать написать что-то подобное самостоятельно.)
ПРАКТИКА.
программирование классически начинается с написания элементарной программы "привет мир!".
на форуме есть несколько тем об этой программе на разных языках, кроме с++, поэтому вот код:
#include "stdio.h" #include "conio.h" int main(int argc, char* argv[]) { printf("Hello, World!\n"); }
полезно написать так же пару тройку простейших программ такого типа ( например эта выводит результат уравнения с известными заранее данными):
// tytytyty.cpp : Defines the entry point for the console application. // #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { int x , y , z; x = 9; y = 4; z = x*y; printf("%d", z); }
затем посложнее(эта программа считывает два вводимых значения и дает результат уравнения с введенными значениями):
#include "stdio.h" void main() { int x , y , z; scanf("%d, %d", &x, &y); z = x*y; printf("%d", z); }
следующая программа, заданная преподом после "привет мир!", у меня выглядела так:
условие: дан квадрат и вписанный в него круг. найти половину площади квадрата, оставшуюся за пределами круга, если будет известна сторона квадрата.
решение:
#include "stdio.h" #include "math.h" #define PI 3.1415926535897932384626433832795 void main() { double x; printf("введите значение стороны квадрата x = "); scanf("%lf", &x); double y = x / 2; double f = x * x; double z = PI * y * y; double s = (f - z) / 2; printf("%lf\n", s); }
как вариант с использованием библиотеки констант:
#define _USE_MATH_DEFINES #include "stdio.h" #include "math.h" void main() { double x; printf("x = "); scanf("%lf", &x); double y = x / 2; double f = x * x; double z = M_PI * y * y; double s = (f - z) / 2; printf("%lf\n", s); }
программа номер пять из таск два. условие: решить квадратное уравнение с задаваемыми коэфицентами.
реализация:
#include "stdio.h" #include "math.h" #include "conio.h" int main() { float x , x1, sq, a, b, c; printf("Vvedite znachenija a, b, c: "); scanf("%f, %f, %f", &a, &b, &c); if (a == 0) { x = - c / b; printf("%f", x); } else { float k; k = b * b - 4 * a * c; if (k < 0) { printf("Kornei net!"); } else if (k == 0) { x = - b / (2 * a); printf("%f", x); } else { sq = sqrt(k); x = (-b + sq) / (2 * a); x1 = (-b - sq) / (2 * a); printf("%f, %f", x, x1); } } getch(); return 0; }
(ВНИМАНИЕ!! при указании библиотек вместо знаков больше \ меньше везде указаны кавычки)
ПОСЛЕСЛОВИЕ: позднее будут добавляться остальные задачи.
- Log in to post comments
- 17471 reads
baton
Sun, 10/07/2012 - 13:21
Permalink
третье примечание
я надеюсь все понимают, что программа в данном случае состоит из: например)
1) подключения библиотек (#include
2) тела программы
3) завления переменных, их типа, возможно - значений
4) действий с этими переменными, функций, циклов и т.д.
5) вывода результатов, завершения программы...
так же почему то после #include не отображаются названия библиотек.
везде, где написаны два #include и пустота, там запись должна быть такой:
#include stdio.h
#include math.h
(math.h и stdio.h ограничены с обоих сторон знаками "больше\меньше")
если будете использовать код, не забудьте исправить.
humanmashine
Sun, 10/07/2012 - 19:09
Permalink
Я начинал кодить с C/C++
Я начинал кодить с C/C++ (Правда до этого был только паскаль в школе - но это не в счёт). Ничего ужасного в этом нет. Читаем Страуструпа - очень полезно, а для тех кому тяжко - надо искать что-то по-легче.
А так, то что я начинал с С++ - это даже плюс, остальные языки потом - плёвое дело)))) Да и этот язык приучает писать программы грамотно, так как в нём неграмотность карается багами и дырками и мыслить программно.
vedro-compota
Sun, 10/07/2012 - 21:50
Permalink
Читаем Страуструпа -
Скорее он для тех, кто хочет постичь "дзен" си++
а если не хочешь, а хочешь просто узреть пример как осуществить наследование классов (для начала базовый пример) - то это просто ужасный учебник.
Он больше похож на описание языка , чем на учебник в прямом смысле этого слова.
_____________
матфак вгу и остальная классика =)