Em hãy thiết lập chương trình và tính thời gian chạy thực tế trên máy tính của các chương trình 1 và 2 ở Hình 24.2 với các giá trị n khác nhau từ đó thấy được ý nghĩa sự khác biệt độ phức tạp thời gian của hai chương trình này.
Quan sát và thực hiện đánh giá thời gian chạy của các chương trình 1 và 2 trong Hình 24.2. Từ đó biết và hiểu được cách đánh giá thời gian thực hiện chương trình.
Chương trình 1: Thời gian thực hiện chương trình là T1 = T1(n) = \(2+n+1=n+3\) (đơn vị thời gian)
Chương trình 2: Thời gian thực hiện chương trình là T2 = T2(n) = \(2+n^2+1=n^2+3\) (đơn vị thời gian)
Xét dự án nhỏ về lập trình để thực nghiệm so sánh thời gian thực tế chạy chương trình máy tính thực hiện một số thuật toán sắp xếp mà em đã biết theo cách bấm giờ chạy máy với các dãy số đầu vào ngẫu nhiên rồi lấy giá trị trung bình. Em hãy áp dụng phương pháp lập trình mô đun hoá:
a) Đưa ra thiết kế các hàm sẽ được sử dụng trong chương trình.
b) Viết các câu lệnh trong chương trình chính (không cần viết các hàm).
1. Sắp xếp chèn (Insertion Sort)
Ý tưởng: Insertion Sort lấy ý tưởng từ việc chơi bài, dựa theo cách người chơi "chèn" thêm một quân bài mới vào bộ bài đã được sắp xếp trên tay.
2. Sắp xếp lựa chọn (Selection Sort)
Ý tưởng của Selection sort là tìm từng phần tử cho mỗi vị trí của mảng hoán vị A' cần tìm.
3. Sắp xếp nổi bọt (Bubble Sort)
Ý tưởng: Bubble Sort, như cái tên của nó, là thuật toán đẩy phần tử lớn nhất xuống cuối dãy, đồng thời những phần tử có giá trị nhỏ hơn sẽ dịch chuyển dần về đầu dãy. Tựa như sự nổi bọt vậy, những phần tử nhẹ hơn sẽ nổi lên trên và ngược lại, những phần tử lớn hơn sẽ chìm xuống dưới.
Biết cách phân tích, đánh giá độ phức tạp thuật toán là kĩ năng quan trọng của người thiết kế thuật toán và chương trình. Các quy tắc đơn giản tính độ phức tạp thời gian mang lại cho em điều gì khi đánh giá thuật toán?
Đánh giá được mức đơn giản của thuật toán, từ đó tìm ra được cách giải nhanh nhất.
Quan sát và ước lượng thời gian thực hiện các đoạn chương trình 1 và 2 trong Hình 24.2. Chương trình nào chạy nhanh hơn? Vì sao?
Chương trình 1 chạy nhanh hơn, vì chương trình 1 có 1 vòng lặp, chương trình 2 có 2 vòng lặp.
Trong tin học, độ hiệu quả của một thuật toán tỉ lệ thuận với thời gian thực thi chương trình tương ứng và được tính theo công thức \(E\left(n\right)=\frac{n}{P\left(n\right)}\)với \(n\)là số lượng dữ liệu đưa vào và \(P\left(n\right)\)là độ phức tạp của một thuật toán ứng với giá trị \(n\).Biết rằng một thuật toán có độ phức tạp là \(P\left(n\right)=log_2n\)và khi \(n=300\)thì để chạy nó, máy tính mất 0.02s.Hỏi khi \(n=90000\)thì mất bao lâu để thực thi chương trình tương ứng?
tính E(300)=300/log2(300), E(90000)=90000/log2(90000)
Vì độ hiệu quả tỉ lệ thuận với thời gian thực hiện
nên ta có tỉ số 0,02/E(300)=x/E(90000) (x là giá trị cần tìm).
Từ đó tính được x=3
Tính tổng S biết S(n) = 1^2 + 2^2 +3^2 +4^2+… + k^2 sao cho tất cả các giá trị từ 1^2 đến k^2 phải nhỏ hơn hoặc bằng n
1. viết chương trình cho người dùng nhập n . In ra tổng của S
2.trình bày ra giấy tính độ phức tạp của chương trình vừa thực hiện
Mn làm giúp mình với ạ . Càng sớm càng tốt :((
1:
#include <bits/stdc++.h>
using namespace std;
long long n,i,s;
int main()
{
cin>>n;
s=0;
for (i=1; i<=n; i++)
s=s+i*i;
cout<<s;
return 0;
}
Hãy tìm hiểu chương trình ở Hình 1 và cho biết nếu gia đình em đi xem phim thì phải trả bao nhiêu tiền để mua vé?
Bảng 1 là giá xem phim trong thời gian khuyến mãi. Nếu đi xem phim vào các này trong tuần thì chương trình ở Hình 1 có tính đúng số tiền mua vé gia đình em phải trả không? Tại sao?
Tham khảo!
Theo chương trình ở Hình 1, nếu gia đình em đi xem phim thì phải trả 60000x4 = 240000 VNĐ (với gia đình 4 người).
Nếu đi xem phim trong tuần thì phải trả 40000x4 = 160000 VNĐ
→ Chương trình ở Hình 1 không tính đúng.
ai có thể giải những bài này cho mình được không?ai biết câu nào thì giải ra cho mình cũng được nha
1:hãy cho biết chương trình bảng tính là gì?
2:hãy cho biết các dữ liệu trên chương trình có khả năng sử tính?
3:hãy trình bày một số khả năng của chương trình bảng tính
4:trình bày các thành phần chính trên màn hình làm việc của bảng tính
5:hãy nêu các bước nhập dữ liệu vào ô tính
6:trình bày các bước xửa dữ liệu trong ô tính
7:để di chuyển trên trang tính em làm như thế nào
8:để gõ chữ tiếng việt thì ta làm như thế nào
9:một bảng tính thường có mấy trang tính và các trang tính đó được phân biệt vs nhau bằng gì?
10:trình bày các thành phần chín trên trang tính
11:trình bày cách chọn các trang tính
12:trình bàng các phép toán và dữ liệu trên chương trình bảng tính
13:hãy trình bàng các bước nhập công thức vào ô tính
14:hãy trình bày sự khác nhau giữa việc sử dụng công thức chứa địa chỉ ô tính và khối
15:hãy nêu khái niệm về hàm trong chương trình bảng tính
16:cách sử dụng hàm em làm thế nào hãy viết các cú pháp hám trung bình cộng xác định lớn và xác định nhỏ
17:để điều chỉnh độ rộng cột và độ coa của hàm em làm như thế nào?
18:trình bày các bước thực hiện xóa cột hoặc hàng
19:để sao chép nội dung ô tính em làm như thế nào
20:khi sao chép các ô có nội dung la công thức chứa địa chỉ khi các địa chỉ trong công thức được điều chỉnh như thế nào?
1.Chương trình bảng tính là phần mềm đuọc thiết kế để giúp ghi lại và trình bày thông tin dưới dạng bảng,thực hiẹn các tính cũng như xây dựng các biểu đồ biểu diển 1 cách trực quan các số liệu có trong bảng!
10.Các thành phần chính:ô,hàng,cột,khối,...
19.Để sao chép nội dung ô tính,ta thực hiện theo 4 bước:
1:Chọn ô cần sao chép đi
2:nhấn nút copy trên thanh công cụ
3:Chọn ô cần sao chép tới
4:nhấn nút paste trên thanh công cụ
SORRY,MÌNH CHỈ BIẾT BAO NHIÊU ĐÓ,XIN LỖI BẠN NHA!!!
1.Chương trình bảng tính là phần mềm được thiết kế để ghi lại và trình bày thông tin dưới dạng bảng, thực hiện các tính toán cũng như xây dựng các biểu đồ biễu diễn một trực quan các số liệu có trong bảng.
3.
-Trình bày dữ liệu dưới dạng bảng.
+Xử lí nhiều loại dữ liệu khác nhau, trong đó có dữ liệu dạng số và dữ liệu dạng văn bản.
+Khả năng tính toán nhanh và sử dụng hàm có sẵn.
+Sắp xếp và lọc dữ liệu.
+Tạo biểu đồ.
4.
-Ngoài các bảng chọn, thanh công cụ và nút lệnh giống chương trình soạn thảo văn bản Word, giao diện này còn có thêm : +Thanh công thức: dùng để nhập công thức và hiện thị dữ liệu.
+Bảng chọn Data: gồm các lệnh để xử lí dữ liệu.
+Trang tính: gồm các cột và hàng, giao giữa hàng và cột là một ô.
5.
*Các bước để nhập dữ liệu.
-B1: Chọn ô cần nhập.
-B2:Nhập dữ liệu.
-B3: Nhấn phím Enter.
6.-Sử dụng chuột.
-Các dấu mũi tên trên bàn phím.
9.Một bảng tính có nhiều trang tính. Các trang tính được phân biệt với nhau nhờ tên của trang tính.
10.-Hộp tên: là nơi hiển thị địa chỉ của ô.
-Khối: là một nhóm các ô liền kề nhau tạo thành.
-Thanh công thức: là nơi cho ta biết nội dung hoặc công thức của ô đó.
11.-Trang tính được kích hoạt là trang tính đang được hiển thị trên màn hình, để kích thoạt trang tính nào thì ta nháy chuột vào trang tính đó.
13.*Các bước để nhập công thức.
-B1: Chọn ô cần nhập.
-B2: Gõ dấu bằng.
-B3: Nhập công thức.
-B4: Nhấn phím Enter.
câu 1 em hãy sử dụng công thức hê-rông lập chương trình tính và hiển thị ra màn hình máy tính diện tích hình tam giác với chiều dài 3 canh a,b,c được nhập từ bàn phím (lưu ý dùng p=(a+b+c)/2)
câu 2 hãy lập chương trình nhập từ bàn phím một dãy số nguyên n phần tử (với n<=100). Sau đó a) tính tổng giá trị các phần tử trong dãy và hiển thị ra màn hình
b) tìm và hiển thị ra màn hình phần tử có giá trị nhỏ nhất, lớn nhất trong dãy
Câu 1:
uses crt;
var a,b,c,p,s:real;
begin
clrscr;
repeat
write('Nhap a='); readln(a);
write('Nhap b='); readln(b);
write('Nhap c='); readln(c);
until (a>0) and (b>0) and (c>0);
if (a+b>c) and (a+c>b) and (b+c>a) then
begin
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
writeln('Dien tich tam giac la: ',s:4:2);
end
else writeln('Day khong la ba canh trong mot tam giac');
readln;
end.
Câu 2:
uses crt;
var a:array[1..100]of integer;
i,n,t,max,min:integer;
begin
clrscr;
write('Nhap n='); readln(n);
for i:=1 to n do
begin
write('A[',i,']='); readln(a[i]);
end;
t:=0;
for i:=1 to n do
t:=t+a[i];
writeln('Tong cac phan tu trong day la: ',t);
max:=a[1];
min:=a[1];
for i:=1 to n do
begin
if max<a[i] then max:=a[i];
if min>a[i] then min:=a[i];
end;
writeln('Gia tri lon nhat la: ',max);
writeln('Gia tri nho nhat la: ',min);
readln;
end.