
- •1 Этапы решения задач. Виды исх. Данных.
- •2 Этапы решения задач. Класс-ция данных по структурному признаку.
- •3 Формальное решение задачи. Модель, моделирование, алгаритм. Пример.
- •4 Алгоритм и его свойства. Понятие алгоритмизазии. Формы представления алгоритмов.
- •5 Визуальные алгоритмы и правила их проектирования. Блок-схемы алгоритмов и основн. Правила их оформления.
- •6. Алгоритмизация решения задачи и её результат. Основные блоки виз. А. Пример.
- •7 Декомпозиция, дедуктивный и индуктивный методы построения алгоритмов. Метод структурной алгоритмизации.
- •8. Алгоритм и алгоритмизация. Класс-ция а по характеру связей между блоками.
- •9 Линейные и разветвляющиеся алгоритмы.
- •10 Линейные и циклические алгоритмы.
- •11 Типы задач инженерной практики. Классификация алгебраических уравнений.
- •12 Прямые и итерационные методы решения нелинейных уравнений. Метод половинного деления.
- •13. Прямые и итерационные методы решения нелинейных уравнений. Метод ложного положения.
- •14. Прямые и итерационные методы решения нелинейных уравнений. Метод Ньютона
- •16. Решение обыкновенных дифуров. Задача Коши.
- •18 Одношаговые методы решения оду. Мод. М-д Эйлера.
- •19 Одношаговые методы решения оду. Р-к 4ого порядка.
- •20 Общая характеристика одношаговых методов решения оду. Р-к для диф. Ур.
- •21 Методы прогноза и коррекции. М-д Милна.
- •22 Методы прогноза и коррекции. Метод Адамса-Башфорта
- •24 Методы прогноза и коррекции. Общая хар-ка метода п и к
- •26. Методы решения краевых задач. Конечно - разностные методы. Примеры расчёта
- •27.Выбор алгоритмов решения оду
- •28. Алгоритмы сортировки данных. Сортировка методом простого перебора. Пример.
- •29.Алгоритмы сортировка. Всплытающий пузырь
- •30. Оптимизация. Основы теории. Проектные параметры. Целевая функция.
- •31.Оптимизация. Поиск min и max. Просранство проектирования. Ограничения — равенства и ограничения неравенства. Локальный и глобальный оптимум.
- •33.Метод одномерного поиска. Начальный и суженный интервалы неопред.
- •34. Методы одномерного поиска. Общий поиск.
- •35. Метод одномерного поиска. Деление интервала пополам
- •36. Метод одномерного поиска. Метод Дихотомии
- •37. Методы одномерного поиска. Золотого сечения
- •38. Этапы процесса решения задач на компьютере. Основные категории специалистов, занятых разработкой программ, и схема их взаимодействия
- •39.Жизненый жикл программного продукта
- •40. Осн. Принципы структурного программирования.
- •41. Осн. Компоненты и понятия алгоритмических языков.
- •42. Типы данных в языке си. Форматный вывод данных.
- •43. Арифметические и логические операции языка си.
- •44. Операторы ввода и вывода данных языка си.
- •45. Операторы условного и безусловного перехода языка си.
- •46. Операторы getchar, putchar и gets языка си.
- •Getchar – чтение символа из стандартного потока ввода.
- •Putchar – вывод символа в стандартный поток вывода.
- •Gets – чтение строки из стандартного потока ввода. Чтение строки производится пока не будет встречен символ «переход на новую строку», или не будет достигнут конец файла.
- •47. Структура программ языка си.
- •48. Одномерные и многомерные массивы в языке си.
- •49. Организация цикла с помощью оператора while.
- •50. Организация цикла с помощью оператора for.
- •51. Организация цикла с помощью оператора do-while.
- •52. Операторы множественного выбора и операторы break и continue языка си.
- •53. Операции открытия файла и считывание данных из файла в языке си.
- •54. Операции открытия файла и записи данных в файл языка си.
- •55. Локальные и глобальные переменные в языке си. Возвращение переменной из функции.
- •56. Понятие функции. Использование адресации для возвращения значения переменной из функции.
43. Арифметические и логические операции языка си.
Бинарными арифметическими операциями являются +, -, *, / и операция деления по модулю %. Имеется унарная операция -(унарной операцией на множестве М называется отображение множества в себя М -->М, которое каждому элементу множества М, называемому операндом, ставит в соответствие некоторый элемент того же множества, называемый результатом). При делении целых дробная часть отбрасывается. Выражение x % y даёт остаток от деления x на y и , след., = 0, когда x делится на y точно. Напр., год явл-ся високосным, если он делится на 4, но не делится на 100, исключая то, что делящиеся на 400 годы тоже являются високосными. Поэтому: (см оборот). Опер. для увелич. (++ добавляет 1к своему операнду) и уменьш. (– вычитает 1) знач. перемен. Выражение ++N увелич перемен N до использования её значения, а N++ увелич перемен N после того, как её значение было использовано. Допустим, что N=5, тогда x=N++; устанавливает x=5, а x=++N; полагает x=6. В обоих случаях N становится =6. Операциями отношения являются: =>, >, =<, <. Выражения, связанные операциями && и || ( логич И, логич ИЛИ), вычисляются слева направо, причём их рассмотрение прекращается сразу же как только становится ясно, будет ли результат истиной или ложью. Унарная операция отрицания ! Преобразует ненулевой или истинный операнд
в 0, а нулевой или ложный операнд — в 1.
44. Операторы ввода и вывода данных языка си.
Ввод и вывод информации осуществляется через функции стандартной библиотеки. Прототипы рассматриваемых функций находятся в файле stdio.h. Эта библиотека содержит функции: printf() - для вывода информации; scanf() - для ввода информации. Функция printf() предназначена для форматированного вывода. Она переводит данные в символьное представление и выводит полученные изображения символов на экран. При этом у программиста имеется возможность форматировать данные, то есть влиять на их представление на экране. Пример: int a=5; float x = 2.78; printf("\n Значение переменной a=%d", a); printf("\n Значение переменной x=%f", x);
Результат работы программы
Значение переменной a=5 Значение переменной x=2.780000
Функция форматированного ввода данных с клавиатуры scanf() выполняет чтение данных, вводимых с клавиатуры, преобразует их во внутренний формат и передает вызывающей функции. При этом программист задает правила интерпретации входных данных с помощью спецификаций форматной строки. Пример: #include <stdio.h> #include <stdlib.h> int main() {
float y;
system("chcp 1251");
system("cls");
printf("Введите y: ");
scanf("%f",&y); // Ввод значения переменной y
printf("Значение переменной y=%f",y);
getchar(); getchar();
return 0; }
45. Операторы условного и безусловного перехода языка си.
Для организации условных и безусловных переходов в программе на языке СИ (C)используются операторы: if - else, switch и goto. Первый из них записывается следующим образом:
if (проверка_условия) оператор_1; else оператор_2;
Если условие в скобках принимает истинное значение, выполняется оператор_1, если ложное - оператор_2. Если вместо одного необходимо выполнить несколько операторов, то они заключаются в фигурные скобки. В операторе if слово else может отсутствовать.
В операторе if - else непосредственно после ключевых слов if и else должны следовать другие операторы. Если хотя бы один из них является оператором if, его называют вложенным. Оператор switch позволяет выбрать одну из нескольких альтернатив. Он записывается в следующем формальном виде: switch (выражение)
{
case константа_1: операторы_1;
break;
case константа_2: операторы_2;
break;
........ ........
default: операторы_default;
}
Здесь вычисляется значение целого выражения в скобках и оно сравнивается со всеми константами. Все константы должны быть различными. При совпадении выполнится соответствующий вариант операторов. Вариант с ключевым словом default реализуется, если ни один другой не подошел. Если default отсутствует, а все результаты сравнения отрицательны, то ни один вариант не выполняется. Для прекращения последующих проверок после успешного выбора некоторого варианта используется оператор break, обеспечивающий немедленный выход из переключателя switch. Рассмотрим правила выполнения безусловного перехода, который можно представить в следующей форме: goto метка; Метка - это любой идентификатор, после которого поставлено двоеточие. Оператор goto указывает, что выполнение программы необходимо продолжить начиная с оператора, перед которым записана метка. Метку можно поставить перед любым оператором в той функции, где находится соответствующий ей оператор goto.