Вот что у меня есть и что еще нужно:
Задание на создание программы (ветвление)
Вопрос: Для двух чисел Х и У, вводимых с клавиатуры, на экран дисплея вывести sin большего числа и cos меньшего.
Ответ:
- Код: Выделить всё
program xy;
uses crt;
var
x, y: real;
begin
ClrScr;
Write ('Введите число X:');
ReadLn(x);
WriteLn;
Write ('Введите число Y:');
ReadLn(y);
WriteLn;
If x = y then
begin
Writeln('Числа Х и Y равны. Запустите программу еще раз с разными значениями Х и Y');
ReadLn;
exit;
end;
If x > y then
begin
writeln('Большим является X и синус числа равен:',sin(x):3:3);
writeln('Меньшее - Y и его косинус:',cos(y):3:3);
end
else
begin
writeln('Большим является Y и синус числа равен:',sin(y):3:3);
writeln('Меньшее - X и его косинус:',cos(x):3:3);
end;
Readln;
end.
Для введенного целого числа определить, делится ли оно нацело на два, три или на пять.
Решения и листинга нет.
Необходимо сделать.!!!
Вопрос:Линейные структуры, стандартные функции -- Найти значение функции
где a=0,5, b=3,2. Значение x>0 (тип данных: Real) вводится с клавиатуры.
Решение:
- Код: Выделить всё
program func;
uses crt;
const
a = 0.5;
b = 3.2;
var
f, x: real;
begin
ClrScr;
Write('Введите число X, оно должно быть > 0: ');
ReadLn(x);
Writeln;
If x <= 0 then
begin
writeln('Число X <= 0. Запустите программу заново с Х > 0.');
readln;
exit;
end;
f := exp(2*x)*sin(a+x)/cos(a+x)-exp(ln(b)*3*x)*sin(b-x)/cos(b-x);
writeln('Значение функции f = e^2x*tg(a+x) - b^3x*tg(b-x), при a = 0.5, b = 3.2, равно: ',f:5:3);
readln;
end.
Вопрос: Ветвление -- Даны две точки: A(x1, y1) и B(x2, y2). Определить, какая из точек находится ближе к началу координат. Координаты точек вводятся с клавиатуры
Решение:
- Код: Выделить всё
program koor;
uses crt;
var
x1,x2,y1,y2 : integer;
res1, res2 : real;
begin
ClrScr;
Write ('Введите через пробел координаты точки А:');
Read(x1);
Read(y1);
WriteLn;
Write ('Введите через пробел координаты точки B:');
Read(x2);
Read(y2);
WriteLn;
res1 := sqrt(sqr(x1)+sqr(y1));
res2 := sqrt(sqr(x2)+sqr(y2));
if res1 = res2 then
begin
writeln('Точки A и B симметричны отностительно начала координат');
ReadLn;
exit;
end;
if res1 < res2 then
writeln('Точка А находится ближе к началу координат.')
else
writeln('Точка B находится ближе к началу координат.');
Readln;
end.
Вопрос:Циклы (все три вида: For, While, Repeat) -- Дана последовательность из N произвольных целых чисел. Написать программу, которая определяет, сколько в этой последовательности отрицательных чисел, кратных 5
Ответ:
- Код: Выделить всё
program sequence;
uses crt;
var
seq: array[1..100] of integer;
n, i, cnt: integer;
r: real;
begin
clrscr;
write('Введите длину последовательности чисел: ');
readln(n);
for i:=1 to n do
begin
Write('Введите значение ',i,' элемента массива: ');
readln(seq[i]);
end;
for i:=1 to n do
if (seq[i] < 0) and (abs(frac(seq[i]/5)) = 0) then
cnt := cnt + 1;
write('В последоватеьности из ',n,' чисел: ');
for i:=1 to n do
Write(seq[i],' ');
writeln;
write('В этой последовательности отрицатеьных чисел кратных 5 - ',cnt);
readln;
end.
Вопрос:Двумерные массивы -- Заполнить массив по следующему правилу: элементы главной диагонали равны 3, ниже главной диагонали – 1, а выше – сумме индексов
Ответ:
- Код: Выделить всё
program arrays;
uses crt;
var
seq: array [1..100,1..100] of integer;
i, j, m, n: integer;
begin
clrscr;
write('Через пробел введите размерность двумерного массива: ');
read(m);
readln(n);
writeln('Массив заполнился следующим образом:');
for i:=1 to m do
begin
for j:=1 to n do
begin
if i < j then
seq[i,j] := i + j;
if i = j then
seq[i,j] := 3;
if i > j then
seq[i,j] := -1;
write(seq[i,j],' ');
end;
writeln;
end;
readln;
end.
Вопрос:Строковые величины -- Найти, сколько раз в предложении встречаются заглавные гласные буквы
Ответ:
- Код: Выделить всё
program strings;
uses crt;
const
st = 'АЕИОУЫЭЮЯ';
var
str: string;
i, cnt: integer;
begin
clrscr;
write('Введите строку для обработки: ');
readln(str);
for i := 1 to length(str) do
if pos(str[i],st) <> 0 then
cnt := cnt + 1;
writeln;
writeln('В строке: ',str);
writeln;
write('Заглавных гласных букв - ',cnt);
readln;
end.
Вопрос:Записи -- Построить массив записей о студентах. Каждая запись должна содержать фамилию, группу, срок обучения. Рассчитать для каждого студента, сколько месяцев осталось до окончания обучения
Ответ:
- Код: Выделить всё
program records;
uses crt;
type
Tinfo = record
Family: string[20];
Group: string[5];
Srok: integer;
end;
var
info: array [1..100] of Tinfo;
term: array [1..100] of Integer;
n, i, tmp, err: integer;
begin
clrscr;
write('Введите количество студентов: ');
readln(n);
Writeln('Через пробел введите фамилию студента, его группу и срок обучения в месяцах: ');
for i := 1 to n do
begin
with info[i] do
begin
write('Введите фамилию ',i, ' студента: ');
readln(family);
write('Введите группу ',i, ' студента: ');
readln(group);
write('Введите срок обучения ',i, ' студента: ');
read(srok);
end;
end;
for i := 1 to n do
begin
with info[i] do
begin
val(copy(group,1,1),tmp,err);
if err = 0 then
term[i] := srok - tmp * 12;
end;
end;
for i := 1 to n do
begin
writeln('Для студента ',info[i].family,' осталось учиться ',term[i],' месяцев');
end;
readln;
end.
Все. Вопрос по поводу кодировки языка. Как сделать что-б по русски было???
Не работает переключение раскладки ctrl+shift правый
Прошу Вас помочь и проверить код и правильность листинга