Главная → Уроки → Информатика 8 класс

§ 4.3. Программирование линейных алгоритмов

Прочитай параграф о программировании линейных алгоритмов на Паскале — стандартных функциях, операциях div и mod, символах и строках, логическом типе и графических примитивах — и ответь на 10 вопросов.

Не получается разобраться? Бесплатный ИИ-репетитор по информатике 8 класс разберёт ошибку по шагам и не даст списать.

В линейной программе нет ни выбора, ни повторения: операторы выполняются строго друг за другом, каждый по одному разу. Такие программы — самые простые. Чтобы они умели больше, чем складывать и умножать, разберём подробнее типы данных Паскаля: целые и вещественные числа, символы, строки и логические значения. У каждого типа свой набор действий. В конце урока программа нарисует картинку.

Стандартные функции

Функция — это готовое правило, которое по значению в скобках (его называют аргументом) вычисляет результат. Вызов функции можно поставить в любое выражение, например y := 2 * abs(x) + 1. Вот функции для чисел:

abs(x) — модуль числа: abs(-7) = 7; тип результата тот же, что у x; sqr(x) — квадрат: sqr(9) = 81; тип тот же, что у x; sqrt(x) — квадратный корень: sqrt(81) = 9.0; результат всегда real; round(x) — округление до ближайшего целого: round(3.7) = 4; результат integer; int(x) — целая часть: int(3.7) = 3.0; результат real; frac(x) — дробная часть: frac(3.7) = 0.7; результат real; random(n) — случайное целое число от 0 до n - 1, а random без скобок — случайное вещественное число от 0 до 1.

Следите за типом результата. Корень, целая и дробная части — вещественные числа, даже если значение вышло круглым. Поэтому записать sqrt(81) в переменную типа integer нельзя: транслятор сообщит, что типы несовместимы. А результат round — целое число, и его в такую переменную записывать можно.

С отрицательными числами: round(-3.7) = -4, int(-3.7) = -3.0, frac(-3.7) = -0.7. Функция int просто отбрасывает дробную часть, а round ищет ближайшее целое.

Дано: x = 5.62. Найдите round(x), int(x) и frac(x).

Ответ: 6, 5.0 и 0.62. Ближайшее к 5.62 целое — 6, целая часть — 5, а то, что остаётся после неё, — 0.62.

Деление целых чисел

Сумма, разность и произведение целых чисел — снова целые числа. Деление / даёт вещественное число, даже когда делится нацело: 12 / 4 = 3.0. Для деления с остатком в Паскале есть две операции:

a div b — неполное частное: сколько раз b целиком укладывается в a; a mod b — остаток от деления a на b.

Например, 23 div 5 = 4 и 23 mod 5 = 3, потому что 23 = 5 · 4 + 3. На рисунке 1 двадцать три шарика разложены в коробки по пять: полных коробок четыре, и три шарика остались без коробки.

Двадцать три одинаковых синих шарика. Четыре коробки, в каждой по пять шариков, под ними подпись «23 div 5 = 4 — полных коробок». Справа три шарика без коробки с подписью «23 mod 5 = 3 — осталось». Внизу равенство 23 = 5 · 4 + 3
Рис. 1. Деление с остатком: div считает полные коробки, mod — оставшиеся шарики.

Обе операции применяются только к целым числам, и результат у них тоже целый. При отрицательном делимом частное теряет дробную часть, а остаток получает знак делимого: -23 div 5 = -4, -23 mod 5 = -3.

Хочешь больше времени в телефоне?

В Family Track телефон открывается за уроки: прочитал параграф, сдал тест и получил минуты. Сколько минут стоит урок, решают родители. Отправь им ссылку, пусть посмотрят.

Отправить родителямПройти урок бесплатно

Вопросы из теста

Правильные ответы и разбор ошибок — в приложении: при пересдаче вопросы меняются, поэтому списать не получится.

Переменная x хранит натуральное трёхзначное число. Какое выражение даёт его среднюю цифру — цифру десятков?

Строковые переменные получили значения: a := '5'; b := '3'. Какое значение получит строковая переменная c после присваивания c := a + b?

Не получается разобраться? Бесплатный ИИ-репетитор по информатике 8 класс разберёт ошибку по шагам и не даст списать.

← § 4.2. Организация ввода и вывода данных§ 4.4. Программирование разветвляющихся алгоритмов →