ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 10.12.2024
Просмотров: 755
Скачиваний: 2
Институт повышения квалификации и переподготовки работников образования
Курганской области
Е. Г. Квашнин
Turbo Pascal – сборник задач c решениями
Учебно – методическое пособие
для учителей информатики
Курган 2004
Turbo Pascal – сборник задач c решениями: Сопровождение курса лекций / Авт.- сост. Е. Г. Квашнин; Институт повышения квалификации и переподготовки работников образования Курганской области. – Курган, 2004. – 37 стр.
|
Автор составитель: Е. Г. Квашнин |
доцент кафедры ЕМО ИПК и ПРО Курганской области |
Данное учебное пособие содержит краткие справочные данные и задачи с решениями по курсу «Основы языка программирования». Изложение ведется с использованием языка программирования Турбо Паскаль. Рассматриваются некоторые классические алгоритмы. Приводятся примеры типовых задач с решениями.
Пособие предназначено для учителей информатики и слушателей данного курса.
Оглавление
|
|
|
Стр.
4 |
|
||||
|---|---|---|---|---|---|---|---|
|
|
|
5 |
|
||||
|
|
|
9 |
|
||||
|
|
|
15 |
|
||||
|
|
|
17 |
|
||||
|
|
|
24 |
|
||||
|
|
|
37 |
|
||||
|
|
|
43 |
|
||||
|
|
|
49 |
|
||||
|
|
|
54 |
|
||||
|
|
|
63 |
|
||||
|
Предопределенные типы языка Паскаль
|
|||||||
|
Группа
|
Подгруппа
|
Название
|
Идентификатор
|
||||
|
Простой
|
Порядковый
|
Короткий целый
|
Shortint
|
-128…127
|
|||
|
Байтовый
|
Byte
|
0…255
|
|||||
|
Слово
|
Word
|
0…65535
|
|||||
|
Целый
|
Integer
|
-32768… 32767
|
|||||
|
Длинный целый
|
Longint
|
-2147483648… 2147483647
|
|||||
|
Символьный
|
Char
|
Символы из расширенного набора символов кодаASCII
|
|||||
|
Логический
|
Boolean
|
False, True
|
|||||
|
Вещественный
|
Вещественный
|
Real
|
-1,7х1038… -2,9х10-39, 2,9х10-39… 1,7х1038
|
||||
|
С одинарной точностью
|
Single
|
-3,4х1038… -1,5х10-45 1,5х10-45… 3,4х1038 |
|||||
|
С двойной точностью
|
Double
|
-1,7х10308… -5х10-324, 5х10-324… 1,7х10308
|
|||||
|
|
|
С повышенной точностью |
Extended |
-1,1х104932… -1,9х10-4951, 1,9х10-4951… 1,1х104932 |
|||
|
|
|
Сложный |
Comp |
-263+1…263-1 |
|||
|
Строковый |
|
|
String |
||||
|
Структурный |
|
Массив |
Array |
||||
|
|
|
Множество |
Set |
||||
|
|
|
Файл |
File |
||||
|
|
|
Запись |
Record |
||||
|
Ссылочный |
|
|
Pointer |
||||
|
Процедурный |
|
Процедура |
Procedure |
||||
|
|
|
Функция |
Function |
||||
|
Объектный |
|
|
Object |
||||
Операторы ввода, вывода и присваивания информации
|
Оператор |
Запись на языке Паскаль |
Пример выполнения программы |
|
Выводинформации |
write(‘а’); |
а |
|
writeln(‘а’); |
а |
|
|
а:=5; writeln(а); |
5 |
|
|
а:=5; writeln(‘а= ’, а, ‘м’); |
а= 5м |
|
|
Вводинформации |
read(а); |
Ввод значения одной переменной. Выполнение программы приостанавливается до введения значения. После выполнения оператора read курсор остаётся в этой же строке |
|
readln(а); |
Ввод значения одной переменной. Выполнение программы приостанавливается до введения значения. После выполнения оператора readln курсор переходит в следующую строку |
|
|
readln(а, b); |
Ввод значения двух переменных. |
Оператор присваивания
Переменная := выражение
|
а:= 2+7; |
в результате получим значение а=9 |
|
с:= а – 4; |
с становится равным 5 |
|
с:= с+3; |
значение сувеличивается на 3 и становится равным 8 |
|
с+1:= 2-а |
неверно, так как слева от знака присваивания стоит не переменная, а выражение! |
Программа, выводящая на экран слово «МИР». Буквы этого слова состоят из символов «*», высота каждой буквы – 6 символов.
Program mir;
Uses Crt;
Begin
Clrscr;
writeln(‘* * * * *******’);
writeln(‘* * * * * ** * *’);
writeln(‘* ** * * * * * *’);
writeln(‘* * * * * * *******’);
writeln(‘* * * * * * ’);
writeln(‘* * * * * ’);
readln;
End.
Программа, вычисляющая произведение трёх чисел.
Program umnogenie;
Uses Crt;
var a, b, c: real;
Begin
Clrscr;
writeln(‘Введите первое число ’);
readln(а);
writeln(‘Введите второе число ’);
readln(b);
writeln(‘Введите третье число ’);
readln(с);
writeln(‘Произведение чисел равно ’, a*b*c );
readln;
End.
Определение среднего арифметического двух чисел.
Program sredznach;
Uses Crt;
var a, b: real;
Begin
Clrscr;
writeln(‘Введите первое число ’);
readln(а);
writeln(‘Введите второе число ’);
readln(b);
writeln(‘Среднее значение чисел равно ’, (a+b)/2 );
readln;
End.
Вычисление третьего угла треугольника по двум известным углам.
Program treugolnik;
Uses Crt;
var a, b: real;
Begin
Clrscr;
writeln(‘Введите первый угол ’);
readln(а);
writeln(‘Введите второй угол ’);
readln(b);
writeln(‘Третий угол равен ’, 180-a-b );
readln;
End.
Вычисление
значения арифметического выражения
.
Program Uravnenie;
Uses Crt;
var x, y: real;
Begin
Clrscr;
write(‘Введите значение переменной х ’);
readln(x);
write(‘Введите значение переменной y ’);
readln(y);
writeln(‘Значение арифметического выражения равно’, exp(x*ln(y)):5:3);
readln;
End.
Вычисление
значения арифметического выражения

Program Uravnenie;
Uses Crt;
var x, b: real;
Begin
Clrscr;
write(‘Введите значение переменной х ’);
readln(x);
b:= (exp(x*ln(5))+exp(5*ln(х)))/(5+х);
writeln(‘Значение арифметического выражения равно’, b:5:3);
readln;
End.
Программа записывающая введённое с клавиатуры трёхзначное число теми же цифрами, но в обратном порядке (то есть, если дано число 149, то получить надо 941).
ProgramNaoborot;
UsesCrt;
varx, a, b, c: integer;
Begin
Clrscr;
write(‘Введите трёхзначное число ’);
readln(x);
a:= x mod 10;
b:= x div 10 mod 10;
c:= x div 100;
writeln(‘Число наоборот’, 100*а+10*b+а);
readln;
End.
Вычисление площади треугольника по двум сторонам и углу между ними.
Programst;
UsesCrt;
vara, b, c, s: real;
Begin
Clrscr;
writeln(‘Введите длину первой стороны ’);
readln(а);
writeln(‘Введите длину второй стороны ’);
readln(b);
writeln(‘Введите угол между ними ’);
readln(с);
s:=0.5*a*b*sin(c);
writeln(‘Площадь треугольника равна ’,s);
readln;
End.
Вычисление площади треугольника по 3 вершинам.
Programst;
UsesCrt;
var x1,y1,x2,y2,x3,y3,a,b,c,p,s:real;
Begin
Clrscr;
writeln('введите A(X1,Y1), B(X2,Y2) и C(X3,Y3)');
readln( x1,y1,x2,y2,x3,y3 );
c:=sqrt(sqr(y1-y2)+sqr(x1-x2));
a:=sqrt(sqr(y2-y3)+sqr(x2-x3));
b:=sqrt(sqr(y1-y3)+sqr(x1-x3));
p:=(a+b+c)/2;
s:=p*sqrt((p-a)*(p-b)*(p-c));
writeln('площадь треугольника = ',s);
readln;
End.
Вычисление суммы целых частей двух введённых с клавиатуры действительных чисел.
Programsumma;
UsesCrt;
vara, b, c: real;
Begin
Clrscr;
writeln(‘Введите первое число ’);
readln(а);
writeln(‘Введите второе число ’);
readln(b);
с:= trunc(a)+ trunc(b);
writeln(‘Произведение чисел равно ’,c);
readln;
End.
Программа, которая по правилам математики округляет введённое с клавиатуры действительное число и возводит его в степень, введённую с клавиатуры.
Programokrugl;
UsesCrt;
vara, b, c: real;
Begin
Clrscr;
writeln(‘Введите действительное число ’);
readln(а);
writeln(‘Введите степень ’);
readln(b);
с:=round(a);
d:=exp(b*ln(c));
writeln(‘Округление числа ’,a, ‘=’c);
writeln(‘числа ’, с,’ в степени ’, ’b’, ‘=’,d);
readln;
End.
Вычисление длины отрезка, зная координаты A и B.
Programsize;
UsesCrt;
var x1,y1,x2,y2,d:real;
Begin
Clrscr;
writeln('введите A(X1,Y1) и B(X2,Y2)');
readln( x1,y1,x2,y2 );
d:=sqrt(sqr(y2-y1)+sqr(x2-x1));