Александр Сомов "C++: препроцессор, компилятор, компоновщик"YandexИз этого доклада вы узнаете, как разбирать различные ошибки сборки C++, как их исправлять и что для этого нужно знать.
Речь пойдет о стадиях сборки программы на C++ и о том, как устроены объектные файлы (на примере формата ELF), о работе компилятора и компоновщика, а также особенностях, связанных со спецификой языка. В заключительной части доклада будут разобраны принципы работы препроцессора C++ и способы его отладки.
Семинар 24-25 апреля 2014 г. «R + TABLEAU. ПРОГНОЗИRОВАНИЕ И BIG DATA АНАЛИЗ»АНАЛИТИКА ПЛЮСПубликуем небольшую часть раздаточных материалов нашего семинара «R + TABLEAU. ПРОГНОЗИRОВАНИЕ И BIG DATA АНАЛИЗ», который прошел 24-25 апреля 2014 г. в Москве. Подробнее о семинаре, отзывы участников семинара см. здесь: http://analytikaplus.ru/?page_id=2122
Статья «Формирование универсальных требований к пользовательским программам п...ph.d. Dmitry Stepanovпредлагается обобщенная структура описания программ. Используя предложенную структуру, формулируются универсальные требования, применимые к любым пользовательским разработкам и необходимые в процессе подготовки функционально-технической спецификации на разработку программы.
4. Разработка
алгоритмов и программ сверху
вниз.
Рекурсивные функции. Библиотечные
функции обработки символьных строк
Структуры и работа с файлами
5. Пример простой программы на С
/* Сложение двух целых чисел */
#include <stdio.h>
main ()
{ int a, b; /* объявление целочисленных переменных а и b */
printf ("Задайте два числа: ");
/* вывод сообщения
*/
scanf ("%d %d", &a, &b);
/* ввод значений а и b */
printf ("%d + %d = %dn", a, b, a+b); /* вывод результата */
return 0;
}
13. Пример решения задачи
Задача. Дано действительное число x.
Вычислить значение sinx с помощью ряда
x3
x5
x2n+1
y = sinx = x - — + — - ... + (-1) n ——— + ...
3!
5!
(2n+1)!
с точностью 10 -5 (т.е. учитывая только те члены
ряда, которые по абсолютной величине больше
либо равны 10-5). Для проверки результата
вычислить sinx с помощью стандартной функции.
14. начало
Ввод x
y=0, a=x, n=0
|a| ≥10
нет
-5
да
y=y+a
n=n+1
a=-a x2 /(2n(2n+1))
Вывод
y, sin(x)
конец
Рис. 2.1. Схема алгоритма вычисления y=sinx
15. Программа:
/* Приближенное вычисление y=sin x */
#include <stdio.h>
#include <math.h>
#define E 1e-5
/* точность вычисления */
main()
{
float x,
/* аргумент функции */
y;
/* сумма ряда
*/
float a;
/* очередной член ряда */
int n;
/* номер итерации
*/
16. printf ("x = ");
scanf ("%f", &x);
y = 0; a = x; n = 0;
while ( fabs(a) >= E )
{ y = y+a;
n++;
/* n=n+1; */
/* вычисление очередного члена
ряда через предыдущий */
a = -a*x*x/(2*n*(2*n+1));
}