ݺߣ

ݺߣShare a Scribd company logo
Часть 1:
«Основы программирования»
Содержание
Основные

понятия.
Структура программы. Ввод-вывод
Программирование циклов. Операторы
цикла while, for и do while.
Программирование ветвлений. Оператор if
 Обработка

числовых последовательностей
 Последовательная обработка символьных
данных
 Обработка массивов
 Указатели. Динамические массивы
 Подпрограммы
 Разработка

алгоритмов и программ сверху

вниз.
 Рекурсивные функции. Библиотечные
функции обработки символьных строк
 Структуры и работа с файлами
Пример простой программы на С
/* Сложение двух целых чисел */
#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;
}
Пример результата:

Задайте два числа: 328 54
328 + 54 = 382
Структурное программирование

Базовые структуры
Структурное программирование
Последовательность
Цикл с предусловием
Цикл с постусловием
Ветвления
Пример решения задачи


Задача. Дано действительное число x.
Вычислить значение sinx с помощью ряда
x3
x5
x2n+1
y = sinx = x - — + — - ... + (-1) n ——— + ...
3!
5!
(2n+1)!
с точностью 10 -5 (т.е. учитывая только те члены
ряда, которые по абсолютной величине больше
либо равны 10-5). Для проверки результата
вычислить sinx с помощью стандартной функции.
начало
Ввод 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
Программа:











/* Приближенное вычисление y=sin x */
#include <stdio.h>
#include <math.h>
#define E 1e-5
/* точность вычисления */
main()
{
float x,
/* аргумент функции */
y;
/* сумма ряда
*/
float a;
/* очередной член ряда */
int n;
/* номер итерации
*/
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));
}
printf ("y = %fn", y);
printf ("sinx = %fn", sin(x));
return 0;
}
Пример результатов выполнения
программы:
x = 3.14159
y = 0.000002
sinx = 0.000003
x=0
y = 0.000000
sinx = 0.000000

More Related Content

What's hot (14)

6.4 Ещё о шаблонах
6.4 Ещё о шаблонах6.4 Ещё о шаблонах
6.4 Ещё о шаблонах
DEVTYPE
6.3 Специализация шаблонов
6.3 Специализация шаблонов6.3 Специализация шаблонов
6.3 Специализация шаблонов
DEVTYPE
лабораторная работа №5
лабораторная работа №5лабораторная работа №5
лабораторная работа №5
Zhanna Kazakova
4.3 Виртуальные методы
4.3 Виртуальные методы4.3 Виртуальные методы
4.3 Виртуальные методы
DEVTYPE
основные команды языка программирования
основные команды языка программированияосновные команды языка программирования
основные команды языка программирования
anastastish
Matlab: Вычисление производной
Matlab: Вычисление производнойMatlab: Вычисление производной
Matlab: Вычисление производной
Dmitry Bulgakov
2.6 Динамическая память
2.6 Динамическая память2.6 Динамическая память
2.6 Динамическая память
DEVTYPE
2.7 Многомерные массивы
2.7 Многомерные массивы2.7 Многомерные массивы
2.7 Многомерные массивы
DEVTYPE
способы задания функций
способы задания функцийспособы задания функций
способы задания функций
alexredhill
Использование возможностей параллельных вычислений в синтезе функциональных п...
Использование возможностей параллельных вычислений в синтезе функциональных п...Использование возможностей параллельных вычислений в синтезе функциональных п...
Использование возможностей параллельных вычислений в синтезе функциональных п...
Спецсеминар "Искусственный Интеллект" кафедры АЯ ВМК МГУ
6.4 Ещё о шаблонах
6.4 Ещё о шаблонах6.4 Ещё о шаблонах
6.4 Ещё о шаблонах
DEVTYPE
6.3 Специализация шаблонов
6.3 Специализация шаблонов6.3 Специализация шаблонов
6.3 Специализация шаблонов
DEVTYPE
лабораторная работа №5
лабораторная работа №5лабораторная работа №5
лабораторная работа №5
Zhanna Kazakova
4.3 Виртуальные методы
4.3 Виртуальные методы4.3 Виртуальные методы
4.3 Виртуальные методы
DEVTYPE
основные команды языка программирования
основные команды языка программированияосновные команды языка программирования
основные команды языка программирования
anastastish
Matlab: Вычисление производной
Matlab: Вычисление производнойMatlab: Вычисление производной
Matlab: Вычисление производной
Dmitry Bulgakov
2.6 Динамическая память
2.6 Динамическая память2.6 Динамическая память
2.6 Динамическая память
DEVTYPE
2.7 Многомерные массивы
2.7 Многомерные массивы2.7 Многомерные массивы
2.7 Многомерные массивы
DEVTYPE
способы задания функций
способы задания функцийспособы задания функций
способы задания функций
alexredhill

Viewers also liked (20)

лекция 13 управление уровнем услуг
лекция 13 управление уровнем услуглекция 13 управление уровнем услуг
лекция 13 управление уровнем услуг
student_kai
лекция 3. программирование циклов
лекция 3. программирование цикловлекция 3. программирование циклов
лекция 3. программирование циклов
student_kai
физика горения08
физика горения08физика горения08
физика горения08
student_kai
камера сгорания
камера сгораниякамера сгорания
камера сгорания
student_kai
презентация лабораторных работ. часть 1
презентация лабораторных работ. часть 1презентация лабораторных работ. часть 1
презентация лабораторных работ. часть 1
student_kai
лекция 6 управление проблемами-ч2
лекция 6 управление проблемами-ч2лекция 6 управление проблемами-ч2
лекция 6 управление проблемами-ч2
student_kai
презентационные слайды на курсовое проектирование
презентационные слайды на курсовое проектированиепрезентационные слайды на курсовое проектирование
презентационные слайды на курсовое проектирование
student_kai
физика горения10
физика горения10физика горения10
физика горения10
student_kai
кин лекция 10
кин лекция 10кин лекция 10
кин лекция 10
student_kai
лекция 13 управление уровнем услуг
лекция 13 управление уровнем услуглекция 13 управление уровнем услуг
лекция 13 управление уровнем услуг
student_kai
лекция 3. программирование циклов
лекция 3. программирование цикловлекция 3. программирование циклов
лекция 3. программирование циклов
student_kai
физика горения08
физика горения08физика горения08
физика горения08
student_kai
камера сгорания
камера сгораниякамера сгорания
камера сгорания
student_kai
презентация лабораторных работ. часть 1
презентация лабораторных работ. часть 1презентация лабораторных работ. часть 1
презентация лабораторных работ. часть 1
student_kai
лекция 6 управление проблемами-ч2
лекция 6 управление проблемами-ч2лекция 6 управление проблемами-ч2
лекция 6 управление проблемами-ч2
student_kai
презентационные слайды на курсовое проектирование
презентационные слайды на курсовое проектированиепрезентационные слайды на курсовое проектирование
презентационные слайды на курсовое проектирование
student_kai
физика горения10
физика горения10физика горения10
физика горения10
student_kai
кин лекция 10
кин лекция 10кин лекция 10
кин лекция 10
student_kai

Similar to лекция 1 (20)

Александр Сомов "C++: препроцессор, компилятор, компоновщик"
Александр Сомов "C++: препроцессор, компилятор, компоновщик"Александр Сомов "C++: препроцессор, компилятор, компоновщик"
Александр Сомов "C++: препроцессор, компилятор, компоновщик"
Yandex
Cреда программирования
Cреда программированияCреда программирования
Cреда программирования
irina8682
вопросы к зачетупп
вопросы к зачетуппвопросы к зачетупп
вопросы к зачетупп
Anastasia Snegina
вопросы к зачетупп
вопросы к зачетуппвопросы к зачетупп
вопросы к зачетупп
Anastasia Snegina
Семинар 24-25 апреля 2014 г. «R + TABLEAU. ПРОГНОЗИRОВАНИЕ И BIG DATA АНАЛИЗ»
Семинар 24-25 апреля 2014 г.  «R + TABLEAU. ПРОГНОЗИRОВАНИЕ И BIG DATA АНАЛИЗ»Семинар 24-25 апреля 2014 г.  «R + TABLEAU. ПРОГНОЗИRОВАНИЕ И BIG DATA АНАЛИЗ»
Семинар 24-25 апреля 2014 г. «R + TABLEAU. ПРОГНОЗИRОВАНИЕ И BIG DATA АНАЛИЗ»
АНАЛИТИКА ПЛЮС
C++ теория
C++ теорияC++ теория
C++ теория
tank1975
C++ теория
C++ теорияC++ теория
C++ теория
tank1975
C++ теория
C++ теорияC++ теория
C++ теория
tank1975
C++ Базовый. Занятие 04.
C++ Базовый. Занятие 04.C++ Базовый. Занятие 04.
C++ Базовый. Занятие 04.
Igor Shkulipa
C++ осень 2012 лекция 9
C++ осень 2012 лекция 9C++ осень 2012 лекция 9
C++ осень 2012 лекция 9
Technopark
Статья «Формирование универсальных требований к пользовательским программам п...
Статья «Формирование универсальных требований к пользовательским программам п...Статья «Формирование универсальных требований к пользовательским программам п...
Статья «Формирование универсальных требований к пользовательским программам п...
ph.d. Dmitry Stepanov
C++ осень 2013 лекция 9
C++ осень 2013 лекция 9C++ осень 2013 лекция 9
C++ осень 2013 лекция 9
Technopark
лекции спрг 6_семестр (1)
лекции спрг 6_семестр (1)лекции спрг 6_семестр (1)
лекции спрг 6_семестр (1)
djbelyakk
Step cpp022
Step cpp022Step cpp022
Step cpp022
Evgenij Laktionov
язык програмирования
язык програмированияязык програмирования
язык програмирования
Olegmingalev1997
Александр Сомов "C++: препроцессор, компилятор, компоновщик"
Александр Сомов "C++: препроцессор, компилятор, компоновщик"Александр Сомов "C++: препроцессор, компилятор, компоновщик"
Александр Сомов "C++: препроцессор, компилятор, компоновщик"
Yandex
Cреда программирования
Cреда программированияCреда программирования
Cреда программирования
irina8682
вопросы к зачетупп
вопросы к зачетуппвопросы к зачетупп
вопросы к зачетупп
Anastasia Snegina
вопросы к зачетупп
вопросы к зачетуппвопросы к зачетупп
вопросы к зачетупп
Anastasia Snegina
Семинар 24-25 апреля 2014 г. «R + TABLEAU. ПРОГНОЗИRОВАНИЕ И BIG DATA АНАЛИЗ»
Семинар 24-25 апреля 2014 г.  «R + TABLEAU. ПРОГНОЗИRОВАНИЕ И BIG DATA АНАЛИЗ»Семинар 24-25 апреля 2014 г.  «R + TABLEAU. ПРОГНОЗИRОВАНИЕ И BIG DATA АНАЛИЗ»
Семинар 24-25 апреля 2014 г. «R + TABLEAU. ПРОГНОЗИRОВАНИЕ И BIG DATA АНАЛИЗ»
АНАЛИТИКА ПЛЮС
C++ теория
C++ теорияC++ теория
C++ теория
tank1975
C++ теория
C++ теорияC++ теория
C++ теория
tank1975
C++ теория
C++ теорияC++ теория
C++ теория
tank1975
C++ Базовый. Занятие 04.
C++ Базовый. Занятие 04.C++ Базовый. Занятие 04.
C++ Базовый. Занятие 04.
Igor Shkulipa
C++ осень 2012 лекция 9
C++ осень 2012 лекция 9C++ осень 2012 лекция 9
C++ осень 2012 лекция 9
Technopark
Статья «Формирование универсальных требований к пользовательским программам п...
Статья «Формирование универсальных требований к пользовательским программам п...Статья «Формирование универсальных требований к пользовательским программам п...
Статья «Формирование универсальных требований к пользовательским программам п...
ph.d. Dmitry Stepanov
C++ осень 2013 лекция 9
C++ осень 2013 лекция 9C++ осень 2013 лекция 9
C++ осень 2013 лекция 9
Technopark
лекции спрг 6_семестр (1)
лекции спрг 6_семестр (1)лекции спрг 6_семестр (1)
лекции спрг 6_семестр (1)
djbelyakk
язык програмирования
язык програмированияязык програмирования
язык програмирования
Olegmingalev1997

More from student_kai (20)

презентация
презентацияпрезентация
презентация
student_kai
презентации продолжение банкета
презентации продолжение банкетапрезентации продолжение банкета
презентации продолжение банкета
student_kai
основы программирования на языке C
основы программирования на языке Cосновы программирования на языке C
основы программирования на языке C
student_kai
презентация курсовой работы
презентация курсовой работыпрезентация курсовой работы
презентация курсовой работы
student_kai
презентация
презентацияпрезентация
презентация
student_kai
презентации продолжение банкета
презентации продолжение банкетапрезентации продолжение банкета
презентации продолжение банкета
student_kai
основы программирования на языке C
основы программирования на языке Cосновы программирования на языке C
основы программирования на языке C
student_kai
презентация курсовой работы
презентация курсовой работыпрезентация курсовой работы
презентация курсовой работы
student_kai

лекция 1