Нурахметова А.Е.
КОМПЛЕКС ЗАДАНИЙ
ПО ПРОГРАММИРОВАНИЮ
НА ЯЗЫКЕ PASCAL
В данном комплексе вашему вниманию представлены задания по программированию на языке Pascal разной степени сложности для применения на уроках учениками 7 класса по предмету «Практикум по программированию». Методическое пособие также могут использовать в образовательных целях ученики старших классов, студенты колледжа и учителя информатики для усвоения логики программирования.
Задача. Напишите программу, которая будет запрашивать у вас личные данные, такие как ФИО, адрес, класс, телефон и т.д.
Пример. Требуется узнать сколько лет пользователю, а затем вывести «Вам лет».
Program anketa;
var years: integer;
Begin
Writeln ('Сколько вам лет?');
Read (years);
Write ('Вам ',years,' лет.');
End.
Задача. Определите, какое число программа будет выводить на экран дисплея.
Program kakoechislo;
var
qq, ww, zz: integer;
begin
ww:=3; zz:=5;
qq:=ww+zz;
writeln(qq);
end.
Задача. Определите, какое число программа будет выводить на экран дисплея.
Program kakoechislo2;
var
qq, ww, zz: integer;
begin
ww:=4; zz:=9;
qq:=ww+zz;
writeln(qq);
end.
Задача. Напишите математическую запись выражения на языке программирования
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Задача. Выведите на экран текст «Я ученик школы при КАУ!».
Решение. Напоминаю, что при использовании оператора write курсор останется в той же строке, в которой осуществлялся вывод, и будет находиться на одну позицию правее восклицательного знака во фразе «Я ученик школы при КАУ!», а при использовании оператора writeln – на первой позиции слева в следующей строке.
Пример:
program imya;
begin
writeln(‘Меня зовут Асет!’)
end.
Задача. Определите, какие числа будет показывать данная программа.
program chisla;
var
k: integer;
begin
for k:=50 to 55 do writeln(k);
end.
Задача. Даны три переменные вещественного типа: Q, W, Z. Если их значения упорядочены по убыванию, то утроить их; в противном случае заменить значение каждой переменной на противоположное. Вывести новые значения переменных Q, W, Z.
Пример. Даны три переменные вещественного типа: A, B, C. Если их значения упорядочены по возрастанию, то удвоить их; в противном случае заменить значение каждой переменной на противоположное. Вывести новые значения переменных A, B, C.
Program zadacha;
var a,b,c: integer;
begin
write ('Введите A, B и C: ');
readln (a,b,c);
if (bc) and (ab) then
begin
a := 2 * a;
b := 2 * b;
c := 2 * c;
end
else begin
a := -a;
b := -b;
c := -c;
end;
writeln (a,' ',b,' ',c);
end.
Задача. Выведите на экран четыре введенных с клавиатуры числа в порядке, обратном их вводу.
Пример. Выведите на экран три введенных с клавиатуры числа в порядке, обратном их вводу.
program tricifry;
var
q, w, e: integer;
begin
readln(q, w, e);
writeln(e, ' ', w, ' ', q)
end.
Задача. Дано целое число. Вывести его описание «данное число больше тысячи» или «данное число меньше тысячи»
Пример. Дано целое число. Вывести его строку-описание вида «отрицательное четное число», «нулевое число», «положительное нечетное число» и т. д.
program if29;
var
number: integer;
begin
write ('Введите число: ');
readln (number);
if number = 0 then write ('нулевое число');
else
if number 0 then write ('Положительное ') else write ('Отрицательное ');
if number mod 2 = 0 then write ('четное ') else write ('нечетное ');
end.
Задача. Вам дано число. Сформируйте число, представляющее собой его куб.
Пример. Вам дано число. Сформируйте число, представляющее собой его квадрат.
program kvadratchisla;
var
q: integer;
begin
readln(q);
q := q * q;
writeln(q)
end.
Задача. Выведите на экран число, представляющее собой обратную в порядке следования разрядов запись заданного двузначного числа. Например, для числа 58 таким будет 85.
Пример. Выведите на экран число, представляющее собой обратную в порядке следования разрядов запись заданного трехзначного числа. Например, для числа 521 таким будет 125.
program obratnoechislo;
var
q, a, b, c: word;
begin
readln(q);
a := q mod 10;
q := q div 10;
b := q mod 10;
q := q div 10;
c := q;
q := 100 * a + 10 * b + c;
writeln(q)
end.
Задача. Вам дано любое четырехзначное число. Определите:
a. Кратна ли трем сумма его цифр;
c. Кратно ли четырем произведение его цифр;
Пример. Вам дано любое трехзначное число. Определите:
a) Является ли сумма его цифр двухзначным числом;
b) Является ли произведение его цифр трехзначным числом;
Program prim;
Var x1,x2,x3,q,x:integer;
w:longint;
Begin
Write('введите трехзначное число');
Readln(х);
х1:=x div 100;
х2:=(x div 10) mod 10;
х3:= x mod 10;
q:=x1+x2+x3;
If (q9) and (q Else Writeln('Сумма не двузначное число ');
w:=x1*x2*x3;
If (w99) and (w Else Writeln('Произведение не трехзначное число ');
End.
Задача. Вы ввели число с клавиатуры. Значение этого числа может быть от 10 до 100. Определите, четная ли вторая цифра в этом числе.
Пример. Вы ввели число с клавиатуры. Значение этого числа может быть от 100 до 1000. Определите, четная ли третья цифра в этом числе.
var q,w,y: integer ;
begin
writeln('введите цифру от 100 до 1000');
read(q);
w:=q mod 10;
y:=w mod 2;
if y=0 then writeln ('третья цифра в числе четная')
else writeln('третья цифра в числе нечетная');
end.
Задача. Восстановите условие задачи по тексту программы
Var f, x: real;
Begin
Writeln (‘введите значение х’);
Readln (x);
f:=-2*x*x+4*x-1.4;
writeln (‘значение функции f равно ’, f);
readln;
end.
Задача. Найди и исправь ошибки в программе нахождения суммы двух чисел.
Variable
q, w, z Integer;
Begаn
Write ( q= );
Readln ( q )
Write ( w= );
Readln ( w )
z:=q+w
Write ('сумма z=', z);
Ent.
Задача. Установите соответствие между переменной и типом данных
А:=2.5 B:=789 C:=-56.9 D:=-41 E:=’mama’ F:=’w’ G:=’Я’ H:=true | Integer Real String Char Boolean
|
Задача. Сложение двух чисел. Найти сумму 10+58. Также напишите программу для всех таких сумм?? (Необходимо задать переменные a,b)
Пример. Сложение двух чисел. Найти сумму 4+5.
program ww;
begin
writeln ( '4+5=', 4+5);
end.
Задача. Какие имена переменных правильные? Подчеркните правильные имена переменных
AUby R&M 8Wheel Ваня “PesSharik” TU157 [QyQy]
_ANNA A*B 3K H A/L F_58 %D EsE
Задача. Переменная объявлена как целая, верны ли следующие записи:
a:=11;
B:=-40;
p:=34721;
St:=-14783.40;
d1:=2395110;
y:=7;
x:=-19.6;
z:=230,01;
tr:=-128;
y:=60230;
q:=500;
w:=156.04;
e:=-11000;
w:=14.4;
v:=355.4;
Задача. Распределите на две группы:
char | string |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
‘XYZ’ ‘И’ ‘Тип’ ‘F’ ‘Dt’ ‘символ’ ‘x+y’ ‘+’ ‘ю’ ‘*’ ‘Q’ ‘string’
Задача. Определите больше ли число 10 чем число 20.
Пример. Логический тип переменных. Определите больше ли число 4 чем число 7.
Var d: boolean;
begin
d:=47;
Writeln (d);
end.
Задача. Стандартные функции. Установите соответствие
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Задача. Вам даны два числа. Выведите на экран число, которое меньше.
Пример: Вам даны два числа. Выведите на экран число, которое больше.
program dvachisla;
var
q, w: integer;
begin
readln (q, w);
if q w then writeln (q) else writeln (w);
end.
Задача. Запиши подходящий тип данных
Количество книг на полке |
|
Площадь квадрата |
|
Количество фонарей на улице К.Сатпаева |
|
Количество развязок в городе |
|
Плотность населения государства |
|
Произведения трех целых чисел |
|
Частное двух вещественных чисел |
|
Данные (ФИО) ученика в базе |
|
Стипендия студента |
|
Год рождения |
|
Инициалы |
|
Задание. Даны три числа. Вывести на экран то из них, которое меньше.
Пример. Даны три числа. Вывести на экран то из них, которое больше.
program trichisla;
var
q, w, z: integer;
begin
readln(q, w, z);
if q w then begin
if q z then begin
writeln(a)
end
else begin
writeln(z)
end
end
else begin
if w z then begin
writeln(w)
end
else begin
writeln(z)
end
end
end.
Задача. Вывести название месяца по его номеру.
Пример. Вывести название дня недели по его номеру.
program dninedely;
var
i: byte;
begin
readln(i);
case i of
1: writeln ('понедельник');
2: writeln ('вторник');
3: writeln ('среда');
4: writeln ('четверг');
5: writeln ('пятница');
6: writeln ('суббота');
7: writeln ('воскресенье')
else writeln ('такого дня недели не существует!')
end
end.
Задача. Дано четырехзначное число. Проверить, является ли оно «счастливым билетом». Примечание: счастливым билетом называется число, в котором: а) при четном количестве цифр в числе сумма цифр его левой половины равна сумме цифр его правой половины; б) при нечетном количестве цифр – то же самое, но с отбрасыванием серединной цифры. Например, рассмотрим число 1322. Его левая половина равна 13, а правая – 22, и оно является счастливым билетом (т. к. 1 + 3 = 2 + 2). Аналогично: 1735 (1 + 7 = 3 + 5), 1111 (1 + 1 = 1 + 1) и т. д.
program bilet;
var
n: word;
left, right: byte;
begin
readln(n);
right := n mod 10;
n := n div 10;
right := right + n mod 10;
n := n div 10;
left := n mod 10;
n := n div 10;
left := left + n;
writeln(left = right)
end.
Задача. Даны вещественные числа a, b и c, причем a отлично от 0. Решить квадратное уравнение ax2 + bx + c = 0
program kvadratnoe_uravnenie;
var
q, w, z, y, x1, x2: real;
begin
readln(q, w, z);
y:= w * w - 4 * q * z;
if y = 0 then begin
if y 0 then begin
x1:= (-w + sqrt(y)) / 2 * q;
x2:= (-w - sqrt(y)) / 2 * q;
writeln ('x1 = ', 'x2 = ');
end
else begin
x1 := -(w / 2 * q);
writeln ('x = ');
end
end
else begin
writeln (‘нет решения!');
end
end.
Задача. Вычислите площадь прямоугольника.
Пример. Вычисление площади круга
var
r: real; // радиус круга
S: real; // площадь круга
begin
write ('Введите радиус круга: ');
readln (r);
S:= Pi*r*r;
Writeln ('Площадь круга равна ',S);
end.
Задача. Вычисление A16
Пример. Вычисление A8
var a: real;
begin
write ('Введите a: ');
readln (a);
var a2,a4,a8: real; // вспомогательные переменные
a2:= a * a;
a4:= a2 * a2;
a8:= a4 * a4;
writeln (a,' в степени 8 = ',a8);
end.
Задача. Вычисление расстоянии между тремя точками
Пример. Вычисление расстояния между двумя точками на прямой
var
a,b: real; // координаты точек
r: real; // расстояние между точками на прямой
begin
write ('Введите координату точки a: ');
readln (a);
write ('Введите координату точки b: ');
readln (b);
r:= abs(a-b);
writeln ('Расстояние между точками = ', r);
end.
Задача. Определите нечетность числаПример. Определение четности числа
var x: integer;
begin
write ('Введите x: ');
readln (x);
if x mod 2 = 0 then
writeln ('Это четное число')
else writeln ('Это нечетное число');
end.
Пример. Состоит ли двузначное число из одинаковых цифр
var x: integer;
begin
write ('Введите двузначное число: ');
readln (x);
var c1:= x div 10;
var c2:= x mod 10;
if c1=c2 then
writeln ('Цифры числа совпадают')
else writeln ('Цифры числа не совпадают');
end.
Пример. Упорядочение двух значений по возрастанию
var
x,y: integer;
v: integer;
begin
write ('Введите x,y: ');
readln (x,y);
if xy then
begin
v := x;
x := y;
y := v
end;
writeln ('Результат упорядочения по возрастанию: ',x,' ',y);
end.
Задача. Номера месяцев по наименованию сезона
Пример. Наименование сезона по номеру месяца
var
Month: integer;
Season: string;
begin
write('Введите номер месяца: ');
readln(Month);
if (Month=1) or (Month=2) or (Month=12) then
Season := 'Зима'
else if (Month=3) or (Month=4) or (Month=5) then
Season := 'Весна'
else if (Month=6) or (Month=7) or (Month=8) then
Season := 'Лето'
else Season := 'Осень';
writeln('Это ',Season)
end.
var
Symbol: char;
begin
write ('Введите символ: ');
readln (Symbol);
case Symbol of
'a'..'z': writeln ('Это маленькая английская буква');
'A'..'Z': writeln ('Это большая английская буква');
'0'..'9': writeln ('Это цифра');
end;
end.
Пример. Вывод букв английского алфавита
var c: char;
begin
for c := 'a' to 'z' do
write(c,' ');
writeln;
c := 'A';
while c='Z' do
begin
write(c,' ');
c := succ(c);
end;
end.
Задача. Сторона квадратного участка земли равна X метрам. Напишите программу вычисления количества досок для забора на заданном участке, если ширина доски равна 20 сантиметрам.
Пример. Длина прямоугольного участка земли равна X метрам, а ширина равна Y метрам. Напишите программу вычисления количества досок для забора на заданном участке, если ширина доски равна 10 сантиметрам.
program doski;
var x, y, rezultat: real;
begin
write ('vvedi dlinu X:');
Readln (x);
write ('vvedi shirinu Y:');
Readln (y);
rezultat:= 2*x + 2*y;
rezultat:= rezultat/0.1;
writeln('Chislo dosok = ', rezultat);
end.