Σ Сумма случайных чисел. Циклы for, while. Три задачи на нахождение суммы случайно сгенерированных элементов. Для каждой задачи приведено два варианта — классический синтаксис (Turbo/Borland Pascal) и PascalABC.NET
Задачи по информатике и основам программирования на языке Паскаль. В двух решениях используется оператор целочисленного деления, в двух других — используется преобразование числа к строке и цикл for, последнее решение учитывает рекомендации PascalABC.NET.
Программа «Сумма цифр трёхзначного числа»
Задание:
Введите трёхзначное число. Найдите сумму цифр. Выведите результат на экран.
Program SummaTsifr1;
Var X, Y1, Y2, Y3, Summa : Integer;
begin
writeln(‘Программа вычисления суммы цифр’);
write(‘Введите трёхзначное число X ‘);
readln(X);
Y1 := X div 100;
Y2 := (X — Y1 * 100) div 10;
Y3 := X — Y1 * 100 — Y2 * 10;
Summa := Y1 + Y2 + Y3;
writeln(‘Сумма цифр ‘, Y1:3, Y2:3, Y3:3, ‘ = ‘, Summa: 3)
LEARN PASCAL programming in 18 minutes
end.
Замечание:
В процедуре вывода writeln используется форматированный вывод переменной. Например, Y1:3 обозначает, что для вывода значения переменной Y1 будут использоваться три позиции, т.е. в случае однозначного числа, перед ним будет добавлено два пробела, в случае двухзначного числа — добавлен один пробел. При этом если число будет содержать 4 или больше цифр, то оно будет выведено полностью.
Программа «Сумма цифр пятизначного числа»
Задание:
Введите пятизначное число. Найдите сумму цифр. Выведите результат на экран.
Program SummaTsifr2;
Var X, Y1, Y2, Y3, Y4, Y5, Summa : Integer;
begin
writeln(‘Программа вычисления суммы цифр ‘);
write(‘Введите пятизначное число X ‘);
readln(X);
Y1 := X div 10000;
Y2 := (X — Y1 * 10000) div 1000;
Y3 := (X — Y1 * 10000 — Y2 * 1000) div 100;
Y4 := (X — Y1 * 10000 — Y2 * 1000 — Y3 * 100) div 10;
Y5 := X — Y1 * 10000 — Y2 * 1000 — Y3 * 100 — Y4 * 10;
Summa := Y1 + Y2 + Y3 + Y4 + Y5;
writeln(‘Сумма цифр ‘, Summa)
end.
Замечание:
В процедуре вывода writeln используется форматированный вывод переменной. Например, Y1:3 обозначает, что для вывода значения переменной Y1 будут использоваться три позиции, т.е. в случае однозначного числа, перед ним будет добавлено два пробела, в случае двухзначного числа — добавлен один пробел. При этом если число будет содержать 4 или больше цифр, то оно будет выведено полностью.
Тема «Использование цикла for». Программа «Сумма цифр числа»
Задание:
Введите число. Найдите сумму цифр. Для решения задачи используйте цикл for и функции работы со строками. Выведите результат на экран.
Program SumNumbers1;
Var
Y : Array[1..20] of Byte; < Массив для сохранения цифр исходного числа >
Xs : String;
Xr, Summa : Real;
J, N, Err : Integer;
begin
writeln(‘Программа вычисления суммы цифр ‘);
Pascal. Примеры программ
write(‘Введите число X (не более 20 цифр)’);
readln(Xr);
Str(Xr, Xs); < Преобразовать число в строку >
N := Length(Xs); < Вычислить длину строки >
for J := 1 to N do Val(Xs[J], Y[J], Err); < Преобразовать каждый символ строки к числу и записать в массив >
Summa := 0;
for J := 1 to N do Summa := Summa + Y[J];
writeln(‘Сумма цифр ‘, Summa)
end.
Замечание:
procedure Str(i: integer; var s: string); Преобразует целое значение i к строковому представлению и записывает результат в s
procedure Val(s: string; var value: byte; var err: integer); Преобразует строковое представление s целого числа к числовому значению и записывает его в переменную value. Если преобразование успешно, то err=0, иначе err>0
function Length(s: string): integer; Возвращает длину строки
Тема «Использование цикла for». Вариант программы «Сумма цифр числа» без использования массива
Задание:
Введите число. Найдите сумму цифр. Для решения задачи используйте цикл for и функции работы со строками. Выведите результат на экран.
Program SumNumbers2;
Var
Y : Byte;
Xs : String;
Xr, Summa : Real;
J, N, Err : Integer;
begin
writeln(‘Программа вычисления суммы цифр ‘);
write(‘Введите число X ‘);
readln(Xr);
Str(Xr, Xs); < Преобразовать число в строку >
N := Length(Xs); < Вычислить длину строки >
Summa := 0;
for J := 1 to N do begin
Val(Xs[J], Y, Err); < Преобразовать каждый символ строки к числу >
Summa := Summa + Y;
end;
writeln(‘Сумма цифр ‘, Summa)
end.
Программа вычисления суммы цифр. Вариант решения на PascalABC.NET
- В программе отсутствуют устаревшие в PascalABC.NET конструкции. В программе используются следующие рекомендованные конструкции PascalABC.NET:
- Используются внутриблочные описания переменных: 6 раз
- Используется инициализация при описании: 3 раза
- Для ввода используется функция вида ReadInteger,ReadReal: 1 раз
- Используется расширенное присваивание: 1 раз
- Для вывода использована Print: 2 раза
Задание:
Введите с клавиатуры целое число. Найдите сумму цифр.
(*
Вариант для PascalABC.NET
*)
begin
var Y, Err : Integer;
Var Xs : String;
Println(‘Программа вычисления суммы цифр’);
var Xr := ReadInteger(‘Введите целое число X ‘);
Str(Xr, Xs); < Преобразовать число в строку >
var N := Length(Xs); < Вычислить длину строки >
var Summa : Integer := 0;
for var J := 1 to N do begin
Val(Xs[J], Y, Err); < Преобразовать каждый символ строки к числу >
Summa += Y;
end;
Println(‘Сумма цифр ‘, Summa)
end.
Использование циклов. Сумма положительных элементов массива. Циклы for, while, repeat. Шесть примеров решения задачи на языке Паскаль. Варианты для Turbo/Borland/FreePascal и PascalABC.NET
Σ Сумма элементов массива. Циклы for, while, repeat. Пять примеров решения задачи на языке Паскаль. В некоторых вариантах используется синтаксис для PascalABC.NET
Σ Сумма случайных чисел. Циклы for, while. Три задачи на нахождение суммы случайно сгенерированных элементов. Для каждой задачи приведено два варианта — классический синтаксис (Turbo/Borland Pascal) и PascalABC.NET
Источник: 256.ru
Примеры программ на Pascal
Ввести с клавиатуры n чисел. Определить количество четных.
Код программы:
var n,i,k,a:integer; begin writeln(‘введите количество чисел’); readln(n); a:=0; for i:=1 to n do begin writeln(‘введите ‘,i:1,’-е число’); readln(a); if a mod 2=0 then k:=k+1; end; writeln(‘кол-во четных чисел ‘,k); readln; end.
Задание:
Дано четырехзначное число. Верно ли, что сумма первой и последней цифр равна сумме средних цифр?
Пример теста:
1234 — да: 1+4=2+3
7459 — нет: 7+9 ≠ 4+5
Код программы:
var n,p1,p2,p3,p4:integer; begin writeln(‘введите четырехзначное число’); readln(n); p1:=n div 1000; p4:=n mod 10; p2:=(n div 100) mod 10; p3:=(n div 10) mod 10; if p1+p4=p2+p3 then writeln(‘right’) else writeln(‘false’); readln; end.
Задание:
Решение квадратного уравнения ax 2 +bx+c=0
Пример теста:
нет решений
нет решений
Код программы:
var a,b,c,D,x1,x2:real; begin writeln(‘введите a,b,c’); readln(a,b,c); if a=0 then if b=0 then if c=0 then writeln(‘x любое’) else writeln(‘нет решений’) else begin x1:=c/b; writeln(‘x=’,x1:12:6); end else begin D:=b*b-4*a*c; if D>0 then begin x1:=(-b-sqrt(D))/(2*a); x2:=(-b+sqrt(D))/(2*a); writeln(‘x1=’,x1:12:6); writeln(‘x2=’,x2:12:6); end else if D=0 then begin x1:=-b/(2*a); writeln(‘x=’,x1:12:6); end else writeln(‘нет решений’); end; readln; end.
Задание:
При попадании в маленький круг (радиус = 1), игроку начисляется 2 балла, при попадании в большой круг (радиус 2) — 1 балл, мимо мишеней — 0 баллов.
Пример теста:
0.5; 0.6 — 2
-1.2; -1.3 — 1
2.6; 3 — 0
Код программы:
var x,y:real; z:byte; begin writeln(‘введите координаты’); readln(x,y); if x*x+y*ythen z:=2 else if x*x+y*ythen z:=1 else z:=0; writeln(‘ваш результат ‘,z); readln; end.
Задание:
Вычислить значение функции
Пример теста:
при x = 2, y = -4.441979
Код программы:
var x,y:real; begin writeln(‘введите x’); readln(x); y:=(arctan(x)-exp(x))/sqrt(abs(x)); writeln(‘y=’,y:12:6); readln; end.
Задание:
Найти сумму элементов столбца, содержащего максимальный элемент. Если максимальный элемент встречается несколько раз, то вычислить сумму столбца, в котором максимальный элемент встречается в последний раз. То есть в тесте взять такую матрицу, чтобы максимальный элемент встречался в несколькх столбцах.
Пример теста:
1 2 3 4
7 1 3 0
2 7 4 3
1 3 2 1
Ответ: 13 (второй столбец: 2+1+7+3=13)
Код программы:
type meow=array[1..10,1..10] of integer; var a:meow; i,j,m,n:byte; max,s,k:integer; begin writeln(‘введите число строк и столбцов ‘); readln(n,m); for i:=1 to n do begin writeln(‘введите строку ‘, i); for j:=1 to m do readln (a[i,j]); end; writeln (‘матрица А’); for i:=1 to n do begin for j:=1 to m do write (a[i,j]:4, ‘ ‘); writeln; end; max:=a[1,1]; for i:=1 to n do for j:=1 to m do if a[i,j]>=max then begin max:=a[i,j]; k:=j; end; for i:=1 to n do begin for j:=k to k do s:=s+a[i,k]; end; writeln(‘s=’,s); readln; end.
Источник: studentoriy.ru
Сложение двух чисел в PascalABC.NET на Pascal (консольное приложение)
В статье рассказывается как создать консольное приложения сложения двух чисел в PascalABC.NET.
Установка программы
Под спойлером находится краткое описание установки программы.
Скачиваем программу на сайте http://pascalabc.net/:
Создаем проект
Открываем программу PascalABC.NET (программа открывается не очень быстро):
Создаем новый проект:
Выбираем консольное приложение и название проекта:
Появится вот такая болванка:
Написание кода
Пропишите такой код:
var a,b,c:integer; begin writeln(‘Input first number’); readln(a); writeln(‘Input second number’); readln(b); c := a + b; writeln(‘Sum ‘, c); end.
Запуск программы
- Pascal
- Сложение двух чисел
В статье рассказывается как создать консольное приложения сложения двух чисел в PascalABC.NET.
В статье рассказывается как создать консольное приложения сложения двух чисел в PascalABC.NET.
Harrix
Write an awesome description for your new site here. You can edit this line in _config.yml. It will appear in your document head meta (for Google search results) and in your feed.xml site description.
Источник: harrix.dev