- •Предисловие
- •Основные навыки и умения
- •Логическая культура: знание логики, логическая интуиция.
- •Языковые знания и умения.
- •Поисковые знания и умения.
- •Алгоритмические навыки и умения.
- •Общие подходы к построению алгоритмов
- •Тестирование и сопровождение программ
- •Обязательный минимум содержания среднего (полного) общего образования
- •Технология обработки текстовой информации
- •Введение в информатику
- •Системы счисления
- •Перевод из десятичной системы счисления
- •Перевод в десятичную систему счисления
- •Перевод чисел из двоичной системы счисления в восьмеричную, шестнадцатеричную системы и обратно
- •Выполнение арифметических операций в позиционных системах счисления
- •Элементы математической логики
- •Логические законы
- •Алгоритм и его свойства
- •Исполнители. Компьютер - универсальный исполнитель
- •Работа компьютера
- •Turbo pascal - исполнитель паскаль-программ
- •Конструкции Паскаля
- •Типы данных
- •Целый тип данных
- •Вещественный тип данных
- •Символьный тип данных
- •Логический тип данных
- •Выражения
- •Операторы ввода-вывода
- •Оператор присваивания
- •Общий вид программы на Паскале
- •Условный оператор
- •If логическое_выражение then оператор1 else оператор2;
- •If логическое_выражение then оператор1;
- •Операторы цикла
- •Построение линейных алгоритмов
- •Построение ветвящихся алгоритмов
- •Построенние циклических алгоритмов
- •Нахождение суммы
- •Вложенные циклы
- •Переборный метод решения задач
- •Численные методы
- •Метод итераций
- •Метод половинного деления
- •Вычисление определенного интеграла методом трапеций
- •Случайные числа
- •Метод Монте-Карло (метод статистических испытаний)
- •Массивы Одномерные массивы
- •Перебор элементов массива
- •Перебор подмассивов
- •Классы задач по обработке массивов
- •Задачи первого класса
- •Задачи второго класса
- •Задачи третьего класса
- •Задачи четвертого класса
- •Сортировка массивов
- •Сортировка вставками
- •Сортировка пузырьком (обменом)
- •Сортировка выбором
- •Сортировка фон Неймана (слиянием)
- •Двумерные массивы
- •Обработка строк
- •Процедуры и функции
- •Рекурсия
- •Работа с графикой
- •Классы программного обеспечения
- •Компиляция и интерпретация
- •Текстовый редактор
- •Электронные таблицы
- •Системы управления базами данных (субд)
- •Пример решения экзаменационного билета
- •Контрольные работы
- •Контрольная работа №1
- •Контрольная работа № 2
- •Контрольная работа № 3
- •Контрольная работа № 4
- •Контрольная работа № 5
- •Библиографический список
Оператор присваивания
Оператор присваивания имеет следующий синтаксис:
переменная := выражение;
Оператор выполняется следующим образом: не внося никаких изменений в выражение, стоящее справа от оператора присваивания, вычислить это выражение и его значение поместить в переменную, имя которой указано слева от оператора присваивания, при этом старое значение переменной заменяется новым.
Переменная и выражение должны быть одного типа. Исключение составляет переменная типа real, которой можно присвоить целое значение.
Пример1. Записать оператор присваивания переменной a квадрата ее значения, а переменной b - куба переменной a.
x := a;
a := a*a;
b := a*x;
Пример2. Записать оператор присваивания, который меняет знак переменной a на противоположный.
a := -a; или a := a*(-1);
Пример3. Поменять местами значения переменных a и b.
r := a; a:= b; b := r;
Упражнения.
1. Определите значения переменных x, y, z
x := 8 +6 mod 4 * 2; y := x div 5 * 5; z := x * 5 div 5;
2. Если x - вещественная переменная, а y - целая, то какие из следующих операторов присваивания правильные, а какие - нет. Ответ обоснуйте.
a). x := y +1; б). y := x +1; в). x := 5; г). y := 5.0;
д). x := x div 2; е). y := y/2; ж). x := trunc(y); з). y := sqr(sqrt(25))/
3. Правильны ли следующие операторы присваивания? Ответ обоснуйте.
а). k := k div 3 + k*cos(0); б). k := k*2 mod 5 + k/3;
4. Присвойте целой переменной S
а). сумму цифр трехзначного целого числа k;
б). первую цифру из дробной части положительного вещественного числа k;
в). третью от конца цифру в записи положительного целого числа k.
5. Напишите оператор присваивания, в результате выполнения которого логическая переменная f получает значение true, если выполняется указанное условие, и значение false иначе:
а) каждое из чисел a, b, c кратно 3;
б) хотя бы одно из чисел a, b, c кратно 3;
в) ни одно из чисел a, b, c не кратно 3;
г) только одно из чисел a, b, c кратно 3;
д) а принадлежит отрезку [-1; 1];
е) а не принадлежит отрезку [-1; 1] (воспользуйтесь законом де Моргана);
ж) поля (g1, b1) и (g2, b2) шахматной доски имеют одинаковый цвет (g1, b1, g2,b2 - целые координаты соответственно по горизонтали и вертикали от 1 до 8);
з) ферзь, расположенный на поле (g1, b1) шахматной доски, “бъет” поле (g2, b2);
и) конь, расположенный на поле (g1, b1) шахматной доски, “бъет” поле (g2, b2);
к) можно ли с поля (g1, b1) одним ходом ферзя попасть на поле (g2, b2). Если нет, то выяснить, как это можно сделать за два хода и указать поле, на которое приводит первый ход;
л) аналогичное задание, но ферзь заменяется на коня.
Общий вид программы на Паскале
program имя_программы;
const
{раздел описания констант}
type
{раздел описания типов}
var
{раздел описания переменных}
procedure (function)
{раздел описаний подпрограмм}
begin
{тело программы или раздел операторов}
end.
В { } или (* *) записываются комментарии. Раздел операторов является основным и присутствует в любой программе. Операторы отделяются друг от друга точкой с запятой. Разделы описаний (все или часть) могут отсутствовать. В Турбо-Паскале может отсутствовать заголовок программы. Разделы const, type, var могут следовать друг за другом в любом порядке и повторяться в разделе описаний несколько раз.
Пример. Написать программу, определяющую в заданном количестве суток количество часов, минут и секунд.
program task1;
var
hour, sec, min, x: integer; {часы, минуты, секунды, сутки}
begin
write (‘задайте количество суток’);
readln (x);
hour := 24*x;
min := 60*hour;
sec := 60*min;
writeln (‘в ’, x, ‘ сутках ’, hour, ‘ часов ’, min, ‘ минут ’, sec, ‘ секунд’)
end.
Упражнения.
1. Даны два момента времени одних суток, заданные в часах и минутах. Причем первый момент предшествует второму. Напишите программу, определяющую интервал между этими моментами времени. Результат должен быть представлен в часах и минутах.
2. Дана стоимость товара, выраженная в рублях. Напишите программу, определяющую наименьшее количество банкнот по 50 рублей, 20 рублей и 1 рублю, которыми можно расплатиться за товар.
3. Определите, какую задачу решают приведенные ниже программы:
program pr1; var a, b, p, q: integer; begin write (‘введите a и b’); realln (a, b); p := a div b; q := a - p*b; writeln (‘a = ‘, p, ‘*’, b, ‘+’, q) end. |
program pr2; var n1, n2: integer; x: real; begin write (‘n1 = ‘); readln (n1); write (‘n2 = ‘); readln (n2); x := n1/n2; writeln (‘n1/n2=‘, x); end. |