- •1.Основные компоненты программного обеспечения и их связь с аппаратурой. Ретроспектива развития программирования.
- •2 Этапы решения задач на эвм
- •3 Основные типы данных и структуры данных в программировании
- •3.1.1 Арифметические типы
- •3.1.2 Логический тип
- •3.1.3 Символьный тип
- •4 Методы решения задач программирования
- •5 Разработка алгоритмов Пример 5.8
- •Пример 5.9
- •Пример 5.10
- •6 Кодирование алгоритмов на языке си
- •- Семантические;
- •Тело директивы
- •Имя аргумента
- •Оператор
- •6.4.1 Имена переменных Имена переменных могут состоять из букв (только из латинского алфавита), цифр и символа подчеркивания, приравненного к букве. Начинаться имя должно с буквы.
- •Пример 6.3:
- •6.4.2 Типы и размеры данных
- •6.4.3 Константы
- •Пример 6.4:
- •Пример 6.5:
- •Пример 6.6:
- •Пример 6.7:
- •Пример 6.8:
- •7 Декларации в си
- •8 Операторы в языке си
- •9 Управление в си
- •10 Указатели и массивы
- •Литерные указатели
- •11 Структуры в языке си
- •Структуры, вложенные друг в друга
- •Пример 11.10
- •12 Функции и структура программы
- •Аппарат формальних і фактичних аргументів Приклад 12.4
- •Опис прототипу функції
- •Приклад 12.5
- •13 Передача аргументов
4 Методы решения задач программирования
4.1 Требования к методам
Метод дает правила получения верных результатов, при любых допустимых исходных данных.
Типы и структуры данных в методе соответствуют языку программирования.
Метод должен обладать свойствами точность, понятность, недвусмысленность.
Метод должен быть рациональным.
4.2 Способы описания
Математический.
Словесный.
Графический.
4.3 Классификация методов
Различают две группы методов: универсальные, специальные.
4.3.1 Универсальный метод
Универсальным методом является метод пошаговой детализации, который также называют методом “Разделяй и властвуй”.
Пусть дана задача T с исходными данными: вектор X, – и результатами: Y. Необходимо найти функцию Y = F(X) с помощью известных методов.
Для этого разобьём задачу на подзадачи: каждая со своими исходными данными и результатами. Разбиение нужно продолжать до тех пор, пока хотя бы одну задачу нельзя решить известными методами. Общая схема разбиения представлена на рисунке 4.1
4.3.2 Специальные методы
Существуют три основных специальных метода:
накопление,
перебор,
метод последовательных приближений (итераций).
4.3.2.1 Язык для записи методов
Структурное программирование предусматривает только три вида конструкций:
последовательность,
ветвление,
повторение,
Они обладают следующими свойствами:
В каждую конструкцию есть ровно один вход, из нее есть один выход.
Конструкция повторения конечна.
Используя эти конструкции можно решить любую задачу.
Операторы языка записей методов:
Последовательность– запись операторов последовательно друг за другом по вертикали:
<действие>
<действие>
<действие>
Ветвление –
<действие>
при <условие>
Повторение–
С известным числом повторений
<действие>
1,n
С неизвестным числом повторений
<действие>
пока <условие>
4.3.2.2 Метод накопления
Пример 4.1
Найти сумму элементов массива.
1 Постановка задачи
Исходные данные
x: массив [1..N]: вещественных;
N: целое;
Ограничения
N>0
Результаты
S:вещественное;
Связь
2 Метод
i=1,N
S=0
Промежуточные данные
i:целое;
Пример 4.2
Найти произведение элементов массива.
1. Постановка задачи
Исходные данные
x: массив [1..N]: вещественных;
N: целое;
1.2 Ограничения
N>0
1.3Результаты
P:вещественное;
1.4 Связь
2Метод
i=1,N
P=1
Промежуточные данные
i:целое;
4.3.2.3 Метод перебора
Пример 4.3
Найти количество положительных элементов массива.
Постановка задачи
1.1 Исходные данные
x: массив [1..N]: вещественных;
N: целое;
Ограничения
N>0
1.3 Результаты
K:целое;
1.4 Связь
2 Метод
при ai>0 для i=1,N
K=0
Промежуточные данные
i:целое;
Пример 4.4
Найти минимум и его номер.
1 Постановка задачи
1.1 Исходные данные
x: массив [1..N]: вещественных;
N: целое;
1.2 Ограничения
N>0
1.3Результаты
min:вещественное;
num:целое
1.4 Связь
min=минимум(ai);
num=номер(min);
2Метод
min= ai при ai<min для i=1,N
num=i
min= a1
num=1
Промежуточные данные
i:целое;
4.3.2.4 Метод последовательных приближений
Пример 4.5
Вычислить по формуле
с заданной точностью.
1 Постановка задачи
Исходные данные
x: вещественное; {аргумент}
:вещественное; {точность}
Ограничения
>0
Результаты
Y:вещественное;
Связь
Если
Метод
Операция факториал (!) недоступна, заменяем умножением
n=n*i
i=i+1
где n- факториал, i-аргумент.
Объединяем оба метода
Промежуточные данные
S:вещественное {i-ая степень x}
n:елое{факториал}
i:целое{номер итерации}