Практическая работа .Информатика (задачи). Выполнение практических заданий по дисциплине основы алгоритмизации и программирования
Скачать 29.28 Kb.
|
1.1 вариант-1 задание (*Составить программу расчета значения функции Z = |3 е^х+3 – 2 ln ху| + 1,8х^2+ 1 при любых значениях х и у. Результат вывести в виде: при х= … и у=… z=*) program pr 1; Var x,y,z: real; Begin writeln('ведите X Y'); readln (x,y); z:=abs(3*exp(x*e)+3-2*LN(x*y))+1.8*sqr(x)+1; writeln('при x=',x:8:2,'y=',y:8:2,'z=',z:8:2); readln; end. 2. (*Сформировать массив из 10 целых чисел, выбранных случайным образом из интервала [10, 50]. Найти максимальный среди элементов с четными индексами.*) Program pr2; const N=50; var A:array [10..N] of integer; I,max:byte; Begin end. 3. 1 вариант. 6 задание (*Вводится вещественное число а. Не пользуясь никакими арифметическими операциями, кроме умножения, получить a4 за две операции.*) Program pr 6; Var a,b,c:real; Begin write('введите a'); readln (a); b:= a*a; c:= b*b; writeln('4a=',a:8:2); readln; end. 4. 1 вариант-13 задние (*Найти произведение цифр введенного 4-значного числа.*) Program pr13; Var n,a,b,c,d:integer; Begin write('n= '); readln(n); a:= n div 1000; b:= n div 100; c:= n div 10; d:=n mod 10; writeln('сумма= ',a+b+c+d); readln end. 5. (*Задан массив размером K[1..10]. Сформировать два массива, включая в первый четные элементы исходного массива с нечетными индексами, а во второй нечетные элементы с четными индексами.*) PROGRAM PR26; const n=10; Var a,x,y:array[1..N] of integer; i,k,m:integer; Begin randomize; Writeln('Массив A:'); for I:=1 to n do begin a[i]:=random(51); write(a[i]:4); end; writeln; k:=0; m:=0; for i:=1 to n do if a[i] mod 2=0 then begin k:=k+1; x[k]:=a[i];end else begin m:=m+1;y[m]:=a[i];end; writeln('Массив X'); for i:=1 to k do write(x[i]:4); writeln; writeln ('Массив Y');for i:=1 to m do write(y[i]:4); end. 6. (*В массиве хранится информация о стоимости каждой из 60 книг. Определить порядковый номер самой дорогой книги.*) Program pr51; var i,max,s:integer; a:array[1..60] of integer; begin s:=0; for i:=1 to 60 do a[i]:=random(35)+1; max:=a[1]; for i:=1 to 60 do if max < a[i] then max:=a[i]; for i:=1 to 60 do if a[i] = max then inc(s); writeln(s,' books for price = ',max,' ru.'); end. 7. (*Заменить положительные элементы двумерного массива на 1, а отрицательные на 0.*) program pr1; Var a:array [1..100] of integer; n,i,p,o:byte; begin readln(n); for i:=1 to n do begin a[i]:=random(101)-50; write(a[i],' '); if a[i]>0 then a[i]:=1 else if a[i]<0 then a[i]:=0; end; writeln; for i:=1 to n do begin write(a[i],' '); if a[i]=0 then inc(o) else inc(p); end; writeln; write('Единиц: ',p,'; Нулей: ',o); end. 8. 2 вариант-1а (*Вводятся координаты точки. Определить попадает ли точка в заштрихованную область или нет. y=5*sin(x)*) Program pr1a; var x,y:real; Begin Write('введите x y '); readln (x,y); if (5*sin(x)>pi) and (5*sin(x)>pi) {проверка условия принадлежности} then writeln('точка попадает в заштрихованную область') else writeln('точка не попадает в заштрихованную область'); readln; end. 9. 2 вариант-1 номер. Введено четырехзначное число. Содержится ли в записи этого числа цифра 7? var a,i,k,p:integer; begin readln(a); for i:=1 to 4 do begin k:=a mod 10; a:=a div 10; if k=7 then p:=p+1; end; if p>0 then writeln('Да, содержит') else writeln('Семерок нет'); readln; end. 10. 2 вариант-25 задание Составить программу, которая по введенному порядковому номеру выводит название дня недели. Program one; Var x:integer; Begin ReadLn(x); Case x Of 1:WriteLn('понедельник'); 2:WriteLn('вториник'); 3:WriteLn('среда'); 4:WriteLn('четверг'); 5:WriteLn('пятница'); 6:WriteLn('суббота'); 7:Writeln('воскресенье'); else writeln ('некорректное условие'); end; End. 11. 2 вариант-23 задание var rainbow = new Dictionary { ['к'] = "красный", ['о'] = "оранжевый", ['ж'] = "желтый", ['з'] = "зеленый", ['г'] = "голубой", ['с'] = "синий", ['ф'] = "фиолетовый" }; Console.Write("введите букву: "); var firstLetter = Console.ReadKey().KeyChar; if(rainbow.ContainsKey(firstLetter)) Console.WriteLine(" - " + rainbow[firstLetter]); else Console.WriteLine("нет такого"); Console.ReadKey(true); 12. 3 вариант-9 задание Задана арифметическая прогрессия. 7,1; 5,3; … . Сколько членов прогрессии нужно сложить, чтобы полученная сумма стала <0. begin var (sum, i, count) := (7.1, 5.3, 1); while sum >= 0 do begin count += 1; sum += i; i -= 1.8; end; write(count); end. 13. 4 вариант-6 задание var a, b, c: real; procedure sq (a,b,c: real); var d, x1, x2: real; begin d := b * b - 4 * a * c; if d >= 0 then begin x1 := (-b + sqrt (d)) / (2 * a); x2 := (-b - sqrt (d)) / (2 * a); if x1 = x2 then writeln ('x1 = ', x1:6:2) else writeln ('x1 = ', x1:6:2, '; x2 = ', x2:6:2) end else writeln ('Корней нет!') end; begin write ('a = '); readln (a); write ('b = '); readln (b); write ('c = '); readln (c); writeln (a:6:2,'x*x + ',b:6:2,'x + ',c:6:2,' = 0'); sq (a, b, c); readln end. 14. 5 вариант-8 задание Вводятся 2 натуральных числа. Найти среднее арифметическое цифр каждого из них (создать функцию для нахождения среднего арифметического цифр произвольного натурального числа). function da(n: integer): real; var k: integer; s: real; begin //n := abs(n); k := 0; s := 0; repeat s := s + n mod 10; n := n div 10; inc(k) until n = 0; da := s / k end; var i, x: integer; begin for i := 1 to 2 do begin write('x', i, ' = '); readln(x); writeln('Average of digits: ', da(x):0:12) end; readln end. 15. 2 вариант-26 задание Составить программу, которая позволяет ввести номер месяца и вывести его название. var n:integer; begin cls; writeln ('Введите номер месяца'); readln (n); if (n=1) or (n=2) or (n=12) then writeln ('Зима') else if (n=3) or (n=4) or (n=5) then writeln ('Весна') else if (n=6) or (n=7) or (n=8) then writeln ('Лето') else writeln ('Осень'); end. 16. 2 вариант-29 задание program a1; Var s:string; t:char; begin writeln('Введите букву'); readln(t); if t='М'then s:='Москва'; if t='П'then s:='Париж'; if t='Л'then s:='Лондон'; if t='Р'then s:='Рим'; writeln(s); end. 0> |