- •Оглавление
- •§1. Первое знакомство с системой программирования Турбо Паскаль
- •§2. Основные элементы языка
- •§3. Команды редактора Команды управления движением курсора
- •§4. Первая программа
- •Пояснения к программе
- •Запуск программы
- •Сохранение программы
- •§5. Управление позициями и цветом вывода
- •§6. Арифметический квадрат.Абсолютная величина
- •§7. Типы данных
- •§8. Целый тип данных
- •Пример 6
- •Пример 7
- •Пример 8
- •§9. Вещественный тип данных
- •Пример 7
- •Пример 8
- •§10. Логический тип данных
- •§11. Условный оператор
- •Пример 1
- •Пример 2
- •Решение
- •§12. Оператор безусловного перехода. Раздел описания меток
- •§13. Вложенные условные операторы
- •Решение
- •Задание
- •Решение задач Задача 1
- •Задача 8
- •Задача 9
- •Задача 10
- •§14. Цикл с параметром
- •Пример 1
- •Пример 2
- •Пример 3
- •§15. Работа с окнами. Метод пошагового выполнения программ
- •§16. Решение задач с использованием цикла с параметром Задача 1
- •Решение
- •Задача 2.
- •§17. Цикл с предусловием
- •Оператор цикла с предусловием
- •Пример 1
- •Решение
- •Пример 2
- •Решение
- •Пример 3
- •Решение
- •§18. Цикл с постусловием
- •Пример 1
- •Решение
- •Пример 2
- •§19. Алгоритм Евклида
- •§20. Вложенные циклы Пример 1
- •Решение
- •Пример 2
- •Решение
- •Пример 3
- •Решение
- •Пример 4
- •Решение
- •Пример 5
- •§21. Решение задач с использованием циклов с условием Задача 1
- •Решение
- •Задача 2
- •§22. Символьный тип данных
- •Пример 1
- •Решение
- •Пример 2
- •Решение
- •§23. Ограниченный тип данных
- •Var b:3..8; а не просто Vаг b:Integer;
- •Решение
- •§24. Оператор варианта (выбора)
- •Пример 1
- •Решение
- •Пример 2
- •Решение
- •Пример 3
- •Решение
- •Пример 4
- •§25. Перечисляемый тип данных
- •§26. Описание переменных, констант и типов. Раздел описания констант
- •Раздел описания типов
- •§27. Преобразование типов. Совместимость типов
- •Пример 1
- •Решение
- •Пример 2
- •Решение
- •Пример 3
- •Решение.
- •§28. Процедуры
- •Описание процедуры
- •Решение
- •Begin {основная программа}
- •Пример 2
- •Решение
- •Пример 3
- •§29. Функции
- •Пример 1
- •Пример 2
- •Решение
- •Пример 3
- •Решение
- •§30. Примеры рекурсивного программирования
- •Задачи с рекурсивной формулировкой
- •Пример 3
- •Задачи, которые можно решить как частный случай обобщенной
- •Задание
- •Задачи, в которых можно использовать характеристику или свойство функции Пример
- •Решение
- •§31. Файловый тип данных Операции для работы с файлами последовательного доступа
- •§32. Обработка файлов Связь переменной файлового типа с файлом на диске
- •Чтение из файла
- •Закрытие файла
- •Признак конца файла
- •Запись в файл
- •§33. Прямой доступ к элементам файла
- •Удаление файлов. Процедура
- •Переименование файлов. Процедура
- •Пример 2
- •§34. Текстовые файлы
- •Обработка текстовых файлов
- •Пример 1
- •Решение
- •Пример 2
- •Нетипизированные файлы
- •§35. Одномерные массивы. Работа с элементами(разбор на примерах) Пример 1
- •Решение
- •Пример 2
- •Решение
- •Пример 3
- •Решение
- •Begin {Считываем очередную строку}
- •§36. Работа с элементами массива (разбор на примерах)
- •Пример 2
- •§37. Методы работы с элементами одномерного массива
- •Создание массива
- •Пример 1
- •Решение
- •Пример 2
- •Решение
- •Работа с несколькими массивами Пример
- •Решение
- •§38. Удаление элементов из одномерного массива Пример 1
- •Решение
- •Begin {Сдвиг элементов на один влево}
- •Пример 2
- •Решение
- •§39. Вставка элементов в одномерный массив
- •Вставка нескольких элементов
- •Решение
- •§40. Перестановки элементов массива
- •§41. Двухмерные массивы Описание. Работа с элементами
- •§42. Найти сумму элементов
- •Решение
- •§43.Нахождение количества элементов с данным свойством
- •Пример 1
- •Решение
- •Пример 2
- •Решение
- •§44. Работа с несколькими массивами Пример
- •Решение
- •§45. Определить, отвечает ли заданный массив некоторым требованиям Пример 1
- •Решение
- •Пример 2
- •Решение
- •§46. Изменение значений некоторых элементов, обладающих заданным
- •§47. Заполнение двухмерного массива по правилу
- •Пример 2
- •Решение
- •§48. Вставка и удаление элементов Вставка строки
- •Решение
- •Примечания
- •Удаление строки Пример
- •Решение
- •Примечания
- •§49. Перестановка элементов массива Перестановка двух элементов Пример 1
- •Решение
- •Пример 2
- •§50. Строковый тип данных
- •Операции со строками
- •Склеивание
- •Сравнение
- •Примеры
- •Пример 8
- •Пример 9
- •Пример 10
- •§51. Множественный тип данных
- •Операции над множествами
- •Примеры
- •Сравнение множеств
- •Пример 1
- •Пример 2
- •Вопросы для обсуждения
- •Пример 3
- •Вопросы для обсуждения
- •Пример 4
- •Решение
- •Пример 5
- •Решение
- •§52. Комбинированный тип данных (записи)
- •Пример 1
- •Пример 2
- •Пример 3
- •Решение
§8. Целый тип данных
В Паскале имеется несколько целых типов со знаком и беззнаковые. Однобайтовые типы ShortInt и Byte особенно полезны в больших массивах, если их элементы принимают значения из ограниченного диапазона. Их применение в этом случае позволяет уменьшить требования программы к оперативной памяти.
Целочисленные типы |
||
Тип |
Диапазон возможных значений |
Формат |
Shortint |
-128...127 |
1 байт со зн. |
Integer |
-32768...32767 |
2 байта со зн. |
Longint |
-2147483648..2147483647 |
4 байта со зн. |
Byte |
0…255 |
1 байт без зн. |
Word |
0...65535 |
2 байта без зн. |
К данным целого типа можно применять операции "+" − сложение, "—" − вычитание, "*" − умножение и некоторые другие.
Так как в результате деления одного целого числа на другое не всегда получается целое число, то имеются операции:
div − целая часть от деления;
mod − остаток от деления.
Примеры:
19 div 4=4; 12 div 4=3;
-21 div 4=-5; -7 div (-4)=1;
19 mod 4=3; 12 mod 4=0;
-21 mod 4=-1; -7 mod (-4)=-3.
Для быстрой работы с целыми числами определены процедуры:
Inc(X) X:=X+1
Inc(X,N) X:=X+N
Dec(X) X:=X-1
Dec(X,N) X:=X-N
Пример 1
Дано целое трехзначное число а. Написать программу выделения количества сотен и количества единиц этого числа.
Program Example_1;
Var a, a1, c: integer;
begin
Writeln('Введите трехзначное число');
Readln(a);
a1:=a mod 10;
c:=a div 100;
Writeln('Количество единиц=', a1,'Количество сотен=', c);
end.
Пример 2
Даны два числа x и y. Написать программу выдачи на печать меньшего из них, пользуясь формулой
min(x, y)=(x+y-(x-y))/2
Program Example_2;
Var x, y, c: integer;
begin
writeln('Введите два числа');
readln(x,y);
c:=(x+y-abs(x-y)) div 2;
writeln('меньшее из двух чисел',x, 'и',y, 'равно', c);
end.
Пример 3
Ввести с клавиатуры 2 целых числа m, n>0. Если m делится на n или n делится на m, то вывести 1, в противном случае – любое другое число.
Program Example_3;
Var m, n, c: integer;
begin
write('Введите 2 натуральных числа:');
readln(m,n);
c:=(m mod n)*(n mod m)+1;
writeln('Ответ: ', c);
end.
Пример 4
Ввести с клавиатуры 2 целых числа m, n>0. Если n≤m, то вывести 1, в противном случае – любое другое число.
Примечание: основная идея решения: n div m=0, если n<m, и n-m=0, если n=m.
Program Example_4;
Var n, m ,r: integer;
begin
write('Введите 2 натуральных числа:');
readln(m,n);
r:=(n div m)*(n-m)+1;
writeln(r);
readln;
end.
Пример 5
Если в четырехзначном числе, введенном с клавиатуры, есть одинаковые цифры, то вывести 1, в противном случае – любое другое число.
Примечание: в переменных a, b, c, d находятся цифры введенного числа, начиная со старшей (разряд тысяч).
Program Example_5;
Var m, n, a, b, c, d: integer;
Begin
write('Введите четырехзначное число: ');
readln(m);
a:=m div 1000; {первая цифра}
b:=m mod 1000 div 100;
c:=m mod 100 div 10;
d:=m mod 10; {последняя цифра}
n:=(a-b)*(b-c)*(c-d)*(d-a)*(a-c)*(b-d)+1;
writeln('Ответ:', n);
readln;
end.