П'ятниця, 19.04.2024, 01.20.58

Форум

Головна | RSS
[ Нові повідомлення · Участники · Правила форуму · Пошук · RSS ]
Модератор форуму: berezdiv, lordi, Натусік, Котик  
Форум » Учнівський форум » Теми форуму » Розв'язування задач з програмування (Запитання-відповіді учнів)
Розв'язування задач з програмування
SirogkaДата: Субота, 25.10.2014, 16.53.54 | Повідомлення # 76
Суддя
Група: Друзі
Повідомлень: 135
Статус: Оффлайн
Саша, почнемо з розминочної задачі. Розв'язок можеш виставляти тут або відсилати мені на пошту wlsergij@ukr.net
ЗАДАЧА № 1

Ще кілька років тому Інтернет не був безлімітним.Найпоширенішим був такий тарифний план, коли щомісячна абонентна плата складала
N гривень і в цю абонентну плату було включено М мегабайт трафіка, невитрачені
мегабайти наприкінці місяця анулювалися, кожен позалімітний мегабайт коштував Х
гривень.Відомо, що абонент за місяць скачав К мегабайт інформації. Напишіть програму, яка за даними N, M, X та K визначає суму, необхідну для оплати за доступ до Інтернет.
Введення. Вводяться натуральні числа N, M, X та K. Усі числа знаходяться в діапазоні від 1 до 1000.
Виведення. Виводитьсяодне число – сума, необхідна для оплати за доступ до Інтернет.
Приклади: Введення:  100 100 1 23

Виведення: 100
Введення:  100 100 1 123
Виведення: 123
Введення:  100 100 2 1000
Виведення: 1900



Что у трезвого на уме, то у учителя информатики – на языке Паскаль.

Повідомлення відредагував Sirogka - Субота, 25.10.2014, 16.59.30
 
oleksandrДата: Субота, 25.10.2014, 23.42.10 | Повідомлення # 77
Полковник
Група: Друзі
Повідомлень: 21
Статус: Оффлайн
Задача зроблена. Всі тести пройшла. wink

var n,m,x,k:integer;
y,u:real;
begin
read(n,m,x,k);
u:=k-m;
if k>m then write(x*u+n:0:0) else write(n);
end.


Повідомлення відредагував oleksandr - Неділя, 26.10.2014, 11.26.32
 
SirogkaДата: Неділя, 26.10.2014, 13.00.31 | Повідомлення # 78
Суддя
Група: Друзі
Повідомлень: 135
Статус: Оффлайн
Добре. Напиши адресу своєї електронки, я тести до задачі 1 і 2 тобі скину для перевірки.
ЗАДАЧА №2

У багатьох змаганнях виступ спортсменів оцінюється певною
кількістю суддів. Кожен суддя виставляє оцінку в діапазоні від 1 до 10 балів.
Далі одна найвища та одна найнижча оцінки відкидаються і підраховується сума
оцінок, які залишилися.
Напишіть програму, яка визначає кількість балів,
отриманих спортсменом від суддів.
Введення. Спочатку вводиться натуральне число N – кількість суддів(3≤N≤20). Після чого вводяться N чисел – оцінки, які отримав спортсмен.
Виведення. Виведітьодне число – суму балів, які увійшли у залік спортсмену.
Приклади: Введення:  3
4 8 3

Виведення: 4
Введення:  5
9 8 1 2 9
Виведення: 19
Введення:  10
1 2 3 4 5 5 4 3 2 1 
Виведення: 24


Что у трезвого на уме, то у учителя информатики – на языке Паскаль.
 
oleksandrДата: Понеділок, 27.10.2014, 23.45.57 | Повідомлення # 79
Полковник
Група: Друзі
Повідомлень: 21
Статус: Оффлайн
Email: d2duzu@i.ua

А як розв'язувати задачу №2?? Через масиви?


Повідомлення відредагував oleksandr - Понеділок, 27.10.2014, 23.46.27
 
SirogkaДата: П'ятниця, 12.12.2014, 16.48.13 | Повідомлення # 80
Суддя
Група: Друзі
Повідомлень: 135
Статус: Оффлайн
Саша, задачу надіслав на пошту. Розв'язок надсилай на мою пошту або виставляй тут! Вчорашні також надсилай, буду коригувати.

Что у трезвого на уме, то у учителя информатики – на языке Паскаль.
 
oleksandrДата: П'ятниця, 12.12.2014, 19.14.17 | Повідомлення # 81
Полковник
Група: Друзі
Повідомлень: 21
Статус: Оффлайн

Задача №1. Монети


var i,k,k1,n:longint;
a:array[1..100] of longint;
begin
assign(input,'n.in');reset(input);
assign(output,'n.out');rewrite(output);
readln(n);
k:=0;
k1:=0;
for i:=1 to n do begin readln (a);
if a = 0 then inc(k);
if a = 1 then inc(k1);
end;
if k<k1 then write(k) else write(k1);
close(input);
close(output);
end.


Повідомлення відредагував oleksandr - П'ятниця, 12.12.2014, 19.24.30
 
SirogkaДата: П'ятниця, 12.12.2014, 19.23.28 | Повідомлення # 82
Суддя
Група: Друзі
Повідомлень: 135
Статус: Оффлайн
А в тебе вона компілюється? Моя корекція:

var i,k,k1,n:longint;
a:array[1..100] of longint;
begin
assign(input,'n.in');reset(input);
assign(output,'n.out');rewrite(output);
readln(n);
k:=0;
k1:=0;
for i:=1 to n do
begin
readln (a);
if a = 0 then inc(k);
if a
= 1 then inc(k1);
end;
if k<k1 then write(k) else write(k1);
close(input);
close(output);
end.

Напиши, чи зрозумів?


Что у трезвого на уме, то у учителя информатики – на языке Паскаль.

Повідомлення відредагував Sirogka - П'ятниця, 12.12.2014, 19.30.27
 
oleksandrДата: П'ятниця, 12.12.2014, 19.27.08 | Повідомлення # 83
Полковник
Група: Друзі
Повідомлень: 21
Статус: Оффлайн
Щось я не зрозумів. А яка різниця між програмами?
 
SirogkaДата: П'ятниця, 12.12.2014, 19.32.30 | Повідомлення # 84
Суддя
Група: Друзі
Повідомлень: 135
Статус: Оффлайн
Саша, у цих стрічках

readln (a); 
if a = 0 then inc(k); 
if a
 = 1 then inc(k1); 

потрібно замість а написати а іте, а так все нормально.


Что у трезвого на уме, то у учителя информатики – на языке Паскаль.
 
oleksandrДата: П'ятниця, 12.12.2014, 19.36.49 | Повідомлення # 85
Полковник
Група: Друзі
Повідомлень: 21
Статус: Оффлайн
В мене все є a{i}. Просто на сайті якась помилка.

Додано (12.12.2014, 19.36.49)
---------------------------------------------
Підкажіть як розв'язувати задачу№2"Математика".
Я просто не можу зрозуміти, як забрати п'ятірку з кінця. Можливо, через string???

 
SirogkaДата: П'ятниця, 12.12.2014, 19.41.35 | Повідомлення # 86
Суддя
Група: Друзі
Повідомлень: 135
Статус: Оффлайн
Дійсно і в мене така сама ситуація, тоді давай наступну задачу. Ця пройшла відмінно!

Додано (12.12.2014, 19.41.35)
---------------------------------------------
Саша, пробуй без стрінга, тільки через real. Подумай, тут простий розв'язок.


Что у трезвого на уме, то у учителя информатики – на языке Паскаль.
 
oleksandrДата: П'ятниця, 12.12.2014, 19.46.38 | Повідомлення # 87
Полковник
Група: Друзі
Повідомлень: 21
Статус: Оффлайн

Добре. Зараз спробую.
 
SirogkaДата: П'ятниця, 12.12.2014, 19.49.07 | Повідомлення # 88
Суддя
Група: Друзі
Повідомлень: 135
Статус: Оффлайн
Якщо використовувати тип інтеджер, то треба використати div, що відкинути останню цифру. А якщо тип real. то використовуй операцію trunc.

Что у трезвого на уме, то у учителя информатики – на языке Паскаль.
 
oleksandrДата: П'ятниця, 12.12.2014, 20.06.37 | Повідомлення # 89
Полковник
Група: Друзі
Повідомлень: 21
Статус: Оффлайн


Задача №2


assign(input,'NUM.DAT');reset(input); 
assign(output,'NUM.SOL');rewrite(output);
ar b,a:real;


k,c:longint;
begin
read(a);
b:= a/10;
k:=trunc(b);

c:=k*(k+1);

write(c,25);
close(input); 
close(output); 
end.
 
SirogkaДата: П'ятниця, 12.12.2014, 20.17.48 | Повідомлення # 90
Суддя
Група: Друзі
Повідомлень: 135
Статус: Оффлайн
Саша, ти краще відправ розв'зок мені на пошту, а то на форумі є деякі непорозуміння, добре.

Что у трезвого на уме, то у учителя информатики – на языке Паскаль.
 
Форум » Учнівський форум » Теми форуму » Розв'язування задач з програмування (Запитання-відповіді учнів)
Пошук:

Статистика
Custom Search
Copyright by Birchen Miracle project © 2006-2015