Программа на паскале примеры сложные

Итак, день добрый, товарищи! Во первых хочу сразу предупредить что я не этот ваш математик, поэтому я буду называть данное математическое выражение уравнением. Удобнее мне так.

У нас поставлена задача: решить данное уравнение, и похоже это первая действительно интересная задача, после всяких там HelloWorld’ов. В этом руководстве я буду показывать написание программы последовательно, а так же в конце выложу ее целиком для того чтобы можно было сравнить ее с написанным вами кодом.

Если вдруг вы искали решения квадратных уравнений и дискриминантов — ссылка на статью будет внизу этой публикации!

Начнем же писать

Переменные, которые нам понадобятся

Для начала определимся с переменными. Данное выше уравнение можно отобразить таким образом:

X^2 + Y^2 / √X * Y

Соответственно первые две наших переменных это Х и У . Переменные chs и znm являются соответственно числителем и знаменателем данного примера, ну а переменная answ , как, думаю, понятно из названия это answer, ответ.

Информатика. Написание программы средней сложности. Pascal.

Тип данных для этих переменных мы выберем real , число с плавающей точкой. Потому что очень сомневаюсь что ответ мы получим в виде целого числа при делении одного рандомного числа на другое. Подробнее об основных типах данных я писал в предыдущей публикации, вот на всякий случай ссылка:

// — так делаются комментарии

После объявления переменных стартует программа (c begin конечно) и здесь мы видим нечто новое: зеленую надпись — комментарий . Комментарии необходимы для записей важной (или любой другой) информации для разработчика, и никак на работу программы не влияют. Видит их только тот кто читает или пишет код. В Pascal комментарии начинаются с двух слешей //.

В данном блоке кода мы предлагаем пользователю ввести две переменные с клавиатуры, а далее приступим к их решению.

Найдем числитель и знаменатель

Команда sqr() это всего — навсего возведение в квадрат, того же самого можно добиться так: x * x.

Команда sqrt() это почти то же самое, только квадратный корень, а команда round() — округление до указанного количества знаков после запятой. В данном случае я выбрал три.

А теперь еще раз: chs присваивается числитель дроби, тоесть x в степени 2 плюс y в степени 2

а переменной znm присваивается знаменатель: квадратный корень х на у, а чтобы не получилось огромного количества знаков после запятой, то все это обернуто округляющей функцией. Можно и без нее, попробуйте, но получится не так красиво.

Добрались до ответа

Вот и ответ. Снова используем функцию round() для отсечения всякого лишнего — ненужного и выводим получившиеся значения.

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

Не забываем end. в конце. Посмотрим на то что получилось на выходе:

Источник: dzen.ru

Паскаль с Нуля. Сложные условия. Урок 5

Программа на паскале примеры сложные

Внимание Скидка 50% на курсы! Спешите подать
заявку

Профессиональной переподготовки 30 курсов от 6900 руб.

Курсы для всех от 3000 руб. от 1500 руб.

Повышение квалификации 36 курсов от 1500 руб.

Лицензия №037267 от 17.03.2016 г.
выдана департаментом образования г. Москвы

Сборник задач с решениями на языке программирования Паскаль (10 класс)

задач с решениями

Подготовила: Алдошина Е.А.,

Компьютер в первую секунду печатает на экране 1, во вторую – число 12, в третью – число 23. То есть, в каждую следующую секунду – на 11 больше, чем в предыдущую. В какую секунду впервые появится число, делящееся на 2009?

while x mod 2009<>0 do

writeln (‘ Через ‘, k, ‘ секунд ‘);

Найдите количество четных цифр в десятичной записи числа n .

if y mod 2 =0 then k:=k+1;

Выясните, лежат ли на одной прямой точки А( x 1, y 1), B ( x 2, y 2), C ( x 3, y 3)

Точки лежат на одной прямой

x1, x2, x3, y1, y2, y3, z, n:real;

write (‘Введите координаты точки А ‘);

readln ( x 1, y 1);

write (‘Введите координаты точки В ‘);

Читайте также:
Как называется программа где маски на лицо

readln ( x 2, y 2);

write (‘Введите координаты точки C ‘);

if (z=n) and (z=(x2-x1)/(y2-y1)) then

writeln (‘Точки лежат на одной прямой’)

writeln (‘Точки не лежат на одной прямой’);

Сообщество роботов живет по следующим законам: один раз в год они объединяются в полностью укомплектованные группы по 3 или 5 роботов (причем число групп из 3 роботов — максимально возможное). За год группа из 3 роботов собирает 5, а группа из 5 — 9 новых собратьев. Каждый робот живет 3 года после сборки. Известно начальное количество роботов (К>7), все они только что собраны. Определить, сколько роботов будет через N лет.

var k, i, n, p:integer;

r:array [1..3] of longint;

write(‘ количество роботов k=’); readln(k);

write (‘количество лет n =’); readln ( n );

else if p=1 then begin x:=x-3; y:=2 end

else begin x:=x-1; y:=1 end;

writeln (‘Количество роботов — ’, s );

Суточный рацион коровы составляет a кг сена, b кг силоса и c кг комбикорма. В хозяйстве, содержащем стадо из k голов, осталось x центнеров сена, y тонн силоса и z мешков комбикорма по 50 кг. Сколько еще дней хозяйство сможет кормить коров по полному рациону.

if (x>=r) and (y>=r) and (z>=r) then

Предприниматель, начав дело, взял кредит размером k рублей под p процентов годовых и вложил его в свое дело. По прогнозам, его дело должно давать прибыль r рублей в год. Сможет ли он накопить сумму, достаточную для погашения кредита, и если да, то через сколько лет?

while (k>0) and (kol

if kol>=50 then writeln (‘no’) else writeln (kol);

Дано два целых положительных числа: a и b . Требуется написать программу, которая находит цифру, на которую оканчивается число a ^ b .

writeln (‘ Введите a’); readln (a);

writeln (‘ Введите b’); readln (b);

if b=1 then writeln (a)

Из одного порта в другой необходимо перевезти 15 различных грузов. Грузоподъемность судна, на котором будет проходить перевозка, 50 тонн. Грузы пронумерованы, и информация о массах грузов хранится в массиве М(15). Определить, сколько рейсов необходимо сделать судну, если грузы неделимы и могут перевозиться только подряд в порядке их нумерации. (Предполагается, что масса отдельного груза не превышает 50 тонн).

mas=array[1..15] of integer;

for i:=1 to 15 do

writeln (‘ Введите m’,'[‘,i,’]’);

writeln (‘ Потребовалось , k,’ рейсов ‘);

Коммерсант, имея стартовый капитал k рублей, занялся торговлей, которая ежемесячно увеличивает капитал на p % . Через сколько лет он накопит сумму s , достаточную для покупки собственного магазина?

writeln (‘Введите стартовый капитал’);

writeln (‘Введите % увеличения капитала’);

writeln (‘Введите сумму, необходимую для покупки магазина’);

writeln (‘Количество лет -‘, int ( n /12));

Число Цукермана – натуральное число, которое делится на произведение своих цифр, например: 175 делится на 1·7·5=35. Составить программу, которая выводит на экран все трехзначные числа Цукермана.

var i,a,b,c: integer;

for i := 111 to 999 do

b := (i div 10) mod 10;

if (b <> 0) and (c <> 0) and (i mod (a * b * c) = 0) then writeln (i);

На конференцию приехало N человек. Для их перевоза выделили автомобили вместимостью К и М человек (без водителя). К гостинице автомобили подаются в таком порядке: сначала вместимостью К человек, потом – М человек и так далее. В автомобиле можно перевозить не более максимально допустимого количества пассажиров. Определить, сколько необходимо автомобилей для перевозки всех делегатов конференции.

writeln (‘Введите количество участников’);

writeln (‘Введите вместимость первого автомобиля’);

writeln (‘Введите вместимость второго автомобиля’);

if x mod 2<>0 then N:=N-K else N:=N-M;

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

A: array [1..4] of integer;

writeln (‘В коробке’, n , ‘закончились спички’);

writeln (‘Израсходовано спичек’, m );

Сформировать квадратную матрицу следующего вида.

A: array [1..5, 1..5] of byte;

Дано число типа byte . Проверить, является ли палиндромом его двоичное представление с учетом того, что сохранены старшие нули. Пример таких чисел: 102 (т. к. 102 = 0110 0110 2 , а это палиндром), 129 (129 = 1000 0001 2 ) и т. д.

a := 8 * a + 4 * b + 2 * c + d;

Даны два натуральных числа. Найти их наименьшее общее кратное.

Примечание: наименьшим общим кратным двух чисел m и n называется наименьшее натуральное число, которое делится на m и n . Обозначение: НОК( m , n )

Читайте также:
Отзывы на авторскую программу

while m <> n do begin

if m > n then begin

writeln(prod div m)

Дана последовательность символов длины n ( n >= 1 ). Проверить баланс круглых скобок в этом выражении. Например, при вводе выражения (())() программа должна сообщить о правильности расстановки скобок, а при вводе выражения ((()) – о неправильности.

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

for i := 1 to n do begin

if c = ‘(‘ then inc(count);

if c = ‘)’ then dec(count);

if count = -1 then break

writeln ( count = 0)

Сколько существует упорядоченных пар натуральных чисел а и b , для которых известны их наибольший общий делитель d и их наименьшее общее кратное m ?

a, b, i, j, d, m:integer;

function nod(a, b:integer):integer;

if a=b then nod:=a

if a>b then nod:=nod(a-b, b) else nod:=nod(a, b-a)

writeln (‘ Введите НОД двух чисел d’);

writeln (‘ Введите НО K двух чисел m’);

for i:=1 to 100 do

for j:=1 to 100 do

if ((nod(a, b)=d) and ((a*b div nod(a, b))=m)) then writeln (i, j);

Правительство гарантирует, что инфляция в новом году составит р % в месяц. Какого роста цен за год можно ожидать? Составить программу решения задачи.

Сложные проценты вычисляются по формуле .

writeln (‘Введите процент месячной инфляции’);

Факультету выделен стипендиальный фонд в размере f рублей в месяц. Результаты сессии таковы: «отличников», «хорошистов», «троечников». Повышенная стипендия (для отличников) составляет рублей, обычная — рублей; задолжники стипендии лишаются. Составить программу, определяющую сколько студентов каждой категории могут получать стипендию и каков будет остаток фонда на материальную помощь малоимущим студентам?

writeln (‘ Введите размер фонда ’);

writeln (‘Введите количество отличников, хорошистов и троечников’);

readln ( n 1, n 2, n 3);

writeln (‘Введите размер стипендий’);

if f>s1*n1 then k1:=n1 else k1:=f div s1;

if f>s2*n2 then k2:=n2 else k2:=f div s2;

if f>s2*n3 then k3:=n3 else k3:=f div s2;

writeln (‘Количество отличников, получивших стипендию=’, k 1);

if k 2>0 then writeln (‘Количество хорошистов, получивших стипендию= ‘, k 2);

if k 3>0 then writeln (‘Количество троечников, получивших стипендию =’, k 3);

writeln (‘Фонд материальной помощи=’, f );

N коробок стоят по кругу. В i -ой коробке j змей. Каждую минуту змеи переползают в соседнюю коробку (из i -ой в i +1 -ую), а из N -ой – в первую. Составить программу, определяющую количество змей в каждой коробке через М минут.

writeln (‘Введите количество коробок n ’);

writeln (‘Введите количество минут m ’);

if m=0 then begin j:=0; m:=n end else j:=n-m;

У Вас имеется в наличии 2000 рублей. Вам необходимо купить в общей сложности 200 предметов по следующим ценам: фломастеры — 20 рублей за упаковку, тетради общие — 10 рублей за штуку, стержни — 1,5 рубля за штуку. Вы должны потратить все деньги.

x , y , z , kol : integer ;

for x:=1 to 200 do

for y:=1 to 200 do

for z:=1 to 200 do

if (sum=2000) and (kol=200) then writeln(‘ фломастеры -‘,x,’ тетради -‘, y, ‘ стержни -‘, z);

Имеется N точек, расположенных в произвольном порядке на плоскости. Найти две точки, расстояние между которыми наименьшее.

a:array[1..n] of integer;

b:array[1..n] of integer;

FOR i:= 1 TO n do

m:=SQRT(SQR(a[1] — a[2])+ SQR(b[1] — b[2]));

FOR i:= 1 TO n — 1 do

FOR j:= i + 1 TO n do

q:=SQRT(SQR(a[1] — a[2])+ SQR(b[1] — b[2]));

writeln(‘ Номера точек ’);

В книге N страниц. Составить программу подсчета количества десятичных цифр, требуемых для нумерации всех страниц книги. Нумерация проводится от 1 и далее.

writeln (‘Количество десятичных цифр=’ , s );

Король Флатландии решил вырубить некоторые деревья, растущие перед его дворцом. Деревья перед дворцом короля посажены в ряд, всего там растет N деревьев, расстояния между соседними деревьями одинаковы.

После вырубки перед дворцом должно остаться M деревьев, и расстояния между соседними деревьями должны быть одинаковыми. Помогите королю выяснить, сколько существует способов вырубки деревьев.

Требуется написать программу, которая по заданным числам N и M определит, сколько существует способов вырубки некоторых из N деревьев так, чтобы после вырубки осталось M деревьев и соседние деревья находились на равном расстоянии друг от друга.

write ln (‘Количество способов вырубки деревьев=’, s);

Из элементов массива А(2 n ) получить массивы В( n ) и C ( n ) следующим образом. Выбрать в массиве А два наиболее близких по значению элемента; меньший из них поместить в массив В, а больший – в массив С. Продолжить выбор из оставшихся элементов до полного заполнения массивов В и С.

Читайте также:
Лучшие программы для записи музыки на диск

8 0 10 4 1 99 3 15 2 11

  1. 0 2 4 10 15

Задача 26
Дан прямоугольник, длины сторон которого равны натуральным числам А и В . Составить программу, которая будет находить на сколько квадратов можно разрезать данный прямоугольник, если от него каждый раз отрезать квадрат наибольшей площади.
Пример
Входные данные

Результат 7 5 5 * 5 — 1 2 * 2 — 2 1 * 1 — 2 5

Программа
program z2 6 ; var a,b,k,c:real; begin readln(a); readln(b); k:=0; while (a<>0)and (b<>0) do begin IF a begin c:=int(b/a); writeln(a, ‘ * ‘, a, ‘ — ‘, c); b:=b-c*a end ELSE begin c:=INT(a/b); writeln(b, ‘ * ‘, b, ‘ — ‘, c); a:=a-c*b; end; k:=k+c; end ; writeln (‘Количество квадратов-‘, k ); end .

Папа Карло, играя на шарманке, ежедневно зарабатывает у туристов 5 золотых (монет). Весь заработок уходит на обед папы Карло и его друзей в харчевне «Три пескаря», где плату принимают только деревянными (монетами). В меняльных лавках папу Карло не обслуживают. Банкир Карабас-Барабас для друзей папы Карло установил индивидуальные правила обмена золотых на деревянные в разных лавках (смотри таблицу). Каждый из друзей может обменять только один золотой и в каждой лавке могут обслужить только одного из друзей.

Таблица обмена одного золотого на деревянные

№ лавки

Буратино Мальвина Пьеро Арлекино Артемон 1 12 13 10 7 8 2 10 11 9 7 9 3 11 10 9 8 4 4 10 11 8 10 5 5 7 12 10 9 7

Составить программу нахождения оптимального плана обмена 5 золотых на деревянные в виде: Буратино, N лавки; Мальвина, N лавки; Пьеро, N лавки; Арлекино, N лавки; Артемон, N лавки; количество полученных деревянных. В программе рассматривается =120 возможных вариантов обмена золотых монет на деревянные и выбирается оптимальный вариант обмена.

Программа
program z 27 ; var Q:array[1..5,1..5]of integer; F:array[1..5] of integer; P:array[1..5] of string; a,b,c,d,e,N,i,S:integer; Begin N:=0; Q[1, 1]:=12; Q[1, 2]:=13; Q[1, 3]:=10; Q[1, 4]:=7; Q[1, 5]:=8; Q[2, 1]:=10; Q[2, 2]:=11; Q[2, 3]:=9; Q[2, 4]:=7; Q[2, 5]:=9; Q[3, 1]:=11; Q[3, 2]:=10; Q[3, 3]:=9; Q[3, 4]:=8; Q[3, 5]:=4; Q[4, 1]:=10; Q[4, 2]:=11; Q[4, 3]:=8; Q[4, 4]:=10; Q[4, 5]:=5; Q[5, 1]:=7; Q[5, 2]:=12; Q[5, 3]:=10; Q[5, 4]:=9; Q[5, 5]:=7; P[1]:=’ Буратино ‘; P[2]:=’ Мальвина ‘; P[3]:=’ Пьеро ‘; P[4]:=’ Арлекино ‘; P[5]:=’ Артемон ‘; FOR a:=1 TO 5 do FOR b:=1 TO 5 do FOR c:=1 TO 5 do FOR d:=1 TO 5 do FOR e:=1 TO 5 do if (a<>b) AND (a<>c) AND (a<>d) AND (a<>e) AND (b<>c) AND (b<>d)AND (b<>e) AND (c<>d) AND (c<>e) AND (d<>e) then begin S:=Q[a, 1]+Q[b, 2]+Q[c, 3]+Q[d, 4]+Q[e, 5]; IF S>N THEN begin F[1]:=A; F[2]:=B; F[3]:=C; F[4]:=D; F[5]:=E; N:=S; end; end; FOR i:=1 TO 5 do writeln (P[i], ‘ номер лавки — ‘, F[i], ‘ количество денег -‘, Q[F[i], i]); writeln (N); end.

Источник: doc4web.ru

Примеры на Pascal (часть 2)

Июнь 14th, 2013 admin

Пример 1

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

Var Parol: String; Popitki: Integer;

WriteLn (Введите пароль: ’);

Popitki := Popitki + 1;

(Parol = ‘abc’) or (Popitki = 3);

If Parol = ‘abc’ then WriteLn (Добро пожаловать’);

Пример 2

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

Var p, i, n : Integer;

WriteLn (‘Введите число ’);

For i:=1 to n do p:=p*i;

WriteLn (‘Произведение равно’, p);

Пример 3

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

Var Gruzopod, Ves_gruza, Ost_mesta : Real;

WriteLn (‘Введите грузоподъемность груза: ’);

WriteLn (‘Введите вес груза: ’);

If Ves_gruza > Gruzopod then WriteLn (‘Груз слишком велик’)

Ost_mesta := Gruzopod — Ves_gruza;

WriteLn (‘Осталось места: ’, Ost_mesta:0:3,’ кг’);

. пример рисунка в паскале if then else pascal примеры программа на Паскале рисунка зонта

. if then else pascal примеры пример рисунка в паскале программа на Паскале рисунка зонта

Опубликовано в рубрике Pascal

Источник: delphi-box.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru