Turbo Pascal для начинающих




Глава 2. Решения


    Решения (Часть 1)
    Задача 1 х: real; { аргумент функции } у: real; { значение функции }...
    Задача 2 funt: real; { вес в фунтах...
    Задача 5 rl: real; { диаметр кольца } r2: real; { диаметр отверстия } s: real; { площадь кольца }...
    Задача 7 CenaTetr: real; {цена...
    п:=п+1;...
    Задача 14
    у:=-2.7*х*х*х+0.23*х*х-1.4;...
    Задача 16
    kg:=gunt*0.4095; Задача 34 sum:=ct*nt+ck*nk+cl;{ct,ck —цена тетради, карандаша и линейки } { nt, nk —количество тетрадей и карандашей} Задача 38 begin writeln('Унылая пора! Очей очарованье!'); wri...
    Решения (Часть 2) Задача 51
    Вычисление площади параллелограмма } var l,w: real; ( длина и ширина параллелограмма} s: real; { площадь параллелограмма} begin writeln('Вычисление площади параллелограмма'); writeln('Введите исхо...
    Задача 65
    { Вычисление стоимости поездки на дачу и обратно } var rast: real; { расстояние до дачи } rash: real; { расход бензина на 100 км пути } cena: real; { цена одного литра бензина } summ: real; { стои...
    Задача 82
    { Проверка знания истории } var year: integer; { ответ испытуемого } begin ' writeln('В каком году был основан Санкт-Петербург?'); writeln('Введите число и нажмите Enter'); write('-'); readln(year...
    Задача 86
    { Сравнение двух целых чисел } var a,b: integer; ( сравниваемые числа } begin write('Введите в одной строке два целых '); writeln('числа и нажмите Enter'); write('-'); Часть II. Решения 87 readln(...
    Решения (Часть 3)
    Задача 105
    ( Вычисление суммы ряда 1+1/2+1/3+ ... } var n: integer; { кол-во суммируемых членов ряда } i:integer; { номер элемента ряда } elem:real; { значение элемента ряда } summ:real; { сумма элементов ря...
    Задача 108
    { Таблица функции } const LB=-2; { нижняя граница диапазона изменения аргумента } НВ=2; { верхняя граница диапазона изменения аргумента } DX=0.5; { приращение аргумента } var х,у: real; { аргумент...
    Задача 111
    { Вычисляет среднее арифметическое последовательности дробных чисел, вводимой с клавиатуры } const L=5; { длина последовательности } var a: real; { число } n: integer; { кол-во введенных чисел } s...
    Задача 112
    { Вычисляет среднее арифметическое и определяет минимальное и максимальное число последовательности дробных чисел, вводимых с клавиатуры } var a: real; { очередное число } n: integer; { количество...
    Задача 114
    ( Генерирует три последовательности случайных чисел и вычисляет среднее арифметическое каждой последовательности } const N=3; { кол-во последовательностей } L=10; { длина последовательности ) var...
    Задача 116
    ( Таблица функции у»|х| } const LB=-4; { нижняя граница диапазона изменения аргумента } НВ=4; ( верхняя граница диапазона изменения аргумента } DX=0.5; { приращение аргумента } var х,у: real; { ар...
    Задача 119
    { Вьшодит таблицу умножения на 7 } var m: integer; { число, для которого надо вывести таблицу умножения (множимое) } n: integer; { множитель } р: integer; { произведение } begin m:=7; for n:=l to...
    Задача 121
    { Выводит на экран квадрат Пифагора - таблицу умножения. } var i,j: integer; { номер строки и столбца таблицы } р: integer; { произведение i на j } begin write('':4); { левая верхняя клетка таблиц...
    Задача 122
    { Вычисление суммы ряда 1 -1/3 + 1/5 - 1/7 + ... } var х: real; { член ряда } n: integer; { количество суммируемых членов } summ: real; { частичная сумма } i: integer; { счетчик циклов } begin wri...
    Задача 123
    { Приближенное вычисление интеграла методом прямоугольников } var a,b: real; { границы отрезка } dx: real; ( приращение аргумента (величина интервалreal; { приближенное значение интеграла} n: inte...
    Задача 124
    { Приближенное var a,b: real; dx: real; s: real; n: integer; x: real; yl,y2: real; i: integer; вычисление интеграла методом трапеций } { границы отрезка } { приращение аргумента (величина интервал...
    Задача 126
    { Преобразование десятичного числа в двоичное } var dec: integer; { десятичное число } v: integer; { вес формируемого разряда } i: integer; { номер формируемого разряда } begin writeln('Преобразов...
    Задача 127
    ( Программа проверяет знание таблицы умножения } uses Crt; var numbl, пштЬ2:integer; { Первое и* второе число } res:integer; ( Результат умножения первого числа на второе } otv:integer; { Ответ ис...
    Задача 128
    { Проверка умения складывать и вычитать числа. } uses Crt; var numbl,numb2:integer; { числа } op:integer; { Действие над числами 0 - сложение, 1 - вычитание } sop: char; { знак операции - плюс или...
    Задача 129
    { Простые электронные часы } uses Crt; { используем процедуры и функции библиотеки Crt } var min,sec: integer; { минуты, секунды } begin ClrScr; { очистить экран } for min:=l to 3 do begin for sec...
    Задача 130
    { Вычисление среднего арифметического последовательности положительных чисел } var а : integer; { число, введенное с клавиатуры } n : integer; { количество чисел } s : integer; { сумма чисел } m :...
    Задача 131
    ( Определение максимального числа последовательности положительных чисел } var а : integer; { очередное число } m : integer; { максимальное число } begin write('Определение максимального числа');...
    Задача 132
    { Проверка, является ли введенное с клавиатуры целое число простым } program prost; var n: integer; d: integer; r: integer; begin write('Введите целое число- '); readln(n); d:=2; { сначала будем д...
    Задача 134
    { Игра Угадай число } const NPOP=5; { количество попыток, предоставляемое игроку } var comp: integer; { число, задуманное компьютером } igrok: integer; { вариант игрока } n: integer; { кол-во попы...
    Задача 135
    { Таймер ) uses Crt; var . mm, sec: integer; { задержка: минут и секунд } begin writeln('Введите величину задержки в минутах и секундах,'); writeln('например 2 30 и нажмите Enter.'); write('-'); r...
    Задача 136
    { вычисляемое значение ПИ } { точность вычисления } { номер члена ряда } { значение члена ряда } { Вычисление числа ПИ var p:real; t:real; n:integer; elemrreal; begin p:=0; n:=l; elem:=l; { началь...
    Задача 137
    { Вычисление наибольшего общего делителя двух целых чисел } var nl,n2:integer; { числа, НОД которых надо найти } nod:integer; { наибольший обший делитель } г:integer; { остаток от деления nl на п2...
    Задача 138
    { Приветствие } var name: string[40]; { имя пользователя } begin writelnC Как Вас зовут?'); writeln('(введите свое имя и нажмите Enter'); write('-'); readln(name); writeln('Здравствуйте, ',name,'!...
    Задача 139
    { Посимвольный вывод сообщения ) uses Crt; { для доступа к процедуре Delay } var msg: string[80]; ( сообщение } n: integer; ( номер выводимого символа } begin msg:='Приветствую великого программис...
    Задача 140
    { Выводит код введенного символа } var sim: char; { символ } code: integer; ( код символа } begin writeln('Введите символ и нажмите Enter.'); writeln('Для завершения работы программы введите точку...
    Задача 141
    { Вывод таблицы кодировки символов } var ch:char; { символ } dec:integer; { десятичный код символа } i,j:integer; 114 in dec:=O; for i:=0 to 15 do ( шестнадцать строк } begin ' dec:=i; { чтобы пол...
    Задача 142
    var st: string[80]; { строка текста } len: integer; { длина строки } i: integer; { номер обрабатываемого символа ) begin writeln('Введите строку текста и нажмите Enter'); write('-'); readln(st); l...
    Задача 143
    { Удаление начальных пробелов строки } var st:string[80]; { строка } begin writeln('Удаление начальных пробелов строки.1); write('Введите строку:'); readln(st); while (post1 ',st) = 1) and (length...
    Задача 144
    ( Проверка, является ли введенная с клавиатуры строка целым числом } var st: string[40]; { строка } n: integer; { номер проверяемого символа } begin writeln('Введите число и нажмите Enter'); write...
    Задача 146
    { проверяет, является ли введенная строка шестнаддатеричным числом } var st: string[20]; { строка } i: integer; { номер проверяемого символа } error: boolean; { в строке есть неверный символ } beg...
    Задача 148
    { Программа преобразует введенное с клавиатуры двоичное восьмиразрядное число в десятичное } var bin: string[8]; { изображение двоичного числа } : integer; { десятичное число } г: string[1]; { i-й...
    Задача 149
    var st: string[2]; { шестнадцатеричное число } d: integer; { десятичное число, соответствующее введенному шестнадцатеричному } v: integer; { вес разряда шестнадцатеричного числа } 1: integer; begi...
    Задача 150
    { Программа преобразует десятичное число в число в указанной пользователем системе счисления (от 2-х до 10-ти) ) uses Crt; о:integer; n:integer; г:integer; s:string[16] { Основание системы счислен...
    Задача 165
    { Бинарный поиск в упорядоченном массиве } label bye; const НВ=10; var а:array[1..10] of integer; { массив целых } obr:integer; { образец для поиска } ok: boolean; { TRUE - массив упорядочен } sre...
    Задача 167
    { Вычисление суммы элементов массива (по столбцам) const ROW=3; { кол-во строк } COL=5; { кол-во столбцов } var a: array[1..ROW,1..COL] of integer; { массив } s: array[1..COL] of integer; { сумма...
    Задача 170
    { вычисление определителя матрицы второго порядка } var a: array[1..2,1..2] of real; det: real; { определитель (детерминант) } i,j: integer; { индексы массива } begin writeln('Введите матрицу втор...
    Задача 171
    { Проверяет, является ли матрица магическим квадратом } const МАХ=5; { максимальный размер матрицы } array[1..МАХ,1..MAX] of integer; { матрица } n: integer; { размер проверяемой матрицы } ok:bool...
    Задача 173
    { Подводит итоги Олимпийских игр } const N=10; {количество стран-участниц } strana: array[1..N] of string[9]=('Австрия','Германия', 'Канада','Китай','Корея','Норвегия','Россия', 'США','Финляндия'a...
    Задача 173
    f Подводит итоги Олимпийских игр } const N=10; (количество стран-участниц } strana: array[1..N] of string[9]=('Австрия','Германия', 'Канада','Китай','Корея','Норвегия','Россия', 'США','Финляндия'a...
    Задача 174
    ( Игра Угадай число } const N=3; { уровень сложности - количество цифр в числ igrok: array[1..N]of char; { комбинация игрока } comp: array[1..N]of char; { комбинация компьютера } a:- arrayfl..N] o...
    Задача 175
    { Телеграф - передача сообщений при помощи азбуки Морзе. { Замечание: возможно надо увеличить величины задержек. } uses Crt; const morse: array[128..159] of string[4] =( I I _ / I 1 f I I I I _ f...
    Задача 177
    { Функция max возвращает максимальное из двух чисел function max(a,b: integer): integer; begin if a b then max:=a else max:=b; end;...
    Задача 178
    { Возвращает результат сравнения чисел в виде символа отношения } function Compare(a,b: real): char; begin if a b then Compare:='' else if a b then Compare:='• else Compare:='='; end; xl,x2: real;...
    Задача 179
    { Вычисляет сопротивление электрической цепи } function Sopr(rl,r2: real; t: integer): real; ( rl,r2 - величины сопротивлений t - тип соединения: 1 - последовательное; 2 - параллельное. Если тип с...
    Задача 180
    { Вычисление степени числа с использованием свойств логарифмов } function InStep(a,b:real):real; begin ( А в сепени В равно С Логарифмируем обе части равенства и получаем: В*In (A) = In (С) Нас ин...
    Задача 183
    { Проверяет, является ли символ гласной буквой } Function Glasn(sim:char): boolean; const { гласные буквы } ListOfGlasn:string ='АаЕеИиОоУуЫыЭэЮюЯя'; var p: byte; { позиция проверяемого символа в...
    Задача 184
    { Удаляет из строки начальные пробелы } function LTrim(st: string): string; begin while (posC \st) = 1) and (length (st) 0) do delete(st,1,1); LTrim:=st; end; { проверка работы функции LTrim} var...
    Задача 186
    { Преобразование строчных букв в прописные } ( Замещает стандартную процедуру UpCase} function UpCase(st:string): string; var i:integer; begin for i:=0 to Length(st) do { символы нумеруются с нуля...
    Задача 188
    { Решение квадратного уравнения } function KvadrUr(a,b,c: real; var xl,x2: real): integer; { a,b,c - коэффициенты уравнения } { xl,x2 - корни уравнения } ( значение функции - количество корней или...
    Задача 198
    { Рисует кораблик с использованием метода базовой точки } uses Graph; const { шаг сетки } dx=5; { по X} dy=5; ( по Y} grDriver:integer; { драйвер } grMode:integer; { графический режим } grPath:str...
    Задача 199
    { Выводит узор из 100 произвольно размещенных окружностей произвольного радиуса и цвета } Uses Graph; var grDriver:integer; grMode:integer; grPath:string; ErrCode:integer; x,y,r: integer; { коорди...
    Задача 200
    { Выводит узор из 200 случайно размещенных линий разного цвета } Uses Graph; var grDriver:integer; grMode:integer; grPath:string; ErrCode:integer; x,y: integer; { координаты конца линии } i: integ...
    Задача 201
    { Рисует контур пятиконечной звезды } uses Graph; el bye; var r: integer; { радиус звезды ) хО,уО: integer; { координаты центра звезды } х,у: integer; a: integer; i: integer; { координаты конца лу...
    Задача 202
    ( Рисует пятиконечную звезду } uses Graph; label bye; const k=0.01745; { коэф. пересчета величины угла из градусов в радианы к=2*р/360, где р - число ПИ } г: integer; { радиус звезды } x0,y0: inte...
    Задача 205
    ( Рисует веселую рожицу желтого цвета } uses Graph; var grDriver:integer grMode:integer; grPath:string; ErrCode:integer; { драйвер } { графический режим } { место расположения драйвера } { результ...
    Задача 208
    { Выводит узор из концентрических окружностей разного цвета Uses Graph; var grDriver:integer; grMode:integer; grPath:string; ErrCode:integer; x,y,r: integer; { координаты центра и радиус окружност...
    Задача 210
    { Вычерчивает узор из квадратов Uses Graph; var grDriver:integer; grMode:integer; grPath:string; ErrCode:integer; x,y: integer; { коорд. левого верхнего угла квадрата } d: integer; { длина с ;торо...
    Задача 211
    { рисует на экране шахматную доску } uses Graph; var хО,уО: integer; { координаты левого верхнего угла доски } х,у: integer; { координаты левого верхнего угла клетки } w: integer; { размер клетки...
    Задача 213
    { Выводит на экран паровоз } uses Graph; grDriver: Integer; grMode: Integer; ErrCode: Integer; res: integer; ,уО: integer; { координаты базовой точки паровоза } dx,dy: integer; { шаг координатной...
    Задача 215
    { Координатные оси и оцифрованная сетка } program grid; uses Graph; var xO,yO:integer; { координаты начала координатных осей } dx,dy:integer; { шаг координатной сетки (в пикселах) ) h,w:integer; {...
    Задача 216
    Uses Graph; var x,dx: real; xl,x2: real; y: real; mx,my: integer; { аргумент и его приращение } ( диапазон изменения аргумента } { значение функции } { масштаб по X и Y - кол-во точек экрана, соот...
    Задача 217
    { Движущееся сложное изображение } uses Graph, Crt; var grDriver:integer; { драйвер } grMode:integer; { графический режим } grPath:string; { место расположения драйвера } ErrCode:integer; { резуль...
    Задача 219
    { Обрабатывает результаты контрольной работы и отражает их в виде диаграммы } uses Crt, Graph; ( возвращает изображение дробного числа} function RealToStr(r: real; n,m: integer): string; var st: s...
    Задача 221
    { Светофор } uses Graph, Crt; grDriver: Integer; grMode: Integer; ErrCode: Integer; res: integer; i,j: integer; { счетчики циклов } { Рисует круг заданного цвета} { х,у,г - координаты центра и рад...
    Задача 224
    uses Graph,Crt; { в графическом режиме вводит с клавиатуры дробное число } Function GetReal: real; var ch: char; { символ нажатой клавиши } buf: string[80]; { введенная строка } numb: real; { введ...
    Задача 225
    { Создает на диске А: файл и записывает в него 5 целых чисел, введенных пользователем } var f: text; { текстовый файл } n: integer; { число } i: integer; { счетчик чисел } begin writeln('Создание...
    Задача 226
    Дописывает в файл a:\numbers.txt пять введенных пользователем целых чисел } f: text; { текстовый файл } n: integer; { число } i: integer; { счетчик чисел } begin writeln('Добавление в файл a:\numb...
    Задача 227
    { Выводит на экран содержимое файла а:\numbers.txt } var f: text; { текстовый файл } n: integer; { число } begin writeln('Содержимое файла a:\nunibers.txt1); writeln ('----------------------------...
    Задача 228
    ( Вычисляет среднее арифметическое чисел, находящихся в файле a:\numbers.txt } var f: text; { текстовый файл } n: integer; { число, прочитанное из файла } kol: integer; { кол-во прочитанных чисел...
    Задача 229
    { Выводит на экран содержимое файла, имя которого указано пользователем } uses Crt; f: text; { текстовый файл } fname: string[80]; ( имя файла } st: string; { строка, прочитанная из файла } 'nst:...
    Задача 230
    { Дописывает в файл а:\phone.txt фамилию, имя и номер телефона. Если файла на диске нет, то создает его. } label bye; var f: text; { текстовый файл } fam: string[15]; { фамилия } name: string[15];...
    Задача 232
    { Поиск в телефонном справочнике } label bye; var f: text; { текстовый файл } obr: string[15]; { фамилия для поиска } n: integer; { кол-во записей, удовлетворяющих запросу } fam: string[15]; { фам...
    Задача 234
    { Универсальная программа тестирования } uses Crt; label bye; fname: string[40]; { имя файла теста } f: text; ( файл теста } VsegoVopr: integer; { количество вопросов теста } PravOtv: integer; { к...
    Задача 235
    Выводит таблицу пересчета из дюймов в миллиметры на экран, принтер или в файл f:text; { файл вывода } fname:string; { имя файла вывода } dest:integer; { 1 - на экран, 2 - на принтер, 3 - в файл }...
    Задача 236
    { Рекурсивная функция Факториал } function factorial(k:integer):integer; begin if к = 1 then factorial:=1 else factorials k*factorial (k-1) ; end; var n: integer; { число, факториал которого надо...
    Задача 237
    { Выводит на экран узор } Uses Graph,Crt; { Рисует элемент узора } procedure Elem(x,у,r,p: integer); { x,y,г - координаты и радиус центра основного элемента узора р - порядок узора } begin if p=0...
    Задача 239
    ( Вычерчивает схему сложной электрической цепи. } { При вычерчивании схемы цепи используется рекурсия.} Uses Graph; const { шаг сетки } dx=7; dy=7; river:integer; grMode:integer; grPath:string; Er...
    Задача 240
    { Демонстрация понятия рекурсия. Программа строит кривую Гильберта. } uses Graph, Crt; u: integer; { Длина штриха кривой Гильберта } ( Заменяет стандартную процедуру для вычерчивания по точкам гор...
    Задача 241.
    { Программа строит кривую Серпинского.} uses Graph, Crt; var u: integer; Длина штриха } { LineTo - вычерчивает по точкам линию из те* точки в заданную. Заменяет стандартную процедуру LineTo для то...









Начало