
- •1 Информатика, информация, данные
- •2Основные операции с данными
- •5 Обобщённая структурная схема компьютера
- •6Непозиционные и позиционные системы счисления
- •8Перевод чисел из двоичной системы счисления в 16-ую и обратно
- •9Программное обеспечение. Основные понятия. Структура
- •10Характеристика системного программного обеспечения
- •19.Понятие алгоритма. Описание алгоритма
- •22Назначение и структура модуля пользователя
- •23 Назначение модуля Crt. Примеры функций и процедур
- •Стандартные функции и процедуры модуля crt
- •20Типы ошибок в программе
- •24Алгоритм поиска элемента в упорядоченном массиве
- •25Суть метода сортировки обменом
- •26. Суть метода сортировки выбором
- •27. Понятие стека. Основные операции над стеком
- •29. Pascal. Структура программы на языке
- •30 Pascal. Простые типы данных
- •31 Примеры записи математических функций, которым нет соответствия на Pascal
- •33. Pascal. Оператор присваивания.
- •34. Pascal. Операторы ввода-вывода.
- •35. Значения логического типа данных.
- •36. Логические выражения. Приоритет и
- •37.Оператор условного перехода if.
- •39. Цикл с предусловием while…do
- •40. Цикл с постусловием repeat…until
- •41. Цикл с параметром for…to…do
- •42. Описание массивов
- •Пример вычислений на основе одномерного массива
- •1 Описание двумерного массива
- •46 Поиск максимального и минимального элементов массива
- •47 Подсчет количества элементов, удовлетворяющих определенным условиям
- •48 Как поменять местами значения двух элементов в массиве
- •49Понятие подпрограммы. Пояснить различие между функцией и процедурой
20Типы ошибок в программе
1. Синтаксическая (транслятор выявляет и показывает)
Такие ошибки серьёзной опасности не представляют, но теряется время на их исправление.
2. Ошибки выполнения – возникают тогда , когда программа ведёт себя не так как предполагал составитель. Поэтому для проверки программы на такие ошибки нужно составлять тесты.
3. Неправильный алгоритм программы – задача не понятна, поэтому запрограммирована фактически для другой задачи , хотя она и работает , но выдаёт ненужный результат.
Для проверки задачи нужно составить тесты, для которых известен уже результат.
24Алгоритм поиска элемента в упорядоченном массиве
Для поиска элемента в упорядоченном массиве элементов, нужно этот элемент с начало сравнить с серединным элементом массива и если он не совпал, то выбрать подходящую половину и повторить действие для этой половины.
25Суть метода сортировки обменом
Наиболее известным методом сортировки является сортировка пузырьковым методом. Его популярность объясняется запоминающимся названием и простым алгоритмом.
Метод основан на том, что в процессе исполнения алгоритма более "легкие" элементы массива постепенно "всплывают".
Особенностью данного метода является сравнение не каждого элемента со всеми, а сравнение в парах соседних элементов. Выполняется несколько последовательных просмотров массива от начала к концу. Если соседние элементы расположены "неправильно", то они меняются местами.
26. Суть метода сортировки выбором
При сортировке массива методом выбора применяется базовый алгоритм поиска максимального (минимального) элемента и его номера.
Алгоритм сортировки массива методом выбора:
Для исходного массива выбрать максимальный элемент.
Поменять его местами с последним элементом (после этого самый большой элемент будет стоять на своем месте).
Повторить п.п. 1-2 с оставшимися n-1 элементами, то есть рассмотреть часть массива, начиная с первого элемента до предпоследнего, найти в нем максимальный элемент и поменять его местамис предпоследним (n-1)- м элементом массива, затем с оставшиеся (n-2)-мя элементами и так далее, пока не останется один элемент, уже стоящий на своем месте.
Для упорядочения массива потребуется (n-1) просмотров массива. В процессе сортировки будет увеличиваться отсортированная часть массива, а неотсортированная, соответственно, уменьшаться.
При сортировке данных выполняется обмен содержимого переменных. Для обмена необходимо создавать временную переменную, в которой будет храниться содержимое одной из переменных. В противном случае ее содержимое окажется утерянным.
27. Понятие стека. Основные операции над стеком
1. Стек - частный случай линейного односвязного списка (ЛОС), для которого определены две фундаментальные операции:
добавление элемента в вершину стека;
удаление элемента из вершины стека.
также, еще существует обязательная вспомогательная операция - печать элементов стека на экран (а если быть более точным, то происходит визуализация значений информационных полей элементов стека), так как в любом случае потребуется печать стека на экран пользователя, чтобы просмотреть, насколько корректно реализованы операции добавления и удаления.
2. Абсолютно во всех операциях, производимых над стеком, требуется вспомогательный указатель (помимо указателя top, ссылающего на вершину стека). Во всех программах и фрагментах программного кода, представленных ниже, будем обозначать вспомогательный указатель идентификатором p (почему "p"? потому что с английского слово pointer переводится на русский как указатель).
Операция: добавление элемента в вершину стека. Данная операция имеет две разновидности:
добавление элемента в стек, когда стек не содержит ни одного элемента;
добавление элемента в стек, когда стек к моменту добавления содержит определенное число элементов (добавленных ранее).
Рассмотрим ситуацию, когда в стеке не содержится ни одного элемента. В этом случае указатель на вершину стека top ссылается (или указывает) в NIL. NIL - специальный зарезервированный участок памяти, служащий "бухтой" для динамических переменных - указателей. Чтобы указатели "не болтались" в памяти, их обычно "привязывают" к NIL.
То есть, по сути, top является нулевым указетелем. Поскольку осуществляется добавление нового элемента, то необходимо динамически выделить память под добавляемый элемент. В языке программирования Turbo Pascal для распределения динамической памяти употребляют процедуру new.
В самом широком смысле выделение памяти и инициализация полей производится так: