
- •Самарский государственный университет путей сообщения
- •Информатика Основы программирования в среде Turbo Pascal
- •О сновы программирования в среде turbo pascal введение
- •Лабораторная работа №1. Знакомство с интегрированной средой Turbo Pascal
- •Задание 1. Знакомство с интерфейсом среды Turbo Pascal
- •Задание 2. Работа с буфером обмена
- •Задание 3. Компиляция и запуск программы
- •Лабораторная работа №2. Программирование линейных алгоритмов
- •Задание 1. Вычисление площади треугольника
- •Задание 2. Вычисление сопротивления цепи
- •Задание 3. Вычисление значения функции
- •Задание 4. Самостоятельное решение задач
- •Тестовое задание. Вариант задает преподаватель!
- •Лабораторная работа №3. Разветвляющиеся алгоритмы
- •Р ис. 1. Блок-схема условного оператора
- •Задание 1. Использование условного оператора
- •Р ис. 2. Блок-схема программы
- •Задание 2. Вложенные условные операторы
- •Задание 3. Нахождение максимума двух чисел
- •Задание 4. Самостоятельное решение задач
- •Тестовое задание. Вариант вашего задания совпадает с номером вашего компьютера!
- •Контрольное задание Вариант вашего задания задает преподаватель!
- •Лабораторная работа №4. Программирование циклов с условием
- •Задание 1. Оператор цикла с предусловием
- •Задание 2. Программа "Угадай число".
- •Задание 3. Алгоритм Евклида.
- •Задание 4. Оператор цикла с постусловием
- •Задание 5. Решение задач по теме
- •Лабораторная работа №5. Программирование циклов с параметром
- •Задание 1. Нахождение суммы
- •Задание 2. Таблица перевода миль в километры
- •Задание 3. Табулирование функции
- •Задание 4. Решение задач по теме Номера задач задает преподаватель!
- •Контрольное задание Вариант вашего задания задает преподаватель!
- •Лабораторная работа №6. Решение задач целочисленной арифметики
- •Номера задач задает преподаватель!
- •Лабораторная работа №6. Одномерные массивы
- •Задание 1. Ввод и вывод элементов массива
- •Задание 2. Использование массивов при вычислении значений функции
- •Задание 3. Однотипная обработка элементов массива
- •Задание 4. Нахождение минимального (максимального) элемента массива
- •Задание 5. Нахождение суммы элементов массива
- •Задание 6. Нахождение количества элементов массива
- •Задание 7. Решение задач по теме Номера задач задает преподаватель!
- •Контрольное задание Вариант вашего задания задает преподаватель!
- •Лабораторная работа №7. Строковые переменные
- •Задание 1. Проверка на совпадение первой и последней букв строки
- •Задание 2. Подсчет количества букв
- •Задание 3. Слова - перевёртыши
- •Задание 4. Замена букв в слове
- •Задание 5. Удаление символов в слове
- •Задание 6. Решение задач по теме Номера задач задает преподаватель!
- •Контрольное задание Вариант вашего задания задает преподаватель!
- •Лабораторная работа №8. Файлы
- •Задание 1. Запись вводимых данных во внешний файл
- •Задание 2. Чтение данных из файла
- •Задание 3. Нахождение суммы компонент числового файла
- •Задание 4. Вывод списка учащихся из файла
- •Контрольное задание Вариант вашего задания задает преподаватель!
- •Библиографический список
Лабораторная работа №6. Решение задач целочисленной арифметики
Цель работы: Овладеть навыками программирования на языке Turbo Pascal задач целочисленной арифметики
В задачах целочисленной арифметики очень часто используется арифметическая операция вычисления целочисленного остатка или частного от деления одного натурального числа на другое. Для реализации этих операций в Turbo Pascal предусмотрены операторы целочисленного деления div и mod. Здесь div целое частное от деления, mod целочисленный остаток от деления.
Например:
9 div 4 = 2 25 div 5 = 5
9 mod 4 = 1 25 mod 5 = 0
Очевидно, что операции div и mod могут производиться только над данными целого типа, и полученный результат будет также целого типа. Используя данные операции можно проверять натуральные числа на четность и нечетность, на кратность заданному числу, находить простые числа и т.д.
Рассмотрим решение типовых задач целочисленной арифметики.
Задание 1. Нахождение остатка от деления
Составьте программу вычисления целочисленного остатка от деления натурального числа N на натуральное число Q.
Program arifm_1;
var n, q, ostat: integer;
begin
Writeln (‘Введите натуральные числа n, q’);
Read (n,q);
оstat : = n mod q;
Writeln (‘Остаток от деления равен’ , оstat)
end.
Задание 2. Проверка числа на делимость
Составьте программу, выясняющую, является ли натуральное число Q делителем числа N.
Учитывая, что число Q является делителем числа N тогда и только тогда, когда остаток от деления N на Q (N mod 0) равен нулю, составляем программу:
Program arifm_2;
var n, q, ostat: integer;
begin
Writeln (‘Введите натуральные числа N, Q’);
Read (n, q);
ostat:=n mod q;
if ostat=0 then Writeln( 'N делится на Q нацело ')
else Writeln( 'N не делится на Q нацело')
end.
Задание 3. Подсчет числа делителей
Составьте программу подсчета числа делителей натурального числа N.
Program arifm_3;
var n, i, kol: integer;
begin
Writeln ('Введите число N');
Read (n);
kol:=0;
for i:=1 to n do
if n mod i = 0 then kol:=kol +1;
Write(' Количество делителей числа ’,n : 4, ’ равно ’ ,kol)
end.
Задание 4. Подсчет суммы нечетных делителей
Составьте программу вычисления суммы нечетных делителей натурального числа N.
Program arifm_4;
var n, i, s : integer;
begin
Writeln (' Введите число ');
Read(n);
s:=0;
for i:=1 to n do
if (n mod i=0) and (i mod 2<>0) then s:=s+i;
Write ('Сумма нечетных делителей ’,n:4,' равна ',s)
end.
Задание 5. Простые и составные числа
Составьте программу, выясняющую, простым или составным является заданное число N.
Так как число N является простым только тогда, когда число делителей N равно двум (1 и N), то немного изменив программу из Задания 4, получим:
Program arifm_5;
var n, i, kol: integer;
begin
Writeln (' Введите число ');
read(n);
kol:=0;
for i:=1 to n do
if n mod 1= 0 then kol:= kol+1;
if kol =2 then Write(‘ Введенное число простое ’)
else Write(‘ Введенное число составное ’)
end.
Задание 6. Решение задач по теме