638892
столько раз учителя, ученики и родители
посетили сайт «Инфоурок»
за прошедшие 24 часа
+Добавить материал
и получить бесплатное
свидетельство о публикации
в СМИ №ФС77-60625 от 20.01.2015
Дистанционные курсы профессиональной переподготовки и повышения квалификации для педагогов

Дистанционные курсы для педагогов - курсы профессиональной переподготовки от 5.520 руб.;
- курсы повышения квалификации от 1.200 руб.
Престижные документы для аттестации

ВЫБРАТЬ КУРС СО СКИДКОЙ ДО 70%

ВНИМАНИЕ: Скидка действует ТОЛЬКО сейчас!

(Лицензия на осуществление образовательной деятельности № 5201 выдана ООО "Инфоурок")

ИнфоурокИнформатикаКонспектыТексты - решения программ на Паскале по учебнику 10 класс

Тексты - решения программ на Паскале по учебнику 10 класс

библиотека
материалов
Скачать материал целиком можно бесплатно по ссылке внизу страницы.

Задачи №4-11 из учебника 10 класса.

4. Дано натуральное трехзначное число n, в записи которого нет нулей. По предложенной записи алгоритма (псевдокод и в виде блок-схемы), определите результаты работы алгоритма.

В приведенной записи DIV и MOD соответственно операции деления нацело и получения остатка от целочисленного деления. В фигурных скобках записаны пояснения (комментарии) к операторам.

hello_html_3cb88829.png


Read(n) {Ввод N}

A := n mod 10 {разряд единиц}

B := n div 100 {разряд сотен}

C := n div 10 mod 10 {десятки}

L := (n mod A=0) and (n mod B=0) and (n mod C=0)

Write ( L) {Вывод L}


Переведите алгоритм на язык программирования и получите работающую программу.


program ch4_4;


var

n,a,b,c: word;{беззнаковое целое}

l : boolean;

begin

write('Натуральное трехзначное число ==>');

readln(n);

a := n mod 10;

b := n div 100;

c := (n div 100) mod 10;

l := ( (n mod a) = 0) and ( (n mod b)=0) and ((n mod c)=0);

writeln(l);

end.



5. По предложенным записям алгоритма напишите программу вычисления значения функции

hello_html_m4689ea28.png

hello_html_6bb0cbf9.png

Read (x)

If (x–12)

Y:=–x2

else

if (x<0)

Y:=x4

else

Y:= x–2

Write (Y)


Протестируйте полученную программу, используя не менее трех тестовых наборов, чтобы можно было проверить все переходы.


program ch4_5;


var

x,y: double;{вещ с двойной точностью}

begin

write('Значение аргумента ==>');

readln(x);

if x <= -12 then

y := -x*x

else

if x <0 then

y := x*x*x*x

else

y := x-2;

writeln(y);

end.




6. Даны записи двух алгоритмов подсчета количества нечетных цифр в натуральном числе n. Слева решение оформлено с использованием цикла с предусловием, справа – с постусловием.

Выберите любой способ и переведите его на язык программирования. Протестируйте полученную программу.

Алгоритмы реализуют следующую идею. Из числа выбирается цифра младшего разряда, проверяется на нечетность и затем отбрасывается. Нечётные цифры учитываются. Этот процесс повторяется до тех пор, пока число не исчерпается, т.е. не станет равным нулю.

да

hello_html_25cbf2c1.png

Read(n)

K := 0

While ( n <> 0)

if (n mod 10 mod 2 = 1)

K := K + 1

n := n div 10

Write (K)

Read ( n)

K = 0

Do

if (n mod 10 mod 2 = 1)

K = K + 1

n := n div 10

While (n <> 0 )

Write (K)



program ch4_6_1;


var

n: word;

k: byte;{беззнаковое короткое целое}

begin

write('Число N ==>');

readln(n);

k := 0;

while n <> 0 do

begin

if (n mod 10) mod 2 = 1 then

k := k+1;

n := n div 10;

end;

writeln(k);

end.


program ch4_6_2;


var

n: word;

k: byte;

begin

write('Число N ==>');

readln(n);

k := 0;

repeat

if (n mod 10) mod 2 = 1 then

k := k+1;

n := n div 10;

until n =0;

writeln(k);

end.







7. Используя предлагаемые записи алгоритма, напишите программу нахождения произведения первых k натуральных чисел, кратных трём.

hello_html_m10c0d4e9.gif

Read(k)

P = 1 {здесь накапливаем произведение}

For I := 1 to k/3

P = P * I * 3

Write(P)



program ch4_7;


var

k,i: word;

p: longword;

begin

write('Число K ==>');

readln(k);

p := 1;

for i:=1 to k do

p := p*i*3;

writeln(p);

end.




8. Напишите программу решения следующей задачи.


Лотерейный номер состоит из трех чисел, каждое из которых может быть от 0 до 99 включительно. Определите шанс угадать выигрышный лотерейный номер.

hello_html_39cd95fd.gifИдея решения. Надо вычислить количество перестановок для заданного числа объектов (3), которые выбираются из общего числа объектов (100). Перестановка – это любое множество объектов, в котором внутренний порядок имеет значение. Формула определения числа перестановок имеет следующий вид:



Следовательно, надо написать функцию, вычисляющую факториал некоторого числа M (M!=1*2*3*4*…*M) и вычислить количество перестановок.



program ch4_8;


function a_n_k( n,k : word):longword;

var

i,p : longword;

begin

p := 1;

for i := n downto n-k+1 do

p := p *i;

a_n_k := p;

end;


begin

writeln ('Количество сочетаний из 100 по 3: ', a_n_k(100,3));

end.



9. Напишите программу заполнения массива X(N) положительными и отрицательными элементами. Из него требуется сформировать новый массив только из положительных элементов. Найти из них наибольший элемент. Распечатать новый массив и наибольший элемент.


program ch4_9;


var

x,y : array[0..100] of integer;

i,count : word;

max : integer;

begin

for i:=0 to 100 do

x[i] := random(200)-100;

count := 0;

max := -1;

for i:=0 to 100 do

if x[i] > 0 then

begin

y[count] := x[i];

if y[count] > max then

max := y[count];

inc(count);

end;

writeln ('Результат:');

for i:=0 to count-1 do

write(y[i],' ');

writeln;

writeln ('Максимальный элемент:', max);

end.




10. Напишите программу, в которой предлагается список учащихся разных классов, посещающих футбольную секцию. Требуется упорядочить список по возрастанию классов. Распечатать список фамилий и классов.

program ch4_10;


type

schooler = record

fio : string;

age : word;

end;


var

schoolers : array[1..100] of schooler;

i,lim : word;

swap : boolean;

buf : schooler;

begin

for i:=1 to 10 do

begin

writeln('Ученик №',i);

write('ФИО ==>');

readln(schoolers[i].fio);

write('Класс ==>');

readln(schoolers[i].age);

end;

lim := 9;

repeat

swap := false;

for i:=1 to lim do

if schoolers[i].age > schoolers[i+1].age then

begin

swap := true;

buf := schoolers[i];

schoolers[i] := schoolers[i+1];

schoolers[i+1] := buf;

end;

lim := lim-1;

until not swap;


writeln ('По возрастанию классов:');

for i:=0 to 10 do

write(schoolers[i].fio,', ',schoolers[i].age,' класс.');

end.



11. Напишите программу нахождения минимального элемента первой строки массива К(n, n), заполненного случайными числами.


program ch4_11;


const

N = 100;


var

k: array[1..N,1..N] of integer;

i,j,min: byte;

begin

for i:=1 to N do

for j:=1 to N do

k[i,j] := random(10000)-10000;

min := 1;

for i:=2 to N do

if k[1,i] < k[1,min] then

min := i;

writeln ('Минимальный элемент первой строки: K[1,',min,']=',k[1,min]);

end.


Общая информация

Номер материала: ДВ-456839

Вам будут интересны эти курсы:

Курс повышения квалификации «Табличный процессор MS Excel в профессиональной деятельности учителя математики»
Курс повышения квалификации «Информационные технологии в деятельности учителя физики»
Курс профессиональной переподготовки «Информатика: теория и методика преподавания в образовательной организации»
Курс «Фирменный стиль» (Corel Draw, Photoshop)
Курс «1С: Предприятие 7.7»
Курс «3D Studio MAX»
Курс повышения квалификации «Сетевые и дистанционные (электронные) формы обучения в условиях реализации ФГОС по ТОП-50»
Курс повышения квалификации «Развитие информационно-коммуникационных компетенций учителя в процессе внедрения ФГОС: работа в Московской электронной школе»
Курс повышения квалификации «Специфика преподавания информатики в начальных классах с учетом ФГОС НОО»
Курс повышения квалификации «Применение MS Word, Excel в финансовых расчетах»
Курс повышения квалификации «Введение в программирование на языке С (СИ)»
Курс профессиональной переподготовки «Теория и методика обучения информатике в начальной школе»
Курс повышения квалификации «Современные тенденции цифровизации образования»
Курс повышения квалификации «Специфика преподавания дисциплины «Информационные технологии» в условиях реализации ФГОС СПО по ТОП-50»
Курс повышение квалификации «Применение интерактивных образовательных платформ на примере платформы Moodle»

Благодарность за вклад в развитие крупнейшей онлайн-библиотеки методических разработок для учителей

Опубликуйте минимум 3 материала, чтобы БЕСПЛАТНО получить и скачать данную благодарность

Сертификат о создании сайта

Добавьте минимум пять материалов, чтобы получить сертификат о создании сайта

Грамота за использование ИКТ в работе педагога

Опубликуйте минимум 10 материалов, чтобы БЕСПЛАТНО получить и скачать данную грамоту

Свидетельство о представлении обобщённого педагогического опыта на Всероссийском уровне

Опубликуйте минимум 15 материалов, чтобы БЕСПЛАТНО получить и скачать данное cвидетельство

Грамота за высокий профессионализм, проявленный в процессе создания и развития собственного учительского сайта в рамках проекта "Инфоурок"

Опубликуйте минимум 20 материалов, чтобы БЕСПЛАТНО получить и скачать данную грамоту

Грамота за активное участие в работе над повышением качества образования совместно с проектом "Инфоурок"

Опубликуйте минимум 25 материалов, чтобы БЕСПЛАТНО получить и скачать данную грамоту

Почётная грамота за научно-просветительскую и образовательную деятельность в рамках проекта "Инфоурок"

Опубликуйте минимум 40 материалов, чтобы БЕСПЛАТНО получить и скачать данную почётную грамоту

Включите уведомления прямо сейчас и мы сразу сообщим Вам о важных новостях. Не волнуйтесь, мы будем отправлять только самое главное.