В настоящее время всю большую значимость и актуальность получили системы структурного и объектно-ориентированного программирования, которые позволяют работать с процедурными типами данных. Наиболее подходящими для первоначального освоения программирования являются язык программирования Turbo Pascal, который дает возможность освоить разработку программного кода с использованием циклов.
Вложение | Размер |
---|---|
sbornik_zadach_k_diplomnoy_ilyushechkina.doc | 346 КБ |
БОУ ОО СПО «Болховский педагогический колледж»
Сборник задач по теме:
«Циклические процессы в языке программирования Turbo Pascal»
Болхов, 2014г.
БОУ ОО СПО «Болховский педагогический колледж»
Сборник задач по теме:
«Циклические процессы в языке программирования Turbo Pascal»
Болхов, 2014г.
В настоящее время всю большую значимость и актуальность получили системы структурного и объектно-ориентированного программирования, которые позволяют работать с процедурными типами данных. Наиболее подходящими для первоначального освоения программирования являются язык программирования Turbo Pascal, который дает возможность освоить разработку программного кода с использованием циклов.
Составитель: Илюшечкина О.В.
Верстка: Илюшечкина О.В.
Содержание
Справочный материал…………………………………...…3
I.Задания по теме «Циклы в Паскале»……………………8
II.Задачи с использованием массивов…………....26
III.Задачи разного уровня сложности……………………29
1.Базовый уровень…………………………………………29
2.Средний уровень……………………………………...…30
3.Повышенный уровень……………………..……………32
Список использованной литературы……………………35
Справочный материал.
Цикл представляет собой последовательность операторов, которая выполняется неоднократно.
В языке программирования Turbo Pascal имеется три разновидности цикла:
Оператор повтора while состоит из заголовка и тела цикла. Ключевые слова while и do обозначают «до тех пор, пока» и «выполняй» соответственно.
Общий вид команды While:
While Условие выполнения цикла do
Begin
{инструкции}
End;
Число повторений операторов (инструкций) цикла while определяется в ходе работы программы;
После слова while записывается условие продолжения выполнения инструкций цикла. В этом отличие цикла while от цикла repeat.
Условие – это выражение логического типа, которое может принимать одно из двух значений: true или false.
Цикл while – это цикл с предусловием, т.е. инструкции тела цикла вообще могут быть не выполнены, если проверяемое условие ложно с самого начала.
Блок-схема команды While:
Оператор повтора repeat состоит из заголовка (repeat), тела и условия окончания (until). Ключевые слова repeat, until обозначают «повторяй» и «пока» соответственно.
Общий вид команды Repeat:
Repeat
{инструкции}
Until Условие выхода из цикла;
Число повторений операторов (инструкций) цикла repeat заранее неизвестно и определяется в ходе программы.
После слова until записывается условие завершения цикла.
Условие – это выражение логического типа: простое или сложное логическое выражение.
Цикл repeat удобно использовать в тех случаях, когда тело цикла гарантированно должно выполниться хотя бы один раз.
Блок-схема команды Repeat:
Оператор for. Этот вид оператора цикла называют циклом со счётчиком или
цикл с параметром. В нём важную роль играет переменная-параметр, которая на каждом шаге цикла автоматически изменяет своё значение ровно на единицу – поэтому её и называют счётчиком.
Общий вид команды For.
Инструкцию for можно реализовать двумя способами:
Вариант 1
For счётчик:=НачальноеЗначение to КонечноеЗначение do
Begin
{инструкции}
End;
Ключевые слова for, do обозначают «для», «выполняй» соответственно. Строка, содержащая for . . . do, называется заголовком цикла, оператор, стоящий после do образует его тело. Очень часто тело цикла – составной оператор. Если тело цикла представлено одиночным оператором, то begin и end не пишутся.
Вариант 2
For Счётчик:=НачальноеЗначение downto КонечноеЗначение do
Begin
{инструкции}
End;
Инструкции между begin и end выполняются столько раз, сколько определяет выражение [(НачальноеЗначение – КонечноеЗначение)+1] .
Блок-схема команды For:
Оператор for используется для организации циклов с фиксированным, заранее известным числом повторений.
Количество повторений определяется начальным и конечным значением переменной-счётчика.
Переменная-счётчик должна быть порядкового типа: чаще integer, реже – char, boolean и т.д.
Начальное и конечное значение должны быть константами и должны принадлежать к одному и тому же типу.
Параметр цикла for может изменяться( увеличиваться или уменьшаться) каждый раз при выполнении тела цикла только на единицу. Если нужен другой шаг изменения параметра, предпочтительнее циклы repeat или while.
Большинство задач с циклами можно решить разными способами, используя при этом любой из трёх операторов цикла.
В некоторых случаях предпочтительнее использовать какой-то один из операторов.
Самым универсальным из всех операторов цикла считается while, поэтому в случае затруднений с выбором можно отдать предпочтение ему.
Цикл for обеспечивает удобную запись циклов с заранее известным числом повторений.
При неумелом использовании циклов любого типа возможна ситуация, когда компьютер не сможет нормально закончить цикл ( в таком случае говорят, что программа «зациклилась»). При работе в среде Turbo Pascal для выхода из подобной ситуации используется комбинация клавиш
Задания по теме «Циклы в Паскале».
a) | c) | |||||||||
Var I,x:integer; Begin Read(x); For I:=1 to 10 do begin x:=x*i; writeln(x); end; End. | Var I,x,y:integer; Begin Read(x); For I:=1 to 10 do y:=x*i; Writeln(y); End. | |||||||||
b) | d) | |||||||||
Var I,x:integer; Begin Read(x); For I:=1 to 10 do Writeln(x*I); End. | Var I,x:integer; Begin Read(x); For I:=1 to 10 do Writeln(′x*I′); End. |
Ответ:________________
a) | c) | ||
Var I,x:integer; Begin X:=0; For I:=1 to 100 do x:=x+1; End. | Var I,x:integer; Begin X:=0; For I:=1 to 100 do x:=x+100; End. | ||
b) | d) | ||
Var I,x:integer; Begin X:=0; For I:=1 to 100 do x:=x+i; End. | Var I,x:real; Begin X:=0; For I:=1 to 100 do x:=x+1; End. |
Ответ:________________
a) | c) | ||
Var I,n,x:integer; Begin Read(x); Read(n); For I:=1 to n do x:=x*i; writeln(x); End. | Var I,n,x,p:integer; Begin Read(x); Read(n); P:=1; For I:=1 to n do x:=x*p; writeln(x); End. | ||
b) | d) | ||
Var I,n,x:integer; Begin Read(x); Read(n); For I:=1 to n do x:=x*n; writeln(x); End. | Var I,n,x,p:integer; Begin Read(x); Read(n); P:=1; For I:=1 to n do p:=p*x; writeln(p); End. |
Ответ:________________
a) | c) | ||
Var I,n,x:integer; Begin Read(x); Read(n); For I:=1 to n do x:=x*i; writeln(x); End. | Var I,n,x,p:integer; Begin Read(x); Read(n); P:=1; For I:=1 to n do x:=x*p; writeln(x); End. | ||
b) | d) | ||
Var I,n,x:integer; Begin Read(x); Read(n); For I:=1 to n do x:=x*n; writeln(x); End. | Var I,n,x,p:integer; Begin Read(x); Read(n); P:=1; For I:=1 to n do p:=p*x; writeln(p); end. |
Ответ:________________
Var A, n:integer;
Begin
n:=527; A:=2;
while n mod A<>0 do A:=A+1;
writeln(A);
end.
Ответ:________________
Var A, k:integer;
Begin
A:=0; k:=0;
while A<=27 do
begin
if k mod 2 =0 then A:=A+k;
k:=k+1;
end;
writeln(A);
End.
Ответ:________________
var n, s: integer;
begin
n := 3;
s := 0;
while n <= 7 do begin
s := s + n;
n := n + 1
end;
write(s)
end.
Ответ:________________
var n, s: integer;
begin
n := 4;
s := 0;
while n <= 8 do begin
s := s + n;
n := n + 1
end;
write(s)
end.
Ответ:________________
var k, s: integer;
begin
s:=5;
k:=0;
while k < 15 do begin
k:=k+2;
s:=s+k;
end.
Ответ:________________
var k, s: integer;
begin
s:=0;
k:=0;
while k < 12 do begin
s:=s+2*k;
k:=k+3;
end;
write(s);
end.
Ответ:________________
var x, L, M: integer;
begin
readln(x);
L:=0; M:=0;
while x > 0 do begin
L:= L + 1;
if x mod 2 = 0 then
M:= M + (x mod 10) div 2;
x:= x div 10;
end;
writeln(L); write(M);
end.
Ответ:________________
var x, L, M: integer;
begin
readln(x);
L:=0; M:=0;
while x > 0 do begin
L:= L + 1;
if x mod 2 = 1 then
M:= M + (x mod 10) div 2;
x:= x div 10;
end;
writeln(L); write(M);
end.
Ответ:________________
var x, L, M: integer;
begin
readln(x);
L:=0; M:=0;
while x > 0 do begin
L:=L+1;
if (M < x) and (x mod 2 = 1) then begin
M:= (x mod 10) * 2;
end;
x:= x div 10;
end;
writeln(L); write(M);
end.
Ответ:________________
var x, L, M: integer;
begin
readln(x);
L:=0; M:=0;
while x > 0 do begin
L:=L+1;
if M < x then begin
M:= (x mod 10) * 2;
end;
x:= x div 10;
end;
writeln(L); write(M);
End.
Ответ:________________
Var A, n:integer;
Begin
n:=50; A:=0;
while n >1 do
begin
n:=n div 2;
A:=A+1;
end;
writeln(A);
End.
Ответ:________________
Var A, n:integer;
Begin
n:=50; A:=0;
while n >1 do
begin
n:=n div 2;
A:=A+1;
end;
writeln(A);
End.
Ответ:________________
Ответ:________________
Ответ:________________
Ответ:________________
Ответ:________________
А:=0;
x:=1;
repeat
А:=А+x*x;
x:=х+1
until x>=4;
Ответ:________________
А:=1; x:=2;
repeat
А:=А*x;
x:=х+2;
until A>=30;
Ответ:________________
А:=0; b:=false;
while (A<15) and not b do
begin
А:=А+5;
if A>20 then b:=true;
end;
Ответ:________________
А:=2;
Repeat
А:=А*A;
until A>=50;
Ответ:________________
А:=1;
b:=false;
Repeat
А:=А+1;
b:=b or (A>10)
until b;
Ответ:________________
A:=0; X:=0;
for i:=1 to 10 do
begin
А:=A+3;
X:=X+A
end;
Ответ:________________
for i:=1 to 10 do А:=3*i;
A:=0;
for i:=10 downto 7 do А:=A+i;
Ответ:________________
Примечание: знаком := обозначена операция присваивания.
В ответ впишите только число.
Ответ:________________
Примечание: знаком “:=” обозначена операция присваивания.
В ответ впишите только число.
Ответ:________________
Примечание: знаком “:=” обозначена операция присваивания.
В ответ впишите только число.
Ответ:________________
Примечание: знаком := обозначена операция присваивания. В ответе укажите одно число — значение переменной с.
Ответ:________________
a) s:= 5; n := 5;
repeat
n:=n+1;
s:=s+n;
until n =10;
б) m:=10; p:=1;
repeat
p := p * 2;
m:=m -1;
until m <=10;
Ответ:________________
а) с:=0;
repeat;
c:=c+1;
s:=s+c;
while c>5;
б) n:=1;
while n<3 do;
n:=n+1;
в) y:=0;
while y:=0.1 do
y:=y+sin(x);
г) n:=5;
repeat do
n:=n-1;
v:=v*n;
n<2;
д) y:=0;
for x:=0.1 to 0.9 do y:=y+sin(x);
е) n:=1;
for a:=1 to –10 do;
n:=n+a;
Ответ:________________
Паскаль | Алгоритмический язык |
var s, i: integer; begin s:=0; for i:=2 to 10 do s:=s+i; write (s); end. | алг нач цел s, i s:=0 нц для i от 2 до 10 s:=s+i кц вывод s кон |
Ответ:________________
Паскаль | Алгоритмический язык |
var s, k: integer; begin s:=50; for k:=0 to 8 do s:=s – 4; write (s); end. | алг нач цел s, k s:=50 нц для k от 0 до 8 s:=s - 4 кц вывод s кон |
Ответ:________________
Паскаль | Алгоритмический язык |
var a, b: integer; begin a:=2; b:=0; while a<>10 do begin a:=a+2; b:=b+3*a; end; write (b); end. | алг нач цел a, b a:=2 b:=0 нц пока a<> 10 a:=a+2 b:=b+3*a кц вывод b кон |
Ответ:________________
Паскаль | Алгоритмический язык |
var p, i: integer; begin p:=1; for i:=2 to 10 do p:=p*i; write (p); end. | алг нач цел p, i p:=1 нц для i от 2 до 10 p:=p*i кц вывод p кон |
Ответ:________________
Задачи с использованием массивов.
const N = 10;
var arr: array[1..N] of integer;
i, k: byte;
sum1, sum2: integer;
begin
writeln('Enter the ten elements of the array:');
for i:=1 to N do {1}
read(arr[i]);
write('k = '); {2}
readln(k);
sum1 := 0;
for i:=1 to k do {3}
sum1 := sum1 + arr[i];
sum2 := 0;
for i:=k+1 to N do {4}
sum2 := sum2 + arr[i];
if sum1 > sum2 then {5}
writeln('sum1 > sum2')
else
if sum1 < sum2 then
writeln('sum1 < sum2')
else
writeln('sum1 = sum2');
readln;
end.
2. Написать программу расчета среднего арифметического отрицательных элементов в одномерном массиве. Заменить минимальный элемент в одномерном массиве на полученное среднее арифметическое. const n = 10;
var
arr: array[1..n] of integer;
i, count, summa, min_id: integer;
mean: real;
begin
count := 0;
summa := 0;
min_id := 0;
for i:=1 to n do begin
read(arr[i]);
if arr[i] < 0 then begin
count := count + 1;
summa := summa + arr[i];
if arr[i] < arr[min_id] then
min_id := i;
end;
end;
mean := summa/count;
arr[min_id] := round(mean);
writeln('Count: ', count);
writeln('Mean: ', mean:6:2);
writeln('New array: ');
for i:=1 to n do
write(arr[i], ' ');
writeln;
end.
Задачи разного уровня сложности.
1.Базовый уровень.
2.Средний уровень.
3.Повышенный уровень.
Список использованной литературы:
http://schools.keldysh.ru/sch887/pascal.htm
http://videouroki.net/view_post.php?id=177
http://irina-nv.sehost.ru/page13
http://pascal2010.gym5cheb.ru/p51aa1.html
Знакомимся с плотностью жидкостей
Ворона
Голубая лягушка
Весенняя гроза
Как зима кончилась