Урок 14 (Решенные задачи)
Primary tabs
Урок 14 (Решенные задачи)
1)Напишите функцию, которая возвращает сумму трёх целых чисел.
var a,b,c,t: integer;
function ru36(z,g,h: integer): integer;
begin
t := z + g + h;
result := t;
end;
begin
writeln('vvedite cisla a, b, c');
readln(a,b,c);
write(ru36(a,b,c));
end.
2) Напишите процедуру, которая выводит на экран сумму трёх целых чисел.
procedure ru36(z, y, x: integer); begin write(z + y + x); end; begin ru36(8, 9, 10); end.
3) Напишите процедуру, которая принимает переменную целого типа по ссылке, просит пользователя ввести значение в консоли и инициализирует переменную этим значением (убедитесь, что в теле программы значение изменилось).
var a: integer;
procedure ru36(var c: integer);
begin
writeln('vvedite cislo');
readln(a);
c := a;
write(c);
end;
begin
write('vvedite cislo');
ru36(a);
end.4)Составьте программу, которая выводит на экран прямоугольный флаг N×M вида (с чередованием плюсов и минисов в строках):- - - - - - + + + + + + - - - - - - + + + + + + - - - - - --- для вывода очередной строки используйте подпрограмму, принимающую на вход нужные агрументы.
var l: integer;
function f1(a: integer): integer;
begin
a := 1;
for a := a to N do
write('-', ' ');
end;
function f2(b: integer): integer;
begin
b := 1;
for b := b to N do
write('+', ' ');
end;
begin
N := 9;
M := 2;
for l := l to M do
begin
f1(1);
writeln();
f2(2);
writeln();
end;
end.
5)Пользователь передает целое положительное число N, выведете на экран последовательность от 1 до N "ёлочкой", например для N=171 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17ПРИМЕЧАНИЕ: для вывода очередной строки используйте отдельную подпрограмму.
var N,M,b,a,c : integer;
function f1(x,L,M,z: integer):integer;
begin
while (x <= L) do
begin
write(x, ' ');
x := x + 1;
M := M - 1;
if (M = 0) then
begin
writeln();
M := b + 1;
b := M;
end;
end;
end;
begin
M := 1;
a := 1;
writeln('vvedite cislo N');
readln(N);
b := M;
f1(a,N,M,b);
end.
- Log in to post comments
- 3121 reads
Romakip
Mon, 09/28/2020 - 15:54
Permalink
Задача номер 3. Добавлена
Задача номер 3. Добавлена проверка в теле программы на то, что значение переменное изменлось.
var a: integer; procedure ru36(var c: integer); begin writeln('vvedite cislo'); readln(a); c := a; write(c); end; begin write('vvedite cislo'); ru36(a); writeln(' ', a); end.Romakip
Mon, 09/28/2020 - 16:02
Permalink
Задача номер 4. Теперь вывод
Задача номер 4. Теперь вывод строки осуществляется засчет одной функции.
var l, N, M: integer; function f1(a,b: integer): integer; begin a := 1; for a := a to N do write('-', ' '); b := 1; writeln(); for b := b to N do write('+', ' '); end; begin N := 8; M := 2; for l := l to M do begin f1(N, M); writeln(); end; end.Romakip
Mon, 09/28/2020 - 16:07
Permalink
Исправлена задача номер 5.
Исправлена задача номер 5. Теперь всего 4 переменных в программе, и одной действие в основном теле, после ввода числа.
var N,M,b,x : integer; function f1(L: integer):integer; begin M := 1; b := M; while (x <= L) do begin write(x, ' '); x := x + 1; M := M - 1; if (M = 0) then begin writeln(); M := b + 1; b := M; end; end; end; begin writeln('vvedite cislo N'); readln(N); f1(N); end.