Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Roman_cat_Marcus
Пол: Заядлый Рега: 23.09.2012 Сообщения: 1815
|
Добавлено: Пн Дек 19, 2016 5:13 pm Заголовок сообщения: |
|
|
Погугли Visual Studio. отталкивайся от этого.
пиши в нем на C# _________________O tempora, o mores!
"Разброс" это фрагментированная линейность.
Miraculous LadyBug |
|
Вернуться к началу |
|
|
jura_k
Пол: Возраст: 48 Постоянный гость Рега: 02.02.2013 Сообщения: 451
|
Добавлено: Вт Дек 20, 2016 5:58 am Заголовок сообщения: |
|
|
Помимо Visual studio (на нём, кстати, написана моя программа "The wall" - см. подпись) в закромах лежат Visual Basic 5, Visual C 6, Visual C 7. Лет 15 уже.
А в этой программе нужно вводить только три целых числа.
Код: | /* p13
Язык Turbo C 2.0
Основы программирования
Переменные: int - 3 */
/* 1 - 22k, 3 - 23k, 7 - 25k, 14 - 26k, 18 - 27k */
#include <conio.h>
#include <math.h>
#include <stdio.h>
d (); /* Нет решений. */
e (); /* Решение - любое число. */
f (float); /* Один корень. */
g (float, float); /* Два корня. */
h (float, float, float); /* Три корня. */
i (float, float, float, float); /* Четыре корня. */
main ()
{
int a, b, c; /* исходные данные */
int j, k; /* натуральные числа */
int l, m, n, o;
float p, q;
printf ("Введите три целых числа: ");
scanf ("%i%i%i", &a, &b, &c);
/* 13.1.2. Составить алгоритм решения квадратного уравнения
ax^2 + bx + c = 0. */
j = b * b - 4 * a * c;
printf ("1. ");
if (a == 0)
if (b == 0)
if (c == 0) e (); else d ();
else
f ((float) -c / b);
else
if (j < 0)
d ();
else
if (j == 0)
f (-b / 2. / a);
else
g ((-b - sqrt (j)) / 2 / a, (-b + sqrt (j)) / 2 / a);
/* 16.1.3. Вычислить n! */
j = 1;
for (k = 1; k < a; k++) j *= k + 1;
printf ("2. %i! = %i.\n", a, j);
/* 18.1.4. Даны два натуральных числа M и N. Вычислить их наибольший
общий делитель НОД (M, N). */
j = a;
k = b;
if (j < 0) j = -j;
if (k < 0) k = -k;
if (j == 0) j = 1;
if (k == 0) k = 1;
l = j;
m = k;
while (l - m) if (l > m) l -= m; else m -= l;
printf ("3. НОД (%i, %i) = %i.\n", a, b, l);
/* 19.1.5. Составить алгоритм вычисления степенной функции с целым
показателем y = x ^ k, где k - целое число. */
l = 1;
for (m = 0; m < k; m++) l *= a;
printf ("4. %i ^ %i = ", a, b);
if (a == 0)
printf ("0.\n");
else
if (b == 0)
printf ("1.\n");
else
if (b > 0)
printf ("%i.\n", l);
else
if (l == 0)
printf ("0.\n");
else
printf ("%.4g.\n", 1. / l);
/* 21.3.8. Даны три положительных числа. Составить алгоритм,
определяющий, могут ли они быть длинами сторон треугольника. */
if (a > 0 && b > 0 && c > 0 && a + b > c && a + c > b && b + c > a)
printf ("5. Числа могут быть длинами сторон треугольника.\n");
else
printf ("5. Числа не могут быть длинами сторон треугольника.\n");
/* 21.4.9. Пусть компьютер способен выполнять только две арифметические
операции - сложение и вычитание. Составить алгоритмы:
а) умножения двух целых чисел;
б) целочисленного деления двух чисел;
в) получения остатка от целочисленного деления двух чисел. */
l = 0;
for (m = 0; m < j; m++) l += k;
printf ("6. %i * %i = %i, ", j, k, l);
l = 0;
m = j;
while (m >= k) {m -= k; l++;}
printf ("%i / %i = %i, %i %% %i = %i.\n", j, k, l, j, k, m);
/* 21.5.10. Построить алгоритм решения биквадратного уравнения,
используя как вспомогательный алгоритм решения квадратного уравнения. */
l = b * b - 4 * a * c;
printf ("7. ");
if (a == 0)
if (b == 0)
if (c == 0) e (); else d ();
else
{
p = (float) -c / b;
if (p < 0)
d ();
else
if (p == 0)
f (0);
else
g (-sqrt (p), sqrt (p));
}
else
if (l < 0)
d ();
else
if (l == 0)
{
p = -b / 2. / a;
if (p < 0)
d ();
else
if (p == 0)
f (0);
else
g (-sqrt (p), sqrt (p));
}
else
{
p = (-b - sqrt (l)) / 2 / a;
q = (-b + sqrt (l)) / 2 / a;
if (p < 0)
if (q < 0)
d ();
else
if (q == 0)
f (0);
else
g (-sqrt (q), sqrt (q));
else
if (p == 0)
if (q < 0)
f (0);
else
h (-sqrt (q), 0, sqrt (q));
else
if (q < 0)
g (-sqrt (p), sqrt (p));
else
if (q == 0)
h (-sqrt (p), 0, sqrt (p));
else
i (-sqrt (q), -sqrt (p), sqrt (p), sqrt (q));
}
/* 21.6.11. Составить алгоритм нахождения НОД трех натуральных чисел,
используя вспомогательный алгоритм нахождения НОД двух чисел. */
l = c;
if (l < 0) l = -l;
if (l == 0) l = 1;
m = j;
n = k;
while (m - n) if (m > n) m -= n; else n -= m;
n = l;
while (m - n) if (m > n) m -= n; else n -= m;
printf ("8. НОД (%i, %i, %i) = %i.\n", a, b, c, m);
/* 33.1.12. */
l = a;
if (l < b) l = b;
if (l < c) l = c;
printf ("9. max (%i, %i, %i) = %i.\n", a, b, c, l);
/* 48.9.21. Присвоить целой переменной h значение цифры, стоящей в
разряде сотен в записи положительного целого числа k (например, если
k = 28796, то h = 7). */
printf ("10. Число сотен равно %i.\n", a % 1000 / 100);
/* 48.10.22. Целой переменной S присвоить значение суммы цифр
трехзначного целого числа k. */
l = a % 1000;
m = l / 100 + l / 10 % 10 + l % 10;
printf ("11. Сумма цифр равна %i.\n", m);
/* 63.1.27. По длинам трех сторон треугольника a, b, c вычислить его
площадь. */
p = (a + b + c) / 2.;
q = p * (p - a) * (p - b) * (p - c);
if (q < 0) q = 0;
printf ("12. Площадь треугольника %.4g.\n", sqrt (q));
/* 65.1.29. Вычислить сумму целых чисел от M до N путем прямого
суммирования. */
l = 0;
m = a;
while (1)
{
if (m > b) break;
l += m;
if (m == 32767) break;
m++;
}
printf ("13. Сумма чисел от %i до %i равна %i.\n", a, b, l);
/* 68.6.34. */
printf ("\nx\tsin x\t cosx\n");
printf ("-----------------------\n");
for (l = 0; l < 11; l++)
{
p = l / 10.;
printf ("%-.4g\t%-.4f\t %-.4g\n", p, sin (p), cos (p));
}
printf ("-----------------------\n\n");
/* 68.7.35. Напечатать в возрастающем порядке все трехзначные числа, в
десятичной записи которых нет одинаковых цифр. */
for (l = 1; l < 10; l++)
for (m = 0; m < 10; m++)
for (n = 0; n < 10; n++)
if (l - m && m - n && l - n) printf ("%i%i%i ", l, m, n);
/* 68.8.36. Дано целое n > 2. Напечатать все простые числа из диапазона
[2, n]. */
printf ("\n\n16. Простые числа: ");
for (l = 2; l <= a; l++)
{
m = sqrt (l);
n = 0;
for (o = 2; o < m + 1; o++) if (l % o == 0) n = 1;
if (n == 0) printf ("%i ", l);
if (l > 32766) break;
}
/* 70.1.37. С помощью приведенной программы определите на вашем
компьютере величину машинного epsilon. */
p = 1;
while (1 + p > 1) p /= 2;
printf ("\n\n17. Машинный эпсилон %.4g.\n", p);
/* 71.6.41. Проведите эксперимент на исследование целочисленного
переполнения, т.е. установите, что происходит с целой переменной, когда
ее значение превышает maxint. */
l = 32766;
printf ("18. Целочисленное переполнение: %i - %u, ", l, l);
l++;
printf ("%i - %u, ", l, l);
l++;
printf ("%i - %u,\n", l, l);
l++;
printf ("%i - %u.\n", l, l);
getch ();
printf ("\n");
}
d () {printf ("Решений нет.\n");}
e () {printf ("Решение - любое число.\n");}
f (float a) {printf ("x = %.4g.\n", a);}
g (float a, float b) {printf ("x1 = %.4g, x2 = %.4g.\n", a, b);}
h (float a, float b, float c) {printf ("x1 = %.4g, x2 = %.4g, x3 = %.4g.\n", a, b, c);}
i (float a, float b, float c, float d) {printf ("x1 = %.4g, x2 = %.4g, x3 = %.4g, x4 = %.4g.\n", a, b, c, d);}
/* */ |
_________________ |
|
Вернуться к началу |
|
|
Roman_cat_Marcus
Пол: Заядлый Рега: 23.09.2012 Сообщения: 1815
|
Добавлено: Вт Дек 20, 2016 11:48 am Заголовок сообщения: |
|
|
Напиши иуже какуюто игру!!!!! а не эти детские задачки. _________________O tempora, o mores!
"Разброс" это фрагментированная линейность.
Miraculous LadyBug |
|
Вернуться к началу |
|
|
jura_k
Пол: Возраст: 48 Постоянный гость Рега: 02.02.2013 Сообщения: 451
|
Добавлено: Вт Дек 20, 2016 5:18 pm Заголовок сообщения: |
|
|
В 2000-ом году я написал игру "Сокобан" на языке "FoxPro 2.6". Могу специально для тебя сфотографировать распечатку листинга этой программы.
Добавлено спустя 6 минут 25 секунд:
У меня сейчас одна цель - прочитать книгу. Что я и делаю. Других целей поставить не могу, потому что есть куча других дел: переводить статьи сайта "Vocaloid News Network" (vocaloidnews.net) - всё на мне висит; подклеивать мангу - тоже сроки есть. И ещё куча других занятий, как у любого анимешника.
Вот книга и это программирование хороши тем, что это очень ограниченный мир: только ты и я... простите, только я и С. Я там банально отдыхаю. _________________ |
|
Вернуться к началу |
|
|
Roman_cat_Marcus
Пол: Заядлый Рега: 23.09.2012 Сообщения: 1815
|
Добавлено: Вт Дек 20, 2016 6:24 pm Заголовок сообщения: |
|
|
Цитата: | Могу специально для тебя сфотографировать распечатку листинга этой программы. |
Так не пойдет.
Давай делай нам 3Д игру. Шутер какойнить наподобе контр страйк. _________________O tempora, o mores!
"Разброс" это фрагментированная линейность.
Miraculous LadyBug |
|
Вернуться к началу |
|
|
Forgottenmem
Новичок Рега: 20.12.2016 Сообщения: 1
|
Добавлено: Вт Дек 20, 2016 8:17 pm Заголовок сообщения: |
|
|
jura_k, только ради Вас я зарегистрировался на форуме. Вы мой кумир без всякого злобства. Жду с нетерпением постов с задумками, очередными победами и реализациями поставленных целей=)
|
|
Вернуться к началу |
|
|
jura_k
Пол: Возраст: 48 Постоянный гость Рега: 02.02.2013 Сообщения: 451
|
Добавлено: Вт Дек 20, 2016 8:50 pm Заголовок сообщения: |
|
|
Займись лучше AMV. _________________ |
|
Вернуться к началу |
|
|
jura_k
Пол: Возраст: 48 Постоянный гость Рега: 02.02.2013 Сообщения: 451
|
Добавлено: Вс Сен 23, 2018 3:23 pm Заголовок сообщения: |
|
|
Будни программиста.
_________________ |
|
Вернуться к началу |
|
|
jura_k
Пол: Возраст: 48 Постоянный гость Рега: 02.02.2013 Сообщения: 451
|
Добавлено: Сб Окт 06, 2018 5:01 pm Заголовок сообщения: |
|
|
Программа создана для решения учебных задач в среде Visual C++ 6.0.
Реализованы ввод данных, а также вывод результатов. В приложении рабочая версия программы и архив проекта.
За основу взята архитектура программы MFC.
https://yadi.sk/i/UHolQFkGn5cCrw - текст программы
https://yadi.sk/i/j1MtPspDY4GvLw - задачник
https://yadi.sk/i/S0R3tYR6rweFiw - текст программы
https://yadi.sk/d/thRbgTrYF5RuPg - архив проекта
https://yadi.sk/d/VzoSCO3oJwtQ5A - программа
Код: | // Файл p11Doc.h
class CP11Doc:public CDocument
{
protected:
CP11Doc ();
DECLARE_DYNCREATE (CP11Doc);
int aa, ab, ac;
int ad, ae, af;
int ia [10];
int ka, kb, kc, kd;
int la, lb, lc;
double ib [10];
CString ic [10];
double ca, cb;
double da;
/* aa - режим отображения */
/* ab - код введённого символа */
/* ac - указатель на введённый символ */
/* ad - внутренний указатель обрабатываемого символа в строке в функции ga () */
/* ae - введённое целое число в функции ga () */
/* af - выбор режима программы */
/* da - введённое рациональное число в функции ga () */
/* ca ... cb - исходные данные, рациональные числа */
/* ka ... kd - исходные данные, целые числа */
/* la ... lc - исходные данные, натуральные числа */
/* ia [10] - массив целых чисел (результатов) для вывода на экран */
char ea [50]; // место для вводимых символов
void ga (); // перевод данных из символьной формы в цифровую
void gb (); // сборка целого числа из строки
void gc (); // сборка рационального числа из строки
void ha (); // решение задач
};
- - - - - - - - - - - - - - - - - - - -
// Файл p11Doc.cpp
#include "stdafx.h"
#include <math.h>
#include "p11.h"
#include "p11Doc.h"
CP11Doc::CP11Doc ()
{
aa = ab = ac = 0;
ea [0] = ia [0] = 0;
}
void CP11Doc::ga ()
{
if (aa == 0)
{
aa = 1;
ad = 0;
while ((ea [ad] < '0' || ea [ad] > '9') && ea [ad]) ad++;
gb ();
af = ae;
if (af < 2 || af > 3) aa = 2;
ac = ea [0] = 0;
return;
}
aa = 2;
ad = 0;
if (af == 2)
{
while ((ea [ad] < '0' || ea [ad] > '9') && ea [ad] != '-' && ea [ad]) ad++;
gb ();
ka = ae;
while ((ea [ad] < '0' || ea [ad] > '9') && ea [ad] != '-' && ea [ad]) ad++;
gb ();
kb = ae;
while ((ea [ad] < '0' || ea [ad] > '9') && ea [ad] != '-' && ea [ad]) ad++;
gb ();
kc = ae;
while ((ea [ad] < '0' || ea [ad] > '9') && ea [ad] != '-' && ea [ad]) ad++;
gb ();
kd = ae;
}
if (af == 3)
{
while ((ea [ad] < '0' || ea [ad] > '9') && ea [ad] != '-' && ea [ad] != '.' && ea [ad]) ad++;
gc ();
ca = da;
while ((ea [ad] < '0' || ea [ad] > '9') && ea [ad] != '-' && ea [ad] != '.' && ea [ad]) ad++;
gc ();
cb = da;
}
ha ();
}
void CP11Doc::gb ()
{
int a; // знак числа
ae = 0;
a = 1;
if (ea [ad] == '-') {a = -1; ad++;}
while (ea [ad] >= '0' && ea [ad] <= '9')
{
ae = ae * 10 + ea [ad] - '0';
ad++;
}
ae *= a;
}
void CP11Doc::gc ()
{
int a;
double b;
da = 0; // собираемое рациональное число
a = 1; // знак числа
b = .1; // множитель в дробной части числа
if (ea [ad] == '-') {a = -1; ad++;}
while (ea [ad] >= '0' && ea [ad] <= '9')
{
da = da * 10 + ea [ad] - '0';
ad++;
}
if (ea [ad] == '.')
{
ad++;
while (ea [ad] >= '0' && ea [ad] <= '9')
{
da += (ea [ad] - '0') * b;
ad++;
b /= 10;
}
}
da *= a;
}
void CP11Doc::ha ()
{
int a, b, c;
double d, e;
if (af == 2)
{
/* 11.1.1. */
ia [0] = ka * kd;
ia [1] = kb * kc;
/* 13.1.2. Составить алгоритм решения квадратного уравнения: ax^2 + bx + c = 0. */
if (ka == 0)
if (kb == 0)
if (kc == 0)
a = 3;
else
a = 0;
else
{
a = 1;
d = (double) -kc / kb;
}
else
{
b = kb * kb - 4 * ka * kc;
if (b < 0)
a = 0;
else
if (b == 0)
{
a = 1;
d = -kb / 2. / ka;
}
else
{
a = 2;
d = (-kb - sqrt (b)) / 2 / ka;
e = (-kb + sqrt (b)) / 2 / ka;
}
}
switch (a)
{
case 0: ic [0].Format ("2. Нет решений."); break;
case 1: ic [0].Format ("2. x = %.4g.", d); break;
case 2: ic [0].Format ("2. x1 = %.4g, x2 = %.4g.", d, e); break;
default: ic [0].Format ("2. Решение - любое число.");
}
/* 16.1.3. Вычислить n! */
a = 1;
b = ka + 1;
if (b > 20) b = 20;
for (c = 1; c < b; c++) a *= c;
ia [2] = a;
/* 18.1.4. Даны два натуральных числа M и N. Вычислить их наибольший общий делитель НОД (M, N). */
la = ka; lb = kb; lc = kc;
if (la < 0) la = -la; if (!la) la = 1;
if (lb < 0) lb = -lb; if (!lb) lb = 1;
if (lc < 0) lc = -lc; if (!lc) lc = 1;
a = la; b = lb;
while (a - b) if (a > b) a -= b; else b -= a;
ia [3] = a;
} // конец функции (af = 2)
if (af == 3)
{
/* 19.1.5. Вычислить степенную функцию с целым показателем y = x^k, где k - целое число, x != 0. */
ia [4] = a = b = (int) cb;
if (b < 0) b = -b;
if (ca == 0)
ib [0] = 0;
else
{
d = 1;
for (c = 0; c < b; c++) d *= ca;
if (a < 0) d = 1 / d;
ib [0] = d;
}
} // конец функции (af = 3)
}
- - - - - - - - - - - - - - - - - - - -
// Файл p11View.cpp
void CP11View::OnDraw (CDC *pDC)
{
CP11Doc *pdoc = GetDocument ();
ASSERT_VALID (pdoc);
CString a;
if (pdoc -> aa == 0)
{
pDC -> TextOut (10, 10, "Введите целое число:");
pDC -> TextOut (10, 35, pdoc -> ea);
a.Format ("code = %i", pdoc -> ab);
pDC -> TextOut (10, 60, a);
pDC -> TextOut (10, 85, "1. Нет ввода.");
pDC -> TextOut (10, 110, "2. Ввод целых чисел.");
pDC -> TextOut (10, 135, "3. Ввод рациональных чисел.");
return;
}
if (pdoc -> aa == 1)
{
pDC -> TextOut (10, 10, "Введите целое число:");
a.Format ("%i", pdoc -> af);
pDC -> TextOut (10, 35, a);
a.Format ("code = %i", pdoc -> ab);
pDC -> TextOut (10, 60, a);
pDC -> TextOut (10, 85, "1. Нет ввода.");
pDC -> TextOut (10, 110, "2. Ввод целых чисел.");
pDC -> TextOut (10, 135, "3. Ввод рациональных чисел.");
if (pdoc -> af == 2)
{
pDC -> TextOut (10, 160, "Введите четыре целых числа:");
pDC -> TextOut (10, 185, pdoc -> ea);
}
if (pdoc -> af == 3)
{
pDC -> TextOut (10, 160, "Введите два рациональных числа:");
pDC -> TextOut (10, 185, pdoc -> ea);
}
return;
}
if (pdoc -> af == 2)
{
pDC -> TextOut (10, 10, "Введите целое число:");
a.Format ("%i", pdoc -> af);
pDC -> TextOut (10, 35, a);
a.Format ("code = %i", pdoc -> ab);
pDC -> TextOut (10, 60, a);
pDC -> TextOut (10, 85, "1. Нет ввода.");
pDC -> TextOut (10, 110, "2. Ввод целых чисел.");
pDC -> TextOut (10, 135, "3. Ввод рациональных чисел.");
pDC -> TextOut (10, 160, "Введите четыре целых числа:");
pDC -> TextOut (10, 185, pdoc -> ea);
a.Format ("%i %i %i %i", pdoc -> ka, pdoc -> kb, pdoc -> kc, pdoc -> kd);
pDC -> TextOut (10, 210, a);
a.Format ("1. %i / %i : %i / %i = %i / %i.", pdoc -> ka, pdoc -> kb, pdoc -> kc, pdoc -> kd, pdoc -> ia [0], pdoc -> ia [1]);
pDC -> TextOut (10, 260, a);
pDC -> TextOut (10, 285, pdoc -> ic [0]);
a.Format ("3. %i! = %i.", pdoc -> ka, pdoc -> ia [2]);
pDC -> TextOut (10, 310, a);
a.Format ("4. НОД (%i, %i) = %i.", pdoc -> la, pdoc -> lb, pdoc -> ia [3]);
pDC -> TextOut (10, 335, a);
}
if (pdoc -> af == 3)
{
pDC -> TextOut (10, 10, "Введите целое число:");
a.Format ("%i", pdoc -> af);
pDC -> TextOut (10, 35, a);
a.Format ("code = %i", pdoc -> ab);
pDC -> TextOut (10, 60, a);
pDC -> TextOut (10, 85, "1. Нет ввода.");
pDC -> TextOut (10, 110, "2. Ввод целых чисел.");
pDC -> TextOut (10, 135, "3. Ввод рациональных чисел.");
pDC -> TextOut (10, 160, "Введите два рациональных числа:");
pDC -> TextOut (10, 185, pdoc -> ea);
a.Format ("%g %g", pdoc -> ca, pdoc -> cb);
pDC -> TextOut (10, 210, a);
a.Format ("5. %g ^ %i = %g.", pdoc -> ca, pdoc -> ia [4], pdoc -> ib [0]);
pDC -> TextOut (10, 260, a);
}
}
void CP11View::OnChar (UINT nChar, UINT nRepCnt, UINT nFlags)
{
CP11Doc *pdoc = GetDocument ();
ASSERT_VALID (pdoc);
pdoc -> ab = nChar;
if (nChar == 8)
{
if (pdoc -> ac) {pdoc -> ac--; pdoc -> ea [pdoc -> ac] = 0;}
goto aaa;
}
if (nChar == 13)
{
pdoc -> ga ();
goto aaa;
}
if (pdoc -> ac < 49)
{
pdoc -> ea [pdoc -> ac] = nChar;
pdoc -> ea [pdoc -> ac + 1] = 0;
pdoc -> ac++;
}
aaa:
Invalidate ();
CView::OnChar (nChar, nRepCnt, nFlags);
} |
_________________ |
|
Вернуться к началу |
|
|
Lion0608
Пол: Возраст: 45 Заядлый Рега: 04.11.2011 Сообщения: 1956 Откуда: Межпространственный кластер "Москва-Питер"... Страна: Россия
|
Добавлено: Вс Окт 21, 2018 8:15 pm Заголовок сообщения: |
|
|
jura_k
молодец.
У тебя образование тоже - программирование? _________________ |
|
Вернуться к началу |
|
|
jura_k
Пол: Возраст: 48 Постоянный гость Рега: 02.02.2013 Сообщения: 451
|
Добавлено: Ср Окт 24, 2018 7:21 pm Заголовок сообщения: |
|
|
Нет, инженер-физик. Между прочим, меня когда-то оставили на второй год. Именно из-за программирования. Единственный раз в жизни.
Но тяга к программированию неистребима! _________________ |
|
Вернуться к началу |
|
|
Lion0608
Пол: Возраст: 45 Заядлый Рега: 04.11.2011 Сообщения: 1956 Откуда: Межпространственный кластер "Москва-Питер"... Страна: Россия
|
Добавлено: Чт Окт 25, 2018 1:58 pm Заголовок сообщения: |
|
|
jura_k писал(а): | Нет, инженер-физик. Между прочим, меня когда-то оставили на второй год. Именно из-за программирования. Единственный раз в жизни.
Но тяга к программированию неистребима! |
Хаха.
У меня папа тоже физик по образованию. электронщик. Но им на их разработках не устраивало стороннее по, они сами сели осваивать и писать С++ в основном, но он вроде и другие какие-то языки учил.
Я просто думаю, как много потеряла, не имея матобразования, что не занялась программированием в свое время.
Про код мне шутки нравятся. _________________ |
|
Вернуться к началу |
|
|
jura_k
Пол: Возраст: 48 Постоянный гость Рега: 02.02.2013 Сообщения: 451
|
Добавлено: Чт Окт 25, 2018 4:25 pm Заголовок сообщения: |
|
|
Так я тоже свой софт пишу... Чем и занимаюсь _________________ |
|
Вернуться к началу |
|
|
jura_k
Пол: Возраст: 48 Постоянный гость Рега: 02.02.2013 Сообщения: 451
|
Добавлено: Пт Дек 28, 2018 6:31 pm Заголовок сообщения: |
|
|
Код: | // p126 - одиночные строки
struct student stud1, stud2;
strcpy (stud1.name, "Иванов М. С.");
printf ("%s", stud2.group);
struct student stud1kurs [200];
stud1kurs [24].kurs;
stud1.name [4];
stud1 = stud2;
func1 (first.a);
func2 (&second.b);
struct stru *adr_pointer;
// p127
(*a).x;
a.address.house = 101;
union u alpha, beta;
u.ch = '5';
printf ("%i, %i", win, aut);
enum value {one = 1, two, three, ten = 10, thousand = 1000, next};
printf ("%i, %i, %i, %i, %i", one, two, ten, thousand, next);
typedef char SYMBOL;
typedef unsigned UNSIGN;
typedef float real;
// p131
struct st_tag avar;
student avar; |
Добавлено спустя 59 секунд:
Код: | // p125 - группы операторов
struct student
{
char name [30];
int kurs;
char group [3];
int stip;
};
struct student
{
char name [30];
char kurs;
char group [3];
int stip;
} stud1, stud2;
struct complex
{
float x;
float y;
} c1, c2;
struct complex *a;
a = &c1;
// p127
struct addr
{
char city [30];
char street [30];
int house;
};
struct fulladdr
{
struct addr address;
int room;
char name [30];
} f, g;
struct onebit
{
unsigned one_bit: 1;
} obj;
// p128
union u
{
int i;
char ch;
long l;
};
enum seasons {win, spr, sum, aut};
enum seasons s;
typedef struct st_tag
{
char name [30];
int kurs;
char group [3];
int stip;
} student; |
Добавлено спустя 10 минут 1 секунду:
Код: | // Локальные структуры
struct aa // struct first, stru
{
int a;
char b;
};
struct ab // struct second
{
int a;
char b;
};
struct ac // struct byte
{
int b1: 1; int b2: 1; int b3: 1; int b4: 1; int b5: 1; int b6: 1; int b7: 1; int b8: 1;
};
union ad // union bits
{
char a;
struct ac b;
};
struct aa bb;
struct ab bc;
union ad bd;
// Локальные функции
ee (struct aa, CDC *);
ef (union ad, CDC *); // decode
// Локальные переменные
int gg = 10, gh = 10; // координаты вывода текста
int gi = 100;
void CP127View::OnDraw (CDC *pDC)
{
CP127Doc *pdoc = GetDocument ();
ASSERT_VALID (pdoc);
int a;
double d;
CString g;
int gi = 5;
// p125
bb.a = 1;
bb.b = 'f';
bc.a = bb.a;
// p126
bb.a = 1;
bb.b = '2';
ee (bb, pDC);
// p129
bd.a = 'a';
ef (bd, pDC);
// p164
pDC -> TextOut (gg, gh, "4. C++ - хороший язык.");
gh += 25;
a = 100;
g.Format ("Вы ввели число %i.", a);
pDC -> TextOut (gg, gh, g);
gh += 25;
d = 1.2345;
g.Format ("Переменная типа double %g.", d);
pDC -> TextOut (gg, gh, g);
gh += 25;
// p166
g.Format ("5. Локальная переменная %i.", gi);
pDC -> TextOut (gg, gh, g);
gh += 25;
g.Format ("Глобальная переменная %i.", ::gi);
pDC -> TextOut (gg, gh, g);
gh += 25;
}
// Локальные функции
ee (struct aa bb, CDC *pDC)
{
CString a;
a.Format ("2. %i, %i.", bb.a, bb.b);
pDC -> TextOut (gg, gh, a);
gh += 25;
return 0;
}
ef (union ad bd, CDC *pDC)
{
CString a = "3. ";
if (bd.b.b8) a += '1'; else a += '0';
if (bd.b.b7) a += '1'; else a += '0';
if (bd.b.b6) a += '1'; else a += '0';
if (bd.b.b5) a += '1'; else a += '0';
if (bd.b.b4) a += '1'; else a += '0';
if (bd.b.b3) a += '1'; else a += '0';
if (bd.b.b2) a += '1'; else a += '0';
if (bd.b.b1) a += '1'; else a += '0';
pDC -> TextOut (gg, gh, a);
gh += 25;
return 0;
} |
_________________ |
|
Вернуться к началу |
|
|
jura_k
Пол: Возраст: 48 Постоянный гость Рега: 02.02.2013 Сообщения: 451
|
Добавлено: Вс Мар 24, 2019 2:20 pm Заголовок сообщения: |
|
|
Ну что, за три месяца никто ничего не придумал и не опубликовал на форуме? Ну вот вам от меня продолжение.
Изучение ООП.
Код: | /* p25
Язык Borland C++ 3.1
Visual C++ 6.0 - учебный курс
Начальный курс C и C++ */
#include <conio.h>
#include <iostream.h>
#include <stdio.h>
int j = 100; // Глобальная переменная
long ee (int);
float ee (float);
float ee (long);
// (1) Класс DataClass
class cc
{
private:
int pri; // PrivateDataMember
public:
cc (int); // конструктор класса
int pub; // PublicDataMember
int met (); // PublicMethod ();
};
// (2) Класс SchoolClass
class cd
{
int *data; // ClassData, перечень оценок
int index; // ClassDataIndex, номер обрабатываемой оценки
public:
cd (int); // конструктор класса
~cd (); // деструктор класса
void add (int); // AddScore ();
int get (int); // GetScore ();
float average (); // AverageScore ();
};
// (3) Класс vehicle
class ce
{
public:
void start ();
void move ();
};
// (4) Класс helicopter
class cf:public ce
{
public:
void move ();
};
// (5) Класс DisplayClass
class cg
{
public:
void display (char);
void display (char *);
};
// (6) Класс "очередь" queue
class ch
{
int queue [10]; // Данные класса "очередь" q [10]
int begin; // Адрес начала очереди rloc
int end; // Адрес конца очереди sloc
public:
void initialization (); // Инициализация очереди init ();
void put (int); // Добавление данных в очередь qput ();
int get (); // Извлечение данных из очереди qget ();
};
// ********** (1) Методы DataClass **********
cc::cc (int a) {pri = a;}
int cc::met () {return pri;}
// (2) Методы SchoolClass
cd::cd (int a)
{
data = new int [a];
index = 0;
}
cd::~cd () {delete data;}
void cd::add (int a) {data [index++] = a;}
int cd::get (int a)
{
if (a < index) return data [a]; else return -1;
}
float cd::average ()
{
float a;
int d;
a = 0;
if (index < 1) return -1;
for (d = 0; d < index; d++)
a += data [d];
return a / index;
}
// (3) Методы класса vehicle
void ce::start () {cout << "1 - Стартую...\n";}
void ce::move () {cout << "2 - Двигаюсь...\n";}
// (4) Методы класса helicopter
void cf::move () {cout << "3 - Лечу...\n";}
// (5) Методы класса DisplayClass
void cg::display (char a) {cout << a;}
void cg::display (char *a) {cout << a;}
// (6) Методы класса queue
void ch::initialization ()
{
begin = end = 0;
}
void ch::put (int a)
{
if (end == 10)
{
cout << "Очередь полна.\n";
return;
}
queue [end++] = a;
}
ch::get ()
{
if (begin == end)
{
cout << "Очередь пуста.\n";
return 0;
}
return queue [begin++];
}
// ********** Функция main (); **********
main ()
{
// Объявления объектов
cc dd (1); // DataObject
cd de (9); // HistoryClass
cd df (10); // EnglishClass
cf dg; // Helicopter Whirly
cg dh; // DisplayClass DisplayObject
ch di, dj, dk; // Очередь queue
int a;
char d [80];
float g;
int j = 5; // Локальная переменная
long m;
unsigned p;
// p25 - 1
cout << "1. Добро пожаловать в C++.\n";
// p37 - 2
dd.pub = 2;
cout << "2. DataObject.PublicDataMember = " << dd.pub << ".\n";
cout << "DataObject.PrivateDataMember = " << dd.met () << ".\n";
// p46 - 3
de.add (80); de.add (81); de.add (82); de.add (83); de.add (84);
de.add (85); de.add (86); de.add (87); de.add (88);
df.add (91); df.add (92); df.add (93); df.add (94); df.add (95);
df.add (96); df.add (97); df.add (98); df.add (99); df.add (100);
cout << "3. Средний балл по истории: " << de.average () << ".\n";
cout << "Средний балл по английскому: " << df.average () << ".\n";
// p53 - 4
cout << "4. ";
dg.start ();
dg.move ();
// p56 - 5
cout << "5. ";
dh.display ('h');
dh.display ("i");
cout << "\n";
// p164 - 6
cout << "6. C++ - хороший язык.\n";
printf ("Можно использовать функцию printf ().\n");
cout << "Введите число: ";
cin >> a;
cout << "Вы ввели число " << a << ".\n";
cout << "Введите строку: ";
cin >> d;
cout << d << ".\n";
g = 1.2345;
cout << "Переменная типа float g = " << g << ".\n";
// p166 - 7
cout << "7. Локальная переменная: " << j << ".\n";
cout << "Глобальная переменная: " << ::j << ".\n";
// p170 - 8
di.initialization ();
dj.initialization ();
dk.initialization ();
di.put (7);
di.put (9);
di.put (11);
dj.put (8);
dj.put (10);
dj.put (12);
cout << "8. " << di.get () << " ";
cout << di.get () << " ";
cout << di.get () << " ";
cout << di.get () << ".\n";
cout << dj.get () << " " << dj.get () << " " << dj.get () << " "
<< dj.get () << ".\n";
for (a = 0; a < 12; a++)
dk.put (a * a);
for (a = 0; a < 12; a++)
cout << dk.get () << " ";
// p171 - 9
a = 7;
g = 1.1;
m = 20;
cout << "\n9. ";
cout << ee (a) << ".\n";
cout << ee (g) << ".\n";
cout << ee (m) << "...\n";
cout << ee (10) << ".\n";
cout << ee ((float) 10.1) << ".\n";
cout << ee (70000) << "...\n";
cout << ee (10l) << ".\n";
p = 4;
cout << ee ((int) p) << ".\n";
cout << ee ((int) 8u) << ".\n";
getch ();
cout << "\n";
return 0;
}
long ee (int a)
{
cout << "Функция использует целый аргумент ";
return (long) a * a;
}
float ee (float a)
{
cout << "Функция использует вещественный аргумент ";
return a * a;
}
float ee (long a)
{
cout << "Функция использует аргумент типа \"long\" ";
return (float) a * a;
} |
Добавлено спустя 1 минуту 52 секунды:
_________________ |
|
Вернуться к началу |
|
|
jura_k
Пол: Возраст: 48 Постоянный гость Рега: 02.02.2013 Сообщения: 451
|
Добавлено: Вс Авг 04, 2024 4:39 pm Заголовок сообщения: |
|
|
Код: | Option Explicit
Rem p10
Rem Язык Visual Basic 5.0
Rem Основы программирования
Rem Ввод целых чисел
Dim a As Integer, b As Integer, c As Integer
Dim d As Integer, e As Integer, f As Integer
Dim g As Integer, h As Integer, i As Integer
Dim j As Integer, k As Integer, l As Integer
Dim m As Single, n As Single, o As Single
Dim p As Single, q As Single, r As Single
Dim s As String
Private Sub C1_Click()
10 Cls
20 a = Fix(Val(T1)): b = Fix(Val(T2)): c = Fix(Val(T3))
30 d = a: e = b: f = c
40 If d = -32768 Or d = 0 Then d = 1
50 If e = -32768 Or e = 0 Then e = 1
60 If f = -32768 Or f = 0 Then f = 1
70 If d < 0 Then d = -d
80 If e < 0 Then e = -e
90 If f < 0 Then f = -f
100 Rem 60.2.1
110 Print "1. "; True; ", "; a > b And c <> 0; ", "; a Or b And Not c Mod 2 And a
120 Rem 61.2.2 Максимум из двух чисел
130 g = a
140 If g < b Then g = b
150 Print "2. Максимум "; g
160 Rem 63.1.3 Формула Герона
170 m = a: n = b: o = c
180 p = (m + n + o) / 2
190 q = p * (p - a) * (p - b) * (p - c)
200 If q < 0 Then q = 0
210 Print "3. Площадь треугольника "; Sqr(q)
220 Rem 71.2.4 Алгоритм Евклида
230 g = d: h = e
240 While g <> h
250 If g > h Then g = g - h Else h = h - g
260 Wend
270 Print "4. НОД "; g
280 Rem 145.1.5
290 g = d
300 h = g Mod 10
310 While g > 9
320 g = g \ 10
330 Wend
340 h = h + g
350 Print "5. Сумма "; h
360 Rem 145.2.6
370 g = d: h = 1
380 While g > 9
390 g = g \ 10: h = h + 1
400 Wend
410 Print "6. Количество цифр "; h
420 Rem 28.1.7 Число корней
430 g = 0
440 If a = 0 Then g = 1
450 If a > 0 Then g = 2
460 Print "7. Число корней "; g
470 Rem 29.2.8
480 s = "8. Такой отметки нет"
490 If a = 5 Then s = "8. отлично"
500 If a = 4 Then s = "8. хорошо"
510 If a = 3 Then s = "8. удовлетворительно"
520 If a = 2 Then s = "8. неудовлетворительно"
530 If a = 1 Then s = "8. плохо"
540 Print s
550 Rem 44.1.9 Модуль числа
560 g = a
570 If g = -32768 Then g = 0
580 If g < 0 Then g = -g
590 Print "9. Модуль числа "; g
600 Rem 46.3.10 Максимум из трёх чисел
610 g = a
620 If g < b Then g = b
630 If g < c Then g = c
640 Print "10. Максимум "; g
End Sub
|
Добавлено спустя 3 минуты 7 секунд:
_________________ |
|
Вернуться к началу |
|
|
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете добавлять приложения в этом форуме Вы не можете скачивать файлы в этом форуме
|
|