- •Предисловие
- •Основные навыки и умения
- •Логическая культура: знание логики, логическая интуиция.
- •Языковые знания и умения.
- •Поисковые знания и умения.
- •Алгоритмические навыки и умения.
- •Общие подходы к построению алгоритмов
- •Тестирование и сопровождение программ
- •Обязательный минимум содержания среднего (полного) общего образования
- •Технология обработки текстовой информации
- •Введение в информатику
- •Системы счисления
- •Перевод из десятичной системы счисления
- •Перевод в десятичную систему счисления
- •Перевод чисел из двоичной системы счисления в восьмеричную, шестнадцатеричную системы и обратно
- •Выполнение арифметических операций в позиционных системах счисления
- •Элементы математической логики
- •Логические законы
- •Алгоритм и его свойства
- •Исполнители. Компьютер - универсальный исполнитель
- •Работа компьютера
- •Turbo pascal - исполнитель паскаль-программ
- •Конструкции Паскаля
- •Типы данных
- •Целый тип данных
- •Вещественный тип данных
- •Символьный тип данных
- •Логический тип данных
- •Выражения
- •Операторы ввода-вывода
- •Оператор присваивания
- •Общий вид программы на Паскале
- •Условный оператор
- •If логическое_выражение then оператор1 else оператор2;
- •If логическое_выражение then оператор1;
- •Операторы цикла
- •Построение линейных алгоритмов
- •Построение ветвящихся алгоритмов
- •Построенние циклических алгоритмов
- •Нахождение суммы
- •Вложенные циклы
- •Переборный метод решения задач
- •Численные методы
- •Метод итераций
- •Метод половинного деления
- •Вычисление определенного интеграла методом трапеций
- •Случайные числа
- •Метод Монте-Карло (метод статистических испытаний)
- •Массивы Одномерные массивы
- •Перебор элементов массива
- •Перебор подмассивов
- •Классы задач по обработке массивов
- •Задачи первого класса
- •Задачи второго класса
- •Задачи третьего класса
- •Задачи четвертого класса
- •Сортировка массивов
- •Сортировка вставками
- •Сортировка пузырьком (обменом)
- •Сортировка выбором
- •Сортировка фон Неймана (слиянием)
- •Двумерные массивы
- •Обработка строк
- •Процедуры и функции
- •Рекурсия
- •Работа с графикой
- •Классы программного обеспечения
- •Компиляция и интерпретация
- •Текстовый редактор
- •Электронные таблицы
- •Системы управления базами данных (субд)
- •Пример решения экзаменационного билета
- •Контрольные работы
- •Контрольная работа №1
- •Контрольная работа № 2
- •Контрольная работа № 3
- •Контрольная работа № 4
- •Контрольная работа № 5
- •Библиографический список
Контрольная работа № 2
1. Опишите все операторы, которые используются в алгоритмическом языке, для ввода и печати логических данных. Приведите примеры. Напечатайте таблицы истинности для логических операций. Представьте в виде блок-схемы.
2. Почему в алгоритмическом языке, как правило, не больше двух операторов, предназначенных для программирования ветвящихся алгоритмов, и несколько (больше двух) операторов, предназначенных для программирования циклических алгоритмов?
3. Какую задачу решает приведенный ниже фрагмент программы? Каким соотношениям должны удовлетворять переменные a, b, c, d, чтобы задача могла быть решена? Приведите все возможные соотношения. Опишите правила выполнения оператора ввода в заданном фрагменте.
s := 0; p := 1;
read (a, b, c,d);
x := a;
while x <= d do
begin if x < c
then s := s + x
else if x > b
then p := p * x;
x := x + 1
end;
4. Установите, что делает фрагмент программы. Перпишите его, используя оператор цикла с постусловием.
s := 0;
read (a);
while a <> 0 do
begin if a mod b = 0
then s := s - a;
read (a)
end;
5. Установите, что делает фрагмент. Запишите его в более понятной форме на алгоритмическом языке. Запишите фрагмент, который бы повторял ввод до тех пор, пока требуемое условие не выполнилось бы.
if (mes-1)*(mes-12) > 0 then вывод “ОШИБКА” else вывод “ВЕРНО”
6. Укажите формулу, которая вычисляется программой:
а). s := 0; for i := 1 to n do if i mod 2 = 0 then s := sin(i - s) else s := cos(i + s); |
б). s := 1; for i := 1 to n do if i mod 5 = 0 then s := sin(abs(s) -i ) else s := cos(abs(s) + i); |
7. Напишите программу, вычисляющую:
а). . Здесь n вложений модуля.
б). . Здесь всего n вложений функций.
8. Напечатайте таблицу функции на отрезке -/2 до 3/2 с шагом /18. Таблица должна быть разделена горизонтальными линиями при изменении значения функции на единицу.
9. Каждую минуту девочка Ю. строит три песочных пирожных. Каждые две минуты мальчик Я. разрушает два пирожных. Сколько пирожных будет построено через n минут, если каждые четыре минуты одно пирожное рассыпается самостоятельно? Напишите программу для решения этой задачи.
10. Первое любимое число Незнайки - 1, второе - 5. Каждое следующее число получается как сумма удвоенного предыдущего и предпредыдущего чисел. Так третье любимое число - 11, а четвертое - 27. Вычислите сумму любимых чисел Незнайки среди первой тысячи. Напишите программу для решения этой задачи.
11. Найдите все такие трехзначные числа, которые делятся на каждую из цифр в их записи. Напишите программу для решения этой задачи.
12. Автомат, приклеивающий этикетки, работает со светлыми, зелеными и темными бутылками, в которые наливаются светлые и темные жидкости. Темные бутылки с темной жидкостью автомат разбивает. Сколько бутылок из 2007 штук разобъет автомат? Вид бутылки и жидкости в ней задаются случайным числом. Напишите программу для решения этой задачи.
13. Выведите на экран фигуру указанного вида, зависящего от n.
n = 3 **__** n = 4 **__**__
**__** **__**__
__**__ __**__**
__**__ __**__**
**__** **__**__
**__** **__**__
__**__**
__**__**
14. С клавиатуры вводится строго возрастающая последовательность натуральных чисел до тех пор, пока произведение трех соседних введенных чисел не превысит 100. Вычислите сумму факториалов всех введенных чисел. Эта работа должна быть выполнена как можно более эффективно, без лишних повторов. Напишите программу для решения этой задачи.
15. Правильно ли записаны на Паскале операторы цикла. Если да, то подсчитайте, сколько раз они выполняются. Если нет, то объясните в чем ошибки.
а). while false do i := i + 1; б). for u := 2*a downto -1 do i := i + 1;